blob: b9285e7fb95795e75a2ae4eda65826bc5e1fd9e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
{ lib, config, pkgs, ... }:
let inherit (lib) types;
cfg = config.this.users;
userP = (name: builtins.elem name cfg.enabled);
in
{
options.this.users = {
enabled = lib.mkOption {
type = types.listOf types.str;
default = [];
};
};
config = lib.mkMerge [
(lib.mkIf (userP "simon") {
users.groups.simon = {
gid = 1000;
};
users.users.simon = {
description = "Simon Parri";
group = "simon";
isNormalUser = true;
uid = 1000;
shell = pkgs.zsh;
homeMode = "755";
extraGroups = [
"users"
"adm"
"kvm"
"disk" "cdrom"
"audio" "video"
"input"
"lp"
"networkmanager"
];
};
})
];
}
|