Compare commits

..

1 commit

Author SHA1 Message Date
5146ede6e8
allow specifying node in proxmox bash scripts
Signed-off-by: Kiara Grouwstra <kiara@procolix.eu>
2025-09-22 21:20:49 +02:00
6 changed files with 20 additions and 12 deletions

View file

@ -4,9 +4,10 @@
...
}:
let
inherit (import ./constants.nix) pathToRoot pathFromRoot;
inherit (pkgs) system;
deployment-config = {
inherit (import ./constants.nix) pathToRoot;
inherit pathToRoot pathFromRoot;
nodeName = "ssh";
targetSystem = system;
sshOpts = [ ];

View file

@ -4,9 +4,10 @@
...
}:
let
inherit (import ./constants.nix) pathToRoot pathFromRoot;
inherit (pkgs) system;
deployment-config = {
inherit (import ./constants.nix) pathToRoot;
inherit pathToRoot pathFromRoot;
nodeName = "target";
targetSystem = system;
sshOpts = [ ];

View file

@ -11,9 +11,15 @@ let
};
modules = [ configuration ];
};
in
toplevel =
{
inherit (eval) pkgs config options;
system = eval.config.system.build.toplevel;
inherit (eval.config.system.build) vm vmWithBootLoader;
}
.config.system.build.toplevel;
in
{
drv_path = toplevel.drvPath;
out_path = toplevel;
}

View file

@ -24,13 +24,13 @@ command=(nix-instantiate --show-trace "${nixos_conf}")
# INSTANTIATE
# instantiate the config in /nix/store
"${command[@]}" -A config.system.build.toplevel
"${command[@]}" -A out_path
# get the realized derivation so we can deploy it
"${command[@]}" -A config.system.build.toplevel --eval --strict --json
# get the realized derivation to deploy
"${command[@]}" --show-trace --eval --strict --json
# FIXME explore import/readFile as ways to instantiate the derivation, potentially allowing to realize the store path up-front from Nix?
outPath=$(nix-store --realize "$("${command[@]}" -A config.system.build.toplevel.drvPath --eval --strict --json | jq -r '.')")
outPath=$(nix-store --realize "$("${command[@]}" --show-trace --eval --strict --json | jq -r '.drv_path')")
# deploy the config by nix-copy-closure
NIX_SSHOPTS="${sshOpts[*]}" nix-copy-closure --to "$destination" "$outPath" --gzip --use-substitutes
# switch the remote host to the config

View file

@ -173,7 +173,7 @@ grab_vm_options () {
printf 'Grabing VM options for VM %s...\n' "$vm_name"
options=$(
nix --extra-experimental-features 'nix-command flakes' eval \
nix eval \
--impure --raw --expr "
builtins.toJSON (builtins.getFlake (builtins.toString ./.)).vmOptions.$vm_name
" \
@ -221,7 +221,7 @@ build_iso () {
nix_host_keys=
fi
nix --extra-experimental-features 'nix-command flakes' build \
nix build \
--impure --expr "
let flake = builtins.getFlake (builtins.toString ./.); in
import ./infra/makeInstallerIso.nix {

View file

@ -161,7 +161,7 @@ grab_vm_options () {
printf 'Grabing VM options for VM %s...\n' "$vm_name"
options=$(
nix --extra-experimental-features 'nix-command flakes' eval \
nix eval \
--impure --raw --expr "
builtins.toJSON (builtins.getFlake (builtins.toString ./.)).vmOptions.$vm_name
" \