{ config, lib, ... }:
with lib;
let
  cfg = config.mjallen.programs.wofi;
  nord = import (lib.snowfall.fs.get-file "modules/home/desktop/theme/nord.nix");
in
{
  imports = [ ./options.nix ];

  config = mkIf cfg.enable {
    programs.wofi = {
      enable = true;
      style = ''
        * {
          font-family: "${cfg.fontName}", monospace;
          font-size: 14px;
        }

        /* Window */
        window {
          margin: 0px;
          padding: 10px;
          border: 0.16em solid ${nord.aurora.nord15};
          border-radius: 0.1em;
          background-color: ${nord.polarNight.nord0};
        }

        /* Inner Box */
        #inner-box {
          margin: 5px;
          padding: 10px;
          border: none;
          background-color: ${nord.polarNight.nord0};
        }

        /* Outer Box */
        #outer-box {
          margin: 5px;
          padding: 10px;
          border: none;
          background-color: ${nord.polarNight.nord0};
        }

        /* Scroll */
        #scroll {
          margin: 0px;
          padding: 10px;
          border: none;
          background-color: ${nord.polarNight.nord0};
        }

        /* Input */
        #input {
          margin: 5px 20px;
          padding: 10px;
          border: none;
          border-radius: 0.1em;
          color: ${nord.snowStorm.nord6};
          background-color: ${nord.polarNight.nord0};
        }

        #input image {
          border: none;
          color: ${nord.aurora.nord11};
        }

        #input * {
          outline: 4px solid ${nord.aurora.nord11}!important;
        }

        /* Text */
        #text {
          margin: 5px;
          border: none;
          color: ${nord.snowStorm.nord6};
        }

        #entry {
          background-color: ${nord.polarNight.nord0};
        }

        #entry arrow {
          border: none;
          color: ${nord.aurora.nord15};
        }

        /* Selected Entry */
        #entry:selected {
          border: 0.11em solid ${nord.aurora.nord15};
        }

        #entry:selected #text {
          color: ${nord.frost.nord7};
        }

        #entry:drop(active) {
          background-color: ${nord.aurora.nord15}!important;
        }
      '';
    };
  };
}
