marleyos/old/home/programs/wezterm.nix

68 lines
1.7 KiB
Nix
Raw Normal View History

{ pkgs, config, ... }:
2024-11-02 16:07:57 -07:00
{
programs.wezterm = {
enable = true;
2024-11-11 21:27:37 -08:00
# Non-NixOS Linux systems don't have proper GPU integration, so we
# unfortunately need to use the native package manager version.
package = pkgs.emptyDirectory;
2024-11-02 16:46:06 -07:00
# TODO: create `local config` & return it seperately, so other modules can
# insert config in the middle
2024-11-02 16:07:57 -07:00
extraConfig =
2024-11-02 16:09:59 -07:00
let
fonts = config.fonts.fontconfig.defaultFonts.monospace;
in
2024-11-02 16:07:57 -07:00
# lua
''
local config = wezterm.config_builder()
2024-11-02 16:07:57 -07:00
config.enable_tab_bar = false
2024-11-02 16:31:19 -07:00
-- TODO: auto-set this depending on color scheme
config.color_scheme = "rose-pine"
2024-11-02 16:31:19 -07:00
2024-11-02 16:07:57 -07:00
config.font = wezterm.font_with_fallback({
{
family = "Maple Mono NF",
harfbuzz_features = {
"cv02",
"ss01",
"ss02",
"ss03",
"ss04",
"ss05",
}
},
${toString (map (font: "{ family = \"${font}\" },") fonts)}
2024-11-02 16:07:57 -07:00
{ 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
2024-11-02 16:36:36 -07:00
return config
2024-11-02 16:07:57 -07:00
'';
};
}