summary refs log tree commit diff stats
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix40
1 files changed, 27 insertions, 13 deletions
diff --git a/flake.nix b/flake.nix
index f28d40b..cf39e80 100644
--- a/flake.nix
+++ b/flake.nix
@@ -86,24 +86,38 @@
   } @ attrs: let
     system = "x86_64-linux";
     pkgs = nixpkgs.legacyPackages.${system};
+    nixos-lib = import (nixpkgs + "/nixos/lib") {};
     pkgsUnstable = nixpkgs-unstable.legacyPackages.${system};
+
+    specialArgs =
+      attrs
+      // {
+        inherit pkgsUnstable nixpkgs-unstable nixos-lib extraModules;
+      };
+
+    extraModules = [
+      simple-nixos-mailserver.nixosModule
+      disko.nixosModules.default
+      impermanence.nixosModules.impermanence
+      agenix.nixosModules.default
+    ];
+
+    inherit (pkgs) lib;
+    tests = import ./tests.nix {inherit lib pkgs specialArgs;};
   in {
     nixosConfigurations."server1" = nixpkgs.lib.nixosSystem {
       system = "x86_64-linux";
-      specialArgs =
-        attrs
-        // {
-          inherit pkgsUnstable;
-        };
-      modules = [
-        ./modules/nixos
-        ./hosts/server1/configuration.nix
-        simple-nixos-mailserver.nixosModule
-        disko.nixosModules.default
-        impermanence.nixosModules.impermanence
-        agenix.nixosModules.default
-      ];
+      inherit specialArgs;
+      modules =
+        extraModules
+        ++ [
+          ./modules/nixos
+          ./hosts/server1/configuration.nix
+        ];
     };
+
+    checks."${system}" = tests;
+
     devShells."${system}" = {
       default = pkgs.mkShell {
         packages = with pkgs; [