commit 22bbaf05a2ed747effec8be1d78d937c45f29896
parent fc33adb8b95899727b9de9619e7a9c04b5a8c1d0
Author: Katja (zaphyra) <git@ctu.cx>
Date: Tue, 27 May 2025 22:49:20 +0200
parent fc33adb8b95899727b9de9619e7a9c04b5a8c1d0
Author: Katja (zaphyra) <git@ctu.cx>
Date: Tue, 27 May 2025 22:49:20 +0200
flake: add `homeConfigurations`
1 file changed, 40 insertions(+), 12 deletions(-)
diff --git a/flake.nix b/flake.nix @@ -57,6 +57,17 @@ packages = final: prev: loadDir (path: path: final.callPackage path { }) ./packages; }; + nixpkgsOverlays = [ + inputs.self.overlays.packages + inputs.self.overlays.nixpkgsUnstable + inputs.zaphyraWebsite.overlays.default + inputs.stagit.overlays.default + inputs.flauschehornSexy.overlays.default + inputs.gpxMap.overlays.default + inputs.oeffisearch.overlays.default + inputs.things.overlays.default + ]; + hosts = loadDir importLoader ./hosts; nixosConfigurations = builtins.mapAttrs ( @@ -75,16 +86,7 @@ modules = nixpkgsLib.flatten [ { - nixpkgs.overlays = [ - inputs.self.overlays.packages - inputs.self.overlays.nixpkgsUnstable - inputs.zaphyraWebsite.overlays.default - inputs.stagit.overlays.default - inputs.flauschehornSexy.overlays.default - inputs.gpxMap.overlays.default - inputs.oeffisearch.overlays.default - inputs.things.overlays.default - ]; + nixpkgs.overlays = inputs.self.nixpkgsOverlays; } ( @@ -113,12 +115,38 @@ } ) inputs.self.hosts; + homeConfigurations = builtins.listToAttrs ( + builtins.map ( + name: + (nixpkgsLib.nameValuePair name ( + inputs.homeManager.lib.homeManagerConfiguration { + pkgs = import inputs.nixpkgs { + system = "x86_64-linux"; + overlays = inputs.self.nixpkgsOverlays; + config = { + allowUnfree = true; + }; + }; + + modules = [ + inputs.self.homeManagerModules."${name}".common + ]; + + extraSpecialArgs = { + inherit inputs; + inherit (inputs.self) homeManagerModules; + }; + } + )) + ) (nixpkgsLib.attrNames inputs.self.homeManagerModules) + ); + hydraJobs = builtins.listToAttrs ( builtins.map ( name: - nixpkgsLib.nameValuePair ( - name inputs.self.nixosConfigurations."${name}".config.system.build.toplevel + (nixpkgsLib.nameValuePair name + inputs.self.nixosConfigurations."${name}".config.system.build.toplevel ) ) [