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 }: +{ + +}