305 current 1970-01-01 01:00:00 23.11.20240514.9ddcaff 6.1.90 *
This commit is contained in:
79
modules/home/shell/zsh.nix
Normal file
79
modules/home/shell/zsh.nix
Normal file
@ -0,0 +1,79 @@
|
||||
{pkgs, ...}: {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
defaultKeymap = "emacs";
|
||||
dotDir = ".config/zsh";
|
||||
history.expireDuplicatesFirst = true;
|
||||
history.path = "$ZDOTDIR/.zsh_history";
|
||||
historySubstringSearch.enable = true;
|
||||
shellAliases = {
|
||||
ls = "${pkgs.eza}/bin/eza --icons -a --group-directories-first";
|
||||
diff = "${pkgs.diffutils}/bin/diff --color=auto";
|
||||
grep = "${pkgs.gnugrep}/bin/grep --color=auto";
|
||||
ip = "${pkgs.iproute2}/bin/ip --color=auto";
|
||||
mkdir = "${pkgs.coreutils}/bin/mkdir -p";
|
||||
gst = "${pkgs.git}/bin/git status";
|
||||
gc = "${pkgs.git}/bin/git commit";
|
||||
ga = "${pkgs.git}/bin/git add";
|
||||
gpl = "${pkgs.git}/bin/git pull";
|
||||
gpu = "${pkgs.git}/bin/git push";
|
||||
gd = "${pkgs.git}/bin/git diff";
|
||||
gch = "${pkgs.git}/bin/git checkout";
|
||||
gs = "${pkgs.git}/bin/git switch";
|
||||
gre = "${pkgs.git}/bin/git restore";
|
||||
gr = "${pkgs.git}/bin/git remote";
|
||||
gcl = "${pkgs.git}/bin/git clone";
|
||||
glg = "${pkgs.git}/bin/git log --graph --abbrev-commit --decorate --format=format:'%C(bold green)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold yellow)(%ar)%C(reset)%C(auto)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all";
|
||||
gb = "${pkgs.git}/bin/git branch";
|
||||
gm = "${pkgs.git}/bin/git merge";
|
||||
gf = "${pkgs.git}/bin/git fetch";
|
||||
};
|
||||
syntaxHighlighting.enable = true;
|
||||
syntaxHighlighting.highlighters = ["main" "brackets"];
|
||||
initExtra = ''
|
||||
# auto completion
|
||||
bindkey '^I' complete-word
|
||||
bindkey '^[[Z' autosuggest-accept
|
||||
# backspace
|
||||
bindkey '^[[3' delete-char
|
||||
# home / end go to beginning / end of line
|
||||
bindkey '^[[H' beginning-of-line
|
||||
bindkey '^[[F' end-of-line
|
||||
# ctrl+arrow jump word
|
||||
bindkey '^[[1;5D' backward-word
|
||||
bindkey '^[[1;5C' forward-word
|
||||
# ctrl+entf and ctrl+backspace delete word
|
||||
bindkey '^[[3;5~' delete-word
|
||||
bindkey '^H' backward-delete-word
|
||||
'';
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
command_timeout = 5000;
|
||||
character = {
|
||||
success_symbol = "[](bold green)";
|
||||
error_symbol = "[](bold red)";
|
||||
};
|
||||
cmd_duration = {
|
||||
min_time = 500;
|
||||
show_milliseconds = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
options = ["--cmd cd"];
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [neovim];
|
||||
}
|
Reference in New Issue
Block a user