Johan Rong 1 ماه پیش
والد
کامیت
7f731078f0
2فایلهای تغییر یافته به همراه39 افزوده شده و 30 حذف شده
  1. 6 0
      config/hosts.nix
  2. 33 30
      flake.nix

+ 6 - 0
config/hosts.nix

@@ -14,4 +14,10 @@ in
     arch = "x86_64-linux";
     user = users.default;  
   };
+  moholt = {
+    hostname = "moholt";
+    dir = "moholt";
+    arch = "x86_64-linux";
+    user = users.default; 
+  };
 }

+ 33 - 30
flake.nix

@@ -26,6 +26,7 @@
     }@inputs:
 
     let
+      lib = inputs.nixpkgs.lib;
       hosts = import ./config/hosts.nix;
 
       mkHomeConfigurations =
@@ -44,7 +45,7 @@
           };
           extraSpecialArgs = { inherit inputs host; };
           modules = [
-            ./hosts/${host.dir}/home.nix
+            ./hosts/${host.dir}/home
           ] ++ modules;
         };
 
@@ -89,35 +90,37 @@
         };
     in
     {
-      nixosConfigurations."${hosts.nixstation.hostname}" = mkNixOSConfigurations {
-        host = hosts.nixstation;
-        nixpkgs = inputs.nixpkgs;
-        home-manager = inputs.home-manager;
-      };
-      nixosConfigurations."${hosts.ideapad.hostname}" = mkNixOSConfigurations {
-        host = hosts.ideapad;
-        nixpkgs = inputs.nixpkgs;
-        home-manager = inputs.home-manager;
-      };
-
-      nixosConfigurations."${hosts.nixstation.hostname}-iso" = mkISOConfiguration {
-        host = hosts.nixstation;
-        nixpkgs = inputs.nixpkgs;
-      };
-      nixosConfigurations."${hosts.ideapad.hostname}-iso" = mkISOConfiguration {
-        host = hosts.ideapad;
-        nixpkgs = inputs.nixpkgs;
-      };
+      nixosConfigurations =
+        lib.mapAttrs
+          (name: host:
+            mkNixOSConfigurations {
+              inherit host;
+              nixpkgs = inputs.nixpkgs;
+              home-manager = inputs.home-manager;
+            }
+          )
+          hosts
+        // lib.mapAttrs'
+          (name: host:
+            lib.nameValuePair
+              "${host.hostname}-iso"
+              (mkISOConfiguration {
+                inherit host;
+                nixpkgs = inputs.nixpkgs;
+              })
+          )
+          hosts;
 
-      homeConfigurations."${hosts.nixstation.user}@${hosts.nixstation.hostname}" = mkHomeConfigurations {
-        host = hosts.nixstation;
-        nixpkgs = inputs.nixpkgs;
-        home-manager = inputs.home-manager;
-      };
-      homeConfigurations."${hosts.ideapad.user}@${hosts.ideapad.hostname}" = mkHomeConfigurations {
-        host = hosts.ideapad;
-        nixpkgs = inputs.nixpkgs;
-        home-manager = inputs.home-manager;
-      };
+      homeConfigurations = lib.mapAttrs'
+        (name: host:
+          lib.nameValuePair
+            "${host.user}@${host.hostname}"
+            (mkHomeConfigurations {
+              inherit host;
+              nixpkgs = inputs.nixpkgs;
+              home-manager = inputs.home-manager;
+            })
+        )
+        hosts;
     };
 }