32 lines
809 B
Nix
32 lines
809 B
Nix
{ 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;
|
|
};
|
|
}
|