clipboardSync: off by default

It is built from source, which makes the first switch long. The template
lists it as a commented option; status shows clipboard-sync only while it
runs or its autostart link exists.
This commit is contained in:
Pierre Kisters committed 2026-10-02 00:40:01 +02:00
1 parent e597c6e34b
commit dc527d0253
5 files changed
+23 -13

No files matched your search

+8 -7
View File
@@ -15,9 +15,9 @@ their lifetime and what removes them; `steam-frame-nix-cleanup` removes every
one of them (on each switch what the configuration no longer uses, `--all`
for everything).
All options live under `steamFrame.*`. The portal fix, the applications menu,
clipboard sync and the "+" menu's icon fallbacks are on by default;
everything else is opt-in.
All options live under `steamFrame.*`. The portal fix, the applications menu
and the "+" menu's icon fallbacks are on by default; everything else is
opt-in.
## Features
@@ -30,7 +30,7 @@ configuration, limitations and how it works.
- [Portal fix](docs/session.md#portal-fix) (`session.portalFix`, on): apps in the Steam session can open links, and Flatpak apps get KDE's file dialog.
- [Applications menu](docs/session.md#applications-menu) (`session.applicationsMenu`, on): KDE apps in the Steam session (Dolphin from the "+" menu) know the installed apps.
- [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.
- [Clipboard sync](docs/session.md#clipboard-sync) (`clipboardSync`): one clipboard for the Steam session and the nested desktop (built from source).
**VR keyboard** ([docs/keyboard.md](docs/keyboard.md)):
@@ -139,8 +139,8 @@ of their differences:
What this means for you:
- **Switch from the nested desktop:** run `home-manager switch` in a
terminal there, so clipboard-sync restarts with the desktop's
environment. User services are handled for you
terminal there, so clipboard-sync (if enabled) restarts with the
desktop's environment. User services are handled for you
([session settings](docs/session.md#session-settings-and-services)).
- **Wallet:** there should be one `kwalletd6`, on the outer bus; apps started
from the desktop would otherwise start a second one whose secrets VR can't
@@ -207,6 +207,7 @@ these two files ([`template/`](template), with more comments):
keyboard.layout = "de"; # XKB layout, Steam session
keyboard.vr.extraKeys.enable = true; # Esc/Ctrl/Alt/arrows in VR
keyboard.vr.enable = true; # swipe, suggestions, Backspace drag
clipboardSync.enable = true; # one clipboard for both sessions (builds from source)
launcherMenu = {
sort = true;
pinDesktop = "bottom";
@@ -344,7 +345,7 @@ which: [Repository layout](docs/development.md).
| `steamFrame.pet.mount` | `"dynamic"`, `"all"` | `"dynamic"` | Baked frames kept mounted in the scene graph: the clips needed now or next, or all of them. |
| `steamFrame.pet.debug.demo` | bool | `false` | Demo tour: cycles through all poses and activities. |
| `steamFrame.steamvrDebugger.enable` | bool | automatic | SteamVR dashboard DevTools on `127.0.0.1:8087` (set only while SteamVR runs); on when a dashboard patch is, see [SteamVR debugger](docs/steamvr-debugger.md). |
| `steamFrame.clipboardSync.enable` | bool | `true` | Clipboard bridge between the Steam session and the nested desktop. |
| `steamFrame.clipboardSync.enable` | bool | `false` | Clipboard bridge between the Steam session and the nested desktop; built from source (the first switch takes a while). |
| `steamFrame.clipboardSync.package` | package | built from `dnut/clipboard-sync` | The clipboard-sync package. |
| `steamFrame.firefox.enable` | bool | `false` | Launcher for the Flathub Firefox Flatpak with the fixes below. |
| `steamFrame.firefox.vrFullscreenFix` | bool | `true` | Default `full-screen-api.ignore-widgets` to `true` (not in the desktop profile). |
+2 -1
View File
@@ -132,7 +132,8 @@ steamFrame.keyboard = { layout = "de"; variant = "nodeadkeys"; };
## Clipboard sync
`clipboardSync.enable`, module `clipboard-sync`. On by default.
`clipboardSync.enable`, module `clipboard-sync`. Off by default: it is
built from source, so the first switch with it takes a while.
**Problem:** the Steam session's X displays and the nested desktop have
separate clipboards.
+6 -1
View File
@@ -1416,7 +1416,12 @@ cmd_status() {
else
info "user manager not reachable at $OUTER_RUNTIME_DIR"
fi
info "$(printf '%-30s %s' clipboard-sync "$(pgrep -u "$USER_ID" -x clipboard-sync >/dev/null && echo running || echo 'not running')")"
# steamFrame.clipboardSync (off by default): its autostart link or a process
if pgrep -u "$USER_ID" -x clipboard-sync >/dev/null; then
info "$(printf '%-30s %s' clipboard-sync running)"
elif [[ -e $CONFIG_HOME/autostart/clipboard-sync.desktop ]]; then
info "$(printf '%-30s %s' clipboard-sync 'not running')"
fi
cmd_cleanup --dry-run --all
}
+3 -2
View File
@@ -12,10 +12,11 @@ in {
options.steamFrame.clipboardSync = {
enable = lib.mkOption {
type = lib.types.bool;
default = true; # without it the nested desktop's clipboard is isolated
default = false; # built from source: a long first build
description = ''
Run clipboard-sync between the Steam session and the nested desktop
(KDE autostart; switch stops stale builds and duplicates).
(KDE autostart; switch stops stale builds and duplicates). Built from
source.
'';
};
package = lib.mkOption {
+4 -2
View File
@@ -23,12 +23,14 @@
# home.packages = with pkgs; [ htop ripgrep ];
# Steam Frame fixes, see https://github.com/lhns/steam-frame-nix
# (session.portalFix, session.applicationsMenu and clipboardSync are on
# by default).
# (session.portalFix and session.applicationsMenu are on by default).
# steamFrame = {
# keyboard.layout = "de"; # XKB layout, Steam session
# keyboard.vr.extraKeys.enable = true; # Esc/Ctrl/Alt/arrows in VR
# keyboard.vr.enable = true; # swipe, suggestions, Backspace drag
# # nested desktop <-> Steam session clipboard (builds from source,
# # takes a while):
# clipboardSync.enable = true;
# # VR "+" menu: sorted by name, Desktop pinned below the list, closed
# # on click, no second launch of the same program within 10 s, programs
# # as a grid of 4 columns, at most 4 rows visible: