# Common configuration options for client machines (i.e. not servers) { inputs, pkgs, ... }: { imports = [ ./steam.nix ]; nixpkgs = { overlays = [ inputs.niri-flake.overlays.niri (final: prev: { nur = import inputs.nur { nurpkgs = prev; pkgs = prev; repoOverrides = { sorre = import inputs.sorrepkgs { pkgs = prev; }; }; }; }) ]; config.allowUnfree = true; }; documentation = { enable = true; dev.enable = true; doc.enable = true; info.enable = true; man = { enable = true; generateCaches = true; }; }; programs.nix-ld = { enable = true; libraries = [ ]; }; # programs.hyprland.enable = true; services.gvfs.enable = true; services.udisks2.enable = true; boot.supportedFilesystems = [ "ntfs" "bcachefs" ]; nix.gc = { dates = "daily"; automatic = true; persistent = true; randomizedDelaySec = "15min"; options = ''--delete-older-than 7d''; }; networking = { useNetworkd = true; firewall = { enable = true; allowedTCPPorts = [ 80 443 34197 ]; }; }; services.mullvad-vpn.enable = true; virtualisation.podman = { enable = true; dockerCompat = true; dockerSocket.enable = true; autoPrune.enable = true; }; services.flatpak.enable = true; programs.gnupg.agent = { enable = true; enableSSHSupport = true; pinentryPackage = pkgs.pinentry-gnome3; settings = { default-cache-ttl = 1200; }; }; home-manager.backupFileExtension = "backup"; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; }; fonts.packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans noto-fonts-emoji proggyfonts nerd-fonts.fira-code nerd-fonts.caskaydia-cove overpass inter ]; xdg = { mime.enable = true; menus.enable = true; icons.enable = true; sounds.enable = true; autostart.enable = true; portal = { enable = true; wlr.enable = true; config.common.default = [ "*" ]; }; terminal-exec.enable = true; }; # services.earlyoom = { # enable = true; # freeMemThreshold = 5; # extraArgs = [ "--prefer '(^|/)(firefox|chromium|signal|electron)$'" ]; # }; }