blob: 10fe77b5a543c965bab8f79293de3c03d8bd5df0 (
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
41
|
{ lib, config, pkgs, ... }:
let inherit (lib) types;
cfg = config.this.users;
userP = (name: builtins.elem name cfg.enabled);
user = (name: config: lib.mkIf (userP name) config);
in
{
options.this.users = {
enabled = lib.mkOption {
type = types.listOf types.str;
default = [];
};
};
config = lib.mkMerge [
(user "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"
];
};
})
];
}
|