{ config, lib, ... }: with lib; let wofi = "${config.home-manager.users.${config.custom.username}.programs.wofi.package}/bin/wofi"; cfg = config.custom.services.clipcat; in { options.custom.services.clipcat.enable = mkOption { default = false; }; config = mkIf cfg.enable { # BUG: Random high CPU usage # https://github.com/xrelkd/clipcat/issues/347 # https://github.com/xrelkd/clipcat services.clipcat.enable = true; # https://github.com/xrelkd/clipcat?tab=readme-ov-file#configuration home-manager.users.${config.custom.username}.home.file = { ".config/clipcat/clipcatd.toml".text = '' daemonize = false max_history = 100 [watcher] enable_clipboard = true enable_primary = false [grpc] enable_http = false ''; ".config/clipcat/clipcat-menu.toml".text = '' finder = "custom_finder" [custom_finder] program = "${wofi}" args = ["--dmenu"] ''; }; }; }