mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-21 05:04:00 +00:00
Added guestUsers job for automatical adding guests
svn path=/nixos/branches/fix-style/; revision=14160
This commit is contained in:
parent
f824a1e753
commit
d5f3418507
@ -2247,6 +2247,7 @@ in
|
||||
(import ../upstart-jobs/cron/locate.nix)
|
||||
(import ../upstart-jobs/manual.nix)
|
||||
(import ../upstart-jobs/rogue.nix)
|
||||
(import ../upstart-jobs/guest-users.nix)
|
||||
|
||||
# fonts
|
||||
(import ../system/fonts.nix)
|
||||
|
76
upstart-jobs/guest-users.nix
Normal file
76
upstart-jobs/guest-users.nix
Normal file
@ -0,0 +1,76 @@
|
||||
{pkgs, config}:
|
||||
let
|
||||
inherit(pkgs.lib) mkOption;
|
||||
|
||||
options = {
|
||||
services = {
|
||||
guestUsers = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = "
|
||||
Whether to enable automatic addition of users with empty passwords
|
||||
";
|
||||
};
|
||||
users = mkOption {
|
||||
default = ["guest"];
|
||||
description = "
|
||||
List of usernames to add
|
||||
";
|
||||
};
|
||||
includeRoot = mkOption {
|
||||
default = false;
|
||||
description = "
|
||||
LEAVE THAT ALONE; whether to reset root password
|
||||
";
|
||||
};
|
||||
extraGroups = mkOption {
|
||||
default = ["audio"];
|
||||
description = "
|
||||
Extra groups to grant
|
||||
";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
inherit (pkgs.lib) concatStringsSep optional optionalString;
|
||||
|
||||
inherit (config.services.guestUsers) enable users includeRoot extraGroups;
|
||||
|
||||
userEntry = user:
|
||||
{
|
||||
name = user;
|
||||
description = "NixOS guest user";
|
||||
home = "/home/${user}";
|
||||
createHome = true;
|
||||
group = "users";
|
||||
extraGroups = extraGroups;
|
||||
shell = "/bin/sh";
|
||||
};
|
||||
|
||||
nameString = (concatStringsSep " " users) + optionalString includeRoot " root";
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
require = options;
|
||||
services = {
|
||||
extraJobs = optional enable {
|
||||
name = "clear-passwords";
|
||||
job = ''
|
||||
description "Clear guest passwords"
|
||||
start on startup
|
||||
script
|
||||
for i in ${nameString}; do
|
||||
echo | ${pkgs.pwdutils}/bin/passwd --stdin $i
|
||||
done
|
||||
end script
|
||||
'';
|
||||
};
|
||||
mingetty = {
|
||||
helpLine = optionalString enable "\nThis users have empty passwords: ${nameString}";
|
||||
};
|
||||
};
|
||||
users = {
|
||||
extraUsers = map userEntry users;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user