blob: 37716f2693ed25de8ec176cbc95a8909f59b3ce1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
# Software list.
# cifs-utils tree s3cmd xclip mc gnupg ripgrep
# jq xmlstarlet tilix fzf hx newsbeuter
# Magical environment variables.
NIX_SHELL_PRESERVE_PROMPT=1
TERM=xterm-256color
EDITOR=hx
# Better prompt.
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
is_inside_nix_shell() {
nix_shell_name="$(basename "$IN_NIX_SHELL" 2>/dev/null)"
if [[ -n "$nix_shell_name" ]]; then
echo " \e[0;36m(nix-shell)\e[0m"
fi
}
export PS1="[\033[38;5;9m\]\u@\h\[$(tput sgr0)\]]$(is_inside_nix_shell)\[\033[33m\]\$(parse_git_branch)\[\033[00m\] \w\[$(tput sgr0)\] \n$ "
# General aliases.
alias c='clear'
alias l='ls -lh'
alias ll='ls -lha'
alias t='tree -L 2'
alias ..='cd ..'
alias h='history'
alias x='exit'
alias grep='grep --color=always'
alias less='less -R'
alias gg='lazygit'
alias server='python3 -m http.server 6969'
# Custom folder jump commands.
alias p='cd ~/Vault/projects'
alias j='cd ~/Junk/current'
alias d='cd ~/Downloads'
alias v='cd ~/Vault'
# Additional path settings.
export PATH=$HOME/Vault/bin:$PATH
export PATH=$HOME/Applications:$PATH
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/go/bin:$PATH
export PATH=$HOME/Android/Sdk/platform-tools:$PATH
export PATH=$HOME/Android/Sdk/tools:$PATH
# History and search.
HISTCONTROL=ignoreboth
shopt -s histappend
export HISTSIZE=
export HISTFILESIZE=
export HISTFILE=~/.bash_history_infinite
PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}"
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
alias hh=hstr
export HSTR_CONFIG=hicolor
if [[ $- =~ .i. ]]; then bind '"\C-h": "\C-a hstr -- \C-j"'; fi
# Useful function. Much wow!
turtle() {
cd ~/Games/Turtle
./start.sh
}
backup() {
VHOME=/home/$USER/Vault
ME=$(whoami)@$(hostname)
mkdir -p $VHOME/dotfiles
cd $VHOME/dotfiles
# Make a copy of dotfiles.
cp /home/$USER/.shenanigans.sh shenanigans.sh
cp /home/$USER/.bash_history_infinite bash_history_infinite
cp /home/$USER/.smbcredentials smbcredentials
cp /home/$USER/.gitconfig gitconfig
cp /home/$USER/.s3cfg s3cfg
cp /home/$USER/.vimrc vimrc
cp /home/$USER/.config/emacs/init.el init.el
cp /home/$USER/.config/helix/config.toml config.toml
cp /home/$USER/.newsboat/urls urls
cp /home/$USER/.newsboat/cache.db cache.db
cp -Rf /home/$USER/.ssh/ ./
cp -Rf /home/$USER/.aws/ ./
dconf dump /com/gexperts/Tilix/ > tilix.dconf
# dconf load /com/gexperts/Tilix/ < tilix.dconf
# Backup screenshots.
mkdir -p $VHOME/pictures
cp -rfn ~/Pictures/* $VHOME/pictures/
# Backup screencasts.
mkdir -p $VHOME/videos
cp -rfn ~/Videos/* $VHOME/videos/
# Backup Turtle WoW stuff.
mkdir -p $VHOME/turtle-wow
cp -rfn ~/Games/Turtle/Interface $VHOME/turtle-wow/
cp -rfn ~/Games/Turtle/WTF $VHOME/turtle-wow/
cp -rfn ~/Games/Turtle/start.sh $VHOME/turtle-wow/
# Sync with NAS.
rsync -azv \
--exclude '.venv/' \
--exclude '.git/' \
--exclude '.import/' \
--exclude '.godot/' \
--exclude 'node_modules/' \
--delete \
$VHOME/ /media/Void/Backup/$ME/
# Sync to off-site DO S3 bucket.
s3cmd sync \
--host-bucket=vault \
--delete-removed \
--exclude 'node_modules/*' \
--exclude '.git/*' \
--exclude '.import/*' \
--exclude '.godot/*' \
--exclude '.venv/*' \
$VHOME/ s3://vault/backup/$ME/
# Add to log file.
echo `date +"%D %T"` >> ~/.vault.log
}
|