From aa9ca183f1767ed303d09e42b4eacb26e8d2f1ce Mon Sep 17 00:00:00 2001 From: Pierre Kisters <1524059+lhns@users.noreply.github.com> Date: Tue, 29 Sep 2026 01:02:28 +0200 Subject: [PATCH] docs: README as overview + options, one docs page per feature README keeps intro, feature list linking docs/, install, two sessions, usage, the complete options table, changes outside Nix, rollback, uninstall. Each feature's details (problem, what you get, configuration, limitations, how it works) move to its own page in docs/; docs/dashboard.md is split per feature and docs/changes-outside-nix.md becomes docs/cleanup.md. --- README.md | 701 ++++------------------------------- docs/changes-outside-nix.md | 67 ---- docs/cleanup.md | 43 +++ docs/dashboard-windows.md | 61 +++ docs/dashboard.md | 105 ------ docs/firefox.md | 91 +++-- docs/jellyfin.md | 76 +++- docs/keyboard.md | 147 ++++++-- docs/launcher-menu.md | 118 +++++- docs/session.md | 101 +++++ docs/steam-close-button.md | 66 ++++ docs/steamvr-debugger.md | 53 ++- docs/ui-patches.md | 97 +++-- docs/window-control-bar.md | 57 +++ docs/window-curvature.md | 85 +++++ modules/steamvr-debugger.nix | 2 +- 16 files changed, 948 insertions(+), 922 deletions(-) delete mode 100644 docs/changes-outside-nix.md create mode 100644 docs/cleanup.md create mode 100644 docs/dashboard-windows.md delete mode 100644 docs/dashboard.md create mode 100644 docs/session.md create mode 100644 docs/steam-close-button.md create mode 100644 docs/window-control-bar.md create mode 100644 docs/window-curvature.md diff --git a/README.md b/README.md index e77f99d..dff7a13 100644 --- a/README.md +++ b/README.md @@ -18,87 +18,42 @@ for everything). All options live under `steamFrame.*`. The portal fix and clipboard sync are on by default; everything else is opt-in. -- [Features](#features) · [Install](#install) · [Two sessions](#two-sessions) · - [Usage](#usage) · [Options](#options) -- [Fixes in detail](#fixes-in-detail): - [session](#session-settings-and-background-services-sessionnix), - [portal](#portal-sessionportalfix), - [keyboard layout](#keyboard-layout-keyboardlayout-keyboardvariant), - [VR keyboard extra keys](#steam-keyboard-patch-keyboardvrextrakeysenable), - [swipe and suggestions](#vr-keyboard-swipe-and-suggestions-keyboardvr), - [launcher menu](#launcher-menu-launchermenu), - [hidden apps](#hidden-apps-launchermenuhiddenapps), - [icon fallbacks](#icon-fallbacks-launchermenuiconfallbacks), - [dashboard windows](#dashboard-windows-dashboardwindows), - [Steam close button](#steam-close-button-dashboardsteamclosebuttonenable), - [window curvature](#window-curvature-dashboardwindowcurvature), - [window control bar](#window-control-bar-dashboardframecontrols), - [SteamVR debugger](#steamvr-debugger-steamvrdebuggerenable), - [clipboard sync](#clipboard-sync-clipboardsyncenable), - [Firefox](#firefox-firefox), - [Jellyfin hardware decoding](#jellyfin-hardware-decoding-jellyfinhardwaredecoding) -- [UI patches](#ui-patches-uipatchespatches): - [DevTools on the LAN](#devtools-on-the-lan), - [after a Steam update](#after-a-steam-update) -- [Changes outside Nix](#changes-outside-nix-exceptions) · - [Rollback](#rollback) · [Uninstall](#uninstall) - -Technical documentation (how the patches work, writing your own, fixing them -after a Steam update): [`docs/`](docs). - ## Features -Session and desktop: +One page per feature in [`docs/`](docs): problem, what you get, +configuration, limitations and how it works. -- [Portal fix](#portal-sessionportalfix) (`session.portalFix`, on): apps in - the Steam session can open links. -- [Clipboard sync](#clipboard-sync-clipboardsyncenable) (`clipboardSync`, - on): one clipboard for the Steam session and the nested desktop. -- [Session settings](#session-settings-and-background-services-sessionnix) - (`session.*`): outer bus and user services, for launchers and the other - modules. +**Session** ([docs/session.md](docs/session.md)): -Keyboard: +- [Session settings](docs/session.md#session-settings-and-services) (`session.*`): outer bus and user services, for launchers and the other modules. +- [Portal fix](docs/session.md#portal-fix) (`session.portalFix`, on): apps in the Steam session can open links. +- [Keyboard layout](docs/session.md#keyboard-layout) (`keyboard.layout`, `keyboard.variant`): XKB layout for the Steam session. +- [Clipboard sync](docs/session.md#clipboard-sync) (`clipboardSync`, on): one clipboard for the Steam session and the nested desktop. -- [Keyboard layout](#keyboard-layout-keyboardlayout-keyboardvariant) - (`keyboard.layout`, `keyboard.variant`): XKB layout for the Steam session. -- [Extra keys](#steam-keyboard-patch-keyboardvrextrakeysenable) - (`keyboard.vr.extraKeys`): Esc/Ctrl/Alt, arrows, Delete, real chords and - AltGr/non-ASCII characters on the VR keyboard. -- [Swipe and suggestions](#vr-keyboard-swipe-and-suggestions-keyboardvr) - (`keyboard.vr`): swipe typing, corrections, completions, Backspace drag. +**VR keyboard** ([docs/keyboard.md](docs/keyboard.md)): -VR "+" menu: +- [Extra keys](docs/keyboard.md#extra-keys) (`keyboard.vr.extraKeys`): Esc/Ctrl/Alt, arrows, Delete, real chords and AltGr/non-ASCII characters. +- [Swipe and suggestions](docs/keyboard.md#swipe-and-suggestions) (`keyboard.vr`): swipe typing, corrections, completions, Backspace drag. -- [Launcher menu](#launcher-menu-launchermenu) (`launcherMenu.*`): sorted, - Desktop pinned, closes on launch, no double launches, grid of tiles, all - programs without Developer Mode. -- [Hidden apps](#hidden-apps-launchermenuhiddenapps) - (`launcherMenu.hiddenApps`) and - [icon fallbacks](#icon-fallbacks-launchermenuiconfallbacks) - (`launcherMenu.iconFallbacks`, on) for Konsole and KDE System Settings. +**VR "+" menu** ([docs/launcher-menu.md](docs/launcher-menu.md)): -SteamVR dashboard (turns on the -[SteamVR debugger](#steamvr-debugger-steamvrdebuggerenable) automatically): +- [Launcher menu](docs/launcher-menu.md) (`launcherMenu.*`): sorted, Desktop pinned, closes on launch, no double launches, grid of tiles, all programs without Developer Mode. +- [Hidden apps](docs/launcher-menu.md#hidden-apps) (`launcherMenu.hiddenApps`) and [icon fallbacks](docs/launcher-menu.md#icon-fallbacks) (`launcherMenu.iconFallbacks`, on) for Konsole and KDE System Settings. -- [Dashboard windows](#dashboard-windows-dashboardwindows) - (`dashboard.windows`): larger max scale and push-back distance. -- [Steam close button](#steam-close-button-dashboardsteamclosebuttonenable) - (`dashboard.steamCloseButton`): an X that hides the Steam window. -- [Window curvature](#window-curvature-dashboardwindowcurvature) - (`dashboard.windowCurvature`): adjustable curvature per window. -- [Window control bar](#window-control-bar-dashboardframecontrols) - (`dashboard.frameControls`): move controls between bar and three-dot menu. +**SteamVR dashboard** ([dashboard patches](docs/ui-patches.md#steamvr-dashboard-patches)): -Apps: +- [Dashboard windows](docs/dashboard-windows.md) (`dashboard.windows`): larger max scale and push-back distance. +- [Steam close button](docs/steam-close-button.md) (`dashboard.steamCloseButton`): an X that hides the Steam window. +- [Window curvature](docs/window-curvature.md) (`dashboard.windowCurvature`): adjustable curvature per window. +- [Window control bar](docs/window-control-bar.md) (`dashboard.frameControls`): move controls between bar and three-dot menu. +- [SteamVR debugger](docs/steamvr-debugger.md) (`steamvrDebugger`, automatic): SteamVR's DevTools port for these, set only while SteamVR runs. -- [Firefox](#firefox-firefox) (`firefox`): launcher for the Flatpak with a VR - fullscreen fix, optional AV1 off, a separate desktop profile. -- [Jellyfin](#jellyfin-hardware-decoding-jellyfinhardwaredecoding) - (`jellyfin.hardwareDecoding`): hardware video decoding in the Jellyfin - Desktop Flatpak. +**Apps:** -Your own patches of Steam's UI: [UI patches](#ui-patches-uipatchespatches). +- [Firefox](docs/firefox.md) (`firefox`): launcher for the Flatpak with a VR fullscreen fix, optional AV1 off, a separate desktop profile. +- [Jellyfin](docs/jellyfin.md) (`jellyfin.hardwareDecoding`): hardware video decoding in the Jellyfin Desktop Flatpak. + +**Your own patches** of Steam's UI, and fixing patches after a Steam update: [UI patches](docs/ui-patches.md). ## Install @@ -113,22 +68,13 @@ The short link redirects to [`install.sh`](https://raw.githubusercontent.com/lhns/steam-frame-nix/main/install.sh) on `main`. `sudo` needs a password: run `passwd` first if you never set one. -The installer: - -1. installs Nix with the [NixOS nix-installer](https://github.com/NixOS/nix-installer) - (`steam-deck` planner: store in `/home/nix`, survives SteamOS updates; - flakes on), unlocking the read-only root only for the install. Skipped if - Nix already works; -2. uses `~/.config/home-manager` or `--flake `; if there is - none, creates `~/nix-config` (a git repo, linked to - `~/.config/home-manager`) from the [template](template) with your user - name; -3. runs `home-manager switch`; conflicting dotfiles are renamed to - `*.hm-backup-