Add zsh functions, start tmux right on start.

This commit is contained in:
CronyAkatsuki 2025-02-01 17:50:20 +01:00
parent c926deac3d
commit b97d67044d
2 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,43 @@
#!/usr/bin/env zsh
# Open a script in path with vim quicly
vish () {
nvim $(which $1)
}
# Create a directory and change into it
md () {
mkdir -p "$@" && cd "$@"
}
# Move a file and create a link in it's place
mvln () {
from=$(readlink -f $1)
to="$2"
[ ! -d "$(dirname $to)" ] && mkdir -p "$(dirname $to)"
mv $from $to
ln -s $to $from
}
# nnn
n () {
# Block nesting of nnn in subshells
[ "${NNNLVL:-0}" -eq 0 ] || {
echo "nnn is already running"
return
}
# Tempfile location
NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
nnn "$@"
[ ! -f "$NNN_TMPFILE" ] || {
. "$NNN_TMPFILE"
rm -f "$NNN_TMPFILE" > /dev/null
}
}
# upfast
upfast () {
curl -F "file=@$(readlink -f $1)" "https://upfast.cronyakatsuki.xyz/"
}

View File

@ -17,6 +17,17 @@
dotDir = ".config/zsh"; dotDir = ".config/zsh";
shellAliases = {
grep = "grep --color=auto";
cp = "cp -iv";
rm = "rm -iv";
mkd = "mkdir -pv";
less = "less -R";
nnn = ''LC_COLLATE="C" nnn -xeaiH'';
df = "df -h -x devtmpfs -x tmpfs -x usbfs -x loop";
free = "free -mht";
};
initExtra = '' initExtra = ''
# VI Mode escape timeout fix # VI Mode escape timeout fix
export KEYTIMEOUT=1 export KEYTIMEOUT=1
@ -27,6 +38,10 @@
bindkey -M vicmd 'k' history-substring-search-up bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down bindkey -M vicmd 'j' history-substring-search-down
[[ -f "$HOME/.config/zsh/functions.zsh" ]] && source "$HOME/.config/zsh/functions.zsh"
'';
initExtraFirst = ''
# Tmux autostart # Tmux autostart
if [ -x "$(command -v tmux)" ] && [ -n "$DISPLAY" ] && [ -z "$TMUX" ]; then if [ -x "$(command -v tmux)" ] && [ -n "$DISPLAY" ] && [ -z "$TMUX" ]; then
exec tmux new-session -A -s default >/dev/null 2>&1 exec tmux new-session -A -s default >/dev/null 2>&1
@ -46,5 +61,9 @@
]; ];
}; };
}; };
# Link my functions file to ~/.config/zsh/functions.zsh
home.file = {
".config/zsh/functions.zsh".source = ./configs/zsh-functions.zsh;
};
}; };
} }