{ pkgs, lib, username, inputs, site_config, ... }: { imports = [ ../../modules/desktop-common.nix ../../modules/desktop-jovian.nix ../../modules/no-rgb.nix ./disk.nix ./impermanence.nix ./lact.nix ./vr.nix ./forza-trigger inputs.impermanence.nixosModules.impermanence ]; fileSystems."/media/games" = { device = "/dev/disk/by-uuid/1878136e-765d-4784-b204-3536ab4fdac8"; fsType = "f2fs"; options = [ "nofail" ]; }; systemd.targets = { sleep.enable = false; suspend.enable = false; hibernate.enable = false; hybrid-sleep.enable = false; }; networking.hostId = "abf570f9"; # Static IP for consistent SSH access networking.networkmanager.ensureProfiles.profiles.enp7s0-static = { connection = { id = "enp7s0-static"; type = "ethernet"; interface-name = "enp7s0"; autoconnect = true; }; ipv4 = { method = "manual"; address1 = "${site_config.hosts.yarn.ip}/24,${site_config.lan.gateway}"; dns = lib.concatMapStrings (n: "${n};") site_config.dns_servers; }; ipv6.method = "disabled"; }; services.openssh = { enable = true; ports = [ 22 ]; settings = { PasswordAuthentication = false; PermitRootLogin = "yes"; }; }; users.users.${username}.openssh.authorizedKeys.keys = [ site_config.ssh_keys.laptop ]; users.users.root.openssh.authorizedKeys.keys = [ site_config.ssh_keys.laptop site_config.ssh_keys.ci_deploy ]; programs.steam = { remotePlay.openFirewall = true; localNetworkGameTransfers.openFirewall = true; }; environment.systemPackages = [ pkgs.jovian-stubs ]; # yarn is not a Steam Deck jovian.devices.steamdeck.enable = false; # PS5 DualSense adaptive triggers in Forza Horizon 4 / 5. services.forzaTrigger.enable = true; # Steam per-app declarative config via steam-config-nix: # - launch-option env vars (PROTON_FSR4_UPGRADE et al) # - file drops into the install dir (FH5 intro stubs, OptiScaler DLLs + # hand-written FH5/RDNA3 INI). Backups land next to replaced files with # a `.steam-config-nix-backup` suffix on first apply. # # The patcher runs as a system oneshot at activation; closeSteam = true # ensures Steam is shut down before the localconfig.vdf write so Steam # can't clobber it on next exit. File drops happen in the same run but # don't share that concern \u2014 they only touch steamapps/common/