{ config, pkgs, lib, ... }:
let nameValuePair = name: value: { inherit name value; };
in {
  programs.zsh.enable = true;
  users = {
    defaultUserShell = pkgs.zsh;
    users = builtins.listToAttrs (map (userConfig:
      nameValuePair userConfig.username {
        isNormalUser = true;
        description = "${userConfig.username}";
        extraGroups = [
          "networkmanager"
          "wheel"
          "dialout"
          "vboxsf"
          "adbusers"
          "libvirtd"
          "kvm"
          "lp"
          "audio"
          "video"
          "docker"
          "podman"
          "wireshark"
          "gamemode"
        ];
      }) config.syscfg.users);
  };
}
