Commit Graph

20 Commits

Author SHA1 Message Date
e010b4e3c1 game-mods: drop in-house launchOptions writer, hardcode FH5 ini
Replaces three handfuls of custom code with upstream / static data:

- Per-app Steam launch options now declared via different-name/steam-
  config-nix's `programs.steam.config.apps.<n>` instead of a custom
  ~70-line `apply_launch_options` Python function. The dropped writer
  was racy: it edited localconfig.vdf without checking for a running
  Steam, so any timer firing while Steam was open would lose its
  changes on the next Steam shutdown. steam-config-nix's `closeSteam`
  flag closes that race.

  Also moves the GE-Proton compat-tool pin to declarative config —
  one fewer manual click in Steam UI to remember.

- `mods.<>.launchOptions` option, the `launchOptionsData` aggregation,
  and `LAUNCH_OPTIONS_DATA` are removed from desktop-game-mods.nix.
  The module now does file-drops only; Steam config lives in its own
  `programs.steam.config` namespace, where it belongs.

  fh5-vkd3d-no-hvv (which existed only to set VKD3D_CONFIG) collapses
  into the FH5 launchOptions block in hosts/yarn/default.nix.

- `unitConfig.X-ConfigHash` on game-mods.service is replaced with
  `restartTriggers`. NixOS already emits `X-Restart-Triggers=<hash>`
  on the unit; the workaround was redundant. The Type=oneshot,
  RemainAfterExit=no semantics make `systemctl restart` re-run
  ExecStart cleanly on hash change.

- The awk pipeline that patched OptiScaler's stock OptiScaler.ini at
  build time is replaced with a hand-written hosts/yarn/optiscaler-
  fh5-rdna3.ini containing only the keys we override (5 of them).
  OptiScaler's Config::readString defaults missing keys to "auto"
  (Config.cpp:1568), so a minimal file is sufficient. Side benefits:
  one upstream-source dependency removed, a key-rename in upstream
  becomes a behavior change rather than a silent awk-no-match.

  Override values + sources:
    Fsr4Update=true              FH5 wiki, FSR4 Linux Setup
    DlssReactiveMaskBias=0.65    FH5 wiki, "Known Issues"
    FsrNonLinearColorSpace=true  FSR4 wiki, "Image Quality"
    EnableFsr2Inputs=false       FH5 wiki, "Known Issues"
    Dxgi=false                   FH5 wiki

- forza-trigger's three custom Python derivations (pydualsense,
  hidapi-usb, fdp) factored out of default.nix into a sibling
  python-packages.nix. Same logic, single-purpose file. Bumping a
  version is now a one-place hash roll.

- pkgs.dualsensectl removed from the daemon's environment.system-
  Packages. Single-shot writes from the CLI get clobbered by the BG
  sendReport thread within ~4ms anyway, so the tool is only useful
  with the daemon stopped — not worth the unconditional install.
  Bring it in ad-hoc with `nix-shell -p dualsensectl`.
2026-05-03 00:35:49 -04:00
6aff8c878a update 2026-05-03 00:35:48 -04:00
8768b285df pi: add android skills 2026-04-30 02:15:24 -04:00
365efe3482 update
All checks were successful
Build and Deploy / mreow (push) Successful in 11m31s
Build and Deploy / yarn (push) Successful in 1m8s
Build and Deploy / muffin (push) Successful in 1m19s
2026-04-29 12:57:12 -04:00
c9d0035cc2 update
Some checks failed
Build and Deploy / mreow (push) Successful in 50s
Build and Deploy / yarn (push) Failing after 3h11m19s
Build and Deploy / muffin (push) Successful in 2m59s
2026-04-28 13:36:19 -04:00
e6d7e1a73a update
All checks were successful
Build and Deploy / mreow (push) Successful in 14m28s
Build and Deploy / yarn (push) Successful in 1m6s
Build and Deploy / muffin (push) Successful in 1m7s
2026-04-27 23:37:17 -04:00
4f98023203 update
All checks were successful
Build and Deploy / mreow (push) Successful in 4m2s
Build and Deploy / yarn (push) Successful in 1m4s
Build and Deploy / muffin (push) Successful in 1m11s
2026-04-27 11:40:09 -04:00
675fc7f805 update
Some checks failed
Build and Deploy / mreow (push) Failing after 5m10s
Build and Deploy / yarn (push) Failing after 1m1s
Build and Deploy / muffin (push) Has been cancelled
2026-04-27 01:27:13 -04:00
3201b5726e update
Some checks failed
Build and Deploy / mreow (push) Successful in 1m44s
Build and Deploy / yarn (push) Successful in 1m3s
Build and Deploy / muffin (push) Failing after 27s
2026-04-26 00:12:30 -04:00
ce288ccdb0 update
Some checks failed
Build and Deploy / mreow (push) Successful in 8m39s
Build and Deploy / yarn (push) Successful in 1m6s
Build and Deploy / muffin (push) Failing after 34s
2026-04-25 20:22:48 -04:00
d55743a9e7 revert: roll back flake.lock pre-update (niri 8ed0da4 black-screens on amdgpu) 2026-04-25 16:21:28 -04:00
8bd148dc96 update
All checks were successful
Build and Deploy / mreow (push) Successful in 12m7s
Build and Deploy / yarn (push) Successful in 1m36s
Build and Deploy / muffin (push) Successful in 1m11s
2026-04-25 15:20:34 -04:00
112b85f3fb update
Some checks failed
Build and Deploy / yarn (push) Has been cancelled
Build and Deploy / muffin (push) Has been cancelled
Build and Deploy / mreow (push) Has been cancelled
2026-04-25 01:45:47 -04:00
a3f7a19cc2 update
All checks were successful
Build and Deploy / mreow (push) Successful in 3m39s
Build and Deploy / yarn (push) Successful in 1m3s
Build and Deploy / muffin (push) Successful in 2m26s
2026-04-23 14:23:17 -04:00
3317ac7997 update 2026-04-22 17:43:05 -04:00
f03cc87fc9 update senior project website
All checks were successful
Build and Deploy / mreow (push) Successful in 28s
Build and Deploy / yarn (push) Successful in 9s
Build and Deploy / muffin (push) Successful in 1m19s
2026-04-22 13:10:26 -04:00
a780c5505a update
Some checks failed
Build and Deploy / mreow (push) Successful in 1h39m40s
Build and Deploy / yarn (push) Successful in 4m26s
Build and Deploy / muffin (push) Failing after 5m12s
2026-04-22 09:16:09 -04:00
41efc1f061 update
Some checks failed
Build and Deploy / mreow (push) Successful in 2h15m30s
Build and Deploy / yarn (push) Successful in 2m33s
Build and Deploy / muffin (push) Failing after 3m20s
2026-04-20 17:26:53 -04:00
5232211c0a update
All checks were successful
Build and Deploy / mreow (push) Successful in 11m39s
Build and Deploy / yarn (push) Successful in 58s
Build and Deploy / muffin (push) Successful in 1m58s
2026-04-19 20:35:52 -04:00
primary
97ab8bffc0 phase 3: generate flake.lock; fix desktop-networkmanager wifi path
Secret plaintext sits in working tree for Phase 3 eval only; Phase 5 re-encrypts
under the new unified git-crypt key.
2026-04-18 01:05:08 -04:00