diff options
author | makefu <github@syntax-fehler.de> | 2021-11-07 14:31:25 +0100 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2021-11-07 14:31:25 +0100 |
commit | 597f546e9833b2569ee6ec540f688f7fb95bd26c (patch) | |
tree | e7393bb0aea4faee24e85e63d82843bd3b9a0bac /lass/krops.nix | |
parent | 9392c355ad5198346313ef0972db1910c10d17bf (diff) | |
parent | 0e668121a1388914f33a6546c2f63adc212a38c4 (diff) |
Merge remote-tracking branch 'lass/master'
Diffstat (limited to 'lass/krops.nix')
-rw-r--r-- | lass/krops.nix | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/lass/krops.nix b/lass/krops.nix index 128c9ee0..76911270 100644 --- a/lass/krops.nix +++ b/lass/krops.nix @@ -24,7 +24,7 @@ }; }; } - (if (lib.pathExists (./. + "/1systems/${name}/source.nix")) && (! test) then + (if lib.pathExists (./. + "/1systems/${name}/source.nix") then import (./. + "/1systems/${name}/source.nix") { inherit lib pkgs test; } else {} @@ -33,9 +33,23 @@ in { - # usage: $(nix-build --no-out-link --argstr name HOSTNAME -A deploy) - deploy = { target ? "root@${name}/var/src" }: pkgs.krops.writeDeploy "${name}-deploy" { + deploy = { target ? "root@${name}/var/src" }: pkgs.krops.writeCommand "deploy" { + command = targetPath: '' + + set -fu + + outDir=$(mktemp -d) + trap "rm -rf $outDir;" INT TERM EXIT + + nix build \ + -I "${targetPath}" \ + -f '<nixpkgs/nixos>' config.system.build.toplevel \ + -o "$outDir/out" + + $outDir/out/bin/switch-to-configuration switch + ''; source = source { test = false; }; + allocateTTY = true; inherit target; }; |