refactor: move home-manager module to flake to prevent infinite recursion errors when importing modules

This commit is contained in:
wi11-holdsworth 2025-09-25 17:40:17 +10:00
parent 76027fb711
commit f1cf2988f4
3 changed files with 23 additions and 31 deletions

View file

@ -22,7 +22,12 @@
}; };
outputs = outputs =
{ nixpkgs, ... }@inputs: {
nixpkgs,
home-manager,
agenix,
...
}@inputs:
let let
commonSystem = commonSystem =
{ {
@ -31,7 +36,23 @@
system ? "x86_64-linux", system ? "x86_64-linux",
}: }:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
modules = [ ./hosts/${hostName}/configuration.nix ]; modules = [
./hosts/${hostName}/configuration.nix
home-manager.nixosModules.home-manager
{
home-manager = {
users.${userName}.imports = [
./hosts/${hostName}/home.nix
];
backupFileExtension = "backup";
extraSpecialArgs = {
inherit userName;
};
useGlobalPkgs = true;
useUserPackages = true;
};
}
];
specialArgs = { specialArgs = {
inherit inputs; inherit inputs;
inherit hostName; inherit hostName;

View file

@ -13,7 +13,6 @@ in
# keep-sorted start # keep-sorted start
agenix.enable = lib.mkDefault true; agenix.enable = lib.mkDefault true;
fonts.enable = lib.mkDefault true; fonts.enable = lib.mkDefault true;
home-manager.enable = lib.mkDefault true;
localisation.enable = lib.mkDefault true; localisation.enable = lib.mkDefault true;
network.enable = lib.mkDefault true; network.enable = lib.mkDefault true;
nh.enable = lib.mkDefault true; nh.enable = lib.mkDefault true;

View file

@ -1,28 +0,0 @@
{
config,
hostName,
inputs,
lib,
userName,
...
}:
let
feature = "home-manager";
in
{
config = lib.mkIf config.${feature}.enable {
home-manager = {
users.${userName} = import ../../../hosts/${hostName}/home.nix;
backupFileExtension = "backup";
extraSpecialArgs = {
inherit userName;
};
useGlobalPkgs = true;
useUserPackages = true;
};
};
imports = [ inputs.home-manager.nixosModules.home-manager ];
options.${feature}.enable = lib.mkEnableOption "enables ${feature}";
}