f5b02dd4

By: Ammar <ammar.nanjiani@gmail.com>

feat(steammachine): add Jovian NixOS host for Valve fremont hardware

Replace stock SteamOS on the Steam Machine's internal NVMe with Jovian
NixOS. Jovian's Steam Machine support is unmerged upstream (PR #584), so
this pins the author's fork branch as a separate input. Only this host
imports it; steamdeck stays on chaotic's vendored Jovian.

Host choices:

- GRUB with efiInstallAsRemovable. efibootmgr on the machine shows no
  explicit OS boot entry, only an {auto_created_boot_option} for the
  NVMe, so the firmware resolves \EFI\BOOT\BOOTX64.EFI. An NVRAM-only
  install would leave the box unable to boot.
- The host does NOT set nixpkgs.overlays. Importing the Jovian module
  already applies it via modules/jovian/overlay.nix; a second pass
  re-appends patches (pkgs/mangohud) and breaks the build.
- BIOS updates stay manual. enableFwupdBiosUpdates is on, but autoUpdate
  keeps its default of false: a BIOS flash cannot be rolled back by a
  NixOS generation.
- Theoden's game archive is mounted read-only with a host-local
  systemd.mounts block rather than modules/nixos/nfs-client.nix, which
  hardcodes its mount flags and exposes no read-only option.
- home-manager is managed by the NixOS module, so one nixos-anywhere run
  covers both system and user config.

Module change:

`gaming.desktop` (default true) gates the desktop Steam extras:
gamemode, the NixOS gamescope module, the 8BitDo udev rules,
SteamTinkerLaunch, and the launcher packages and programs (Hydra,
Heroic, Lutris, BoilR, protonup-qt, protontricks, winetricks, Vesktop,
capture tools).

Jovian already ships Steam, gamescope with cap_sys_nice, an unfiltered
`KERNEL=="hidraw*", TAG+="uaccess"` rule covering every controller, and
MangoHUD. Its performance path is gamescope plus dmemcg-booster, not
gamemode, and nothing in Jovian calls gamemoderun, so gamemode would sit
inert. The 8BitDo rules are already covered by that unfiltered rule.

So both Jovian hosts now set `desktop = false`. That also removes Hydra
from the Steam Deck, which previously inherited it unconditionally.
Save sync (Syncthing folder, Ludusavi, its timer and backup wrapper) is
unaffected and stays shared.

hardware-configuration.nix is still a placeholder. nixos-anywhere fills
it in via --generate-hardware-config during install.
Codeberg

Total

29m07s

Time to Start Worker time Duration Time to finish Idle
Config 3s 2s 2s 5s 3s
Eval 5s 1m30s 1m30s 1m36s 0s
Build 1m35s 2h12m05s 27m34s 29m10s 1s
Suite 3s 2h13m37s 29m07s 29m10s 4s