# Common configuration options for client machines (i.e. not servers) { lib, inputs, pkgs, ... }: { imports = [ ./steam.nix ]; nixpkgs = { overlays = [ inputs.rust-overlay.overlays.default inputs.emacs-overlay.overlays.default (final: prev: { nur = import inputs.nur { nurpkgs = prev; pkgs = prev; repoOverrides = { sorre = import inputs.sorrepkgs { pkgs = prev; }; }; }; }) ]; config.allowUnfree = true; }; programs.nix-ld = { enable = true; libraries = [ ]; }; # See https://github.com/NixOS/nixpkgs/issues/100288#issuecomment-709328701 # I don't care about man completions, and rebuilding the cache constantly is # very annoying documentation.man.generateCaches = lib.mkForce false; 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)$'" ]; # }; }