61 lines
1.8 KiB
Nix
61 lines
1.8 KiB
Nix
{
|
|
# Snowfall Lib provides a customized `lib` instance with access to your flake's library
|
|
# as well as the libraries available from your flake's inputs.
|
|
lib,
|
|
# An instance of `pkgs` with your overlays and packages applied is also available.
|
|
pkgs,
|
|
# You also have access to your flake's inputs.
|
|
inputs,
|
|
|
|
# Additional metadata is provided by Snowfall Lib.
|
|
system, # The system architecture for this host (eg. `x86_64-linux`).
|
|
target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
|
|
format, # A normalized name for the system target (eg. `iso`).
|
|
virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
|
|
systems, # An attribute map of your defined hosts.
|
|
|
|
# All other arguments come from the module system.
|
|
config,
|
|
...
|
|
}:
|
|
|
|
let
|
|
cfg = config.modules.wezterm;
|
|
in
|
|
{
|
|
options.modules.wezterm = {
|
|
enable = lib.mkOption { default = false; };
|
|
mkDefault = lib.mkOption { default = true; };
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
programs.wezterm = {
|
|
enable = true;
|
|
extraConfig = ''
|
|
local wezterm = require 'wezterm'
|
|
local config = {}
|
|
|
|
config.color_scheme = 'Catppuccin Mocha'
|
|
-- config.font = wezterm.font 'JetBrains Mono'
|
|
-- config.font_size = 12.0
|
|
config.hide_tab_bar_if_only_one_tab = true
|
|
config.audible_bell = 'Disabled'
|
|
config.enable_wayland = false -- Somehow only works for wayland if this is set to false
|
|
|
|
config.window_close_confirmation = 'NeverPrompt'
|
|
|
|
return config
|
|
'';
|
|
};
|
|
|
|
home.sessionVariables.TERMINAL = lib.mkIf cfg.mkDefault "wezterm-start-here";
|
|
|
|
# Otherwise wezterm does not start in directory of parent process
|
|
home.packages = [
|
|
(pkgs.writeShellScriptBin "wezterm-start-here" ''
|
|
wezterm start --cwd "$PWD"
|
|
'')
|
|
];
|
|
};
|
|
}
|