# steam-frame-nix [Home Manager](https://github.com/nix-community/home-manager) modules for the Valve Steam Frame (SteamOS, `aarch64-linux`, standalone home-manager). They work around quirks of the Frame's two graphical sessions (portal, keyboard layout, clipboard, Firefox) and extend Steam's and SteamVR's UIs at runtime (VR keyboard, "+" menu, dashboard windows, Steam close button, window curvature, window controls). Everything is declarative and reverts by activating an older generation. All options live under `steamFrame.*`. The portal fix and clipboard sync are on by default; everything else is opt-in. - [Install](#install) · [Two sessions](#two-sessions) · [Usage](#usage) · [Options](#options) - [UI patches](#ui-patches-uipatchespatches): [finders and signatures](#finders-and-signatures), [after a Steam update](#after-a-steam-update) - [Fixes in detail](#fixes-in-detail): [session](#session-settings-and-background-services-sessionnix), [portal](#portal-sessionportalfix), [keyboard layout](#keyboard-layout-keyboardlayout-keyboardvariant), [Steam keyboard](#steam-keyboard-patch-keyboardvrextrakeysenable), [swipe and suggestions](#vr-keyboard-swipe-and-suggestions-keyboardvr), [launcher menu](#launcher-menu-launchermenu), [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), [hidden apps](#hidden-apps-launchermenuhiddenapps), [clipboard sync](#clipboard-sync-clipboardsyncenable), [Firefox](#firefox-firefox) - [Rollback](#rollback) ## Install On the Frame (or a Steam Deck), in a terminal (Konsole in desktop mode or the nested desktop): ```sh curl -fsSL https://steam-frame-nix.lhns.de | bash -s -- install ``` 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 with your user name; 3. runs `home-manager switch`; conflicting dotfiles are renamed to `*.hm-backup-