{ config, lib, pkgs, quirks, ... }: let users = [ "fenix" ]; in { imports = ( quirks [ "development" "steam" ] ); home-manager = { users = lib.genAttrs users (user: import ./${user}.nix); }; networking = { hostName = "fenixpc"; networkmanager = { plugins = with pkgs; lib.mkForce [ networkmanager-openvpn ]; }; }; systemd.oomd.extraConfig.DefaultMemoryPressureLimit = "15%"; services = { printing.ricoh.enable = true; printing.enable = false; printing.cups-pdf.enable = false; calibre-web = { enable = true; user = "fenix"; }; }; environment.systemPackages = with pkgs; [ microcode-amd openvpn ]; users = { mutableUsers = true; users = lib.genAttrs users (user: { shell = pkgs.zsh; createHome = true; isNormalUser = true; initialPassword = "password"; group = "fenix"; extraGroups = [ "networkmanager" "ssh" "docker" "video" "pipewire" "wheel" ]; }); groups = { i2c = { members = users; }; } // lib.genAttrs users (user: { members = [ user ]; gid = config.users.users.${user}.uid; }); }; virtualisation.vmVariant = { virtualisation = { memorySize = 16096; cores = 8; }; }; security.pam = { services = lib.genAttrs users (user: { gnupg.enable = true; kwallet.enable = true; }); }; }