Commit Graph

2 Commits

Author SHA1 Message Date
Bernardo Magri
2948dc4dbf feat(gaming): register Flathub remote via one-shot systemd unit
services.flatpak.enable = true (set inside core/system/gaming.nix's
mkIf cfg.enable block) ships flatpak but doesn't add any remotes, so
`flatpak install` and the Discover GUI returned empty results until
the user ran the manual `flatpak remote-add` one-liner. nixpkgs has
no declarative remote-add API yet.

Added systemd.services.nomarchy-flathub-init: a Type=oneshot,
RemainAfterExit=true unit that runs
`flatpak remote-add --if-not-exists flathub
  https://dl.flathub.org/repo/flathub.flatpakrepo`
after network-online.target. The --if-not-exists flag keeps it
idempotent across reboots and re-runs.

Lives under the gaming preset (where flatpak is wired today); lift
to a dedicated module when another preset needs flatpak.

Closes the "Gaming — declarative flathub remote" Next-column item.
`nix flake check --no-build` clean.
2026-05-22 18:33:51 +01:00
Bernardo Magri
21ee9c6035 feat(system): add gaming preset module
Opt-in `nomarchy.system.gaming.enable` (default false). Wires
`programs.steam` (with `remotePlay` and `localNetworkGameTransfers`
firewall holes opened via `mkDefault`), `programs.gamemode` (the
launching user must be in the `gamemode` group), and
`services.flatpak`.

Two pieces of the original roadmap entry split into separate
Next-column rows so the system-side preset ships now:

  1. Hyprland fullscreen-on-Steam-launch window rule (home-side).
  2. Declarative flathub remote (nixpkgs has no API for this; needs
     either an overlay or a one-shot systemd unit).

The flatpak service is enabled but the user must add flathub
manually after first boot — documented in OPTIONS.md.
2026-04-26 09:10:52 +01:00