From 542078066b1a99cdc5d5fce1365f98b847ca0b5a Mon Sep 17 00:00:00 2001 From: B1kku <77858854+B1kku@users.noreply.github.com> Date: Fri, 25 Apr 2025 15:11:18 +0000 Subject: [PATCH] wezterm: don't create config if extraConfig is empty, and don't create one by default (#6908) Tests updated to check the file wasn't created when no config is provided. --- modules/programs/wezterm.nix | 16 ++++++++-------- .../programs/wezterm/empty-setting.nix | 19 +++---------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/modules/programs/wezterm.nix b/modules/programs/wezterm.nix index 5b71f9190..b12612454 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 dbb7c7d21..9a60f05cf 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 + ''; }