{
  programs.wezterm = {
    enable = true;
    extraConfig = ''
      return {
        font = wezterm.font("JetBrains Mono"),
        font_size = 16.0,
        color_scheme = "Tomorrow Night",
        hide_tab_bar_if_only_one_tab = true,
        default_prog = { "zsh", "--login", "-c", "tmux attach -t dev || tmux new -s dev" },
        keys = {
          {key="n", mods="SHIFT|CTRL", action="ToggleFullScreen"},
        }
      }
    '';
    colorSchemes.test = {
      ansi = [
        "#222222"
        "#D14949"
        "#48874F"
        "#AFA75A"
        "#599797"
        "#8F6089"
        "#5C9FA8"
        "#8C8C8C"
      ];
      brights = [
        "#444444"
        "#FF6D6D"
        "#89FF95"
        "#FFF484"
        "#97DDFF"
        "#FDAAF2"
        "#85F5DA"
        "#E9E9E9"
      ];
      background = "#1B1B1B";
      cursor_bg = "#BEAF8A";
      cursor_border = "#BEAF8A";
      cursor_fg = "#1B1B1B";
      foreground = "#BEAF8A";
      selection_bg = "#444444";
      selection_fg = "#E9E9E9";
    };
  };

  nmt.script =
    let
      expectedConfig = builtins.toFile "wezterm.lua" ''
        -- Generated by Home Manager.
        -- See https://wezfurlong.org/wezterm/

        local wezterm = require 'wezterm'

        return {
          font = wezterm.font("JetBrains Mono"),
          font_size = 16.0,
          color_scheme = "Tomorrow Night",
          hide_tab_bar_if_only_one_tab = true,
          default_prog = { "zsh", "--login", "-c", "tmux attach -t dev || tmux new -s dev" },
          keys = {
            {key="n", mods="SHIFT|CTRL", action="ToggleFullScreen"},
          }
        }

      '';
      expectedColorScheme = builtins.toFile "test.toml" ''
        [colors]
        ansi = [
            "#222222",
            "#D14949",
            "#48874F",
            "#AFA75A",
            "#599797",
            "#8F6089",
            "#5C9FA8",
            "#8C8C8C",
        ]
        background = "#1B1B1B"
        brights = [
            "#444444",
            "#FF6D6D",
            "#89FF95",
            "#FFF484",
            "#97DDFF",
            "#FDAAF2",
            "#85F5DA",
            "#E9E9E9",
        ]
        cursor_bg = "#BEAF8A"
        cursor_border = "#BEAF8A"
        cursor_fg = "#1B1B1B"
        foreground = "#BEAF8A"
        selection_bg = "#444444"
        selection_fg = "#E9E9E9"
      '';
    in
    ''
      assertFileExists home-files/.config/wezterm/wezterm.lua
      assertFileContent home-files/.config/wezterm/wezterm.lua ${expectedConfig}
      assertFileExists home-files/.config/wezterm/colors/test.toml
      assertFileContent home-files/.config/wezterm/colors/test.toml ${expectedColorScheme}
    '';
}
