Eval before deployment

This commit is contained in:
thiloho
2025-10-24 14:02:36 +02:00
parent 826c32e895
commit 2fcc892850

View File

@@ -41,13 +41,29 @@
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
evalServerScript = pkgs.writeShellApplication {
name = "eval-server";
runtimeInputs = [ pkgs.nix ];
text = ''
set -euo pipefail
echo " Evaluating NixOS configuration for '.#server'..."
nix eval .#nixosConfigurations.server.config.system.build.toplevel > /dev/null
echo " Evaluation succeeded configuration is valid."
'';
};
deployServerScript = pkgs.writeShellApplication { deployServerScript = pkgs.writeShellApplication {
name = "deploy-server"; name = "deploy-server";
runtimeInputs = [ runtimeInputs = with pkgs; [
pkgs.nix nix
pkgs.openssh openssh
]; ];
text = '' text = ''
set -euo pipefail
"${evalServerScript}/bin/eval-server"
nix run nixpkgs#nixos-rebuild-ng -- \ nix run nixpkgs#nixos-rebuild-ng -- \
--flake .#server \ --flake .#server \
--target-host thohlt@91.98.171.83 \ --target-host thohlt@91.98.171.83 \
@@ -58,6 +74,11 @@
}; };
in in
{ {
eval-server = {
type = "app";
program = "${evalServerScript}/bin/eval-server";
};
deploy-server = { deploy-server = {
type = "app"; type = "app";
program = "${deployServerScript}/bin/deploy-server"; program = "${deployServerScript}/bin/deploy-server";