diff --git a/modules/programs/wezterm.nix b/modules/programs/wezterm.nix index 5b71f919..b1261245 100644 --- a/modules/programs/wezterm.nix +++ b/modules/programs/wezterm.nix @@ -9,6 +9,7 @@ let inherit (lib) literalExpression mkIf + mkMerge mkEnableOption mkOption types @@ -35,9 +36,7 @@ in extraConfig = mkOption { type = types.lines; - default = '' - return {} - ''; + default = ""; example = literalExpression '' -- Your lua code / config here local mylib = require 'mylib'; @@ -100,8 +99,8 @@ in config = mkIf cfg.enable { home.packages = [ cfg.package ]; - xdg.configFile = - { + xdg.configFile = mkMerge [ + (mkIf (cfg.extraConfig != "") { "wezterm/wezterm.lua".text = '' -- Generated by Home Manager. -- See https://wezfurlong.org/wezterm/ @@ -110,13 +109,14 @@ in ${cfg.extraConfig} ''; - } - // lib.mapAttrs' ( + }) + (lib.mapAttrs' ( name: value: lib.nameValuePair "wezterm/colors/${name}.toml" { source = tomlFormat.generate "${name}.toml" { colors = value; }; } - ) cfg.colorSchemes; + ) cfg.colorSchemes) + ]; programs.bash.initExtra = mkIf cfg.enableBashIntegration shellIntegrationStr; programs.zsh.initContent = mkIf cfg.enableZshIntegration shellIntegrationStr; diff --git a/tests/modules/programs/wezterm/empty-setting.nix b/tests/modules/programs/wezterm/empty-setting.nix index dbb7c7d2..9a60f05c 100644 --- a/tests/modules/programs/wezterm/empty-setting.nix +++ b/tests/modules/programs/wezterm/empty-setting.nix @@ -3,20 +3,7 @@ enable = true; }; - nmt.script = - let - expected = builtins.toFile "wezterm.lua" '' - -- Generated by Home Manager. - -- See https://wezfurlong.org/wezterm/ - - local wezterm = require 'wezterm' - - return {} - - ''; - in - '' - assertFileExists home-files/.config/wezterm/wezterm.lua - assertFileContent home-files/.config/wezterm/wezterm.lua ${expected} - ''; + nmt.script = '' + assertPathNotExists home-files/.config/wezterm/wezterm.lua + ''; }