summaryrefslogtreecommitdiffstats
path: root/lass/krops.nix
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2021-11-07 14:31:25 +0100
committermakefu <github@syntax-fehler.de>2021-11-07 14:31:25 +0100
commit597f546e9833b2569ee6ec540f688f7fb95bd26c (patch)
treee7393bb0aea4faee24e85e63d82843bd3b9a0bac /lass/krops.nix
parent9392c355ad5198346313ef0972db1910c10d17bf (diff)
parent0e668121a1388914f33a6546c2f63adc212a38c4 (diff)
Merge remote-tracking branch 'lass/master'
Diffstat (limited to 'lass/krops.nix')
-rw-r--r--lass/krops.nix20
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;
};