{ lib, config, pkgs, inputs, ... }: with lib; let cfg = config.modules.desktop.cliphist; in { options.modules.desktop.cliphist = { enable = mkEnableOption "enable cliphist, a clipboard manager for wayland"; package = mkOption { type = types.package; default = pkgs.cliphist; }; summonScript = mkOption { type = types.package; default = pkgs.writeShellScript "cliphist-summon" '' set -euo pipefail ${lib.getExe cfg.package} list | ${lib.getExe config.modules.desktop.fuzzel.package} --dmenu | ${lib.getExe cfg.package} decode | wl-copy ''; }; }; config = mkIf cfg.enable { hm.services.cliphist = { enable = true; allowImages = true; package = cfg.package; }; modules.desktop.rofi.enable = true; }; }