diff --git a/common/fragments/graphical/bspwm.nix b/common/fragments/graphical/bspwm.nix index c2004f6..a13d78b 100644 --- a/common/fragments/graphical/bspwm.nix +++ b/common/fragments/graphical/bspwm.nix @@ -54,6 +54,8 @@ services.sxhkd = { enable = true; keybindings = { + # Disable middle click paste + "~button2" = "echo -n | xclip -in"; # Terminal "super + Return" = "kitty"; "Caps_Lock" = "kitty"; @@ -62,11 +64,7 @@ # Program launcher "super + @space" = "rofi -show drun"; # Clipboard - "super + v" = '' - CM_LAUNCHER=rofi clipmenu \ - -theme-str 'listview \{ spacing: 0; \}' \ - -theme-str 'window \{ width: 30em; \}' - ''; + "super + v" = "clipcat-menu"; # Calculator "super + shift + c" = '' ROFI_PLUGIN_PATH=${pkgs.rofi-calc}/lib/rofi rofi -show calc -modi calc -calc-command '${pkgs.xdotool}/bin/xdotool type --clearmodifiers "\{result\}' diff --git a/common/fragments/graphical/clipboard.nix b/common/fragments/graphical/clipboard.nix new file mode 100644 index 0000000..084251a --- /dev/null +++ b/common/fragments/graphical/clipboard.nix @@ -0,0 +1,67 @@ +{ + # Persistent clipboard + services.clipcat.enable = true; + + home-manager.users.agatha = { + xdg.configFile."clipcat/clipcatd.toml".text = '' + daemonize = true + pid_file = "/run/user/1000/clipcatd.pid" + max_history = 50 + history_file_path = "/home/agatha/.cache/clipcat/clipcatd-history" + snippets = [] + + [log] + emit_journald = true + emit_stdout = false + emit_stderr = false + level = "INFO" + + [watcher] + load_current = true + enable_clipboard = true + enable_primary = false + sensitive_x11_atoms = [] + filter_text_min_length = 1 + denied_text_regex_patterns = [] + capture_image = true + + [grpc] + enable_http = false + enable_local_socket = true + local_socket = "/run/user/1000/clipcat/grpc.sock" + + [desktop_notification] + enable = true + icon = "accessories-clipboard" + timeout_ms = 2000 + long_plaintext_length = 2000 + ''; + + xdg.configFile."clipcat/clipcatctl.toml".text = '' + server_endpoint = "/run/user/1000/clipcat/grpc.sock" + + [log] + emit_journald = true + emit_stdout = false + emit_stderr = false + level = "INFO" + ''; + + xdg.configFile."clipcat/clipcat-menu.toml".text = '' + server_endpoint = "/run/user/1000/clipcat/grpc.sock" + finder = "rofi" + + [rofi] + line_length = 35 + menu_length = 15 + menu_prompt = "Clipboard" + extra_arguments = [] + + [log] + emit_journald = true + emit_stdout = false + emit_stderr = false + level = "INFO" + ''; + }; +} diff --git a/common/fragments/graphical/default.nix b/common/fragments/graphical/default.nix index fc22b5e..5234443 100644 --- a/common/fragments/graphical/default.nix +++ b/common/fragments/graphical/default.nix @@ -3,6 +3,7 @@ ../restic.nix ./audio.nix ./bspwm.nix + ./clipboard.nix ./dunst.nix ./element.nix ./iosevka.nix @@ -32,7 +33,6 @@ brightnessctl broot bspm - clipmenu colmena darktable element-desktop