From b6e6f993ec6371c2e7a31fb6a6e76e2ae03df3d0 Mon Sep 17 00:00:00 2001 From: Kiara Grouwstra Date: Mon, 25 Aug 2025 11:20:38 +0200 Subject: [PATCH] try and use deployment --- deployment/check/data-model/deployment.nix | 21 +++++++++++++++++--- deployment/check/data-model/nixosTest.nix | 23 ++++++++++------------ 2 files changed, 28 insertions(+), 16 deletions(-) diff --git a/deployment/check/data-model/deployment.nix b/deployment/check/data-model/deployment.nix index a6cf51f8..f843dbb0 100644 --- a/deployment/check/data-model/deployment.nix +++ b/deployment/check/data-model/deployment.nix @@ -1,11 +1,13 @@ { - inputs, - lib, config, + inputs ? (import ../../../default.nix { }).inputs, + sources ? import ../../../npins, ... }: let + inherit (sources) nixpkgs; + lib = import "${nixpkgs}/lib"; eval = module: (lib.evalModules { @@ -33,8 +35,21 @@ let authentication.password = "password"; }; nixos-configuration = - { ... }: + { pkgs, ... }: { + imports = [ + ../common/sharedOptions.nix + ../common/targetNode.nix + "${nixpkgs}/nixos/modules/profiles/qemu-guest.nix" + ]; + + inherit (config) enableAcme; + acmeNodeIP = if config.enableAcme then config.nodes.acme.networking.primaryIPAddress else null; + + environment.systemPackages = with pkgs; [ + hello + ]; + users.users = config.resources.shell.login-shell.apply ( lib.filterAttrs (_name: value: value ? login-shell) requests ); diff --git a/deployment/check/data-model/nixosTest.nix b/deployment/check/data-model/nixosTest.nix index 7c7f1ee0..3b6991eb 100644 --- a/deployment/check/data-model/nixosTest.nix +++ b/deployment/check/data-model/nixosTest.nix @@ -5,6 +5,7 @@ }: let inherit (import ./constants.nix) targetMachines pathToRoot; + escapedJson = v: lib.replaceStrings [ "\"" ] [ "\\\\\"" ] (lib.strings.toJSON v); in { _class = "nixosTest"; @@ -43,20 +44,16 @@ in # INSTANTIATE command=(nix-instantiate --expr ' - let - configuration = { pkgs, config, ... }: { - imports = [ - ${pathToRoot}/deployment/check/common/sharedOptions.nix - ${pathToRoot}/deployment/check/common/targetNode.nix - ]; - enableAcme = ${lib.strings.toJSON config.enableAcme}; - acmeNodeIP = if config.enableAcme then config.nodes.acme.networking.primaryIPAddress else null; - environment.systemPackages = with pkgs; [ - hello - ]; + import ${pathToRoot}/deployment/nixos.nix { + configuration = import ${pathToRoot}/deployment/check/data-model/deployment.nix { + config = builtins.fromJSON "${ + escapedJson { + inherit (config) enableAcme; + acmeNodeIP = if config.enableAcme then config.nodes.acme.networking.primaryIPAddress else null; + } + }"; }; - in - import ${pathToRoot}/deployment/nixos.nix { inherit configuration; } + } ') # DEPLOY host="root@${nodeName}"