{pkgs, ...}: {
  home.packages = with pkgs; [
    libsixel # for displaying images
  ];
  programs.foot = {
    enable = true;
    server.enable = true;
    settings = {
      main = {
        # window settings
        app-id = "foot";
        title = "foot";
        locked-title = "no";
        term = "xterm-256color";
        shell = "zsh";

        # notifications
        notify = "notify-send -a \${app-id} -i \${app-id} \${title} \${body}";
        selection-target = "clipboard";

        # font and font rendering
        dpi-aware = false; # this looks more readable on a laptop, but it's unreasonably large
        font = "Monaspace Krypton:size=11";
        font-bold = "Monaspace Krypton:size=11";
      };

      colors = {
        alpha = 0.9;
        background = "191919";
        foreground = "d8dee9";
      };

      scrollback = {
        lines = 10000;
        multiplier = 3;
      };

      tweak = {
        font-monospace-warn = "no"; # reduces startup time
        sixel = "yes";
      };

      cursor = {
        style = "beam";
        beam-thickness = 2;
      };

      mouse = {
        hide-when-typing = "yes";
      };

      url = {
        launch = "xdg-open \${url}";
        label-letters = "sadfjklewcmpgh";
        osc8-underline = "url-mode";
        protocols = "http, https, ftp, ftps, file";
        uri-characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+=\"'()[]";
      };
    };
  };
}
