105 lines
4 KiB
Plaintext
105 lines
4 KiB
Plaintext
# cd into project dir and list files and directories
|
|
pro() {
|
|
[ -z "$PROJECTDIR" ] && PROJECTDIR="$HOME/Projects"; [ -z "$TOOL" ] && TOOL=fzf
|
|
clear; cd "$PROJECTDIR/$($LIST $PROJECTDIR | $TOOL)"
|
|
clear; $LIST -lah
|
|
}
|
|
|
|
# cd into dotdir and list files and directories
|
|
cdot() {
|
|
[ -z "$DOTDIR" ] && DOTDIR="$HOME/.config"; [ -z "$TOOL" ] && TOOL=fzf
|
|
command -v "$TOOL" > /dev/null || return
|
|
clear; cd "$DOTDIR/$($LIST -a $PROJECTDIR | $TOOL)"
|
|
clear; $LIST -lah
|
|
}
|
|
|
|
# list dotfiles
|
|
edot() {
|
|
command -v fzf > /dev/null || return
|
|
DOT="$(printf "nvim config\nnvim init.vim\n.vimrc\n.Xresources\nspeedwmrc\nstatusrc\nspeedwm autostart.sh\nspeedwm options.h\nspeedwm speedwm.c\nspeedwm bar.h\nspeedwm keybinds.h\ndmenu options.h\nmuttrc\nnewsboat urls\nnewsboat config\nvifmrc\nalacritty.yml\n.zsh_alias\n.zsh_export\n.zsh_func\n.zsh_ps\n.zsh_starship\n.zshrc\nsfeedrc\n.mbsyncrc\n" \
|
|
| sort | fzf)"
|
|
|
|
case "$DOT" in
|
|
"nvim config") "$EDITOR" "$HOME/.config/nvim/config" ;;
|
|
"nvim init.vim") "$EDITOR" "$HOME/.config/nvim/init.vim" ;;
|
|
".vimrc") "$EDITOR" "$HOME/.vimrc" ;;
|
|
".Xresources") "$EDITOR" "$HOME/.config/.Xresources" ;;
|
|
"speedwmrc") "$EDITOR" "$HOME/.config/speedwm/speedwmrc" ;;
|
|
"statusrc") "$EDITOR" "$HOME/.config/speedwm/statusrc" ;;
|
|
"muttrc") "$EDITOR" "$HOME/.config/mutt/muttrc" ;;
|
|
"newsboat urls") "$EDITOR" "$HOME/.config/newsboat/urls" ;;
|
|
"newsboat config") "$EDITOR" "$HOME/.config/newsboat/config" ;;
|
|
"speedwm autostart.sh") "$EDITOR" "$HOME/.config/speedwm/autostart.sh" ;;
|
|
"speedwm options.h") "$EDITOR" "$HOME/Projects/speedwm/options.h" ;;
|
|
"speedwm speedwm.c") "$EDITOR" "$HOME/Projects/speedwm/speedwm.c" ;;
|
|
"speedwm bar.h") "$EDITOR" "$HOME/Projects/speedwm/bar.h" ;;
|
|
"speedwm keybinds.h") "$EDITOR" "$HOME/Projects/speedwm/keybinds.h" ;;
|
|
"dmenu options.h") "$EDITOR" "$HOME/Projects/dmenu/options.h" ;;
|
|
"vifmrc") "$EDITOR" "$HOME/.config/vifm/vifmrc" ;;
|
|
"alacritty.yml") "$EDITOR" "$HOME/.config/alacritty/alacritty.yml" ;;
|
|
".zsh_alias") "$EDITOR" "$HOME/.config/zsh/dotfiles/.zsh_alias" ;;
|
|
".zsh_export") "$EDITOR" "$HOME/.config/zsh/dotfiles/.zsh_export" ;;
|
|
".zsh_func") "$EDITOR" "$HOME/.config/zsh/dotfiles/.zsh_func" ;;
|
|
".zsh_ps") "$EDITOR" "$HOME/.config/zsh/dotfiles/.zsh_ps" ;;
|
|
".zsh_starship") "$EDITOR" "$HOME/.config/zsh/dotfiles/.zsh_starship" ;;
|
|
".zshrc") "$EDITOR" "$HOME/.config/zsh/dotfiles/.zshrc" ;;
|
|
"sfeedrc") "$EDITOR" "$HOME/.sfeed/sfeedrc" ;;
|
|
".mbsyncrc") "$EDITOR" "$HOME/.mbsyncrc" ;;
|
|
*) return 0 ;;
|
|
esac
|
|
}
|
|
|
|
# list scripts
|
|
escr() {
|
|
cdir="$(pwd)"
|
|
command -v fzf > /dev/null || return
|
|
cd "$HOME"
|
|
nvim "$(find "$SCRIPTDIR" -type f -perm /111 -executable | grep -v "[.]git" | sort | fzf)"
|
|
cd "$cdir"
|
|
}
|
|
|
|
# list passwords and copy to xclip
|
|
lspass() {
|
|
command -v pass > /dev/null || exit 1
|
|
val="$(/bin/ls $HOME/.password-store | sed "s/[.]gpg//g" | grep -v "\-id" | fzf)"
|
|
[ -z "$val" ] && return
|
|
echo "$val" | grep -q otp && otp="otp" || otp=nootp
|
|
case "$otp" in
|
|
"otp") pass otp $val | xclip -selection clipboard && printf "Copied OTP code to clipboard\n" || printf "Failed to copy OTP code to clipboard.\n"; return ;;
|
|
"nootp") pass $val | xclip -selection clipboard && printf "Copied password to clipboard\n" || printf "Failed to copy password to clipboard.\n"; return ;;
|
|
esac
|
|
}
|
|
|
|
# clear clipboard
|
|
clearboard() {
|
|
echo "" | xclip -selection clipboard
|
|
}
|
|
|
|
# update starship prompt
|
|
update_starship() {
|
|
[ "$STARSHIP" != "true" ] && return
|
|
clear
|
|
curl -sS https://starship.rs/install.sh | $PERM sh
|
|
}
|
|
|
|
# write starship config
|
|
write_starship_config() {
|
|
[ -z "$PRESETNAME" ] && PRESETNAME="nerd-font-symbols"
|
|
starship preset "$PRESETNAME" > "$STARSHIP_CONFIG"
|
|
}
|
|
|
|
# ssh into the server
|
|
ssh_server() {
|
|
USER="$(head -n 1 ${SERVERDATA})"
|
|
IP="$(tail -n 1 ${SERVERDATA})"
|
|
ssh ${USER}@${IP}
|
|
}
|
|
|
|
..() {
|
|
[ -z "$1" ] && cd .. && return
|
|
|
|
for i in $(seq $1); do
|
|
cd ..
|
|
done
|
|
}
|