From 97f5825ab4d400e926c1b4f6e8b3a975938dfc9a Mon Sep 17 00:00:00 2001 From: Elias Kohout Date: Tue, 7 Apr 2026 14:54:25 +0200 Subject: [PATCH] Integrate home-manager as NixOS module for automatic user configuration on install --- flake.nix | 13 +++++++++++-- home/default.nix | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index e4173b3..93cf2b3 100644 --- a/flake.nix +++ b/flake.nix @@ -48,7 +48,6 @@ mkNixosSystem = { system, hostModule, enableHomeManager ? true }: let pkgs-unstable = mkPkgsUnstable system; - hmModules = []; in nixpkgs.lib.nixosSystem { inherit system; @@ -65,7 +64,17 @@ hostModule ./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 { diff --git a/home/default.nix b/home/default.nix index 158c1bf..1c51c14 100644 --- a/home/default.nix +++ b/home/default.nix @@ -68,7 +68,7 @@ # Home Manager should manage itself programs.home-manager.enable = true; - # Enable nix experimental features - nix.package = pkgs.nix; + # Enable nix experimental features (mkDefault so NixOS module can override) + nix.package = lib.mkDefault pkgs.nix; nix.settings.experimental-features = [ "nix-command" "flakes" ]; }