From 2fcc892850be464feb4b0f0c4e92e3382856200d Mon Sep 17 00:00:00 2001 From: thiloho <123883702+thiloho@users.noreply.github.com> Date: Fri, 24 Oct 2025 14:02:36 +0200 Subject: [PATCH] Eval before deployment --- flake.nix | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index db82d91..6e2a77c 100644 --- a/flake.nix +++ b/flake.nix @@ -41,13 +41,29 @@ let 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 { name = "deploy-server"; - runtimeInputs = [ - pkgs.nix - pkgs.openssh + runtimeInputs = with pkgs; [ + nix + openssh ]; text = '' + set -euo pipefail + + "${evalServerScript}/bin/eval-server" + nix run nixpkgs#nixos-rebuild-ng -- \ --flake .#server \ --target-host thohlt@91.98.171.83 \ @@ -58,6 +74,11 @@ }; in { + eval-server = { + type = "app"; + program = "${evalServerScript}/bin/eval-server"; + }; + deploy-server = { type = "app"; program = "${deployServerScript}/bin/deploy-server";