{ lib, config, pkgs, ... }: {

  config = lib.mkIf (config.usercfg.wm == "Wayland") {
    home.packages = with pkgs; [ wofi ];
    xdg.configFile."wofi/config".text = ''
      width=280
      lines=10
      xoffset=5
      yoffset=5
      location=2
      prompt=
      filter_rate=100
      allow_markup=false
      no_actions=true
      halign=fill
      orientation=vertical
      content_halign=fill
      insensitive=true
      allow_images=true
      image_size=16
      hide_scroll=true
    '';
    xdg.configFile."wofi/style.css".text = ''
      window {
        margin: 0px;
        border-radius: ${config.colorScheme.palette.border-radius}px;
        background-color: #${config.colorScheme.palette.base00};
      }

      #input {
        all: unset;
        min-height: 20px;
        padding: 4px 10px;
        margin: 4px;
        border: none;
        color: #${config.colorScheme.palette.base07};
        font-weight: bold;
        background-color: #${config.colorScheme.palette.base01};
        outline: #${config.colorScheme.palette.base04};
      }

      #input:selected {
        color: #${config.colorScheme.palette.base0C};
      }

      #inner-box {
        font-weight: bold;
        border-radius: 0px;
      }

      #outer-box {
        margin: 0px;
        padding: 3px;
        border-radius: ${config.colorScheme.palette.border-radius}px;
        border-width: ${config.colorScheme.palette.border-width}px;
        border-color: #${config.colorScheme.palette.base04};
        border-style: solid;
      }

      #text:selected {
        color: #${config.colorScheme.palette.base00};
        background-color: transparent;
      }

      #entry:selected {
        background-color: #${config.colorScheme.palette.base07};
      }
    '';
  };
}
