42 lines
1.1 KiB
Nix
42 lines
1.1 KiB
Nix
{ lib, config, ... }:
|
|
|
|
with lib;
|
|
let
|
|
cfg = config.modules.software.system.wezterm;
|
|
in {
|
|
options.modules.software.system.wezterm = {
|
|
enable = mkEnableOption "Enable wezterm, a blazingly fast terminal emulator";
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.variables.TERM = "wezterm";
|
|
|
|
hm.programs.wezterm = {
|
|
enable = true;
|
|
extraConfig = let
|
|
fonts = config.modules.desktop.fonts.fonts;
|
|
in ''
|
|
local wezterm = require 'wezterm'
|
|
|
|
local config = {}
|
|
|
|
config.font = wezterm.font '${fonts.monospaceBitmap.family}'
|
|
config.font_size = ${toString fonts.monospaceBitmap.size}
|
|
config.freetype_load_flags = 'MONOCHROME'
|
|
config.enable_wayland = false
|
|
config.color_scheme = 'Catppuccin Mocha'
|
|
config.use_fancy_tab_bar = false
|
|
config.use_resize_increments = true
|
|
config.initial_cols = 120
|
|
config.initial_rows = 40
|
|
|
|
config.window_frame = {
|
|
font = wezterm.font '${fonts.sansSerif.family}',
|
|
font_size = ${toString fonts.sansSerif.size}
|
|
}
|
|
|
|
return config
|
|
'';
|
|
};
|
|
};
|
|
}
|