recursion

This commit is contained in:
2025-08-18 23:41:55 -05:00
parent b1dd43f2ca
commit 9a3c639efe
3 changed files with 7 additions and 34 deletions

View File

@@ -3,7 +3,6 @@
imports = [ imports = [
./programs ./programs
./services ./services
./users
]; ];
options.homeconfig = with lib; { options.homeconfig = with lib; {
@@ -12,7 +11,7 @@
default = null; default = null;
}; };
username = mkOption { name = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
}; };
@@ -30,9 +29,9 @@
config = { config = {
home.username = lib.mkDefault config.homeconfig.username; home.username = lib.mkDefault config.homeconfig.name;
home.homeDirectory = lib.mkDefault "/home/${config.homeconfig.username}"; home.homeDirectory = lib.mkDefault "/home/${config.home.username}";
programs.home-manager.enable = config.homeconfig.standalone.enable; programs.home-manager.enable = config.homeconfig.standalone.enable;
}; };

View File

@@ -1,26 +0,0 @@
{ config, lib, osConfig, ... }: {
imports = [
./nathan
];
options.homeconfig = {
host = lib.options.mkOption {
type = lib.types.nullOr lib.types.str;
default = osConfig.sysconfig.host;
};
username = lib.options.mkOption {
type = lib.types.nullOr lib.types.str;
default = null;
};
home-manager.enable = lib.options.mkOption {
type = lib.types.bool;
default = false;
description = "Whether this is a standalone home-manager setup";
};
};
config = {};
}

View File

@@ -5,7 +5,7 @@
userType = types.submodule ({ name, ... }: { userType = types.submodule ({ name, ... }: {
options = with lib; { options = with lib; {
username = mkOption { usrname = mkOption {
type = with types; passwdEntry str; type = with types; passwdEntry str;
default = name; default = name;
}; };
@@ -64,7 +64,7 @@
config = { config = {
users.users = builtins.mapAttrs (name: user: { users.users = builtins.mapAttrs (name: user: {
name = user.username; name = user.usrname;
isNormalUser = true; isNormalUser = true;
uid = user.uid; uid = user.uid;
hashedPasswordFile = lib.mkIf (user.hashedPasswordFile != null) user.hashedPasswordFile; hashedPasswordFile = lib.mkIf (user.hashedPasswordFile != null) user.hashedPasswordFile;
@@ -88,11 +88,11 @@
{ {
homeconfig = { homeconfig = {
host = config.sysconfig.host; host = config.sysconfig.host;
username = user.username; name = user.usrname;
graphical = config.sysconfig.graphical; graphical = config.sysconfig.graphical;
}; };
} }
] ++ (if inputs ? ${user.username} then [ (inputs.${user.username} { config = config.home-manager.users.${user.username}; inherit inputs; }) ] else []) ] ++ (if inputs ? ${user.usrname} then [ (inputs.${user.usrname} { config = config.home-manager.users.${user.usrname}; inherit lib pkgs inputs; }) ] else [])
++ user.home-manager.extraModules))) ++ user.home-manager.extraModules)))
(builtins.removeAttrs (builtins.removeAttrs
config.sysconfig.users config.sysconfig.users