{
  pkgs,
  lib,
  config,
  ...
}: let
  program = "clipboard";
  cfg = config.dots.${program};
in {
  options.dots.${program} = {
    enable = lib.mkEnableOption "enables ${program}";
  };

  config = lib.mkIf cfg.enable {

    # install clipboard
    home.packages = with pkgs; [wl-clipboard];

    # enable cliphist for clipboard history
    services.cliphist = {
      enable = true;
      clipboardPackage = pkgs.wl-clipboard;
      allowImages = true;
      extraOptions = [ # these are the defaults
        "-max-dedupe-search"
        "10"
        "-max-items"
        "500"
      ];
    };
  };
}
