1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-14 07:09:45 +01:00
home-manager/tests/modules/programs/wezterm/example-setting.nix
Chua Hou 44dcad5604
wezterm: support color schemes
Allows users to specify TOML color schemes using Nix.
2022-08-14 20:57:22 +02:00

90 lines
2.5 KiB
Nix

{ ... }:
{
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";
};
};
test.stubs.wezterm = { };
nmt.script = let
expectedConfig = builtins.toFile "wezterm.lua" ''
-- Generated by Home Manager.
-- See https://wezfurlong.org/wezterm/
-- Add config folder to watchlist for config reloads.
local wezterm = require 'wezterm';
wezterm.add_to_config_reload_watch_list(wezterm.config_dir)
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}
'';
}