mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 06:00:22 +02:00
`install.sh cleanup [--dry-run] (--all | --orphans [--keep <artifact>]...)` knows every file any version wrote outside the store and Home Manager's links, removes only what is provably its own, prints every action and reports everything else as "left alone"; a second run changes nothing. Only bash, coreutils, findutils, grep, sed, awk and jq (all in /usr/bin on SteamOS), so it also works piped from curl after a rollback or with Nix gone. - SteamVR debugger: VRWebHelper.DebuggerEnabled is put back to its value from before (steamvr-debugger.armed; the old empty marker means "absent" and is migrated), only while SteamVR is stopped. While it runs, a runtime drop-in (/run/user/<uid>/systemd/user/steamvr.service.d) runs a /usr/bin-only restore script from /run/user/<uid>/steam-frame-nix when SteamVR stops. - icon fallback links into Breeze and their manifest (dirs only if they held nothing else; hicolor's mtime bumped so Steam rescans). - Firefox: the desktop profile's user.js link, older user.js links and marker-headed copies, and the values they left in prefs.js (only with the profile closed; deferred otherwise). - Jellyfin: the hwdec shim entries in the Flatpak override (devices=all only when it came with them), an empty override file, the old shim copy. - the dashboard patches' saved state: --all only; --orphans removes just stale *.json.tmp files. `install.sh uninstall` runs `cleanup --all` before removing Home Manager (replacing its own ui-patches removal) and names what is deferred; `install.sh status` shows what `cleanup --all` would do. The flake exports it as packages.<system>.cleanup / apps.cleanup (`nix run github:lhns/steam-frame-nix#cleanup -- --all`), and checks.cleanup runs it against fake home and runtime dirs: every artifact next to look-alikes that aren't ours, --dry-run, second runs, SteamVR running (deferral, restore script), the user's own debugger key.