No error no nothing. It’s just straight out not working. I have it enabled and set using
services.cliphist.enable = true;
No user systemd service is being created.
I am on stable NixOS 24.11 (Vicuna). Is there some problem with it’s code?
EDIT:
bind =
let
menu = "killall ${pkgs.wofi}/bin/wofi || exec uwsm app -- $(${pkgs.wofi}/bin/wofi --show drun --define=drun-print_desktop_file=true)";
clipboard = "killall killall ${pkgs.wofi}/bin/wofi || exec ${pkgs.cliphist}/bin/cliphist list | ${pkgs.wofi}/bin/wofi -S dmenu | ${pkgs.cliphist}/bin/cliphist decode | ${pkgs.wl-clipboard-rs}/bin/wl-copy";
in
[
"$mod, Q, exec, exec uwsm app -T"
"$mod, C, killactive,"
"$mod, M, exec, exec loginctl terminate-user \"\""
"$mod, S, togglesplit,"
"$mod, I, exec, exec uwsm app -- org.qutebrowser.qutebrowser.desktop"
"$mod, F, fullscreen, 0"
"$modSHIFT, F, fullscreen, 1"
"$mod, D, exec, ${menu}"
"$mod, V, exec, ${clipboard}"
# Move focus with MainMod + vim keys
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, J, movefocus, d"
"$mod, K, movefocus, u"
# Move windows around in a workspace
"$modSHIFT, H, movewindow, l"
"$modSHIFT, L, movewindow, r"
"$modSHIFT, K, movewindow, u"
"$modSHIFT, J, movewindow, d"
# Toggle b/w different workspaces
"$mod, Tab, workspace, e+1"
# Swipe through workspaces
"$mod, P, workspace, +1"
"$mod, O, workspace, -1"
# Move the window to different workspace
"$modSHIFT, P, movetoworkspacesilent, +1"
"$modSHIFT, O, movetoworkspacesilent, -1"
# Example special workspace (scratchpad)
"$mod, minus, togglespecialworkspace, magic"
"$modSHIFT, minus, movetoworkspacesilent, special:magic"
# For toggling float
"$modSHIFT, Space, togglefloating,"
# For plugins
"$mod, grave, hyprexpo:expo, toggle" # can be: toggle, off/disable or on/enable
]
The above is the binds I use for Hyprland with cliphist and wofi. I cannot use services.cliphist.systemdTargets
because I use UWSM to start Hyprland (for which systemd units need to be disabled) .
systemd.user.services = lib.mkForce {
cliphist = {
Install = {
WantedBy = [ "graphical-session.target" ];
};
Unit = {
Description = "Clipboard history \"manager\" for wayland";
Documentation = [ "https://github.com/sentriz/cliphist" ];
After = [ "graphical-session.target" ];
};
Service = {
Type = "exec";
ExecStart = "${pkgs.wl-clipboard-rs}/bin/wl-paste --watch ${pkgs.cliphist}/bin/cliphist -max-items 10 store";
ExecCondition = "${pkgs.systemd}/lib/systemd/systemd-xdg-autostart-condition \"Hyprland\" \"\" ";
Restart = "on-failure";
Slice = "app-graphical.slice";
};
};
};
I use this in clipboard.nix. To make it conform with the uwsm example unit of cliphist.