diff --git a/outputs/aarch64-darwin/default.nix b/outputs/aarch64-darwin/default.nix index 7ff7b8ea..be8ddae7 100644 --- a/outputs/aarch64-darwin/default.nix +++ b/outputs/aarch64-darwin/default.nix @@ -19,3 +19,12 @@ }; in outputs + // { + inherit data; # for debugging purposes + + # NixOS's unit tests. + evalTests = haumea.lib.loadEvalTests { + src = ./tests; + inputs = args // {inherit outputs;}; + }; + } diff --git a/outputs/aarch64-darwin/tests/home-manager/expected.nix b/outputs/aarch64-darwin/tests/home-manager/expected.nix new file mode 100644 index 00000000..50a9d707 --- /dev/null +++ b/outputs/aarch64-darwin/tests/home-manager/expected.nix @@ -0,0 +1,10 @@ +{ + myvars, + lib, +}: let + username = myvars.username; + hosts = [ + "fern" + ]; +in + lib.genAttrs hosts (_: "/Users/${username}") diff --git a/outputs/aarch64-darwin/tests/home-manager/expr.nix b/outputs/aarch64-darwin/tests/home-manager/expr.nix new file mode 100644 index 00000000..0fa743ff --- /dev/null +++ b/outputs/aarch64-darwin/tests/home-manager/expr.nix @@ -0,0 +1,15 @@ +{ + myvars, + lib, + outputs, +}: let + username = myvars.username; + hosts = [ + "fern" + ]; +in + lib.genAttrs + hosts + ( + name: outputs.darwinConfigurations.${name}.config.home-manager.users.${username}.home.homeDirectory + ) diff --git a/outputs/aarch64-darwin/tests/hostname/expected.nix b/outputs/aarch64-darwin/tests/hostname/expected.nix new file mode 100644 index 00000000..83f0a9b9 --- /dev/null +++ b/outputs/aarch64-darwin/tests/hostname/expected.nix @@ -0,0 +1,8 @@ +{ + lib, + outputs, +}: let + hostsNames = builtins.attrNames outputs.darwinConfigurations; + expected = lib.genAttrs hostsNames (name: name); +in + expected diff --git a/outputs/aarch64-darwin/tests/hostname/expr.nix b/outputs/aarch64-darwin/tests/hostname/expr.nix new file mode 100644 index 00000000..78f05d28 --- /dev/null +++ b/outputs/aarch64-darwin/tests/hostname/expr.nix @@ -0,0 +1,9 @@ +{ + lib, + outputs, +}: +lib.genAttrs +(builtins.attrNames outputs.darwinConfigurations) +( + name: outputs.darwinConfigurations.${name}.config.networking.hostName +) diff --git a/outputs/default.nix b/outputs/default.nix index a3f48513..70e7efbd 100644 --- a/outputs/default.nix +++ b/outputs/default.nix @@ -45,6 +45,7 @@ allSystemNames = builtins.attrNames allSystems; nixosSystemValues = builtins.attrValues nixosSystems; darwinSystemValues = builtins.attrValues darwinSystems; + allSystemValues = nixosSystemValues ++ darwinSystemValues; # Helper function to generate a set of attributes for each system forAllSystems = func: (nixpkgs.lib.genAttrs allSystemNames func); @@ -53,7 +54,7 @@ in { debugAttrs = {inherit nixosSystems darwinSystems allSystems allSystemNames;}; # Unit Tests for all NixOS systems. - evalTests = lib.lists.all (it: it.evalTests == {}) nixosSystemValues; + evalTests = lib.lists.all (it: it.evalTests == {}) allSystemValues; # NixOS Hosts nixosConfigurations = diff --git a/outputs/x86_64-darwin/default.nix b/outputs/x86_64-darwin/default.nix index 7ff7b8ea..be8ddae7 100644 --- a/outputs/x86_64-darwin/default.nix +++ b/outputs/x86_64-darwin/default.nix @@ -19,3 +19,12 @@ }; in outputs + // { + inherit data; # for debugging purposes + + # NixOS's unit tests. + evalTests = haumea.lib.loadEvalTests { + src = ./tests; + inputs = args // {inherit outputs;}; + }; + } diff --git a/outputs/x86_64-darwin/tests/home-manager/expected.nix b/outputs/x86_64-darwin/tests/home-manager/expected.nix new file mode 100644 index 00000000..f569ef0d --- /dev/null +++ b/outputs/x86_64-darwin/tests/home-manager/expected.nix @@ -0,0 +1,10 @@ +{ + myvars, + lib, +}: let + username = myvars.username; + hosts = [ + "harmonica" + ]; +in + lib.genAttrs hosts (_: "/Users/${username}") diff --git a/outputs/x86_64-darwin/tests/home-manager/expr.nix b/outputs/x86_64-darwin/tests/home-manager/expr.nix new file mode 100644 index 00000000..bfc15e8d --- /dev/null +++ b/outputs/x86_64-darwin/tests/home-manager/expr.nix @@ -0,0 +1,15 @@ +{ + myvars, + lib, + outputs, +}: let + username = myvars.username; + hosts = [ + "harmonica" + ]; +in + lib.genAttrs + hosts + ( + name: outputs.darwinConfigurations.${name}.config.home-manager.users.${username}.home.homeDirectory + ) diff --git a/outputs/x86_64-darwin/tests/hostname/expected.nix b/outputs/x86_64-darwin/tests/hostname/expected.nix new file mode 100644 index 00000000..83f0a9b9 --- /dev/null +++ b/outputs/x86_64-darwin/tests/hostname/expected.nix @@ -0,0 +1,8 @@ +{ + lib, + outputs, +}: let + hostsNames = builtins.attrNames outputs.darwinConfigurations; + expected = lib.genAttrs hostsNames (name: name); +in + expected diff --git a/outputs/x86_64-darwin/tests/hostname/expr.nix b/outputs/x86_64-darwin/tests/hostname/expr.nix new file mode 100644 index 00000000..78f05d28 --- /dev/null +++ b/outputs/x86_64-darwin/tests/hostname/expr.nix @@ -0,0 +1,9 @@ +{ + lib, + outputs, +}: +lib.genAttrs +(builtins.attrNames outputs.darwinConfigurations) +( + name: outputs.darwinConfigurations.${name}.config.networking.hostName +)