summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorJōshin <git@wholezero.org>2024-01-19 22:51:18 -0500
committerJōshin <git@wholezero.org>2024-01-21 03:24:00 -0500
commita3be68d105ebb640f7dc4be615f84fe00288e5d3 (patch)
tree2999d039bbd5e958a0aa204dc92afbd79cc6e98a /modules
parent3ac7acd32db4f7111015e8d5349ff6067df01bf6 (diff)
Add option to disable zsh global compinit
Fixes #855.
Diffstat (limited to 'modules')
-rw-r--r--modules/programs/zsh/default.nix18
1 files changed, 16 insertions, 2 deletions
diff --git a/modules/programs/zsh/default.nix b/modules/programs/zsh/default.nix
index 4e983e5..615589a 100644
--- a/modules/programs/zsh/default.nix
+++ b/modules/programs/zsh/default.nix
@@ -1,9 +1,10 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, options, pkgs, ... }:
with lib;
let
cfg = config.programs.zsh;
+ opt = options.programs.zsh;
zshVariables =
mapAttrsToList (n: v: ''${n}="${v}"'') cfg.variables;
@@ -70,6 +71,19 @@ in
description = lib.mdDoc "Enable bash completion for all interactive zsh shells.";
};
+ programs.zsh.enableGlobalCompInit = mkOption {
+ type = types.bool;
+ default = cfg.enableCompletion;
+ defaultText = literalExpression "config.${opt.enableCompletion}";
+ description = lib.mdDoc ''
+ Enable execution of compinit call for all interactive zsh shells.
+
+ This option can be disabled if the user wants to extend its
+ `fpath` and a custom `compinit`
+ call in the local config is required.
+ '';
+ };
+
programs.zsh.enableFzfCompletion = mkOption {
type = types.bool;
default = false;
@@ -175,7 +189,7 @@ in
${cfg.promptInit}
- ${optionalString cfg.enableCompletion "autoload -U compinit && compinit"}
+ ${optionalString cfg.enableGlobalCompInit "autoload -U compinit && compinit"}
${optionalString cfg.enableBashCompletion "autoload -U bashcompinit && bashcompinit"}
${optionalString cfg.enableSyntaxHighlighting