# Common configuration options for client machines (i.e. not servers) { inputs, options, pkgs, ... }: { imports = [ ./steam.nix ../nixos-modules/iwd-ext.nix ]; nixpkgs = { overlays = [ inputs.niri-flake.overlays.niri inputs.xpkgs.overlays.default inputs.niri-flake.overlays.niri ]; config.allowUnfree = true; }; security.pki.certificateFiles = [ ../../etc/certs/rootCA.crt ]; documentation = { enable = true; dev.enable = true; doc.enable = true; info.enable = true; man = { enable = true; cache.enable = true; }; }; environment.systemPackages = [ pkgs.wireguard-tools ]; programs.nix-ld = { enable = true; libraries = options.programs.nix-ld.libraries.default ++ (with pkgs; [ dbus # libdbus-1.so.3 fontconfig # libfontconfig.so.1 freetype # libfreetype.so.6 glib # libglib-2.0.so.0 libGL # libGL.so.1 libxkbcommon # libxkbcommon.so.0 libx11 # libX11.so.6 wayland ]); }; # 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"; }; services.mullvad-vpn.enable = true; virtualisation.docker = { 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-color-emoji proggyfonts nerd-fonts.fira-code nerd-fonts.caskaydia-cove overpass inter recursive ]; 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)$'" ]; # }; }