flake: compileHomes

sh-initrd-on-root
Zynh Ludwig 2024-07-21 14:19:02 -07:00
parent e76608886c
commit 4edd18ad6c
2 changed files with 43 additions and 24 deletions

View File

@ -57,29 +57,24 @@
system = "x86_64-linux"; system = "x86_64-linux";
} }
]; ];
homeConfigurations."zynh@msiserver" = inputs.home-manager.lib.homeManagerConfiguration { homeConfigurations =
pkgs = nixpkgs.legacyPackages."x86_64-linux"; builders.compileHomes
extraSpecialArgs = { inherit inputs; }; [
{
modules = [ user = "zynh";
./hosts/msiserver/home.nix hostname = "msiserver";
system = "x86_64-linux";
}
{
user = "val";
hostname = "caveserver";
system = "x86_64-linux";
}
{
user = "zynh";
hostname = "little-lightning";
system = "aarch64-darwin";
}
]; ];
}; };
homeConfigurations."val@caveserver" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."x86_64-linux";
extraSpecialArgs = { inherit inputs; };
modules = [
./hosts/caveserver/home.nix
];
};
homeConfigurations."zynh@little-lightning" = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."aarch64-darwin";
extraSpecialArgs = { inherit inputs; };
modules = [
./hosts/little-lightning/home.nix
];
};
};
} }

View File

@ -24,4 +24,28 @@ rec {
builtins.listToAttrs builtins.listToAttrs
(map toPartialNixosConfig) (map toPartialNixosConfig)
systems; systems;
toPartialHomeManagerConfig =
{ user, system, hostname ? "", configHostname ? "" }:
let
configHost = if builtins.stringLength configHostname > 0 then configHostname else hostname;
hostStr = lib.strings.optionalString (builtins.stringLength hostname > 0) "@${hostname}";
in
{
name = "${user}${hostStr}";
value = inputs.home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages."${system}";
extraSpecialArgs = { inherit inputs; };
modules = [
../hosts/${configHost}/home.nix
];
};
};
compileHomes =
systems:
lib.right
builtins.listToAttrs
(map toPartialHomeManagerConfig)
systems;
} }