aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-12 01:20:02 +0000
committertv <tv@krebsco.de>2026-11-12 01:20:02 +0000
commit9fbc2ee11f47810a58ce2c96ae51c2969f974fa1 (patch)
tree899d6143905c9ee185d8371767de66a1c2289532 /pkgs
parentea6d6b16fa422d3fb0a7fea671d3637b89751721 (diff)
krops writeDeploy: pass --no-flake if /etc/nixos/flake.nix exists
nixos-rebuild deploys /etc/nixos/flake.nix instead of NIX_PATH if that file exists, so deploying anything but a flake fails on such targets. Without writeDeploy's flake parameter, nixos-rebuild gets --no-flake if /etc/nixos/flake.nix exists on the build target. nixos-rebuild versions predating flakes neither know --no-flake nor look for that file, so they don't get it. The deploy VM test covers targets with and without that file.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/krops/default.nix5
1 files changed, 4 insertions, 1 deletions
diff --git a/pkgs/krops/default.nix b/pkgs/krops/default.nix
index 429fc61..e4f72cd 100644
--- a/pkgs/krops/default.nix
+++ b/pkgs/krops/default.nix
@@ -16,7 +16,10 @@ in
NIX_PATH=${lib.escapeShellArg target.path} \
nixos-rebuild ${lib.escapeShellArgs (args ++ lib.optionals (flake != null) [
"--flake" "${target.path}/${flake}"
- ])}
+ ])} ${lib.optionalString (flake == null)
+ # nixos-rebuild deploys /etc/nixos/flake.nix if it exists. Any
+ # nixos-rebuild doing so supports --no-flake.
+ "$(test -e /etc/nixos/flake.nix && echo --no-flake)"}
'');
runShell = target: {