Rename users.extraUsers -> users.users, users.extraGroup -> users.groups

The "extra" part hasn't made sense for years.
This commit is contained in:
Eelco Dolstra 2015-09-02 17:32:38 +02:00
parent dc5bf39bfe
commit 14321ae243
3 changed files with 19 additions and 17 deletions

View file

@ -336,13 +336,13 @@ let
map (range: "${user.name}:${toString range.startUid}:${toString range.count}\n") map (range: "${user.name}:${toString range.startUid}:${toString range.count}\n")
user.subUidRanges); user.subUidRanges);
subuidFile = concatStrings (map mkSubuidEntry (attrValues cfg.extraUsers)); subuidFile = concatStrings (map mkSubuidEntry (attrValues cfg.users));
mkSubgidEntry = user: concatStrings ( mkSubgidEntry = user: concatStrings (
map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n") map (range: "${user.name}:${toString range.startGid}:${toString range.count}\n")
user.subGidRanges); user.subGidRanges);
subgidFile = concatStrings (map mkSubgidEntry (attrValues cfg.extraUsers)); subgidFile = concatStrings (map mkSubgidEntry (attrValues cfg.users));
idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }: idsAreUnique = set: idAttr: !(fold (name: args@{ dup, acc }:
let let
@ -354,8 +354,8 @@ let
else { dup = false; acc = newAcc; } else { dup = false; acc = newAcc; }
) { dup = false; acc = {}; } (builtins.attrNames set)).dup; ) { dup = false; acc = {}; } (builtins.attrNames set)).dup;
uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.extraUsers) "uid"; uidsAreUnique = idsAreUnique (filterAttrs (n: u: u.uid != null) cfg.users) "uid";
gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.extraGroups) "gid"; gidsAreUnique = idsAreUnique (filterAttrs (n: g: g.gid != null) cfg.groups) "gid";
spec = pkgs.writeText "users-groups.json" (builtins.toJSON { spec = pkgs.writeText "users-groups.json" (builtins.toJSON {
inherit (cfg) mutableUsers; inherit (cfg) mutableUsers;
@ -364,13 +364,13 @@ let
name uid group description home shell createHome isSystemUser name uid group description home shell createHome isSystemUser
password passwordFile hashedPassword password passwordFile hashedPassword
initialPassword initialHashedPassword; initialPassword initialHashedPassword;
}) cfg.extraUsers; }) cfg.users;
groups = mapAttrsToList (n: g: groups = mapAttrsToList (n: g:
{ inherit (g) name gid; { inherit (g) name gid;
members = g.members ++ (mapAttrsToList (n: u: u.name) ( members = g.members ++ (mapAttrsToList (n: u: u.name) (
filterAttrs (n: u: elem g.name u.extraGroups) cfg.extraUsers filterAttrs (n: u: elem g.name u.extraGroups) cfg.users
)); ));
}) cfg.extraGroups; }) cfg.groups;
}); });
in { in {
@ -388,10 +388,10 @@ in {
<literal>groupadd</literal> commands. On system activation, the <literal>groupadd</literal> commands. On system activation, the
existing contents of the <literal>/etc/passwd</literal> and existing contents of the <literal>/etc/passwd</literal> and
<literal>/etc/group</literal> files will be merged with the <literal>/etc/group</literal> files will be merged with the
contents generated from the <literal>users.extraUsers</literal> and contents generated from the <literal>users.users</literal> and
<literal>users.extraGroups</literal> options. <literal>users.groups</literal> options.
The initial password for a user will be set The initial password for a user will be set
according to <literal>users.extraUsers</literal>, but existing passwords according to <literal>users.users</literal>, but existing passwords
will not be changed. will not be changed.
<warning><para> <warning><para>
@ -399,7 +399,7 @@ in {
group files will simply be replaced on system activation. This also group files will simply be replaced on system activation. This also
holds for the user passwords; all changed holds for the user passwords; all changed
passwords will be reset according to the passwords will be reset according to the
<literal>users.extraUsers</literal> configuration on activation. <literal>users.users</literal> configuration on activation.
</para></warning> </para></warning>
''; '';
}; };
@ -412,7 +412,7 @@ in {
''; '';
}; };
users.extraUsers = mkOption { users.users = mkOption {
default = {}; default = {};
type = types.loaOf types.optionSet; type = types.loaOf types.optionSet;
example = { example = {
@ -433,7 +433,7 @@ in {
options = [ userOpts ]; options = [ userOpts ];
}; };
users.extraGroups = mkOption { users.groups = mkOption {
default = {}; default = {};
example = example =
{ students.gid = 1001; { students.gid = 1001;
@ -461,7 +461,7 @@ in {
config = { config = {
users.extraUsers = { users.users = {
root = { root = {
uid = ids.uids.root; uid = ids.uids.root;
description = "System administrator"; description = "System administrator";
@ -478,7 +478,7 @@ in {
}; };
}; };
users.extraGroups = { users.groups = {
root.gid = ids.gids.root; root.gid = ids.gids.root;
wheel.gid = ids.gids.wheel; wheel.gid = ids.gids.wheel;
disk.gid = ids.gids.disk; disk.gid = ids.gids.disk;
@ -541,7 +541,7 @@ in {
|| cfg.passwordFile != null || cfg.passwordFile != null
|| cfg.openssh.authorizedKeys.keys != [] || cfg.openssh.authorizedKeys.keys != []
|| cfg.openssh.authorizedKeys.keyFiles != []) || cfg.openssh.authorizedKeys.keyFiles != [])
) cfg.extraUsers); ) cfg.users);
message = '' message = ''
Neither the root account nor any wheel user has a password or SSH authorized key. Neither the root account nor any wheel user has a password or SSH authorized key.
You must set one to prevent being locked out of your system.''; You must set one to prevent being locked out of your system.'';

View file

@ -77,6 +77,8 @@ in zipModules ([]
++ obsolete [ "environment" "nix" ] [ "nix" "package" ] ++ obsolete [ "environment" "nix" ] [ "nix" "package" ]
++ obsolete [ "fonts" "enableFontConfig" ] [ "fonts" "fontconfig" "enable" ] ++ obsolete [ "fonts" "enableFontConfig" ] [ "fonts" "fontconfig" "enable" ]
++ obsolete [ "fonts" "extraFonts" ] [ "fonts" "fonts" ] ++ obsolete [ "fonts" "extraFonts" ] [ "fonts" "fonts" ]
++ alias [ "users" "extraUsers" ] [ "users" "users" ]
++ alias [ "users" "extraGroups" ] [ "users" "groups" ]
++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ] ++ obsolete [ "security" "extraSetuidPrograms" ] [ "security" "setuidPrograms" ]
++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ] ++ obsolete [ "networking" "enableWLAN" ] [ "networking" "wireless" "enable" ]

View file

@ -214,7 +214,7 @@ in
}; };
users.extraUsers = mkOption { users.users = mkOption {
options = [ userOptions ]; options = [ userOptions ];
}; };