|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
# Configuration for the pwdutils suite of tools: passwd, useradd, etc. |
|
|
|
|
|
|
|
|
|
{ config, lib, pkgs, ... }: |
|
|
|
|
{ config, lib, utils, pkgs, ... }: |
|
|
|
|
|
|
|
|
|
with lib; |
|
|
|
|
|
|
|
|
@ -43,13 +43,13 @@ in |
|
|
|
|
users.defaultUserShell = lib.mkOption { |
|
|
|
|
description = '' |
|
|
|
|
This option defines the default shell assigned to user |
|
|
|
|
accounts. This must not be a store path, since the path is |
|
|
|
|
accounts. This can be either a full system path or a shell package. |
|
|
|
|
|
|
|
|
|
This must not be a store path, since the path is |
|
|
|
|
used outside the store (in particular in /etc/passwd). |
|
|
|
|
Rather, it should be the path of a symlink that points to the |
|
|
|
|
actual shell in the Nix store. |
|
|
|
|
''; |
|
|
|
|
example = "/run/current-system/sw/bin/zsh"; |
|
|
|
|
type = types.path; |
|
|
|
|
example = literalExample "pkgs.zsh"; |
|
|
|
|
type = types.either types.path types.shellPackage; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
@ -60,7 +60,9 @@ in |
|
|
|
|
config = { |
|
|
|
|
|
|
|
|
|
environment.systemPackages = |
|
|
|
|
lib.optional config.users.mutableUsers pkgs.shadow; |
|
|
|
|
lib.optional config.users.mutableUsers pkgs.shadow ++ |
|
|
|
|
lib.optional (types.shellPackage.check config.users.defaultUserShell) |
|
|
|
|
config.users.defaultUserShell; |
|
|
|
|
|
|
|
|
|
environment.etc = |
|
|
|
|
[ { # /etc/login.defs: global configuration for pwdutils. You |
|
|
|
@ -74,7 +76,7 @@ in |
|
|
|
|
'' |
|
|
|
|
GROUP=100 |
|
|
|
|
HOME=/home |
|
|
|
|
SHELL=${config.users.defaultUserShell} |
|
|
|
|
SHELL=${utils.toShellPath config.users.defaultUserShell} |
|
|
|
|
''; |
|
|
|
|
target = "default/useradd"; |
|
|
|
|
} |
|
|
|
|