next: initial commit
This commit is contained in:
parent
b27ec1aafa
commit
ac76439405
@ -3,7 +3,7 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
<secrets/cd.hashedPasswords.nix>
|
||||
<secrets/hashedPasswords.nix>
|
||||
./iptables.nix
|
||||
./networking.nix
|
||||
../common/nixpkgs.nix
|
||||
|
@ -221,7 +221,7 @@ in
|
||||
%% file and uncomment this line:
|
||||
%%
|
||||
starttls,
|
||||
{certfile, "/etc/nixos/secrets/ejabberd.cd.retiolum.pem"},
|
||||
{certfile, "/etc/ejabberd/ejabberd.pem"},
|
||||
|
||||
{access, c2s},
|
||||
{shaper, c2s_shaper},
|
||||
@ -274,7 +274,7 @@ in
|
||||
%%
|
||||
%% s2s_certfile: Specify a certificate file.
|
||||
%%
|
||||
{s2s_certfile, "/etc/nixos/secrets/ejabberd.cd.retiolum.pem"}.
|
||||
{s2s_certfile, "/etc/ejabberd/ejabberd.pem"}.
|
||||
|
||||
%%
|
||||
%% domain_certfile: Specify a different certificate for each served hostname.
|
||||
|
@ -210,7 +210,7 @@ in
|
||||
|
||||
{
|
||||
imports = [
|
||||
<secrets/wu.hashedPasswords.nix>
|
||||
<secrets/hashedPasswords.nix>
|
||||
];
|
||||
|
||||
users.defaultUserShell = "/run/current-system/sw/bin/bash";
|
||||
|
22
next/bin/build
Executable file
22
next/bin/build
Executable file
@ -0,0 +1,22 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# build : hostname -> system-path
|
||||
#
|
||||
set -euf
|
||||
|
||||
host=$1
|
||||
|
||||
#target=root@$host
|
||||
|
||||
nixos_config=$config_root/modules/$host
|
||||
secrets_nix=$secrets_root/$host/nix
|
||||
secrets_rsync=$secrets_root/$host/rsync
|
||||
|
||||
nix-build \
|
||||
-I "$nixpkgs" \
|
||||
-I nixos-config="$nixos_config" \
|
||||
-I retiolum-hosts="$retiolum_hosts" \
|
||||
-I secrets="$secrets_nix" \
|
||||
-A system \
|
||||
--no-out-link \
|
||||
'<nixos>'
|
28
next/bin/copy-secrets
Executable file
28
next/bin/copy-secrets
Executable file
@ -0,0 +1,28 @@
|
||||
#! /bin/sh
|
||||
set -euf
|
||||
|
||||
host=$1
|
||||
|
||||
target=root@$host
|
||||
|
||||
nixos_config=$config_root/modules/$host
|
||||
secrets_nix=$secrets_root/$host/nix
|
||||
secrets_rsync=$secrets_root/$host/rsync
|
||||
|
||||
if ! test -e "$secrets_rsync"; then
|
||||
exit # nothing to do
|
||||
fi
|
||||
|
||||
retiolum_secret=$(query $host services.retiolum.privateKeyFile)
|
||||
retiolum_uid=$(query $host users.extraUsers.retiolum-tinc.uid)
|
||||
|
||||
ejabberd_secret=/etc/ejabberd/ejabberd.pem
|
||||
ejabberd_uid=$(query $host users.extraUsers.ejabberd.uid)
|
||||
|
||||
rsync -cz --chown=0:0 -vr "$secrets_rsync/" "$target:/"
|
||||
|
||||
ssh "$target" -T <<EOF
|
||||
set -euf
|
||||
! test -f $retiolum_secret || chown -v $retiolum_uid:0 $retiolum_secret
|
||||
! test -f $ejabberd_secret || chown -v $ejabberd_uid:0 $ejabberd_secret
|
||||
EOF
|
16
next/bin/deploy
Executable file
16
next/bin/deploy
Executable file
@ -0,0 +1,16 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# deploy
|
||||
#
|
||||
set -euf
|
||||
|
||||
host=$1
|
||||
system=${2-$(build "$host")}
|
||||
|
||||
target=root@$host
|
||||
|
||||
nix-copy-closure --gzip --to "$target" "$system"
|
||||
|
||||
copy-secrets "$host"
|
||||
|
||||
ssh ${NIX_SSHOPTS-} "$target" "$system/bin/switch-to-configuration" switch
|
20
next/bin/query
Executable file
20
next/bin/query
Executable file
@ -0,0 +1,20 @@
|
||||
#! /bin/sh
|
||||
set -euf
|
||||
|
||||
host=$1
|
||||
attr=$2
|
||||
|
||||
nixos_config=$config_root/modules/$host
|
||||
secrets_nix=$secrets_root/$host/nix
|
||||
secrets_rsync=$secrets_root/$host/rsync
|
||||
|
||||
nix-instantiate \
|
||||
-I "$nixpkgs" \
|
||||
-I nixos-config="$nixos_config" \
|
||||
-I retiolum-hosts="$retiolum_hosts" \
|
||||
-I secrets="$secrets_nix" \
|
||||
-A config."$attr" \
|
||||
'<nixos>' \
|
||||
--eval \
|
||||
--json \
|
||||
| jq -r .
|
11
next/profile
Executable file
11
next/profile
Executable file
@ -0,0 +1,11 @@
|
||||
#! /bin/sh
|
||||
export PATH=$HOME/src/config/next/bin:$PATH
|
||||
export nixpkgs=/var/nixpkgs
|
||||
export config_root=$HOME/src/config
|
||||
export retiolum_hosts=$HOME/src/config/hosts
|
||||
export secrets_root=$HOME/src/config/secrets
|
||||
|
||||
export PS1='\[\e[1;35m\]config>\[\e[m\] '
|
||||
|
||||
cd /var/empty
|
||||
exec /bin/sh
|
Loading…
Reference in New Issue
Block a user