Compare commits
44 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
cfe15e5e1b | ||
![]() |
cfa828ec19 | ||
![]() |
3cb6a1da7e | ||
![]() |
9793f10c97 | ||
![]() |
c5548aaa22 | ||
![]() |
88a70e9bd4 | ||
![]() |
761fa84261 | ||
![]() |
54133a240b | ||
![]() |
c7e72c3cb9 | ||
![]() |
c8c6e801f8 | ||
![]() |
2cceb7b489 | ||
![]() |
6a8412428b | ||
![]() |
c79950ce02 | ||
![]() |
f7a90b0364 | ||
![]() |
67b66fdeed | ||
![]() |
16e5256542 | ||
![]() |
b578fc04d9 | ||
![]() |
224d877fbb | ||
![]() |
b5deb6e21f | ||
![]() |
85ec31479e | ||
![]() |
cc847b5c32 | ||
![]() |
0937e73ed9 | ||
![]() |
e73ce2bd18 | ||
![]() |
205558b999 | ||
![]() |
b3758b0c8e | ||
![]() |
c9aaa44561 | ||
![]() |
0663ffc9af | ||
![]() |
8a7dc568b8 | ||
![]() |
c87430681f | ||
![]() |
f51a7136e6 | ||
![]() |
b6f49344f3 | ||
![]() |
615ff845fa | ||
![]() |
986347debf | ||
![]() |
0cae13e4c1 | ||
![]() |
2f45a347ac | ||
![]() |
d86ef1c7b9 | ||
![]() |
77214e5f5e | ||
![]() |
2ae1f05e82 | ||
![]() |
f50b7bf277 | ||
![]() |
e181014465 | ||
![]() |
29829e9c36 | ||
![]() |
bae17dfdc5 | ||
![]() |
b8a9b90447 | ||
![]() |
887ffcf598 |
6
.pre-commit-config.yaml
Normal file
6
.pre-commit-config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.4.0
|
||||||
|
hooks:
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: trailing-whitespace
|
7
.zimrc
7
.zimrc
|
@ -1,4 +1,4 @@
|
||||||
zmodule jreese/zsh-titles
|
zmodule jreese/zsh-titles -n titles
|
||||||
|
|
||||||
zmodule SmartFinn/fzf-widgets
|
zmodule SmartFinn/fzf-widgets
|
||||||
zmodule crater2150-zsh/conf
|
zmodule crater2150-zsh/conf
|
||||||
|
@ -6,10 +6,11 @@ zmodule crater2150-zsh/chroma-z
|
||||||
|
|
||||||
zmodule $ZDOTDIR/plugins/tmpsrc
|
zmodule $ZDOTDIR/plugins/tmpsrc
|
||||||
zmodule $ZDOTDIR/plugins/pyenv
|
zmodule $ZDOTDIR/plugins/pyenv
|
||||||
|
zmodule $ZDOTDIR/plugins/cs-java-home
|
||||||
|
|
||||||
zmodule $ZDOTDIR/plugins/highlight-config
|
zmodule $ZDOTDIR/plugins/highlight-config
|
||||||
zmodule zsh-users/zsh-syntax-highlighting
|
zmodule zsh-users/zsh-syntax-highlighting
|
||||||
|
|
||||||
zmodule ohmyzsh/ohmyzsh --root plugins/ng
|
zmodule ohmyzsh/ohmyzsh --root plugins/ng --fpath ./
|
||||||
|
|
||||||
zmodule urbainvaes/fzf-marks
|
zmodule carlosedp/mill-zsh-completions
|
||||||
|
|
13
README.md
13
README.md
|
@ -4,9 +4,14 @@ crater's zsh config
|
||||||
Installation:
|
Installation:
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
From the checked out repo:
|
Set the `ZDOTDIR` environment variable to the directory of this repo. Note that
|
||||||
|
this environment variable must be set before the user configuration files of zsh
|
||||||
|
are read.
|
||||||
|
|
||||||
|
One way to do this is to set it in the global zsh configuration in
|
||||||
|
`/etc/zsh/zshenv`, e.g. to use the XDG basedir spec with this repo at
|
||||||
|
`~/.config/zsh`:
|
||||||
|
|
||||||
```
|
```
|
||||||
ln -s $PWD/zshenv $HOME/.zshenv
|
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}"/zsh
|
||||||
```
|
```
|
||||||
The zshenv file sets the location to the rest of the config (`$ZDOTDIR`)
|
|
||||||
automatically, based on the link target.
|
|
||||||
|
|
3
aliases/copilot.zsh
Normal file
3
aliases/copilot.zsh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
if exists /usr/bin/node && exists github-copilot-cli; then
|
||||||
|
eval "$(github-copilot-cli alias -- "$0")"
|
||||||
|
fi
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/zsh
|
|
||||||
|
|
||||||
local forkprogs=(
|
|
||||||
geeqie
|
|
||||||
feh
|
|
||||||
)
|
|
||||||
|
|
||||||
for i in $forkprogs; do
|
|
||||||
alias $i="fork $i"
|
|
||||||
done
|
|
|
@ -13,25 +13,37 @@ alias :q="exit"
|
||||||
alias rget="rsync -rP --append-verify --inplace"
|
alias rget="rsync -rP --append-verify --inplace"
|
||||||
alias 7zu="7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
alias 7zu="7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on"
|
||||||
|
|
||||||
|
alias cronmail="mutt -f $MAIL -F <(grep -v 'set folder' ~/.config/mutt/neomuttrc | grep -v 'mailboxes'; echo 'mailboxes $MAIL\nset folder=$MAIL')"
|
||||||
|
|
||||||
|
alias d="dragon-drop -a -x -T"
|
||||||
|
|
||||||
if ! command -v fd >/dev/null; then
|
if ! command -v fd >/dev/null; then
|
||||||
|
if command -v fdfind >/dev/null; then
|
||||||
|
alias fd="fdfind"
|
||||||
|
else
|
||||||
fd() {
|
fd() {
|
||||||
if [[ "$1" =~ "-*" ]]; then
|
if [[ "$1" =~ "^-" ]]; then
|
||||||
echo "fd not installed. shell alias supports only basic operation"
|
echo "fd not installed. shell alias supports only basic operation"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
noglob find . -iname "*${*}*"
|
noglob find . -iname "*${*}*"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
alias sudo="sudo "
|
alias sudo="sudo "
|
||||||
alias S='sudo $(history -n -1)'
|
alias S='sudo $(history -n -1)'
|
||||||
|
|
||||||
alias rm="rm -I"
|
alias rm="rm -I"
|
||||||
|
if exists rifle; then
|
||||||
|
alias v=rifle
|
||||||
|
else
|
||||||
function v() {
|
function v() {
|
||||||
for file in $@; do
|
for file in $@; do
|
||||||
xdg-open $file &|
|
xdg-open $file &|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
alias vmemcache="vmtouch -l -m 12G -v"
|
alias vmemcache="vmtouch -l -m 12G -v"
|
||||||
|
|
||||||
|
@ -40,8 +52,8 @@ fork() {
|
||||||
"$@" &>/dev/null &|
|
"$@" &>/dev/null &|
|
||||||
}
|
}
|
||||||
|
|
||||||
alias en="dict.cc.py de en"
|
alias en="pipx run dict.cc.py de en"
|
||||||
alias de="dict.cc.py en de"
|
alias de="pipx run dict.cc.py en de"
|
||||||
|
|
||||||
su() {
|
su() {
|
||||||
if [[ -z "$@" ]]; then
|
if [[ -z "$@" ]]; then
|
||||||
|
@ -80,7 +92,7 @@ E() {
|
||||||
# edit and refresh aliases
|
# edit and refresh aliases
|
||||||
aliases() {
|
aliases() {
|
||||||
$EDITOR $(zdotfile aliases/${1:-functions})
|
$EDITOR $(zdotfile aliases/${1:-functions})
|
||||||
. $(zdotfile aliases)/*
|
source $(zdotfile aliases)/*
|
||||||
}
|
}
|
||||||
|
|
||||||
# per directory configuration
|
# per directory configuration
|
||||||
|
@ -103,7 +115,7 @@ cd(){
|
||||||
|
|
||||||
# count files in current or given directory
|
# count files in current or given directory
|
||||||
count() {
|
count() {
|
||||||
find $1 \( ! -path '*/.*' \) | wc -l
|
find $1 -mindepth 1 \( ! -path '*/.*' \) | wc -l
|
||||||
}
|
}
|
||||||
|
|
||||||
pumount() {
|
pumount() {
|
||||||
|
@ -251,7 +263,8 @@ btrfs-subvolume-force-delete() {
|
||||||
|
|
||||||
# lazy shortcuts
|
# lazy shortcuts
|
||||||
alias -g G="| grep"
|
alias -g G="| grep"
|
||||||
alias -g L="| less"
|
alias -g L="| ${PAGER:-less}"
|
||||||
|
alias -g LE="2>&1 | ${PAGER:-less}"
|
||||||
alias -g T="| tail"
|
alias -g T="| tail"
|
||||||
|
|
||||||
# xclipboard
|
# xclipboard
|
||||||
|
@ -310,10 +323,64 @@ alias luarocks="luarocks --local"
|
||||||
|
|
||||||
alias icat="kitty +kitten icat"
|
alias icat="kitty +kitten icat"
|
||||||
|
|
||||||
# vim: foldmethod=marker
|
local function hour-float-to-time() {
|
||||||
|
printf "%d:%02dh" $1 $(( $1 * 60 % 60 ))
|
||||||
|
}
|
||||||
|
|
||||||
|
batstat() {
|
||||||
|
for bat in /sys/class/power_supply/BAT*; do
|
||||||
|
local energy_full=$(<$bat/energy_full)
|
||||||
|
local energy_now=$(<$bat/energy_now)
|
||||||
|
local power_now=$(<$bat/power_now)
|
||||||
|
local bat_status=$(<$bat/status)
|
||||||
|
local remain_text
|
||||||
|
local remain
|
||||||
|
case $bat_status in
|
||||||
|
Charging)
|
||||||
|
remain=$(((energy_full - energy_now) / power_now))
|
||||||
|
remain_text=", $(hour-float-to-time $remain) until full"
|
||||||
|
;;
|
||||||
|
Discharging)
|
||||||
|
remain=$((energy_now / power_now))
|
||||||
|
remain_text=", $(hour-float-to-time $remain) left"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
remain_text=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
printf "%s: %.1f %%, %s%s\n" \
|
||||||
|
${bat:t} \
|
||||||
|
$(( energy_now * 100.0 / energy_full )) \
|
||||||
|
$bat_status \
|
||||||
|
$remain_text
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ $DISPLAY ]] && exists xinput && exists xrandr && \
|
||||||
|
xinput | grep -q Wacom && xrandr | grep -q eDP1; then
|
||||||
|
xrandr() {
|
||||||
|
command xrandr $@
|
||||||
|
for dev in $(xinput | grep Wacom | grep -oP '(?<=id=)\d*'); do
|
||||||
|
xinput map-to-output $dev eDP1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
function lastdl() {
|
function lastdl() {
|
||||||
echo ~/downloads/*(oc.[1])
|
echo ~/downloads/*(oc.[1])
|
||||||
}
|
}
|
||||||
|
|
||||||
alias mpvu="noglob mpv"
|
alias mpvu="noglob mpv"
|
||||||
|
|
||||||
|
# copilot
|
||||||
|
function gh-copilot-cli() {
|
||||||
|
local tpe="$1"; shift
|
||||||
|
gh copilot suggest -t $tpe "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
alias C="gh-copilot-cli shell"
|
||||||
|
alias Cgit="gh-copilot-cli git"
|
||||||
|
alias Cgh="gh-copilot-cli gh"
|
||||||
|
|
||||||
|
alias e="nvim -c 'lua require(\"telescope.builtin\").fd { cwd = require(\"findroot\")(require(\"telescope.utils\").buffer_dir()) } '"
|
||||||
|
|
|
@ -47,7 +47,7 @@ gls() {
|
||||||
for i in $gitignore $globalgitignore; do
|
for i in $gitignore $globalgitignore; do
|
||||||
if [[ -e $i ]]; then
|
if [[ -e $i ]]; then
|
||||||
for ignore in "${(f)mapfile[$i]}"; do
|
for ignore in "${(f)mapfile[$i]}"; do
|
||||||
ignores+="--ignore=$ignore"
|
ignores+="--ignore=${ignore%/}"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
18
aliases/mpd
18
aliases/mpd
|
@ -1,5 +1,23 @@
|
||||||
#!/bin/zsh
|
#!/bin/zsh
|
||||||
|
|
||||||
|
mpd-host() {
|
||||||
|
case "$1" in
|
||||||
|
set)
|
||||||
|
echo "MPD_HOST='$2';MPD_PORT='$3'" > ~/.cache/mpd-host.zsh
|
||||||
|
;;
|
||||||
|
get)
|
||||||
|
if [ ! -f ~/.cache/mpd-host.zsh ]; then
|
||||||
|
echo "MPD_HOST='localhost';MPD_PORT='6600'" > ~/.cache/mpd-host.zsh
|
||||||
|
fi
|
||||||
|
cat ~/.cache/mpd-host.zsh
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: mpd-host set HOST PORT"
|
||||||
|
echo " mpd-host get"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
mpc() {
|
mpc() {
|
||||||
eval $(mpd-host get)
|
eval $(mpd-host get)
|
||||||
export MPD_HOST
|
export MPD_HOST
|
||||||
|
|
4
aliases/server
Executable file
4
aliases/server
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
matrix() {
|
||||||
|
curl --header "Authorization: Bearer $(pass servers/matrix/matrix.qwertyuiop.de_admintoken)" -X $1 "https://qwertyuiop.de:8448/${2#/}"
|
||||||
|
}
|
34
aliases/void
34
aliases/void
|
@ -23,11 +23,13 @@ xqn() {
|
||||||
alias xfiles="xbps-query -f"
|
alias xfiles="xbps-query -f"
|
||||||
|
|
||||||
xbps-install() {
|
xbps-install() {
|
||||||
sudo script --return --quiet -c "/usr/bin/xbps-install $*" /dev/null \
|
local logfile=$(mktemp)
|
||||||
| tee /dev/stderr \
|
sudo script --return --quiet -c "/usr/bin/xbps-install $*" $logfile
|
||||||
| grep -oP ".*(?=: post-install message)" \
|
local ret=$?
|
||||||
|
grep -oP ".*(?=: post-install message)" < $logfile \
|
||||||
| ifne xargs -L 1 xbps-query -p install-msg
|
| ifne xargs -L 1 xbps-query -p install-msg
|
||||||
hash -r
|
hash -r
|
||||||
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
xupdate() {
|
xupdate() {
|
||||||
|
@ -39,6 +41,7 @@ xupdate() {
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
xbps-install -SA "$@"
|
xbps-install -SA "$@"
|
||||||
|
xcheckupdates
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,25 +52,46 @@ xowner() {
|
||||||
|
|
||||||
sv() {
|
sv() {
|
||||||
command sv "$@"
|
command sv "$@"
|
||||||
|
ret=$?
|
||||||
if [[ "$1" == "up" ]]; then
|
if [[ "$1" == "up" ]]; then
|
||||||
shift
|
shift
|
||||||
sleep 0.5
|
sleep 0.5
|
||||||
command sv check "$@"
|
command sv check "$@"
|
||||||
fi
|
fi
|
||||||
|
return $ret
|
||||||
}
|
}
|
||||||
|
|
||||||
sv-manage() {
|
sv-manage() {
|
||||||
|
local action service svdir
|
||||||
|
zparseopts -D -E d:=dir -dir:=dir
|
||||||
|
svdir=${dir[2]:-${SVDIR:-/var/service}}
|
||||||
|
if [[ -z $1 ]]; then
|
||||||
|
action=list
|
||||||
|
else
|
||||||
action=$1
|
action=$1
|
||||||
shift
|
shift
|
||||||
|
fi
|
||||||
case "$action" in
|
case "$action" in
|
||||||
add)
|
add)
|
||||||
for service in "$@"; do
|
for service in "$@"; do
|
||||||
ln -s /etc/sv/${service:s#/##} /var/service
|
ln -s ${SVDIR_TEMPLATES:-/etc/sv}/${service:s#/##} ${svdir}
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
remove|rm)
|
remove|rm)
|
||||||
for service in "$@"; do
|
for service in "$@"; do
|
||||||
rm /var/service/${service:s#/##}
|
rm ${svdir}/${service:s#/##}
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
list|ls)
|
||||||
|
sv status ${svdir}/* | sed "
|
||||||
|
s@${svdir}/@@
|
||||||
|
s@run@\x1b[1;92mrun\x1b[0m@g
|
||||||
|
s@down@\x1b[1;31mdown\x1b[0m@g
|
||||||
|
" | column -t
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
for service in ${SVDIR:-/var/service}/*/supervise; do
|
||||||
|
sv status ${service:h}
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
2
aliases/xdg
Normal file
2
aliases/xdg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
alias adb='HOME="$XDG_DATA_HOME"/android adb'
|
70
aliases/yank-paste
Executable file
70
aliases/yank-paste
Executable file
|
@ -0,0 +1,70 @@
|
||||||
|
typeset -a __yank_buffer __cut_buffer
|
||||||
|
fyank() {
|
||||||
|
__yank_buffer=()
|
||||||
|
for i in "$@"; do
|
||||||
|
__yank_buffer+=("${i:a}")
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
fcut() {
|
||||||
|
__cut_buffer=()
|
||||||
|
for i in "$@"; do
|
||||||
|
__cut_buffer+=("${i:a}")
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
fyankadd() {
|
||||||
|
for i in "$@"; do
|
||||||
|
__yank_buffer+=("${i:a}")
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
fcutadd() {
|
||||||
|
for i in "$@"; do
|
||||||
|
__cut_buffer+=("${i:a}")
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
fpasteclear() {
|
||||||
|
__yank_buffer=()
|
||||||
|
__cut_buffer=()
|
||||||
|
}
|
||||||
|
|
||||||
|
fpastelist() {
|
||||||
|
if [[ -n $__yank_buffer ]]; then
|
||||||
|
echo "Copying ${#__yank_buffer[@]} files:"
|
||||||
|
printf " %s\n" ${__yank_buffer[@]}
|
||||||
|
fi
|
||||||
|
if [[ -n $__cut_buffer ]]; then
|
||||||
|
echo "Moving ${#__cut_buffer[@]} files"
|
||||||
|
printf " %s\n" ${__cut_buffer[@]}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
fpaste() {
|
||||||
|
if [[ -n $__yank_buffer ]]; then
|
||||||
|
echo "Copying ${#__yank_buffer[@]} files"
|
||||||
|
fi
|
||||||
|
if [[ -n $__cut_buffer ]]; then
|
||||||
|
echo "Moving ${#__cut_buffer[@]} files"
|
||||||
|
fi
|
||||||
|
if [[ -n $__cut_buffer || -n $__yank_buffer ]]; then
|
||||||
|
echo -n "Continue? [y/N] "
|
||||||
|
read -q || return
|
||||||
|
else
|
||||||
|
echo "Error: No files to paste. Use fyank or fcut first"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
local target=${1:-$PWD}
|
||||||
|
for file in "${__yank_buffer[@]}"; do
|
||||||
|
cp -r "$file" "$target"
|
||||||
|
done
|
||||||
|
for file in "${__cut_buffer[@]}"; do
|
||||||
|
mv "$file" "$target"
|
||||||
|
done
|
||||||
|
|
||||||
|
fpasteclear
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim: set ft=zsh:
|
|
@ -1,4 +1,5 @@
|
||||||
#!/bin/zsh
|
#!/bin/zsh
|
||||||
|
fpath=( "${ZDOTDIR:+$ZDOTDIR/widgets}" $fpath )
|
||||||
|
|
||||||
bindkey -v
|
bindkey -v
|
||||||
|
|
||||||
|
@ -31,7 +32,9 @@ bindkey " " magic-space # Do history expansion on space.
|
||||||
bindkey $'\177' backward-delete-char # backspace
|
bindkey $'\177' backward-delete-char # backspace
|
||||||
bindkey $'\10' backward-delete-word # C-backspace
|
bindkey $'\10' backward-delete-word # C-backspace
|
||||||
|
|
||||||
bindkey -M vicmd ! edit-command-line-tmux
|
autoload -U edit-command-line-split
|
||||||
|
zle -N edit-command-line-split
|
||||||
|
bindkey -M vicmd ! edit-command-line-split
|
||||||
|
|
||||||
#unicode input
|
#unicode input
|
||||||
autoload -U insert-unicode-char
|
autoload -U insert-unicode-char
|
||||||
|
|
|
@ -1,3 +1,11 @@
|
||||||
#compdef conf
|
#compdef conf
|
||||||
|
|
||||||
_arguments "1:Commands:(${(k)conf_locations})"
|
|
||||||
|
_conf_locations() {
|
||||||
|
_alternative \
|
||||||
|
"configs:Configs:(${(k)conf_locations})" \
|
||||||
|
"dirs:XDG configs:_files -/ -W ${XDG_CONFIG_HOME:-$HOME/.config}/ -S '' -F '*/*'"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
_conf_locations
|
||||||
|
|
6
compdef/_cs
Normal file
6
compdef/_cs
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#compdef _cs cs
|
||||||
|
|
||||||
|
function _cs {
|
||||||
|
eval "$(cs complete zsh-v1 $CURRENT $words[@])"
|
||||||
|
}
|
||||||
|
|
5
compdef/_scala-cli
Normal file
5
compdef/_scala-cli
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#compdef _scala-cli scala-cli
|
||||||
|
|
||||||
|
function _scala-cli {
|
||||||
|
eval "$(scala-cli complete zsh-v1 $CURRENT $words[@])"
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
#compdef sv
|
#compdef sv
|
||||||
|
|
||||||
# completion for runit sv(1)
|
# completion for runit sv(1)
|
||||||
# Christian Neukirchen <chneukirchen@gmail.com>
|
# Leah Neukirchen <leah@vuxu.org>
|
||||||
# runit 2.1.1, services in /var/service are completed by default
|
# runit 2.1.1, services in /var/service are completed by default
|
||||||
|
|
||||||
local ret=1 services
|
local ret=1 services
|
||||||
|
@ -35,7 +35,9 @@ cmds)
|
||||||
check
|
check
|
||||||
ret=0;;
|
ret=0;;
|
||||||
args)
|
args)
|
||||||
if [[ $BUFFER == sudo* ]] then
|
if [[ $BUFFER == "sudo "*
|
||||||
|
|| $BUFFER == "doas "*
|
||||||
|
|| $BUFFER == "su "*-c* ]] then
|
||||||
services=( /var/service/*(-/N:t) )
|
services=( /var/service/*(-/N:t) )
|
||||||
else
|
else
|
||||||
services=( ${SVDIR:-/var/service}/*(-/N:t) )
|
services=( ${SVDIR:-/var/service}/*(-/N:t) )
|
||||||
|
|
|
@ -5,4 +5,4 @@ local context state line
|
||||||
|
|
||||||
_arguments \
|
_arguments \
|
||||||
"1:Action:(add rm remove)"\
|
"1:Action:(add rm remove)"\
|
||||||
"*:service:_files -W /etc/sv"
|
"*:service:_files -W ${SVDIR_TEMPLATES:-/etc/sv}"
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# autoload completions
|
# autoload completions
|
||||||
fpath=( "${ZDOTDIR:+$ZDOTDIR/compdef}" "/etc/zsh/compdef" $fpath )
|
fpath=( "${XDG_DATA_HOME:-$HOME/.local/share}/zsh/site-functions" "${ZDOTDIR:+$ZDOTDIR/compdef}" "/etc/zsh/compdef" $fpath )
|
||||||
|
fpath=("$XDG_DATA_HOME/scalacli/completions/zsh" $fpath)
|
||||||
|
|
||||||
[[ -n $(echo /etc/zsh/compdef/*(N:t)) ]] && autoload -U /etc/zsh/compdef/*(N:t)
|
[[ -n $(echo /etc/zsh/compdef/*(N:t)) ]] && autoload -U /etc/zsh/compdef/*(N:t)
|
||||||
[[ -n $(echo $ZDOTDIR/compdef/*(N:t)) ]] && autoload -U $ZDOTDIR/compdef/*(N:t)
|
[[ -n $(echo $ZDOTDIR/compdef/*(N:t)) ]] && autoload -U $ZDOTDIR/compdef/*(N:t)
|
||||||
|
|
2
confs
2
confs
|
@ -11,7 +11,7 @@ nvim-plug $XDG_CONFIG_HOME/nvim/packages.vim
|
||||||
offlineimap $XDG_CONFIG_HOME/offlineimap/config
|
offlineimap $XDG_CONFIG_HOME/offlineimap/config
|
||||||
qutebrowser $XDG_CONFIG_HOME/qutebrowser/
|
qutebrowser $XDG_CONFIG_HOME/qutebrowser/
|
||||||
qutebrowser-scripts $XDG_DATA_HOME/qutebrowser/userscripts
|
qutebrowser-scripts $XDG_DATA_HOME/qutebrowser/userscripts
|
||||||
ssh $HOME/.ssh/config
|
ssh $HOME/.ssh/
|
||||||
vdirsyncer $XDG_CONFIG_HOME/vdirsyncer/config
|
vdirsyncer $XDG_CONFIG_HOME/vdirsyncer/config
|
||||||
vim $XDG_CONFIG_HOME/vim
|
vim $XDG_CONFIG_HOME/vim
|
||||||
xd $XDG_CONFIG_HOME/xd.conf
|
xd $XDG_CONFIG_HOME/xd.conf
|
||||||
|
|
4
env/00_xdg.zsh
vendored
Normal file
4
env/00_xdg.zsh
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
XDG_CACHE_HOME=${XDG_CACHE_HOME:-${HOME}/.cache}
|
||||||
|
XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-${HOME}/.config}
|
||||||
|
XDG_DATA_HOME=${XDG_DATA_HOME:-${HOME}/.local/share}
|
||||||
|
XDG_STATE_HOME=${XDG_STATE_HOME:-${HOME}/.local/state}
|
19
env/01_xdg-fixes.zsh
vendored
Normal file
19
env/01_xdg-fixes.zsh
vendored
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
|
||||||
|
export ANSIBLE_HOME="$XDG_DATA_HOME"/ansible
|
||||||
|
export BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle
|
||||||
|
export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle
|
||||||
|
export BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
|
||||||
|
export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
||||||
|
export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks
|
||||||
|
export GNUPGHOME=$XDG_CONFIG_HOME/gnupg
|
||||||
|
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
|
||||||
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||||
|
export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
|
||||||
|
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
|
||||||
|
export TERMINFO="$XDG_DATA_HOME"/terminfo
|
||||||
|
export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
|
||||||
|
export TEXMFCONFIG=$XDG_CONFIG_HOME/texlive/texmf-config
|
||||||
|
export TEXMFHOME=$XDG_DATA_HOME/texmf
|
||||||
|
export TEXMFVAR=$XDG_CACHE_HOME/texlive/texmf-var
|
||||||
|
export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
|
||||||
|
export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java"
|
13
env/15_basic.zsh
vendored
Normal file
13
env/15_basic.zsh
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
local function first-command() {
|
||||||
|
while [[ -n $1 ]]; do
|
||||||
|
if command -v $1 > /dev/null; then
|
||||||
|
echo $1
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
export PAGER=${PAGER:-$(first-command nvimpager vimpager less)}
|
||||||
|
export MANPAGER=${PAGER}
|
3
env/20_dockerhost.zsh
vendored
Normal file
3
env/20_dockerhost.zsh
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
if [[ -e $XDG_RUNTIME_DIR/podman/podman.sock ]]; then
|
||||||
|
export DOCKER_HOST=unix://$XDG_RUNTIME_DIR/podman/podman.sock
|
||||||
|
fi
|
6
env/20_services.zsh
vendored
6
env/20_services.zsh
vendored
|
@ -1,3 +1,9 @@
|
||||||
if [[ $DISPLAY && $UID != 0 ]]; then
|
if [[ $DISPLAY && $UID != 0 ]]; then
|
||||||
export SVDIR="$HOME/.local/session_service"
|
export SVDIR="$HOME/.local/session_service"
|
||||||
|
export SVDIR_TEMPLATES="$HOME/.service-available"
|
||||||
|
elif [[ $UID != 0 ]]; then
|
||||||
|
export SVDIR=$HOME/.service
|
||||||
|
export SVDIR_TEMPLATES="$HOME/.service-available"
|
||||||
|
else
|
||||||
|
export SVDIR_TEMPLATES="/etc/sv"
|
||||||
fi
|
fi
|
||||||
|
|
1
env/50_nodejs.zsh
vendored
1
env/50_nodejs.zsh
vendored
|
@ -1,3 +1,4 @@
|
||||||
export NPM_PACKAGES="${XDG_DATA_HOME}/npm-packages"
|
export NPM_PACKAGES="${XDG_DATA_HOME}/npm-packages"
|
||||||
export NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
|
export NODE_PATH="$NPM_PACKAGES/lib/node_modules:$NODE_PATH"
|
||||||
export PATH="$PATH:$NPM_PACKAGES/bin"
|
export PATH="$PATH:$NPM_PACKAGES/bin"
|
||||||
|
export MANPATH="${MANPATH}:$NPM_PACKAGES/share/man"
|
||||||
|
|
3
env/50_rust.zsh
vendored
3
env/50_rust.zsh
vendored
|
@ -1,3 +1,6 @@
|
||||||
|
export RUSTUP_HOME="${XDG_DATA_HOME}/rustup"
|
||||||
|
export CARGO_HOME="${XDG_DATA_HOME}/cargo"
|
||||||
|
export PATH="${CARGO_HOME}/bin:${PATH}"
|
||||||
if which rustup &>/dev/null && [[ -n $(rustup show active-toolchain) ]]; then
|
if which rustup &>/dev/null && [[ -n $(rustup show active-toolchain) ]]; then
|
||||||
export RUST_SRC_PATH=$(rustup run stable rustc --print sysroot)/lib/rustlib/src/rust/src
|
export RUST_SRC_PATH=$(rustup run stable rustc --print sysroot)/lib/rustlib/src/rust/src
|
||||||
fi
|
fi
|
||||||
|
|
1
env/50_scala.zsh
vendored
Normal file
1
env/50_scala.zsh
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
export SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=10G -Xmx10G"
|
1
env/90_pass.zsh
vendored
Normal file
1
env/90_pass.zsh
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
export PASSWORD_STORE_ENABLE_EXTENSIONS=true
|
4
env/90_podman-socket.zsh
vendored
Normal file
4
env/90_podman-socket.zsh
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
if command -v podman &>/dev/null; then
|
||||||
|
export DOCKER_SOCKET=$(podman system info -f '{{.Host.RemoteSocket.Path}}')
|
||||||
|
export DOCKER_HOST=unix://$DOCKER_SOCKET
|
||||||
|
fi
|
41
functions/VCS_INFO_bydir_detect
Normal file
41
functions/VCS_INFO_bydir_detect
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
## vim:ft=zsh
|
||||||
|
## Written by Frank Terbeck <ft@bewatermyfriend.org>
|
||||||
|
## Distributed under the same BSD-ish license as zsh itself.
|
||||||
|
|
||||||
|
# Helper function for VCS_INFO_detect_*
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# vcs_comm[detect_need_file]=FILENAMES VCS_INFO_bydir_detect DIRNAME
|
||||||
|
# where DIRNAME is a directory name and FILENAMES is a space-separated list
|
||||||
|
# of filenames.
|
||||||
|
#
|
||||||
|
# If any parent directory of the current working directory, other than the root
|
||||||
|
# directory, contains a subdirectory named DIRNAME that contains a file whose name
|
||||||
|
# is in FILENAMES, set vcs_comm[basedir] to the path of that parent directory and
|
||||||
|
# return true. Otherwise, return false.
|
||||||
|
|
||||||
|
setopt localoptions NO_shwordsplit
|
||||||
|
local dirname=$1
|
||||||
|
local basedir="." file
|
||||||
|
|
||||||
|
basedir=$(realpath ${basedir})
|
||||||
|
while [[ ${basedir} != '/' ]]; do
|
||||||
|
[[ -r ${basedir} ]] || return 1
|
||||||
|
if [[ -n ${vcs_comm[detect_need_file]} ]] ; then
|
||||||
|
[[ -d ${basedir}/${dirname} ]] && {
|
||||||
|
for file in ${(s: :)${vcs_comm[detect_need_file]}}; do
|
||||||
|
[[ -e ${basedir}/${dirname}/${file} ]] && break 2
|
||||||
|
done
|
||||||
|
}
|
||||||
|
else
|
||||||
|
[[ -d ${basedir}/${dirname} ]] && break
|
||||||
|
fi
|
||||||
|
|
||||||
|
basedir=${basedir:h}
|
||||||
|
done
|
||||||
|
|
||||||
|
[[ ${basedir} == "/" ]] && return 1
|
||||||
|
vcs_comm[basedir]=${basedir}
|
||||||
|
# TODO: Would the following be correct? ---
|
||||||
|
# rrn=${vcs_comm[basedir]:t}
|
||||||
|
return 0
|
41
plugins/cs-java-home/cs-java-home.plugin.zsh
Normal file
41
plugins/cs-java-home/cs-java-home.plugin.zsh
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
typeset -a chpwd_functions __chromaz_extra_left
|
||||||
|
|
||||||
|
SYSTEM_JAVA_HOME=${CS_FORMER_JAVA_HOME:-$JAVA_HOME}
|
||||||
|
|
||||||
|
local cs_jvm_id
|
||||||
|
local cs_java_home
|
||||||
|
|
||||||
|
remove-from-path() {
|
||||||
|
for elem in $@; do
|
||||||
|
path=("${(@)path:#$elem}")
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
cs-set-java-home() {
|
||||||
|
local dir=${1:-${PWD:a}}
|
||||||
|
if [[ $dir == / ]]; then
|
||||||
|
export JAVA_HOME=${SYSTEM_JAVA_HOME}
|
||||||
|
remove-from-path $cs_java_home/bin
|
||||||
|
cs_jvm_id=
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if [[ -e $dir/.jvm ]]; then
|
||||||
|
cs_jvm_id=$(<$dir/.jvm)
|
||||||
|
#echo "Setting Java version to ${cs_jvm_id}"
|
||||||
|
cs_java_home=$(cs java-home --jvm ${cs_jvm_id})
|
||||||
|
path=( $cs_java_home/bin $path )
|
||||||
|
export JAVA_HOME=${cs_java_home}
|
||||||
|
else
|
||||||
|
cs-set-java-home ${dir:h}
|
||||||
|
fi
|
||||||
|
|
||||||
|
#
|
||||||
|
}
|
||||||
|
|
||||||
|
cs-current-java() {
|
||||||
|
echo ${cs_jvm_id:+JVM: }${cs_jvm_id}
|
||||||
|
}
|
||||||
|
|
||||||
|
chpwd_functions+=cs-set-java-home
|
||||||
|
__chromaz_extra_left+=cs-current-java
|
||||||
|
cs-set-java-home
|
|
@ -18,6 +18,11 @@ else
|
||||||
pyenv() {
|
pyenv() {
|
||||||
echo -n "pyenv is not installed. Install now? [yn] "; read -q || return
|
echo -n "pyenv is not installed. Install now? [yn] "; read -q || return
|
||||||
git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
|
git clone https://github.com/pyenv/pyenv.git $PYENV_ROOT
|
||||||
|
git clone https://github.com/pyenv/pyenv-update.git $PYENV_ROOT/plugins/pyenv-update
|
||||||
|
git clone https://github.com/pyenv/pyenv-virtualenv.git $PYENV_ROOT/plugins/pyenv-virtualenv
|
||||||
|
git clone https://github.com/jawshooah/pyenv-default-packages.git $PYENV_ROOT/plugins/pyenv-default-packages
|
||||||
|
git clone https://github.com/fizista/pyenv-choice.git $PYENV_ROOT/plugins/pyenv-choice
|
||||||
|
echo ptpython > $PYENV_ROOT/default-packages
|
||||||
_init_pyenv
|
_init_pyenv
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
16
widgets/edit-command-line-split
Normal file
16
widgets/edit-command-line-split
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
local tmpfile=${TMPPREFIX:-/tmp/zsh}ecl$$
|
||||||
|
|
||||||
|
print -R - "$PREBUFFER$BUFFER" >$tmpfile
|
||||||
|
exec </dev/tty
|
||||||
|
if [[ $KITTY_WINDOW_ID ]]; then
|
||||||
|
kitty @launch --type overlay vim -c 'set laststatus=0 showtabline=0 ft=zsh' $tmpfile
|
||||||
|
tail -f --pid=$(pgrep -f "vim.*${tmpfile}") /dev/null &> /dev/null
|
||||||
|
else
|
||||||
|
${=${VISUAL:-${EDITOR:-vi}}} $tmpfile
|
||||||
|
fi
|
||||||
|
print -Rz - "$(<$tmpfile)"
|
||||||
|
|
||||||
|
command rm -f $tmpfile
|
||||||
|
zle send-break # Force reload from the buffer stack
|
||||||
|
|
||||||
|
# vim:ft=zsh
|
|
@ -1,18 +0,0 @@
|
||||||
ECLHEIGHT=${ECLHEIGHT:-5}
|
|
||||||
edit-command-line-tmux() {
|
|
||||||
local tmpfile=${TMPPREFIX:-/tmp/zsh}ecl$$
|
|
||||||
|
|
||||||
print -R - "$PREBUFFER$BUFFER" >$tmpfile
|
|
||||||
exec </dev/tty
|
|
||||||
if [ -n "$TMUX" ] && [ "$UID" -ne 0 ]; then
|
|
||||||
tmux splitw -v -l $ECLHEIGHT "vim -c 'set laststatus=0 showtabline=0 ft=zsh' $tmpfile"
|
|
||||||
pid=$(ps -ef | awk "/[0-9] vim.*${tmpfile:t}/ { print \$2 }")
|
|
||||||
wait_on_pid $pid
|
|
||||||
else
|
|
||||||
${=${VISUAL:-${EDITOR:-vi}}} $tmpfile
|
|
||||||
fi
|
|
||||||
print -Rz - "$(<$tmpfile)"
|
|
||||||
|
|
||||||
command rm -f $tmpfile
|
|
||||||
zle send-break # Force reload from the buffer stack
|
|
||||||
}
|
|
57
zplug.zsh
57
zplug.zsh
|
@ -1,57 +0,0 @@
|
||||||
export ZPLUG_HOME=$ZDOTDIR/zplug
|
|
||||||
source $(zdotfile zplug/init.zsh)
|
|
||||||
|
|
||||||
zplug 'zplug/zplug', hook-build:'zplug --self-manage'
|
|
||||||
|
|
||||||
zplug "MichaelAquilina/zsh-you-should-use"
|
|
||||||
zplug 'jreese/zsh-titles'
|
|
||||||
|
|
||||||
zplug 'crater2150-zsh/fzf-widgets'
|
|
||||||
zplug 'crater2150-zsh/conf'
|
|
||||||
zplug 'crater2150-zsh/chroma-z', as:theme
|
|
||||||
|
|
||||||
zplug $ZDOTDIR/plugins/highlight-config, from:local, defer:3
|
|
||||||
#zplug $ZDOTDIR/plugins/bundled-compdefs, from:local
|
|
||||||
zplug $ZDOTDIR/plugins/tmpsrc, from:local
|
|
||||||
zplug $ZDOTDIR/plugins/pyenv, from:local
|
|
||||||
|
|
||||||
zplug 'molovo/revolver', \
|
|
||||||
as:command, \
|
|
||||||
use:revolver
|
|
||||||
zplug 'zunit-zsh/zunit', \
|
|
||||||
as:command, \
|
|
||||||
use:zunit, \
|
|
||||||
hook-build:'./build.zsh'
|
|
||||||
|
|
||||||
zplug "zsh-users/zsh-syntax-highlighting", defer:2
|
|
||||||
|
|
||||||
zplug "plugins/ng", from:oh-my-zsh
|
|
||||||
|
|
||||||
zplug "zpm-zsh/colors"
|
|
||||||
|
|
||||||
zplug "urbainvaes/fzf-marks"
|
|
||||||
|
|
||||||
zplug "crater2150-zsh/tmsu-fzf", as:plugin
|
|
||||||
|
|
||||||
zplug load
|
|
||||||
|
|
||||||
if zplug check 'crater2150-zsh/fzf-widgets'; then
|
|
||||||
# Map widgets to key
|
|
||||||
bindkey '\ec' fzf-change-directory
|
|
||||||
bindkey '^r' fzf-insert-history
|
|
||||||
bindkey '^xf' fzf-insert-files
|
|
||||||
bindkey '^xd' fzf-insert-directory
|
|
||||||
bindkey '^xn' fzf-insert-named-directory
|
|
||||||
|
|
||||||
# Start fzf in a tmux pane
|
|
||||||
FZF_WIDGET_TMUX=1
|
|
||||||
|
|
||||||
# use fd for finding directories and files
|
|
||||||
FZF_CHANGE_DIR_FIND_COMMAND="fd -t d"
|
|
||||||
FZF_INSERT_DIR_COMMAND="fd -t d"
|
|
||||||
FZF_INSERT_FILES_COMMAND="fd -t f"
|
|
||||||
FZF_EDIT_FILES_COMMAND="fd -t f"
|
|
||||||
|
|
||||||
# modify history command to remove duplicates
|
|
||||||
FZF_HISTORY_COMMAND="fc -l 1 | sed 's/ *[0-9]* //g' | awk '!seen[\$0]++'"
|
|
||||||
fi
|
|
10
zprofile
10
zprofile
|
@ -1,6 +1,15 @@
|
||||||
# /etc/zsh/zprofile
|
# /etc/zsh/zprofile
|
||||||
# $Header: /var/cvsroot/gentoo-x86/app-shells/zsh/files/zprofile-1,v 1.1 2010/08/15 12:21:56 tove Exp $
|
# $Header: /var/cvsroot/gentoo-x86/app-shells/zsh/files/zprofile-1,v 1.1 2010/08/15 12:21:56 tove Exp $
|
||||||
|
|
||||||
|
append_path () {
|
||||||
|
case ":$PATH:" in
|
||||||
|
*:"$1":*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
PATH="${PATH:+$PATH:}$1"
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
# Load environment settings from profile.env, which is created by
|
# Load environment settings from profile.env, which is created by
|
||||||
# env-update from the files in /etc/env.d
|
# env-update from the files in /etc/env.d
|
||||||
if [ -e /etc/profile.env ] ; then
|
if [ -e /etc/profile.env ] ; then
|
||||||
|
@ -31,5 +40,6 @@ set -$shopts
|
||||||
unset sh shopts
|
unset sh shopts
|
||||||
|
|
||||||
if [[ $TTY == /dev/tty1 ]]; then
|
if [[ $TTY == /dev/tty1 ]]; then
|
||||||
|
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||||||
exec startx :1
|
exec startx :1
|
||||||
fi
|
fi
|
||||||
|
|
3
zshenv
3
zshenv
|
@ -1,5 +1,3 @@
|
||||||
export ZDOTDIR="${$(readlink $HOME/.zshenv):h:a}"
|
|
||||||
|
|
||||||
exists() { command -v "$@" >/dev/null }
|
exists() { command -v "$@" >/dev/null }
|
||||||
function(){
|
function(){
|
||||||
local i
|
local i
|
||||||
|
@ -7,4 +5,3 @@ function(){
|
||||||
. $i
|
. $i
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
23
zshrc
23
zshrc
|
@ -1,6 +1,12 @@
|
||||||
typeset -U path
|
typeset -U path
|
||||||
|
|
||||||
HISTFILE=~/.histfile
|
HISTFILE=${XDG_STATE_HOME:-$HOME/.local/state}/zsh/histfile
|
||||||
|
if [[ ! -d ${HISTFILE:h} ]]; then
|
||||||
|
mkdir -p ${HISTFILE:h}
|
||||||
|
fi
|
||||||
|
if [[ ! -e $HISTFILE && -e ~/.histfile ]]; then
|
||||||
|
mv ~/.histfile $HISTFILE
|
||||||
|
fi
|
||||||
HISTSIZE=100000
|
HISTSIZE=100000
|
||||||
SAVEHIST=100000
|
SAVEHIST=100000
|
||||||
unsetopt histsavenodups
|
unsetopt histsavenodups
|
||||||
|
@ -12,13 +18,14 @@ setopt hist_ignore_space share_history
|
||||||
#setopt hist_ignore_all_dups
|
#setopt hist_ignore_all_dups
|
||||||
setopt no_auto_remove_slash auto_param_slash
|
setopt no_auto_remove_slash auto_param_slash
|
||||||
setopt completeinword
|
setopt completeinword
|
||||||
setopt chase_links
|
#setopt chase_links
|
||||||
setopt short_loops
|
setopt short_loops
|
||||||
setopt cdable_vars
|
setopt cdable_vars
|
||||||
WORDCHARS=${WORDCHARS//\/}
|
WORDCHARS=${WORDCHARS//\/}
|
||||||
cdpath+=$HOME
|
cdpath+=$HOME
|
||||||
|
|
||||||
export ZDOTDIR=${ZDOTDIR:-$HOME/.zsh}
|
export ZDOTDIR=${ZDOTDIR:-$HOME/.zsh}
|
||||||
|
fpath=($ZDOTDIR/functions $fpath)
|
||||||
|
|
||||||
function exists { command -v "$@" >/dev/null }
|
function exists { command -v "$@" >/dev/null }
|
||||||
|
|
||||||
|
@ -70,8 +77,6 @@ source ${ZIM_HOME}/init.zsh
|
||||||
|
|
||||||
|
|
||||||
. $(zdotfile completion.zsh)
|
. $(zdotfile completion.zsh)
|
||||||
#source $(zdotfile zplug.zsh)
|
|
||||||
|
|
||||||
. $(zdotfile bindings.zsh)
|
. $(zdotfile bindings.zsh)
|
||||||
|
|
||||||
stty -ixon
|
stty -ixon
|
||||||
|
@ -102,3 +107,13 @@ if [[ -e $HOME/.calendars ]]; then
|
||||||
}
|
}
|
||||||
__chromaz_extra_left+=_prompt_todos
|
__chromaz_extra_left+=_prompt_todos
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if exists mail; then
|
||||||
|
_prompt_cron_mails() {
|
||||||
|
[[ ! -e $MAIL ]] && return
|
||||||
|
local newmails=$(mail -Hf $MAIL | grep -c '^.N')
|
||||||
|
[[ $newmails -gt 0 ]] && echo "Cron Notifications: $newmails"
|
||||||
|
}
|
||||||
|
__chromaz_extra_left+=_prompt_cron_mails
|
||||||
|
fi
|
||||||
|
tabs -4
|
||||||
|
|
Loading…
Reference in a new issue