diff --git a/flake.nix b/flake.nix index 4838c59..3a02e3e 100644 --- a/flake.nix +++ b/flake.nix @@ -78,6 +78,17 @@ homeManagerModules.default = ./modules/home; + # Expose each host's HM activation package so `home-manager switch --flake .#muon@` + # works without a full NixOS rebuild. Extracted from the already-evaluated + # nixosConfiguration, so osConfig remains fully populated. + homeConfigurations = nixpkgs.lib.mapAttrs' (host: nixos: + nixpkgs.lib.nameValuePair "muon@${host}" { + activationPackage = nixos.config.home-manager.users.muon.home.activationPackage; + } + ) (nixpkgs.lib.filterAttrs + (_: nixos: nixos.config.home-manager.users ? muon) + inputs.self.outputs.nixosConfigurations); + colmena = { meta = { nixpkgs = import inputs.nixpkgs {inherit system;}; diff --git a/modules/nixos/core/nix.nix b/modules/nixos/core/nix.nix index 697fed8..5d88a0c 100644 --- a/modules/nixos/core/nix.nix +++ b/modules/nixos/core/nix.nix @@ -51,6 +51,7 @@ environment.systemPackages = with pkgs; [ inputs.nix-alien.packages.${system}.nix-alien + inputs.home-manager.packages.${system}.home-manager colmena ]; programs.nix-ld.enable = true;