99 lines
2.7 KiB
Nix
99 lines
2.7 KiB
Nix
{ ... }:
|
||
|
||
{
|
||
programs.zsh = {
|
||
enable = true;
|
||
enableCompletion = true;
|
||
autosuggestion.enable = true;
|
||
syntaxHighlighting.enable = true;
|
||
autocd = true;
|
||
shellAliases = {
|
||
hm-switch = "home-manager switch --flake $HOME/.dotfiles";
|
||
nx-switch = "sudo nixos-rebuild switch --flake $HOME/.dotfiles";
|
||
nx-boot = "sudo nixos-rebuild boot --flake $HOME/.dotfiles";
|
||
nx-clean = "sudo nix-collect-garbage --delete-old && nix-collect-garbage --delete-old";
|
||
hm-clean = "home-manager remove-generations";
|
||
gl-switch = "sudo nixos-rebuild switch --flake $HOME/.dotfiles && home-manager switch --flake $HOME/.dotfiles";
|
||
gl-clean = "sudo nix-collect-garbage --delete-old && nix-collect-garbage --delete-old && home-manager remove-generations";
|
||
snv = "sudo -E nvim";
|
||
sen = "sudo -E";
|
||
emacs-config = "emacs --chdir $HOME/.dotfiles/home-manager/packages/doom-emacs/.doom.d &";
|
||
};
|
||
|
||
zplug = {
|
||
enable = true;
|
||
plugins = [
|
||
{ name = "Aloxaf/fzf-tab"; }
|
||
];
|
||
};
|
||
|
||
history = {
|
||
size = 5000;
|
||
save = 5000;
|
||
ignoreAllDups = true;
|
||
ignoreDups = true;
|
||
ignoreSpace = true;
|
||
share = true;
|
||
};
|
||
|
||
initExtra = ''
|
||
bindkey -v
|
||
bindkey '^k' history-search-backward
|
||
bindkey '^j' history-search-forward
|
||
setopt appendHistory
|
||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||
zstyle ':completion:*' menu no
|
||
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath'
|
||
eval "$(fzf --zsh)"
|
||
'';
|
||
};
|
||
|
||
programs.starship = {
|
||
enable = true;
|
||
settings = {
|
||
format = "$username$hostname$directory$git_branch$git_state$git_status$nix_shell$cmd_duration$line_break$python$character";
|
||
|
||
directory = {
|
||
style = "blue";
|
||
};
|
||
|
||
character = {
|
||
success_symbol = "[❯](white)";
|
||
error_symbol = "[❯](red)";
|
||
vimcmd_symbol = "[❮](green)";
|
||
};
|
||
|
||
git_branch = {
|
||
format = "[$branch]($style)";
|
||
style = "green";
|
||
};
|
||
|
||
git_status = {
|
||
format = "[[($conflicted$untracked$modified$staged$renamed$deleted)](218) ($ahead_behind$stashed)]($style)";
|
||
style = "cyan";
|
||
conflicted = "!";
|
||
untracked = "u";
|
||
modified = "*";
|
||
staged = "+";
|
||
renamed = "r";
|
||
deleted = "d";
|
||
stashed = "≡";
|
||
};
|
||
|
||
git_state = {
|
||
format = "\([$state( $progress_current/$progress_total)]($style)\) ";
|
||
style = "bright-black";
|
||
};
|
||
|
||
cmd_duration = {
|
||
format = "[$duration]($style) ";
|
||
style = "yellow";
|
||
};
|
||
|
||
python = {
|
||
format = "[$virtualenv]($style) ";
|
||
style = "bright-black";
|
||
};
|
||
};
|
||
};
|
||
}
|