65 lines
1.5 KiB
Nix
65 lines
1.5 KiB
Nix
{
|
|
pkgs,
|
|
terminal,
|
|
lib,
|
|
...
|
|
}: {
|
|
home.packages = with pkgs; [
|
|
zoxide
|
|
];
|
|
|
|
programs.zsh.enable = true;
|
|
programs.zoxide.enable = true;
|
|
programs.oh-my-posh.enable = false;
|
|
|
|
home.file.".config/oh-my-posh/config.omp.json" = {
|
|
source = ./custom/config.omp.json;
|
|
force = true;
|
|
};
|
|
|
|
programs.zsh = {
|
|
plugins = [
|
|
{
|
|
name = "vi-mode";
|
|
src = pkgs.zsh-vi-mode;
|
|
file = "share/zsh-vi-mode/zsh-vi-mode.plugin.zsh";
|
|
}
|
|
{
|
|
name = "autosuggestion";
|
|
src = pkgs.zsh-autosuggestions;
|
|
file = "share/zsh-autosuggestions/zsh-autosuggestions.zsh";
|
|
}
|
|
];
|
|
enableCompletion = true;
|
|
syntaxHighlighting.enable = true;
|
|
shellAliases = terminal.shellAliases;
|
|
history.size = 10000;
|
|
oh-my-zsh = {
|
|
plugins = [];
|
|
enable = true;
|
|
theme = "robbyrussell";
|
|
extraConfig = ''
|
|
zstyle ':completion:*' completer _expand _complete _ignored _approximate _expand_alias
|
|
zstyle ':autocomplete:*' default-context curcontext
|
|
zstyle ':autocomplete:*' min-input 0
|
|
|
|
setopt HIST_FIND_NO_DUPS
|
|
|
|
# setopt autocd # cd without writing 'cd'
|
|
setopt globdots # show dotfiles in autocomplete list
|
|
'';
|
|
};
|
|
initContent = ''
|
|
# zsh-autocomplete
|
|
bindkey -M menuselect '^M' .accept-line # run code when selected completion
|
|
|
|
autoload -Uz compinit
|
|
if [ "$(date +'%j')" != "$(stat -f '%Sm' -t '%j' ~/.zcompdump 2>/dev/null)" ]; then
|
|
compinit
|
|
else
|
|
compinit -C
|
|
fi
|
|
'';
|
|
};
|
|
}
|