{
  lib,
  config,
  ...
}: let
  cfg = config.myConfig.programs.wezterm;
in {
  options.myConfig.programs.wezterm = {
    enable = lib.mkEnableOption "wezterm, a wayland terminal emulator";
  };

  config = lib.mkIf cfg.enable {
    programs.wezterm = {
      enable = true;
      enableBashIntegration = true;
      enableZshIntegration = true;
      colorSchemes = {
        myTheme = {
          ansi = [
            "#26211e"
            "#f75b72"
            "#67af34"
            "#c98b1a"
            "#509af6"
            "#ca64f3"
            "#1faeae"
            "#c1b7b0"
          ];
          brights = [
            "#585049"
            "#fb8590"
            "#75c73b"
            "#e49f27"
            "#77b1fb"
            "#d68af7"
            "#24c6c6"
            "#f2f0ef"
          ];
          background = "#0a0807";
          foreground = "#e6e2de";
        };
      };
      extraConfig = ''
        local wezterm = require 'wezterm'
        local config = wezterm.config_builder()

        config.font = wezterm.font 'FiraCode Nerd Font Mono'
        config.front_end = 'WebGpu'
        config.enable_tab_bar = false
        config.color_scheme = 'myTheme'

        return config
      '';
    };
  };
}
