zsh: add default keymap configuration
This commit is contained in:
parent
20a60be550
commit
a4383075af
|
@ -19,6 +19,12 @@ let
|
||||||
|
|
||||||
zdotdir = "$HOME/" + cfg.dotDir;
|
zdotdir = "$HOME/" + cfg.dotDir;
|
||||||
|
|
||||||
|
bindkeyCommands = {
|
||||||
|
emacs = "bindkey -e";
|
||||||
|
viins = "bindkey -v";
|
||||||
|
vicmd = "bindkey -a";
|
||||||
|
};
|
||||||
|
|
||||||
historyModule = types.submodule ({ config, ... }: {
|
historyModule = types.submodule ({ config, ... }: {
|
||||||
options = {
|
options = {
|
||||||
size = mkOption {
|
size = mkOption {
|
||||||
|
@ -186,6 +192,13 @@ in
|
||||||
description = "Options related to commands history configuration.";
|
description = "Options related to commands history configuration.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
defaultKeymap = mkOption {
|
||||||
|
type = types.nullOr (types.enum [ "emacs" "viins" "vicmd" ]);
|
||||||
|
default = null;
|
||||||
|
example = "emacs";
|
||||||
|
description = "The default base keymap to use";
|
||||||
|
};
|
||||||
|
|
||||||
sessionVariables = mkOption {
|
sessionVariables = mkOption {
|
||||||
default = {};
|
default = {};
|
||||||
type = types.attrs;
|
type = types.attrs;
|
||||||
|
@ -303,6 +316,9 @@ in
|
||||||
|
|
||||||
HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
|
HELPDIR="${pkgs.zsh}/share/zsh/$ZSH_VERSION/help"
|
||||||
|
|
||||||
|
${if cfg.defaultKeymap != null && hasAttr cfg.defaultKeymap bindkeyCommands
|
||||||
|
then getAttr cfg.defaultKeymap bindkeyCommands else ""}
|
||||||
|
|
||||||
${concatStrings (map (plugin: ''
|
${concatStrings (map (plugin: ''
|
||||||
path+="$HOME/${pluginsDir}/${plugin.name}"
|
path+="$HOME/${pluginsDir}/${plugin.name}"
|
||||||
fpath+="$HOME/${pluginsDir}/${plugin.name}"
|
fpath+="$HOME/${pluginsDir}/${plugin.name}"
|
||||||
|
|
Loading…
Reference in a new issue