Integrate home-manager as NixOS module for automatic user configuration on install

This commit is contained in:
2026-04-07 14:54:25 +02:00
parent fa5ae9ee45
commit 97f5825ab4
2 changed files with 13 additions and 4 deletions

View File

@@ -48,7 +48,6 @@
mkNixosSystem = { system, hostModule, enableHomeManager ? true }: mkNixosSystem = { system, hostModule, enableHomeManager ? true }:
let let
pkgs-unstable = mkPkgsUnstable system; pkgs-unstable = mkPkgsUnstable system;
hmModules = [];
in nixpkgs.lib.nixosSystem { in nixpkgs.lib.nixosSystem {
inherit system; inherit system;
@@ -65,7 +64,17 @@
hostModule hostModule
./nixos/default.nix ./nixos/default.nix
] ++ hmModules; ] ++ nixpkgs.lib.optionals enableHomeManager [
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit pkgs-unstable sops-nix;
};
home-manager.users.eliaskohout = import ./home/default.nix;
}
];
}; };
mkHomeConfig = system: home-manager.lib.homeManagerConfiguration { mkHomeConfig = system: home-manager.lib.homeManagerConfiguration {

View File

@@ -68,7 +68,7 @@
# Home Manager should manage itself # Home Manager should manage itself
programs.home-manager.enable = true; programs.home-manager.enable = true;
# Enable nix experimental features # Enable nix experimental features (mkDefault so NixOS module can override)
nix.package = pkgs.nix; nix.package = lib.mkDefault pkgs.nix;
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
} }