This commit is contained in:
2025-08-18 23:13:21 -05:00
parent 2a58de8648
commit 6fbed5161a

View File

@@ -4,55 +4,58 @@
users = let users = let
userType = types.submodule ({ username, ... }: { userType = types.submodule ({ username, ... }: {
options = { options = with lib; {
username = lib.mkOption { username = mkOption {
type = with types; passwdEntry str; type = with types; passwdEntry str;
default = username;
}; };
home-manager = { home-manager = {
enable = lib.mkOption { enable = mkOption {
type = with types; bool; type = with types; bool;
default = false; default = false;
}; };
standalone = lib.mkOption { standalone = mkOption {
type = with types; bool; type = with types; bool;
default = false; default = false;
description = "is this home-manager standalone?"; description = "is this home-manager standalone?";
}; };
extraModules = lib.mkOption { extraModules = mkOption {
type = with types; listOf raw; type = with types; listOf raw;
default = []; default = [];
}; };
}; };
sshKeys = lib.mkOption { sshKeys = mkOption {
type = with types; listOf str; type = with types; listOf str;
default = []; default = [];
}; };
uid = lib.mkOption { uid = mkOption {
type = with types; nullOr int; type = with types; nullOr int;
default = null; default = null;
}; };
hashedPasswordFile = lib.mkOption { hashedPasswordFile = mkOption {
type = with types; nullOr str; type = with types; nullOr str;
default = null; default = null;
}; };
extraGroups = lib.mkOption { extraGroups = mkOption {
type = with types; listOf str; type = with types; listOf str;
default = []; default = [];
}; };
shell = lib.mkOption { shell = mkOption {
type = with types; package; type = with types; package;
default = pkgs.shadow; default = pkgs.shadow;
}; };
}; };
config = {
username = lib.mkDefault username;
};
}); });
in lib.mkOption { in lib.mkOption {