Integrate home-manager as NixOS module for automatic user configuration on install
This commit is contained in:
13
flake.nix
13
flake.nix
@@ -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 {
|
||||||
|
|||||||
@@ -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" ];
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user