2024-09-09 00:22:14 +00:00
|
|
|
{
|
2024-09-13 01:50:53 +00:00
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
with lib; let
|
|
|
|
cfg = config.custom.programs.wezterm;
|
|
|
|
in {
|
|
|
|
options.custom.programs.wezterm.enable = mkOption {default = false;};
|
2024-09-09 00:22:14 +00:00
|
|
|
|
|
|
|
config.home-manager.users.${config.custom.username} = mkIf cfg.enable {
|
|
|
|
# https://github.com/wez/wezterm
|
|
|
|
programs.wezterm = {
|
|
|
|
enable = true;
|
|
|
|
|
|
|
|
# https://wezfurlong.org/wezterm/config/files.html
|
|
|
|
extraConfig = ''
|
|
|
|
-- Provided by module
|
|
|
|
-- local wezterm = require 'wezterm'
|
|
|
|
|
|
|
|
local act = wezterm.action
|
|
|
|
local config = wezterm.config_builder()
|
|
|
|
|
2024-09-21 15:47:31 +00:00
|
|
|
config.font = wezterm.font('${config.custom.font.monospace}')
|
|
|
|
|
2024-09-09 00:22:14 +00:00
|
|
|
-- # TODO: Remove when using Wayland
|
|
|
|
config.font_size = ${toString (14 * config.custom.scale)}
|
|
|
|
|
|
|
|
${builtins.readFile ./config.lua}
|
|
|
|
|
|
|
|
return config
|
|
|
|
'';
|
|
|
|
|
|
|
|
# https://wezfurlong.org/wezterm/config/appearance.html#defining-a-color-scheme-in-a-separate-file
|
|
|
|
colorSchemes.solarized = {
|
|
|
|
background = "#002b36";
|
|
|
|
foreground = "#839496";
|
|
|
|
selection_bg = "#839496";
|
|
|
|
selection_fg = "#073642";
|
|
|
|
cursor_border = "#839496";
|
|
|
|
scrollbar_thumb = "#073642";
|
|
|
|
|
|
|
|
ansi = [
|
|
|
|
"073642"
|
|
|
|
"dc322f"
|
|
|
|
"859900"
|
|
|
|
"b58900"
|
|
|
|
"268bd2"
|
|
|
|
"d33682"
|
|
|
|
"2aa198"
|
|
|
|
"eee8d5"
|
|
|
|
];
|
|
|
|
|
|
|
|
brights = [
|
|
|
|
"002b36"
|
|
|
|
"cb4b16"
|
|
|
|
"586e75"
|
|
|
|
"657b83"
|
|
|
|
"839496"
|
|
|
|
"6c71c4"
|
|
|
|
"93a1a1"
|
|
|
|
"fdf6e3"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|