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 = [
./programs
./services
./users
];
options.homeconfig = with lib; {
@@ -12,7 +11,7 @@
default = null;
};
username = mkOption {
name = mkOption {
type = with types; nullOr str;
default = null;
};
@@ -30,9 +29,9 @@
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;
};

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, ... }: {
options = with lib; {
username = mkOption {
usrname = mkOption {
type = with types; passwdEntry str;
default = name;
};
@@ -64,7 +64,7 @@
config = {
users.users = builtins.mapAttrs (name: user: {
name = user.username;
name = user.usrname;
isNormalUser = true;
uid = user.uid;
hashedPasswordFile = lib.mkIf (user.hashedPasswordFile != null) user.hashedPasswordFile;
@@ -88,11 +88,11 @@
{
homeconfig = {
host = config.sysconfig.host;
username = user.username;
name = user.usrname;
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)))
(builtins.removeAttrs
config.sysconfig.users