mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-08-26 21:13:57 +02:00
feat(home): add pyclipsync clipboard sync service for niri
xwayland-satellite has no compositor-level clipboard bridging, so X11 clients (WeChat/QQ) and Wayland clients cannot see each other's clipboard. Add the pyclipsync flake input and enable its home-manager module, which installs the daemon as a systemd user service bound to the graphical session.
This commit is contained in:
@@ -2,12 +2,18 @@
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
pyclipsync,
|
||||
...
|
||||
}@args:
|
||||
let
|
||||
cfg = config.modules.desktop.niri;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
# provides `services.pyclipsync.enable`
|
||||
pyclipsync.homeModules.default
|
||||
];
|
||||
|
||||
options.modules.desktop.niri = {
|
||||
enable = lib.mkEnableOption "niri compositor";
|
||||
};
|
||||
@@ -56,6 +62,13 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
# xwayland-satellite has no compositor-level clipboard bridging, so X11
|
||||
# clients (WeChat/QQ, run via xwayland-satellite) and Wayland clients
|
||||
# cannot see each other's clipboard. This daemon mirrors the X11
|
||||
# CLIPBOARD and the Wayland data device both directions (see the
|
||||
# pyclipsync repo for details).
|
||||
services.pyclipsync.enable = true;
|
||||
|
||||
# NOTE: this executable is used by greetd to start a wayland session when system boot up
|
||||
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config in NixOS module
|
||||
home.file.".wayland-session" = {
|
||||
|
||||
Reference in New Issue
Block a user