{
  config,
  lib,
  pkgs,
  ...
}:
with lib;
let
  cfg = config.mjallen.programs.nwg-dock;
  palette = import cfg.theme.file;
in
{
  imports = [ ./options.nix ];

  config = mkIf cfg.enable {
    home.packages = with pkgs; [ nwg-dock-hyprland ];

    home.file = {
      ".config/nwg-dock-hyprland/drawer.css".text = ''
        window {
          background: ${palette.colors.bg};
          border-radius: 10px;
          border-style: none;
          border-width: 1px;
          border-color: ${palette.colors.accent}b0
        }

        #box {
          /* Define attributes of the box surrounding icons here */
          padding: 10px
        }

        active {
          /* This is to underline the button representing the currently active window */
          border-bottom: solid 1px;
          border-color: ${palette.colors.success}1a
        }

        button, image {
          background: none;
          border-style: none;
          box-shadow: none;
          color: ${palette.colors.primary}
        }

        button {
          padding: 4px;
          margin-left: 4px;
          margin-right: 4px;
          color: #eee;
          font-size: 12px
        }

        button:hover {
          background-color: ${palette.colors.bg}1a;
          border-radius: 2px;
        }

        button:focus {
          box-shadow: none
        }
      '';
    };
  };
}
