recursion
This commit is contained in:
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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 = {};
|
||||
}
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user