sheldon: add option to enable completion script
This commit is contained in:
parent
718f450b97
commit
b6bc02376e
|
@ -25,6 +25,18 @@ in {
|
||||||
description = "";
|
description = "";
|
||||||
example = literalExpression "";
|
example = literalExpression "";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableZshCompletions = mkEnableOption "Zsh completions" // {
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
enableBashCompletions = mkEnableOption "Bash completions" // {
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
enableFishCompletions = mkEnableOption "Fish completions" // {
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
@ -36,10 +48,26 @@ in {
|
||||||
|
|
||||||
programs.bash.initExtra = mkIf (cfg.settings != { }) ''
|
programs.bash.initExtra = mkIf (cfg.settings != { }) ''
|
||||||
eval "$(sheldon source)"
|
eval "$(sheldon source)"
|
||||||
|
'' + mkIf cfg.enableBashCompletions ''
|
||||||
|
if [[ $TERM != "dumb" ]]; then
|
||||||
|
eval "$(${cmd} completions --shell=bash)"
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
programs.zsh.initExtra = mkIf (cfg.settings != { }) ''
|
programs.zsh.initExtra = mkIf (cfg.settings != { }) ''
|
||||||
eval "$(sheldon source)"
|
eval "$(sheldon source)"
|
||||||
|
'' + mkIf cfg.enableZshCompletions ''
|
||||||
|
if [[ $TERM != "dumb" ]]; then
|
||||||
|
eval "$(${cmd} completions --shell=zsh)"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
programs.fish.interactiveShellInit = mkIf (cfg.settings != { }) ''
|
||||||
|
eval "$(sheldon source)"
|
||||||
|
'' + mkIf cfg.enableFishCompletions ''
|
||||||
|
if test "$TERM" != "dumb"
|
||||||
|
eval "$(${cmd} completions --shell=fish)"
|
||||||
|
end
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue