minimal
This commit is contained in:
parent
f5905bf8e9
commit
cedeee8364
5 changed files with 233 additions and 114 deletions
143
shell/bashrc
143
shell/bashrc
|
@ -1,39 +1,132 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# tavo custom bashrc file
|
|
||||||
# If not running interactively, don't do anything
|
|
||||||
[[ $- != *i* ]] && return
|
|
||||||
|
|
||||||
# git branch
|
case $- in
|
||||||
prompt_git_branch() {
|
*i*) ;;
|
||||||
|
*) return;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
PATH="$HOME/.config/scripts/status${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/menu${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/menu/xclipmenu${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/sway${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/dwm${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/wrappers${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.local/bin${PATH:+:${PATH}}"
|
||||||
|
#PATH="/usr/local/plan9/bin${PATH:+:${PATH}}"
|
||||||
|
|
||||||
|
if ! shopt -oq posix; then
|
||||||
|
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||||
|
. /usr/share/bash-completion/bash_completion
|
||||||
|
elif [ -f /etc/bash_completion ]; then
|
||||||
|
. /etc/bash_completion
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
bind "set completion-ignore-case on"
|
||||||
|
shopt -s checkwinsize
|
||||||
|
shopt -s histappend
|
||||||
|
shopt -s cdspell
|
||||||
|
shopt -s autocd
|
||||||
|
set -o vi
|
||||||
|
|
||||||
|
export \
|
||||||
|
HISTCONTROL=ignoreboth \
|
||||||
|
HISTIZE= \
|
||||||
|
HISTFILESIZE= \
|
||||||
|
DATE=$(date -I) \
|
||||||
|
WEEK=$(date '+%U') \
|
||||||
|
|
||||||
|
export \
|
||||||
|
TERM="xterm-256color" \
|
||||||
|
EDITOR="nvim" \
|
||||||
|
VISUAL="nvim" \
|
||||||
|
|
||||||
|
export \
|
||||||
|
QT_QPA_PLATFORMTHEME="qt5ct" \
|
||||||
|
CM_SELECTIONS="clipboard" \
|
||||||
|
GTK_THEME="Materia:dark" \
|
||||||
|
CM_MAX_CLIPS=10 \
|
||||||
|
|
||||||
|
export \
|
||||||
|
GITLAB="ssh://git@gitlab.com/tavo-wasd" \
|
||||||
|
BOOKMARKS="$HOME/Documents/bookmarks" \
|
||||||
|
BIB="$HOME/Documents/bibliography" \
|
||||||
|
|
||||||
|
git_branch() {
|
||||||
GIT_BRANCH="$(git branch 2>/dev/null | sed '/\*/!d;s/^\*\s*//g;s/\s*$//g')"
|
GIT_BRANCH="$(git branch 2>/dev/null | sed '/\*/!d;s/^\*\s*//g;s/\s*$//g')"
|
||||||
[ -n "$GIT_BRANCH" ] && printf "%s " "$GIT_BRANCH"
|
[ -n "$GIT_BRANCH" ] && printf "%s " "$GIT_BRANCH"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TIME="$(date)"
|
||||||
|
TIME=${TIME% [AP]M*}
|
||||||
|
TIME=${TIME##* }
|
||||||
|
|
||||||
PS1='\
|
PS1='\
|
||||||
\[\033[2m\]($?) \
|
\[\033[2m\]($?)\[\033[0m\] \
|
||||||
\[\033[0m\]\[\033[1m\]\[\033[36m\]\u\[\033[0m\]\
|
\[\033[1m\]\[\033[36m\]\u\[\033[0m\]\
|
||||||
\[\033[36m\]@\h\[\033[0m\] \
|
\[\033[36m\]@\h\[\033[0m\] \
|
||||||
\[\033[34m\]\w \
|
\[\033[34m\]\w \
|
||||||
\[\033[1m\]\[\033[35m\]$(prompt_git_branch)\[\033[0m\]\
|
\[\033[1m\]\[\033[35m\]$(git_branch)\[\033[0m\]\
|
||||||
\[\033[2m\][\!] \@\[\033[0m\]\
|
\[\033[2m\][\!] $TIME\[\033[0m\]\
|
||||||
\n\[\033[2m\]$\[\033[0m\] '
|
\n\[\033[2m\]$\[\033[0m\] '
|
||||||
PROMPT_COMMAND="echo" # Line jump after every command
|
|
||||||
|
|
||||||
# General configs
|
export \
|
||||||
bind "set completion-ignore-case on" # Case insensitive TAB complete
|
BASH_ENV="$XDG_CONFIG_HOME/shell/bashrc" \
|
||||||
shopt -s cdspell # Autocorrect directory name
|
XDG_STATE_HOME="$HOME/.local/state" \
|
||||||
shopt -s autocd # cd into dir by typing the name
|
XDG_CACHE_HOME="$HOME/.local/cache" \
|
||||||
set -o vi # vi mode
|
XDG_DATA_HOME="$HOME/.local/share" \
|
||||||
|
XDG_CONFIG_HOME="$HOME/.config" \
|
||||||
|
_JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java" \
|
||||||
|
GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" \
|
||||||
|
PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" \
|
||||||
|
VIMINIT="source $XDG_CONFIG_HOME/vim/vimrc" \
|
||||||
|
XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" \
|
||||||
|
XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" \
|
||||||
|
HISTFILE="$XDG_STATE_HOME/bash_history" \
|
||||||
|
XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" \
|
||||||
|
LESSHISTFILE="$XDG_DATA_HOME/lesshst" \
|
||||||
|
ELECTRUMDIR="$XDG_DATA_HOME/electrum" \
|
||||||
|
CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv" \
|
||||||
|
WINEPREFIX="$HOME/.local/share/wine" \
|
||||||
|
WGETRC="$HOME/.config/wget/wgetrc" \
|
||||||
|
GOPATH="$XDG_DATA_HOME/go" \
|
||||||
|
|
||||||
|
alias \
|
||||||
|
wget="wget --hsts-file=$XDG_DATA_HOME/wget/wget-hsts"
|
||||||
|
|
||||||
|
alias \
|
||||||
|
src="cd $HOME/.local/src/ && ls" \
|
||||||
|
cfg="cd $HOME/.config/ && ls" \
|
||||||
|
tmp="cd $HOME/Desktop/temp/ && ls" \
|
||||||
|
dsk="cd $HOME/Desktop/ && ls" \
|
||||||
|
prj="cd $HOME/Desktop/projects/ && ls" \
|
||||||
|
doc="cd $HOME/Documents/ && ls" \
|
||||||
|
dow="cd $HOME/Downloads/ && ls" \
|
||||||
|
mus="cd $HOME/Music/ && ls" \
|
||||||
|
prt="cd $HOME/Pictures/Screenshots/ && ls" \
|
||||||
|
bkg="cd $HOME/Pictures/Backgrounds/ && ls" \
|
||||||
|
img="cd $HOME/Pictures/ && ls" \
|
||||||
|
vid="cd $HOME/Videos/ && ls" \
|
||||||
|
|
||||||
|
alias \
|
||||||
|
ls="exa -al --icons --group-directories-first --no-permissions --no-user --time-style=iso --git" \
|
||||||
|
fzf="fzf --cycle --reverse" \
|
||||||
|
diff="diff --color=auto" \
|
||||||
|
grep="grep --color=auto" \
|
||||||
|
calc="bc -l" \
|
||||||
|
cp="cp -iv" \
|
||||||
|
mv="mv -iv" \
|
||||||
|
rm="trash" \
|
||||||
|
vim="nvim" \
|
||||||
|
mgr-all="mgr pacman_upgrade apt_upgrade flatpak_update distrobox_update pip_update configs passmgr" \
|
||||||
|
df-short="df -h | grep -v '\s/dev.*$\|\s/run.*$\|\s/boot.*$'" \
|
||||||
|
qr-png="qrencode -s 16 -o qr.png" \
|
||||||
|
qr="qrencode -t ansiutf8" \
|
||||||
|
clip="xsel -ib" \
|
||||||
|
|
||||||
# External configs
|
# External configs
|
||||||
[ -e "$HOME/.config/shell/posix-kit" ] && source ~/.config/shell/posix-kit
|
[ -f ~/.config/shell/posix-kit ] && . ~/.config/shell/posix-kit
|
||||||
[ -e "$HOME/.config/shell/functions" ] && source ~/.config/shell/functions
|
[ -f ~/.config/shell/dwm ] && . ~/.config/shell/dwm
|
||||||
[ -e "$HOME/.config/shell/keybinds" ] && source ~/.config/shell/keybinds
|
|
||||||
[ -e "$HOME/.config/shell/xdgspec" ] && source ~/.config/shell/xdgspec
|
|
||||||
[ -e "$HOME/.config/shell/aliasrc" ] && source ~/.config/shell/aliasrc
|
|
||||||
[ -e "$HOME/.config/shell/envvar" ] && source ~/.config/shell/envvar
|
|
||||||
#[ -e "$HOME/.config/shell/sway" ] && source ~/.config/shell/sway
|
|
||||||
[ -e "$HOME/.config/shell/dwm" ] && source ~/.config/shell/dwm
|
|
||||||
|
|
||||||
# Nice shell welcome
|
command -v fetch >/dev/null 2>&1 && fetch min
|
||||||
[ -e "/usr/bin/afetch" ] && (afetch) || (fetch min) 2>/dev/null
|
|
||||||
|
|
48
shell/envvar
48
shell/envvar
|
@ -1,48 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
# Useful variables
|
|
||||||
|
|
||||||
# Custom PATHs for executables
|
|
||||||
PATH="$HOME/.config/scripts/status${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.config/scripts/menu${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.config/scripts/menu/xclipmenu${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.config/scripts/sway${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.config/scripts/dwm${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.config/wrappers${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.config/scripts${PATH:+:${PATH}}"
|
|
||||||
PATH="$HOME/.local/bin${PATH:+:${PATH}}"
|
|
||||||
#PATH="/usr/local/plan9/bin${PATH:+:${PATH}}"
|
|
||||||
|
|
||||||
# Common
|
|
||||||
export \
|
|
||||||
HISTIZE= \
|
|
||||||
HISTFILESIZE= \
|
|
||||||
GITLAB="ssh://git@gitlab.com/tavo-wasd" \
|
|
||||||
BOOKMARKS="$HOME/Documents/bookmarks" \
|
|
||||||
BIB="$HOME/Documents/bibliography" \
|
|
||||||
WEEK=$(date '+%U') \
|
|
||||||
DATE=$(date -I) \
|
|
||||||
|
|
||||||
# Default programs
|
|
||||||
export \
|
|
||||||
TERM="xterm-256color" \
|
|
||||||
OPENER="xdg-open" \
|
|
||||||
READER="zathura" \
|
|
||||||
BROWSER="firefox" \
|
|
||||||
TERMINAL="foot" \
|
|
||||||
EDITOR="nvim" \
|
|
||||||
VISUAL="nvim" \
|
|
||||||
IMAGE="swayimg" \
|
|
||||||
VIDEO="mpv" \
|
|
||||||
|
|
||||||
# Theming
|
|
||||||
export \
|
|
||||||
QT_QPA_PLATFORMTHEME="qt5ct" \
|
|
||||||
GTK_THEME="Materia:dark" \
|
|
||||||
|
|
||||||
# Clipboard
|
|
||||||
export \
|
|
||||||
CM_SELECTIONS="clipboard" \
|
|
||||||
CM_MAX_CLIPS=10 \
|
|
||||||
|
|
||||||
export \
|
|
||||||
MOZILLA_CERTIFICATE_FOLDER="$HOME/.local/share/mozilla/.mozilla/firefox/p2uualdb.default"
|
|
|
@ -1,37 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# Navigate using fzf
|
|
||||||
fzf_nav() {
|
|
||||||
[ -d "$1" ] && cd "$1"
|
|
||||||
opt=$(fzf --layout=reverse-list --cycle --preview 'p {}' --height=50% --border top --prompt='⯈ ')
|
|
||||||
[ -n "$opt" ] && o "$opt"
|
|
||||||
}
|
|
||||||
|
|
||||||
# EZ note taking
|
|
||||||
note() {
|
|
||||||
NOTES_DIR="$HOME/Nextcloud/Notes"
|
|
||||||
# Just edit today's note if no argument is given
|
|
||||||
[ -z "$1" ] && cd "$NOTES_DIR" && "$EDITOR" "note-$DATE.md"
|
|
||||||
[ -e "$NOTES_DIR/daily-notes/note-$DATE.md" ] &&
|
|
||||||
printf "\n\033[1m\033[35mNote of the day:\033[0m \033[2mdaily-notes/\033[0mnote-$DATE.md\n"
|
|
||||||
# 'list' arg will list notes either with fzf or regular ls
|
|
||||||
if [ "$1" = "list" ] ; then
|
|
||||||
cd "$NOTES_DIR"
|
|
||||||
# If fzf is present, use it, ls otherwise
|
|
||||||
[ -e '/usr/bin/fzf' ] || ls && fzf_nav
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Copy output of a command
|
|
||||||
copy_history() {
|
|
||||||
HISTTIMEFORMAT="%F %T "
|
|
||||||
history |
|
|
||||||
head -n -1 |
|
|
||||||
fzf --cycle --height=50% --border top --tac --prompt='⯈ ' |
|
|
||||||
sed -z 's/^.*:[0-9]*\s*//g;s/\s*$//g;s/\n//g' |
|
|
||||||
xsel -ib
|
|
||||||
}
|
|
||||||
|
|
||||||
sshcd() {
|
|
||||||
ssh -t "$1" "cd \"$2\"; exec \$SHELL -l"
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
bind '"\C-h":"copy_history\C-m"'
|
|
||||||
bind '"\C-f":"fzf_nav\C-m"'
|
|
115
shell/mkshrc
Normal file
115
shell/mkshrc
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case $- in
|
||||||
|
*i*) ;;
|
||||||
|
*) return;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
PATH="$HOME/.config/scripts/status${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/menu${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/menu/xclipmenu${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/sway${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts/dwm${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/wrappers${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.config/scripts${PATH:+:${PATH}}"
|
||||||
|
PATH="$HOME/.local/bin${PATH:+:${PATH}}"
|
||||||
|
#PATH="/usr/local/plan9/bin${PATH:+:${PATH}}"
|
||||||
|
|
||||||
|
export \
|
||||||
|
HISTIZE= \
|
||||||
|
HISTFILESIZE= \
|
||||||
|
DATE=$(date -I) \
|
||||||
|
WEEK=$(date '+%U') \
|
||||||
|
|
||||||
|
export \
|
||||||
|
TERM="xterm-256color" \
|
||||||
|
EDITOR="nvim" \
|
||||||
|
VISUAL="nvim" \
|
||||||
|
|
||||||
|
export \
|
||||||
|
QT_QPA_PLATFORMTHEME="qt5ct" \
|
||||||
|
CM_SELECTIONS="clipboard" \
|
||||||
|
GTK_THEME="Materia:dark" \
|
||||||
|
CM_MAX_CLIPS=10 \
|
||||||
|
|
||||||
|
export \
|
||||||
|
GITLAB="ssh://git@gitlab.com/tavo-wasd" \
|
||||||
|
BOOKMARKS="$HOME/Documents/bookmarks" \
|
||||||
|
BIB="$HOME/Documents/bibliography" \
|
||||||
|
|
||||||
|
git_branch() {
|
||||||
|
GIT_BRANCH="$(git branch 2>/dev/null | sed '/\*/!d;s/^\*\s*//g;s/\s*$//g')"
|
||||||
|
[ -n "$GIT_BRANCH" ] && printf "%s " "$GIT_BRANCH"
|
||||||
|
}
|
||||||
|
|
||||||
|
TIME="$(date)"
|
||||||
|
TIME=${TIME% [AP]M*}
|
||||||
|
TIME=${TIME##* }
|
||||||
|
|
||||||
|
PS1='\
|
||||||
|
$(tput dim)($?)$(tput sgr0) \
|
||||||
|
$(tput bold)$(tput setaf 6)${USER:=$(id -un)}$(tput sgr0)\
|
||||||
|
$(tput setaf 6)@${HOSTNAME:=$(hostname -s)}$(tput sgr0) \
|
||||||
|
$(tput setaf 4)${PWD} \
|
||||||
|
$(tput bold)$(tput setaf 5)$(git_branch)$(tput sgr0)\
|
||||||
|
$(tput dim)[!] ${TIME}$(tput sgr0)
|
||||||
|
$(tput dim)$(if (( USER_ID )); then print \$; else print \#; fi)$(tput sgr0) \
|
||||||
|
'
|
||||||
|
|
||||||
|
export \
|
||||||
|
XDG_STATE_HOME="$HOME/.local/state" \
|
||||||
|
XDG_CACHE_HOME="$HOME/.local/cache" \
|
||||||
|
XDG_DATA_HOME="$HOME/.local/share" \
|
||||||
|
XDG_CONFIG_HOME="$HOME/.config" \
|
||||||
|
_JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java" \
|
||||||
|
GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0" \
|
||||||
|
PASSWORD_STORE_DIR="$XDG_DATA_HOME/password-store" \
|
||||||
|
VIMINIT="source $XDG_CONFIG_HOME/vim/vimrc" \
|
||||||
|
XSERVERRC="$XDG_CONFIG_HOME/X11/xserverrc" \
|
||||||
|
XAUTHORITY="$XDG_RUNTIME_DIR/Xauthority" \
|
||||||
|
HISTFILE="$XDG_STATE_HOME/bash_history" \
|
||||||
|
XINITRC="$XDG_CONFIG_HOME/X11/xinitrc" \
|
||||||
|
LESSHISTFILE="$XDG_DATA_HOME/lesshst" \
|
||||||
|
ELECTRUMDIR="$XDG_DATA_HOME/electrum" \
|
||||||
|
CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv" \
|
||||||
|
WINEPREFIX="$HOME/.local/share/wine" \
|
||||||
|
WGETRC="$HOME/.config/wget/wgetrc" \
|
||||||
|
GOPATH="$XDG_DATA_HOME/go" \
|
||||||
|
|
||||||
|
alias \
|
||||||
|
wget="wget --hsts-file=$XDG_DATA_HOME/wget/wget-hsts"
|
||||||
|
|
||||||
|
alias \
|
||||||
|
src="cd $HOME/.local/src/ && ls" \
|
||||||
|
cfg="cd $HOME/.config/ && ls" \
|
||||||
|
tmp="cd $HOME/Desktop/temp/ && ls" \
|
||||||
|
dsk="cd $HOME/Desktop/ && ls" \
|
||||||
|
prj="cd $HOME/Desktop/projects/ && ls" \
|
||||||
|
doc="cd $HOME/Documents/ && ls" \
|
||||||
|
dow="cd $HOME/Downloads/ && ls" \
|
||||||
|
mus="cd $HOME/Music/ && ls" \
|
||||||
|
prt="cd $HOME/Pictures/Screenshots/ && ls" \
|
||||||
|
bkg="cd $HOME/Pictures/Backgrounds/ && ls" \
|
||||||
|
img="cd $HOME/Pictures/ && ls" \
|
||||||
|
vid="cd $HOME/Videos/ && ls" \
|
||||||
|
|
||||||
|
alias \
|
||||||
|
ls="exa -al --icons --group-directories-first --no-permissions --no-user --time-style=iso --git" \
|
||||||
|
fzf="fzf --cycle --reverse" \
|
||||||
|
diff="diff --color=auto" \
|
||||||
|
grep="grep --color=auto" \
|
||||||
|
calc="bc -l" \
|
||||||
|
cp="cp -iv" \
|
||||||
|
mv="mv -iv" \
|
||||||
|
rm="trash" \
|
||||||
|
vim="nvim" \
|
||||||
|
mgr-all="mgr pacman_upgrade apt_upgrade flatpak_update distrobox_update pip_update configs passmgr" \
|
||||||
|
df-short="df -h | grep -v '\s/dev.*$\|\s/run.*$\|\s/boot.*$'" \
|
||||||
|
qr-png="qrencode -s 16 -o qr.png" \
|
||||||
|
qr="qrencode -t ansiutf8" \
|
||||||
|
clip="xsel -ib" \
|
||||||
|
|
||||||
|
[ -f ~/.config/shell/posix-kit ] && . ~/.config/shell/posix-kit
|
||||||
|
[ -f ~/.config/shell/dwm ] && . ~/.config/shell/dwm
|
||||||
|
|
||||||
|
command -v fetch >/dev/null 2>&1 && fetch min
|
Loading…
Reference in a new issue