···11+_: {
22+ config,
33+ pkgs,
44+ ...
55+}: {
66+ home.packages = [pkgs.wezterm];
77+88+ xdg.configFile."wezterm/wezterm.lua".text =
99+ # lua
1010+ ''
1111+ -- Pull in the wezterm API
1212+ local wezterm = require 'wezterm'
1313+1414+ -- This table will hold the configuration.
1515+ local config = {}
1616+1717+ -- In newer versions of wezterm, use the config_builder which will
1818+ -- help provide clearer error messages
1919+ if wezterm.config_builder then
2020+ config = wezterm.config_builder()
2121+ end
2222+2323+ -- This is where you actually apply your config choices
2424+2525+ -- For example, changing the color scheme:
2626+ config.color_scheme = "Catppuccin Mocha"
2727+2828+ -- disable ligatures
2929+ config.harfbuzz_features = { 'calt=0', 'clig=0', 'liga=0' }
3030+3131+ -- set the font
3232+ config.font_dirs = { '/home/nmelzer/.nix-profile/share/fonts/otf' }
3333+ config.font_size = 11.0 * 1.25
3434+ config.font = wezterm.font("Departure Mono")
3535+3636+ -- setting up keybindings
3737+ config.keys = {
3838+ -- The default is `C-Z` (so also pressing SHIFT), I prefer to not have SHIFT pressed
3939+ { key = 'z', mods = 'CTRL', action = wezterm.action.TogglePaneZoomState, },
4040+ }
4141+4242+ -- and finally, return the configuration to wezterm
4343+ return config
4444+ '';
4545+}