feat(shell): improve shell completion
This commit is contained in:
@@ -34,8 +34,9 @@ in {
|
||||
|
||||
config = {
|
||||
boot.tmp.cleanOnBoot = true;
|
||||
time.timeZone = cfg.timezone;
|
||||
console.keyMap = cfg.keymap;
|
||||
time.timeZone = cfg.timezone;
|
||||
environment.pathsToLink = ["/share/bash-completion" "/share/zsh"];
|
||||
services = {
|
||||
orca.enable = false;
|
||||
envfs.enable = true;
|
||||
|
||||
@@ -16,6 +16,11 @@ in {
|
||||
lns = "ln -si";
|
||||
};
|
||||
};
|
||||
autocompletion = mkOption {
|
||||
type = types.bool;
|
||||
default = config.home.shell.autocompletion;
|
||||
example = true;
|
||||
};
|
||||
eatIntegration = mkEnableOption "Enable Emacs Eat integration";
|
||||
bashrcExtra = mkOption {
|
||||
type = types.lines;
|
||||
@@ -33,6 +38,7 @@ in {
|
||||
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"'')
|
||||
cfg.bashrcExtra
|
||||
];
|
||||
enableCompletion = cfg.autocompletion;
|
||||
shellAliases = cfg.aliases;
|
||||
shellOptions = [
|
||||
"histappend"
|
||||
|
||||
@@ -88,6 +88,10 @@ in {
|
||||
default = {};
|
||||
example = {la = "ls -a";};
|
||||
};
|
||||
autocompletion = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
config.home.shell = {
|
||||
enableShellIntegration = cfg.bash.enable or cfg.zsh.enable or cfg.fish.enable;
|
||||
|
||||
@@ -17,6 +17,11 @@ in {
|
||||
lns = "ln -si";
|
||||
};
|
||||
};
|
||||
autocompletion = mkOption {
|
||||
type = types.bool;
|
||||
default = config.home.shell.autocompletion;
|
||||
example = true;
|
||||
};
|
||||
extraShellInit = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
@@ -26,6 +31,7 @@ in {
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
generateCompletions = cfg.autocompletion;
|
||||
shellAbbrs = cfg.abbrs;
|
||||
preferAbbrs = true;
|
||||
shellInit = with lib;
|
||||
|
||||
@@ -17,6 +17,11 @@ in {
|
||||
lns = "ln -si";
|
||||
};
|
||||
};
|
||||
autocompletion = mkOption {
|
||||
type = types.bool;
|
||||
default = config.home.shell.autocompletion;
|
||||
example = true;
|
||||
};
|
||||
eatIntegration = mkEnableOption "Enable Emacs Eat integration";
|
||||
zshrcExtra = lib.mkOption {
|
||||
type = types.lines;
|
||||
@@ -32,7 +37,7 @@ in {
|
||||
enable = true;
|
||||
strategy = ["match_prev_cmd" "completion"];
|
||||
};
|
||||
enableCompletion = true;
|
||||
enableCompletion = cfg.autocompletion;
|
||||
enableVteIntegration = true;
|
||||
history = {
|
||||
findNoDups = true;
|
||||
|
||||
Reference in New Issue
Block a user