{pkgs, ...}:
with pkgs; {
  programs.macchina = {
    enable = true;

    config = {
      theme = "Mezora";
      interface = "wlp4s0";

      show = [
        "Distribution"
        "Kernel"
        "LocalIP"
        "DesktopEnvironment"
        "WindowManager"
        "Packages"
        "Resolution"
        "Terminal"
        "Shell"
        "Uptime"
        "ProcessorLoad"
        "Memory"
      ];
    };

    themes = {
      Mezora = {
        custom_ascii =
          # I prefer to use the default icon on macOS
          if stdenv.isDarwin
          then {}
          else {
            path = writeText "nix_logo" ''
                        ▗▄▄▄       ▗▄▄▄▄    ▄▄▄▖
                        ▜███▙       ▜███▙  ▟███▛
                         ▜███▙       ▜███▙▟███▛
                          ▜███▙       ▜██████▛
                   ▟█████████████████▙ ▜████▛     ▟▙
                  ▟███████████████████▙ ▜███▙    ▟██▙
                         ▄▄▄▄▖           ▜███▙  ▟███▛
                        ▟███▛             ▜██▛ ▟███▛
                       ▟███▛               ▜▛ ▟███▛
              ▟███████████▛                  ▟██████████▙
              ▜██████████▛                  ▟███████████▛
                    ▟███▛ ▟▙               ▟███▛
                   ▟███▛ ▟██▙             ▟███▛
                  ▟███▛  ▜███▙           ▝▀▀▀▀
                  ▜██▛    ▜███▙ ▜██████████████████▛
                   ▜▛     ▟████▙ ▜████████████████▛
                         ▟██████▙       ▜███▙
                        ▟███▛▜███▙       ▜███▙
                       ▟███▛  ▜███▙       ▜███▙
                       ▝▀▀▀    ▀▀▀▀▘       ▀▀▀▘
            '';
          };
        separator = "";
        separator_color = "blue";
        key_color = "blue";

        palette = {
          type = "Dark";
          visible = true;
          glyph = "⬤  ";
        };

        box = {
          border = "rounded";
          visible = true;
          inner_margin = {
            x = 1;
            y = 1;
          };
        };

        bar = {
          glyph = "○";
          hide_delimiters = true;
          visible = true;
        };

        keys = {
          kernel = "  Kernel";
          packages = "  Packages";
          cpu_load = "  CPU";
          memory = "  Memory";
          resolution = "󰔂  Res";
          uptime = "  Uptime";
          distro = "  Distro";
          machine = "󰌢  Machine";
          de = "  DE";
          local_ip = "󰤨  Local IP";
          terminal = "  Terminal";
          shell = "  Shell";
        };
      };
    };
  };
}