diff --git a/lib/default.nix b/lib/default.nix index bf797c264..412f549ef 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -37,6 +37,7 @@ lib.fix ( inventory = clanLib.callLib ./modules/inventory { }; modules = clanLib.callLib ./modules/inventory/frontmatter { }; test = clanLib.callLib ./test { }; + flake-inputs = clanLib.callLib ./flake-inputs.nix { }; # Custom types types = clanLib.callLib ./types { }; diff --git a/lib/flake-inputs.nix b/lib/flake-inputs.nix new file mode 100644 index 000000000..85a5e3ede --- /dev/null +++ b/lib/flake-inputs.nix @@ -0,0 +1,16 @@ +{ ... }: +{ + /** + Generate nix-unit input overrides for tests + + # Example + ```nix + inputOverrides = clanLib.flake-inputs.getOverrides inputs; + ``` + */ + getOverrides = + inputs: + builtins.concatStringsSep " " ( + builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) + ); +} diff --git a/lib/introspection/flake-module.nix b/lib/introspection/flake-module.nix index e54f87542..e3b48fafe 100644 --- a/lib/introspection/flake-module.nix +++ b/lib/introspection/flake-module.nix @@ -1,8 +1,6 @@ { self, inputs, ... }: let - inputOverrides = builtins.concatStringsSep " " ( - builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) - ); + inputOverrides = self.clanLib.flake-inputs.getOverrides inputs; in { perSystem = diff --git a/lib/modules/flake-module.nix b/lib/modules/flake-module.nix index 815d7351b..1003b00f1 100644 --- a/lib/modules/flake-module.nix +++ b/lib/modules/flake-module.nix @@ -4,9 +4,7 @@ ... }: let - inputOverrides = builtins.concatStringsSep " " ( - builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) - ); + inputOverrides = self.clanLib.flake-inputs.getOverrides inputs; in { imports = [ diff --git a/lib/modules/inventory/distributed-service/flake-module.nix b/lib/modules/inventory/distributed-service/flake-module.nix index 630accb69..7e7f8aea9 100644 --- a/lib/modules/inventory/distributed-service/flake-module.nix +++ b/lib/modules/inventory/distributed-service/flake-module.nix @@ -1,8 +1,6 @@ { self, inputs, ... }: let - inputOverrides = builtins.concatStringsSep " " ( - builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) - ); + inputOverrides = self.clanLib.flake-inputs.getOverrides inputs; in { perSystem = diff --git a/lib/modules/inventory/flake-module.nix b/lib/modules/inventory/flake-module.nix index 081dcd661..a245f5657 100644 --- a/lib/modules/inventory/flake-module.nix +++ b/lib/modules/inventory/flake-module.nix @@ -5,9 +5,7 @@ ... }: let - inputOverrides = builtins.concatStringsSep " " ( - builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) - ); + inputOverrides = self.clanLib.flake-inputs.getOverrides inputs; in { imports = [ diff --git a/lib/test/flakeModules.nix b/lib/test/flakeModules.nix index 0ab161f3f..d042d41b4 100644 --- a/lib/test/flakeModules.nix +++ b/lib/test/flakeModules.nix @@ -24,9 +24,7 @@ testArgs ? { }, }: let - inputOverrides = builtins.concatStringsSep " " ( - builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) - ); + inputOverrides = self.clanLib.flake-inputs.getOverrides inputs; attrName = "eval-tests-${testName}"; in { diff --git a/nixosModules/clanCore/vars/flake-module.nix b/nixosModules/clanCore/vars/flake-module.nix index 577d0efba..5c2d9d896 100644 --- a/nixosModules/clanCore/vars/flake-module.nix +++ b/nixosModules/clanCore/vars/flake-module.nix @@ -5,9 +5,7 @@ ... }: let - inputOverrides = builtins.concatStringsSep " " ( - builtins.map (input: " --override-input ${input} ${inputs.${input}}") (builtins.attrNames inputs) - ); + inputOverrides = self.clanLib.flake-inputs.getOverrides inputs; in { perSystem =