refactor: enable modules to add groups to users themselves

This commit is contained in:
2026-04-30 13:51:05 +02:00
parent 91dc8e5070
commit fa6ed5655a
2 changed files with 12 additions and 2 deletions
+4 -1
View File
@@ -20,6 +20,9 @@ in {
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
mySystem.users.phundrak = mkIf cfg.mySystem.users.phundrak.enable {
extraGroups = ["docker"] ++ lists.optional cfg.podman.enable "podman";
};
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs;
[ [
dive # A tool for exploring each layer in a docker image dive # A tool for exploring each layer in a docker image
@@ -29,7 +32,7 @@ in {
podman-compose podman-compose
podman-desktop podman-desktop
]; ];
virtualisation = mkIf cfg.enable { virtualisation = {
docker = mkIf (!cfg.podman.enable) { docker = mkIf (!cfg.podman.enable) {
enable = true; enable = true;
enableNvidia = cfg.nvidia.enable; enableNvidia = cfg.nvidia.enable;
+8 -1
View File
@@ -10,13 +10,20 @@ in {
options.mySystem.users.phundrak = { options.mySystem.users.phundrak = {
enable = mkEnableOption "Enables user phundrak"; enable = mkEnableOption "Enables user phundrak";
trusted = mkEnableOption "Mark the user as trusted by Nix"; trusted = mkEnableOption "Mark the user as trusted by Nix";
extraGroups = mkOption {
type = types.listOf types.str;
default = [];
example = ["feedbackd"];
};
}; };
config = { config = {
users.users.phundrak = mkIf cfg.enable { users.users.phundrak = mkIf cfg.enable {
isNormalUser = true; isNormalUser = true;
description = "Lucien Cartier-Tilet"; description = "Lucien Cartier-Tilet";
extraGroups = ["networkmanager" "wheel" "docker" "dialout" "podman" "plugdev" "games" "audio" "input" "uinput"]; extraGroups =
["networkmanager" "wheel" "dialout" "plugdev" "games" "audio" "input"]
++ cfg.extraGroups;
shell = pkgs.zsh; shell = pkgs.zsh;
openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys; openssh.authorizedKeys.keyFiles = lib.filesystem.listFilesRecursive ../../users/phundrak/keys;
}; };