Daniel Siepmann
51fbae7d71
This ensures it is properly set on login. Tools like dmenu and such are properly find when installed by nix. This was not zsh specific anyway.
107 lines
3.4 KiB
Nix
107 lines
3.4 KiB
Nix
{ config, pkgs }:
|
|
|
|
{
|
|
enable = true;
|
|
|
|
autocd = true;
|
|
enableSyntaxHighlighting = true;
|
|
|
|
defaultKeymap = "viins";
|
|
|
|
sessionVariables = {
|
|
LC_ALL = "en_US.UTF-8";
|
|
LANG = "en_US.UTF-8";
|
|
LANGUAGE = "en_US";
|
|
|
|
EDITOR = "nvim";
|
|
SHELL = "${pkgs.zsh}/bin/zsh";
|
|
|
|
LESS = "-R -J -W -i -M";
|
|
LSCOLORS = "HxGxDxDxbxDxDxababcxcx";
|
|
LS_COLORS = "di=1;37:ln=1;36:so=1;33:pi=1;33:ex=31:bd=1;33:cd=1;33:su=30;41:sg=30;41:tw=32:ow=32 # I use this";
|
|
JQ_COLORS = "1;35:0;35:0;35:0;32:0;33:1;37:1;37";
|
|
GREP_COLOR = "0;30;44";
|
|
|
|
TYPO3_CONTEXT = "Development/dsiepmann";
|
|
PHAN_COLOR_SCHEME = "code";
|
|
|
|
# Reduce timeout after <ESC> (vi keybindings)
|
|
KEYTIMEOUT = 1;
|
|
};
|
|
|
|
shellAliases = {
|
|
ll = "ls -laph --color=auto";
|
|
|
|
# Open in main view with all references.
|
|
tigr = "tig refs";
|
|
# Open in main view with ALL commits, not only current branch tree.
|
|
tiga = "tig --all --show-signature";
|
|
|
|
# Tmux outside tmux.
|
|
ta = "tmux attach";
|
|
tc = "tmux new-session -s ";
|
|
|
|
# TYPO3 contribution specific commands
|
|
t3Push = "git push origin HEAD:refs/for/master";
|
|
t3Pull = "git pull --rebase origin master; git checkout master";
|
|
t3Rollback = "git checkout master; git reset --hard origin/master";
|
|
t3Clean = "t3Rollback && t3Pull";
|
|
|
|
# Create borg backup
|
|
createBackup = "mkdir -p ~/backup-etc && sudo cp -r /etc/* ~/backup-etc && sudo cp -r /etc/.* ~/backup-etc && sudo chown daniels:daniels -R ~/backup-etc/ && borg create -v --progress --stats --exclude-from ~/.config/borg/exclude /media/daniels/Backup::$(date +%F-%R) ~/; sudo rm -rf ~/backup-etc";
|
|
};
|
|
|
|
history = {
|
|
size = 10000;
|
|
save = 10000;
|
|
ignoreDups = true;
|
|
ignoreSpace = true;
|
|
extended = true;
|
|
share = false;
|
|
};
|
|
|
|
initExtra = ''
|
|
autoload -U colors && colors
|
|
autoload -U promptinit
|
|
autoload -U complist
|
|
|
|
# Set vim mode
|
|
set -o vi
|
|
|
|
# Allow editing of current line in $EDITOR using command mode V
|
|
autoload -U edit-command-line
|
|
zle -N edit-command-line
|
|
bindkey -M vicmd v edit-command-line
|
|
|
|
# ctrl-r starts searching history backward
|
|
bindkey '^r' history-incremental-search-backward
|
|
|
|
zstyle ':completion:*:descriptions' format '%U%B%d%b%u'
|
|
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b'
|
|
zstyle ':completion:*' menu select
|
|
zstyle ':completion:*' use-cache on
|
|
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
|
|
zstyle ':completion:*' cache-path ${config.xdg.cacheHome}/zsh-completion/
|
|
|
|
zstyle ':completion:*' group-name '''
|
|
zstyle ':completion::complete:git-checkout:argument-rest:' group-order heads-local heads-remote commit-tags
|
|
zstyle ':completion::complete:git-checkout:argument-rest:commits' command 'echo'
|
|
zstyle ':completion::complete:git-checkout:argument-rest:valid-ref-names' command 'echo'
|
|
zstyle ':completion::complete:git-checkout:argument-rest:remote-branch-refs-noprefix' command 'echo'
|
|
|
|
# also complete defined alias
|
|
setopt completealiases
|
|
# Correct mistyped commands
|
|
setopt correctall
|
|
# Try to make the completion list smaller (occupying less lines) by printing the matches in columns with different widths.
|
|
setopt list_packed
|
|
# When listing files that are possible completions, show the type of each file with a trailing identifying mark.
|
|
setopt list_types
|
|
|
|
# Allow for functions in the prompt.
|
|
setopt PROMPT_SUBST
|
|
|
|
PROMPT=$'%{$fg[blue]%}%1~ > %{$reset_color%}'
|
|
'';
|
|
}
|