67 lines
1.7 KiB
Nix
67 lines
1.7 KiB
Nix
{ pkgs, config, ... }:
|
|
{
|
|
programs.wezterm = {
|
|
enable = true;
|
|
|
|
# Non-NixOS Linux systems don't have proper GPU integration, so we
|
|
# unfortunately need to use the native package manager version.
|
|
package = pkgs.emptyDirectory;
|
|
|
|
# TODO: create `local config` & return it seperately, so other modules can
|
|
# insert config in the middle
|
|
extraConfig =
|
|
let
|
|
fonts = config.fonts.fontconfig.defaultFonts.monospace;
|
|
in
|
|
# lua
|
|
''
|
|
local config = wezterm.config_builder()
|
|
|
|
config.enable_tab_bar = false
|
|
|
|
-- TODO: auto-set this depending on color scheme
|
|
config.color_scheme = "rose-pine"
|
|
|
|
config.font = wezterm.font_with_fallback({
|
|
{
|
|
family = "Maple Mono NF",
|
|
harfbuzz_features = {
|
|
"cv02",
|
|
"ss01",
|
|
"ss02",
|
|
"ss03",
|
|
"ss04",
|
|
"ss05",
|
|
}
|
|
},
|
|
${toString (map (font: "{ family = \"${font}\" },") fonts)}
|
|
{ family = "FairiesevkaTerm Nerd Font Mono" },
|
|
{
|
|
family = "FiraCode Nerd Font",
|
|
harfbuzz_features = {
|
|
"cv02",
|
|
"cv06",
|
|
"ss01",
|
|
"cv14",
|
|
"onum",
|
|
"ss04",
|
|
"cv18",
|
|
"cv31",
|
|
"cv30",
|
|
"cv25",
|
|
"cv26",
|
|
"cv32",
|
|
"ss06",
|
|
"ss07",
|
|
},
|
|
},
|
|
{ family = "Apple Color Emoji" },
|
|
})
|
|
|
|
-- TODO: on mairley this should be set to 14.0
|
|
config.font_size = 11.0
|
|
|
|
return config
|
|
'';
|
|
};
|
|
}
|