Add options nix.{trustedUsers,allowedUsers}

These are just trusted-users and allowed-users in nix.conf. It's
useful to have options for them so that different modules can specify
trusted/allowed users.

Changed files
+32
nixos
modules
services
+32
nixos/modules/services/misc/nix-daemon.nix
···
${optionalString cfg.requireSignedBinaryCaches ''
signed-binary-caches = *
''}
+
trusted-users = ${toString cfg.trustedUsers}
+
allowed-users = ${toString cfg.allowedUsers}
$extraOptions
END
'';
···
if it is signed by <emphasis>any</emphasis> of the keys
listed here. By default, only the key for
<uri>cache.nixos.org</uri> is included.
+
'';
+
};
+
+
trustedUsers = mkOption {
+
type = types.listOf types.str;
+
default = [ "root" ];
+
example = [ "root" "alice" "@wheel" ];
+
description = ''
+
A list of names of users that have additional rights when
+
connecting to the Nix daemon, such as the ability to specify
+
additional binary caches, or to import unsigned NARs. You
+
can also specify groups by prefixing them with
+
<literal>@</literal>; for instance,
+
<literal>@wheel</literal> means all users in the wheel
+
group.
+
'';
+
};
+
+
allowedUsers = mkOption {
+
type = types.listOf types.str;
+
default = [ "*" ];
+
example = [ "@wheel" "@builders" "alice" "bob" ];
+
description = ''
+
A list of names of users (separated by whitespace) that are
+
allowed to connect to the Nix daemon. As with
+
<option>nix.trustedUsers</option>, you can specify groups by
+
prefixing them with <literal>@</literal>. Also, you can
+
allow all users by specifying <literal>*</literal>. The
+
default is <literal>*</literal>. Note that trusted users are
+
always allowed to connect.
'';
};