diff options
Diffstat (limited to 'os/core/users.nix')
| -rw-r--r-- | os/core/users.nix | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/os/core/users.nix b/os/core/users.nix new file mode 100644 index 0000000..d0af69f --- /dev/null +++ b/os/core/users.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, username, ... }: +let + cfg = config.sys.core.users; +in +{ + options.sys.core.users.enable = lib.mkEnableOption "enables user accounts"; + config = lib.mkIf cfg.enable { + programs.fish.enable = true; + users.users.${username} = { + isNormalUser = true; + shell = pkgs.fish; + + extraGroups = lib.mkMerge [ + [ "wheel" ] + + (lib.mkIf (config.sys.core.drivers.amd.enable or false) [ "video" "render" ]) + (lib.mkIf (config.sys.core.network.enable or false) [ "networkmanager" ]) + (lib.mkIf (config.sys.srv.kvm.enable or false) [ "libvirtd" ]) + (lib.mkIf (config.sys.srv.docker.enable or false) [ "docker" ]) + (lib.mkIf (config.sys.srv.autoclicker.enable or false) [ "input" ]) + ]; + }; + }; +} |
