From 1aaa328e1bc1217686c6228dae311d9bb5f1ac05 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Wed, 2 Apr 2025 11:41:41 +0200 Subject: [PATCH] chore(lib/select): move into subfolder with a test file --- lib/default.nix | 2 +- lib/flake-module.nix | 3 +- lib/{select.nix => select/default.nix} | 0 lib/select/flake-module.nix | 44 ++++++++++++++++++++++++++ lib/select/tests.nix | 4 +++ 5 files changed, 51 insertions(+), 2 deletions(-) rename lib/{select.nix => select/default.nix} (100%) create mode 100644 lib/select/flake-module.nix create mode 100644 lib/select/tests.nix diff --git a/lib/default.nix b/lib/default.nix index ca2c93ac3..2d31c3048 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -29,6 +29,6 @@ lib.fix (clanLib: { modules = clanLib.callLib ./inventory/frontmatter { }; values = import ./introspection { inherit lib; }; jsonschema = import ./jsonschema { inherit lib; }; - select = import ./select.nix; + select = import select/default.nix; facts = import ./facts.nix { inherit lib; }; }) diff --git a/lib/flake-module.nix b/lib/flake-module.nix index 1367e7e60..a7cd3d5b9 100644 --- a/lib/flake-module.nix +++ b/lib/flake-module.nix @@ -8,9 +8,10 @@ rec { # TODO: automatically generate this from the directory conventions imports = [ ./build-clan/flake-module.nix + ./introspection/flake-module.nix ./inventory/flake-module.nix ./jsonschema/flake-module.nix - ./introspection/flake-module.nix + ./select/flake-module.nix ]; flake.clanLib = import ./default.nix { inherit lib inputs self; diff --git a/lib/select.nix b/lib/select/default.nix similarity index 100% rename from lib/select.nix rename to lib/select/default.nix diff --git a/lib/select/flake-module.nix b/lib/select/flake-module.nix new file mode 100644 index 000000000..0eb14accc --- /dev/null +++ b/lib/select/flake-module.nix @@ -0,0 +1,44 @@ +{ self, inputs, ... }: +let + inputOverrides = builtins.concatStringsSep " " ( + builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) + ); +in +{ + perSystem = + { + pkgs, + lib, + system, + ... + }: + { + # Run: nix-unit --extra-experimental-features flakes --flake .#legacyPackages.x86_64-linux.evalTests + legacyPackages.evalTests-select = import ./tests.nix { + inherit lib; + inherit (self) clanLib; + }; + + checks = { + lib-select-eval = pkgs.runCommand "tests" { nativeBuildInputs = [ pkgs.nix-unit ]; } '' + export HOME="$(realpath .)" + export NIX_ABORT_ON_WARN=1 + nix-unit --eval-store "$HOME" \ + --extra-experimental-features flakes \ + ${inputOverrides} \ + --flake ${ + self.filter { + include = [ + "flakeModules" + "lib" + "clanModules/flake-module.nix" + "clanModules/borgbackup" + ]; + } + }#legacyPackages.${system}.evalTests-select + + touch $out + ''; + }; + }; +} diff --git a/lib/select/tests.nix b/lib/select/tests.nix new file mode 100644 index 000000000..c1a0e21ff --- /dev/null +++ b/lib/select/tests.nix @@ -0,0 +1,4 @@ +{ clanLib }: +{ + +}