Update dotfiles/.config/bashtop/bashtop.cfg, dotfiles/.config/inkscape/palettes/flat-remix-palette.gpl, dotfiles/.config/qt5ct/qt5ct.conf, dotfiles/.config/tilix/schemes/Flat-Remix.json, dotfiles/.local/share/qt5ct/colors/flat-remix-dark.conf, dotfiles/.local/share/qt5ct/colors/flat-remix-light.conf, dotfiles/.local/share/qt5ct/qss/fusion-simple-scrollbar.qss, dotfiles/.bashrc, .gitattributes, dotfiles/.gitconfig, dotfiles/.zshrc, dotfiles/.local/p10k.zsh, dotfiles/.local/antigen.zsh, dotfiles/.local/fzf.zsh, dotfiles/.profile
This commit is contained in:
parent
2ccfd01e67
commit
afa3ed3a0a
15 changed files with 4837 additions and 1 deletions
4
.gitattributes
vendored
Normal file
4
.gitattributes
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
*.gif diff=image
|
||||
*.jpg diff=image
|
||||
*.png diff=image
|
||||
*.svg diff=image
|
186
dotfiles/.bashrc
186
dotfiles/.bashrc
|
@ -0,0 +1,186 @@
|
|||
### Fig
|
||||
[[ -f "$HOME/.fig/shell/bashrc.pre.bash" ]] && . "$HOME/.fig/shell/bashrc.pre.bash"
|
||||
|
||||
### ~/.profile
|
||||
[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
|
||||
|
||||
COLOR_SCHEME=dark # dark/light
|
||||
|
||||
alias ..='cd ..'
|
||||
alias cp='cp -v'
|
||||
alias rm='rm -I'
|
||||
alias mv='mv -iv'
|
||||
alias ln='ln -sriv'
|
||||
alias xclip='xclip -selection c'
|
||||
command -v vim > /dev/null && alias vi='vim'
|
||||
|
||||
### Colorize commands
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
alias diff='diff --color=auto'
|
||||
alias ip='ip --color=auto'
|
||||
alias pacman='pacman --color=auto'
|
||||
|
||||
### LS & TREE
|
||||
alias ll='ls -la'
|
||||
alias la='ls -A'
|
||||
alias l='ls -F'
|
||||
command -v lsd > /dev/null && alias ls='lsd --group-dirs first' && \
|
||||
alias tree='lsd --tree'
|
||||
command -v colorls > /dev/null && alias ls='colorls --sd --gs' && \
|
||||
alias tree='colorls --tree'
|
||||
|
||||
### CAT & LESS
|
||||
command -v bat > /dev/null && \
|
||||
alias bat='bat --theme=ansi' && \
|
||||
alias cat='bat --pager=never' && \
|
||||
alias less='bat'
|
||||
# in debian the command is batcat
|
||||
command -v batcat > /dev/null && \
|
||||
alias batcat='batcat --theme=ansi' && \
|
||||
alias cat='batcat --pager=never' && \
|
||||
alias less='batcat'
|
||||
|
||||
### TOP
|
||||
command -v htop > /dev/null && alias top='htop'
|
||||
command -v gotop > /dev/null && alias top='gotop -p $([ "$COLOR_SCHEME" = "light" ] && echo "-c default-dark")'
|
||||
command -v ytop > /dev/null && alias top='ytop -p $([ "$COLOR_SCHEME" = "light" ] && echo "-c default-dark")'
|
||||
command -v btm > /dev/null && alias top='btm $([ "$COLOR_SCHEME" = "light" ] && echo "--color default-light")'
|
||||
# themes for light/dark color-schemes inside ~/.config/bashtop; Press ESC to open the menu and change the theme
|
||||
command -v bashtop > /dev/null && alias top='bashtop'
|
||||
command -v bpytop > /dev/null && alias top='bpytop'
|
||||
|
||||
### Settings
|
||||
shopt -s globstar
|
||||
shopt -s histappend
|
||||
shopt -s checkwinsize
|
||||
|
||||
HISTCONTROL=ignoreboth
|
||||
HISTSIZE=5000
|
||||
HISTFILESIZE=5000
|
||||
HISTFILE=~/.bash_history
|
||||
|
||||
# Bash Completion
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]
|
||||
then
|
||||
source /usr/share/bash-completion/bash_completion
|
||||
elif [ -f /etc/bash_completion ]
|
||||
then
|
||||
source /etc/bash_completion
|
||||
fi
|
||||
|
||||
# Add new line before prompt
|
||||
PROMPT_COMMAND="PROMPT_COMMAND=echo"
|
||||
|
||||
# Prompt
|
||||
PS1='\[\033[;32m\]┌──(\[\033[1;34m\]\u@\h\[\033[;32m\])-[\[\033[0;1m\]\w\[\033[;32m\]]\n\[\033[;32m\]└─\[\033[1;34m\]\$\[\033[0m\] '
|
||||
|
||||
### Miscellaneous
|
||||
export VISUAL=vim
|
||||
export EDITOR=$VISUAL
|
||||
|
||||
# enable terminal linewrap
|
||||
setterm -linewrap on 2> /dev/null
|
||||
|
||||
# colorize man pages
|
||||
export LESS_TERMCAP_mb=$'\e[1;32m'
|
||||
export LESS_TERMCAP_md=$'\e[1;32m'
|
||||
export LESS_TERMCAP_me=$'\e[0m'
|
||||
export LESS_TERMCAP_se=$'\e[0m'
|
||||
export LESS_TERMCAP_so=$'\e[01;33m'
|
||||
export LESS_TERMCAP_ue=$'\e[0m'
|
||||
export LESS_TERMCAP_us=$'\e[1;4;31m'
|
||||
export LESSHISTFILE=-
|
||||
|
||||
# colorize ls
|
||||
[ -x /usr/bin/dircolors ] && eval "$(dircolors -b)"
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty)
|
||||
PS1="\[\e]0;\u@\h: \w\a\]$PS1"
|
||||
;;
|
||||
esac
|
||||
|
||||
### Functions
|
||||
glog() {
|
||||
setterm -linewrap off 2> /dev/null
|
||||
|
||||
git --no-pager log --all --color=always --graph --abbrev-commit --decorate --date-order \
|
||||
--format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' "$@" \
|
||||
| sed -E \
|
||||
-e 's/\|(\x1b\[[0-9;]*m)+\\(\x1b\[[0-9;]*m)+ /├\1─╮\2/' \
|
||||
-e 's/(\x1b\[[0-9;]+m)\|\x1b\[m\1\/\x1b\[m /\1├─╯\x1b\[m/' \
|
||||
-e 's/\|(\x1b\[[0-9;]*m)+\\(\x1b\[[0-9;]*m)+/├\1╮\2/' \
|
||||
-e 's/(\x1b\[[0-9;]+m)\|\x1b\[m\1\/\x1b\[m/\1├╯\x1b\[m/' \
|
||||
-e 's/╮(\x1b\[[0-9;]*m)+\\/╮\1╰╮/' \
|
||||
-e 's/╯(\x1b\[[0-9;]*m)+\//╯\1╭╯/' \
|
||||
-e 's/(\||\\)\x1b\[m (\x1b\[[0-9;]*m)/╰╮\2/' \
|
||||
-e 's/(\x1b\[[0-9;]*m)\\/\1╮/g' \
|
||||
-e 's/(\x1b\[[0-9;]*m)\//\1╯/g' \
|
||||
-e 's/^\*|(\x1b\[m )\*/\1⎬/g' \
|
||||
-e 's/(\x1b\[[0-9;]*m)\|/\1│/g' \
|
||||
| command less -r $([ $# -eq 0 ] && echo "+/[^/]HEAD")
|
||||
|
||||
setterm -linewrap on 2> /dev/null
|
||||
}
|
||||
|
||||
find() {
|
||||
if [ $# = 1 ]
|
||||
then
|
||||
command find . -iname "*$@*"
|
||||
else
|
||||
command find "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
rga-fzf() {
|
||||
RG_PREFIX="rga --files-with-matches"
|
||||
local file
|
||||
file="$(
|
||||
FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \
|
||||
fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \
|
||||
--phony -q "$1" \
|
||||
--bind "change:reload:$RG_PREFIX {q}" \
|
||||
--preview-window="70%:wrap"
|
||||
)" &&
|
||||
echo "opening $file" &&
|
||||
xdg-open "$file"
|
||||
}
|
||||
|
||||
### fd
|
||||
[ -e /usr/local/src/fd/fd ] && source /usr/local/src/fd/autocomplete/fd.bash-completion
|
||||
|
||||
### Hyperfine
|
||||
[ -e /usr/local/src/hyperfine/hyperfine ] && source /usr/local/src/hyperfine/autocomplete/hyperfine.bash-completion
|
||||
|
||||
### mcfly
|
||||
export MCFLY_KEY_SCHEME=vim
|
||||
[ -e /usr/local/src/mcfly/mcfly ] && eval "$(mcfly init bash)"
|
||||
|
||||
### wp-cli
|
||||
[ -e /usr/local/bin/wp ] && source /usr/local/src/wp-cli/wp-completion.bash
|
||||
|
||||
### direnv
|
||||
[ -e /usr/local/bin/direnv ] && eval "$(direnv hook bash)"
|
||||
|
||||
### Googler
|
||||
[ -e /usr/local/bin/googler ] && source /usr/local/src/googler/googler-completion.bash
|
||||
[ -e /usr/local/bin/googler ] && source /usr/local/src/googler/googler_at
|
||||
|
||||
### FZF
|
||||
[ -f ~/.local/fzf.bash ] && source ~/.local/fzf.bash
|
||||
|
||||
### Google Cloud SDK
|
||||
if type brew &> /dev/null; then
|
||||
[[ ! -f "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.bash.inc" ]] || source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.bash.inc"
|
||||
[[ ! -f "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.bash.inc" ]] || source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.bash.inc"
|
||||
fi
|
||||
|
||||
### zoxide
|
||||
type zoxide &> /dev/null && eval "$(zoxide init bash)"
|
||||
|
||||
### Fig
|
||||
[[ -f "$HOME/.fig/shell/bashrc.post.bash" ]] && . "$HOME/.fig/shell/bashrc.post.bash"
|
1
dotfiles/.config/bashtop/bashtop.cfg
Normal file
1
dotfiles/.config/bashtop/bashtop.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
color_theme="flat-remix"
|
143
dotfiles/.config/inkscape/palettes/flat-remix-palette.gpl
Normal file
143
dotfiles/.config/inkscape/palettes/flat-remix-palette.gpl
Normal file
|
@ -0,0 +1,143 @@
|
|||
GIMP Palette
|
||||
Name: flat-remix-palette
|
||||
#
|
||||
255 255 255 #FFFFFF
|
||||
230 230 230 #E6E6E6
|
||||
204 204 204 #CCCCCC
|
||||
179 179 179 #B3B3B3
|
||||
153 153 153 #999999
|
||||
128 128 128 #808080
|
||||
102 102 102 #666666
|
||||
76 76 76 #4C4C4C
|
||||
51 51 51 #333333
|
||||
25 25 25 #191919
|
||||
0 0 0 #000000
|
||||
|
||||
115 118 128 #737680
|
||||
96 99 110 #60636E
|
||||
76 79 92 #4C4F5C
|
||||
56 60 74 #383C4A
|
||||
51 54 67 #333643
|
||||
45 48 59 #2D303B
|
||||
39 42 52 #272A34
|
||||
|
||||
189 151 119 #BD9777
|
||||
180 137 100 #B48964
|
||||
170 122 80 #AA7A50
|
||||
161 107 61 #A16B3D
|
||||
145 97 55 #916137
|
||||
129 86 49 #815631
|
||||
113 75 43 #714B2B
|
||||
|
||||
149 129 113 #958171
|
||||
134 112 93 #86705D
|
||||
119 94 73 #775E49
|
||||
104 76 53 #684C35
|
||||
94 69 48 #5E4530
|
||||
83 61 42 #533D2A
|
||||
73 53 37 #493525
|
||||
|
||||
174 122 196 #AE7AC4
|
||||
163 104 188 #A368BC
|
||||
151 85 179 #9755B3
|
||||
140 66 171 #8C42AB
|
||||
126 60 154 #7E3C9A
|
||||
112 53 137 #703589
|
||||
98 46 120 #622E78
|
||||
|
||||
205 92 129 #CD5C81
|
||||
198 69 112 #C64570
|
||||
191 46 94 #BF2E5E
|
||||
184 23 76 #B8174C
|
||||
166 21 69 #A61545
|
||||
147 18 61 #93123D
|
||||
129 16 53 #811035
|
||||
|
||||
225 94 94 #E15E5E
|
||||
221 71 71 #DD4747
|
||||
216 48 48 #D83030
|
||||
212 25 25 #D41919
|
||||
191 23 23 #BF1717
|
||||
170 20 20 #AA1414
|
||||
149 18 18 #951212
|
||||
|
||||
254 113 113 #FE7171
|
||||
253 93 93 #FD5D5D
|
||||
253 73 73 #FD4949
|
||||
253 53 53 #FD3535
|
||||
228 48 48 #E43030
|
||||
202 42 42 #CA2A2A
|
||||
178 37 37 #B22525
|
||||
|
||||
254 164 76 #FEA44C
|
||||
253 151 51 #FD9733
|
||||
253 138 25 #FD8A19
|
||||
253 125 0 #FD7D00
|
||||
|
||||
255 216 110 #FFD86E
|
||||
255 210 89 #FFD259
|
||||
255 204 68 #FFCC44
|
||||
255 199 48 #FFC730
|
||||
|
||||
250 232 149 #FAE895
|
||||
249 229 134 #F9E586
|
||||
249 225 119 #F9E177
|
||||
248 222 104 #F8DE68
|
||||
|
||||
84 189 142 #54BD8E
|
||||
61 180 126 #3DB47E
|
||||
36 170 110 #24AA6E
|
||||
12 161 94 #0CA15E
|
||||
11 145 85 #0B9155
|
||||
10 129 75 #0A814B
|
||||
8 113 66 #087142
|
||||
|
||||
94 189 171 #5EBDAB
|
||||
71 180 159 #47B49F
|
||||
48 170 147 #30AA93
|
||||
25 161 135 #19A187
|
||||
23 145 122 #17917A
|
||||
20 129 108 #14816C
|
||||
18 113 95 #12715F
|
||||
|
||||
101 207 212 #65CFD4
|
||||
79 200 206 #4FC8CE
|
||||
57 193 200 #39C1C8
|
||||
35 186 194 #23BAC2
|
||||
32 168 175 #20A8AF
|
||||
28 149 155 #1C959B
|
||||
25 131 136 #198388
|
||||
|
||||
128 198 237 #80C6ED
|
||||
110 190 235 #6EBEEB
|
||||
92 182 232 #5CB6E8
|
||||
74 174 230 #4AAEE6
|
||||
67 157 207 #439DCF
|
||||
59 139 184 #3B8BB8
|
||||
52 122 161 #347AA1
|
||||
|
||||
114 162 244 #72A2F4
|
||||
94 149 243 #5E95F3
|
||||
74 136 241 #4A88F1
|
||||
54 123 240 #367BF0
|
||||
49 111 216 #316FD8
|
||||
43 98 192 #2B62C0
|
||||
38 86 168 #2656A8
|
||||
|
||||
103 139 200 #678BC8
|
||||
81 123 193 #517BC1
|
||||
59 106 185 #3B6AB9
|
||||
38 90 177 #265AB1
|
||||
34 81 160 #2251A0
|
||||
30 72 142 #1E488E
|
||||
27 63 124 #1B3F7C
|
||||
|
||||
91 115 157 #5B739D
|
||||
68 96 143 #44608F
|
||||
44 76 129 #2C4C81
|
||||
21 56 115 #153873
|
||||
19 51 104 #133368
|
||||
17 45 92 #112D5C
|
||||
15 39 81 #0F2751
|
||||
|
||||
|
13
dotfiles/.config/qt5ct/qt5ct.conf
Normal file
13
dotfiles/.config/qt5ct/qt5ct.conf
Normal file
|
@ -0,0 +1,13 @@
|
|||
[Appearance]
|
||||
custom_palette=true
|
||||
icon_theme=Flat-Remix-Blue-Dark
|
||||
color_scheme_path=/usr/share/qt5ct/colors/flat-remix-light.conf
|
||||
standard_dialogs=default
|
||||
style=Fusion
|
||||
|
||||
[Interface]
|
||||
stylesheets=/usr/share/qt5ct/qss/fusion-simple-scrollbar.qss
|
||||
|
||||
[Fonts]
|
||||
fixed=@Variant(\0\0\0@\0\0\0\x12\0\x46\0i\0r\0\x61\0 \0\x43\0o\0\x64\0\x65@$\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x39\x10)
|
||||
general=@Variant(\0\0\0@\0\0\0\x12\0\x43\0\x61\0n\0t\0\x61\0r\0\x65\0l\0l@&\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
|
35
dotfiles/.config/tilix/schemes/Flat-Remix.json
Normal file
35
dotfiles/.config/tilix/schemes/Flat-Remix.json
Normal file
|
@ -0,0 +1,35 @@
|
|||
{
|
||||
"background-color": "#272A34",
|
||||
"badge-color": "#AC7EA8",
|
||||
"bold-color": "#FFFFFF",
|
||||
"comment": "",
|
||||
"cursor-background-color": "#000000",
|
||||
"cursor-foreground-color": "#FFFFFF",
|
||||
"foreground-color": "#FFFFFF",
|
||||
"highlight-background-color": "#000000",
|
||||
"highlight-foreground-color": "#FFFFFF",
|
||||
"name": "Flat-Remix",
|
||||
"palette": [
|
||||
"#1F2229",
|
||||
"#D41919",
|
||||
"#5EBDAB",
|
||||
"#FEA44C",
|
||||
"#367bf0",
|
||||
"#9755b3",
|
||||
"#49AEE6",
|
||||
"#E6E6E6",
|
||||
"#198388",
|
||||
"#EC0101",
|
||||
"#47D4B9",
|
||||
"#FF8A18",
|
||||
"#277FFF",
|
||||
"#962ac3",
|
||||
"#05A1F7",
|
||||
"#FFFFFF"
|
||||
],
|
||||
"use-badge-color": false,
|
||||
"use-bold-color": false,
|
||||
"use-cursor-color": false,
|
||||
"use-highlight-color": false,
|
||||
"use-theme-colors": true
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
[user]
|
||||
email =
|
||||
name =
|
||||
|
||||
[color]
|
||||
diff = auto
|
||||
status = auto
|
||||
branch = auto
|
||||
interactive = auto
|
||||
ui = true
|
||||
pager = true
|
||||
[credential]
|
||||
helper = cache --timeout=3600
|
||||
[pull]
|
||||
rebase = true
|
||||
[core]
|
||||
attributesfile = ~/.gitattributes
|
||||
[diff "image"]
|
||||
command = compare $2 $1 png:- | montage -geometry +4+4 $2 - $1 png:- | display -title \"$1\" -
|
2057
dotfiles/.local/antigen.zsh
Normal file
2057
dotfiles/.local/antigen.zsh
Normal file
File diff suppressed because it is too large
Load diff
13
dotfiles/.local/fzf.zsh
Normal file
13
dotfiles/.local/fzf.zsh
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Setup fzf
|
||||
# ---------
|
||||
if [[ ! "$PATH" == */usr/local/opt/fzf/bin* ]]; then
|
||||
export PATH="${PATH:+${PATH}:}/usr/local/opt/fzf/bin"
|
||||
fi
|
||||
|
||||
# Auto-completion
|
||||
# ---------------
|
||||
[[ $- == *i* ]] && source "/usr/local/opt/fzf/shell/completion.zsh" 2> /dev/null
|
||||
|
||||
# Key bindings
|
||||
# ------------
|
||||
source "/usr/local/opt/fzf/shell/key-bindings.zsh"
|
1645
dotfiles/.local/p10k.zsh
Normal file
1645
dotfiles/.local/p10k.zsh
Normal file
File diff suppressed because it is too large
Load diff
4
dotfiles/.local/share/qt5ct/colors/flat-remix-dark.conf
Normal file
4
dotfiles/.local/share/qt5ct/colors/flat-remix-dark.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ffffffff, #ff1c2029, #ff3c4150, #ff21242d, #ff050609, #ff15171e, #ffffffff, #ffffffff, #ffffffff, #ff272a34, #ff23252e, #ffe7e4e0, #ff2777ff, #fff9f9f9, #ff2777ff, #ff2777ff, #ff21242d, #ffffffff, #ff23252e, #ffffffff, #80ffffff
|
||||
disabled_colors=#ff808080, #ff1c2029, #ff3c4150, #ff21242d, #ff050609, #ff15171e, #ff808080, #ffffffff, #ff808080, #ff272a34, #ff23252e, #ffe7e4e0, #ff2777ff, #ff808080, #ff2777ff, #ff2777ff, #ff21242d, #ffffffff, #ff23252e, #ffffffff, #80ffffff
|
||||
inactive_colors=#ffffffff, #ff1c2029, #ff3c4150, #ff21242d, #ff050609, #ff15171e, #ffffffff, #ffffffff, #ffffffff, #ff272a34, #ff23252e, #ffe7e4e0, #ff2777ff, #fff9f9f9, #ff2777ff, #ff2777ff, #ff21242d, #ffffffff, #ff23252e, #ffffffff, #80ffffff
|
4
dotfiles/.local/share/qt5ct/colors/flat-remix-light.conf
Normal file
4
dotfiles/.local/share/qt5ct/colors/flat-remix-light.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
[ColorScheme]
|
||||
active_colors=#ff000000, #ffffffff, #ffffffff, #ffffffff, #ffffffff, #ffffffff, #ff000000, #ff0a0a0a, #ff0a0a0a, #fffafafa, #ffffffff, #ffe7e4e0, #ff2777ff, #ffffffff, #ff2777ff, #ff2777ff, #fffafafa, #ffffffff, #ffffffff, #ff050505, #80000000
|
||||
disabled_colors=#ff808080, #ffffffff, #ffffffff, #ffffffff, #ffffffff, #ffffffff, #ff808080, #ff0a0a0a, #ff808080, #fffafafa, #ffffffff, #ffe7e4e0, #ff2777ff, #ff808080, #ff2777ff, #ff2777ff, #fffafafa, #ffffffff, #ffffffff, #ff050505, #80000000
|
||||
inactive_colors=#ff000000, #ffffffff, #ffffffff, #ffffffff, #ffffffff, #ffffffff, #ff000000, #ff0a0a0a, #ff0a0a0a, #fffafafa, #ffffffff, #ffe7e4e0, #ff2777ff, #ffffffff, #ff2777ff, #ff2777ff, #fffafafa, #ffffffff, #ffffffff, #ff050505, #80000000
|
29
dotfiles/.local/share/qt5ct/qss/fusion-simple-scrollbar.qss
Normal file
29
dotfiles/.local/share/qt5ct/qss/fusion-simple-scrollbar.qss
Normal file
|
@ -0,0 +1,29 @@
|
|||
QScrollBar { background: transparent; }
|
||||
|
||||
QScrollBar:vertical { max-width: 8px; }
|
||||
QScrollBar:horizontal { max-height: 8px; }
|
||||
|
||||
QScrollBar::handle {
|
||||
padding: 0;
|
||||
margin: 2px;
|
||||
border-radius: 2px;
|
||||
border: 0;
|
||||
background: rgba(127, 127, 127, .5);
|
||||
min-height: 20px;
|
||||
min-width: 20px;
|
||||
}
|
||||
QScrollBar::handle:hover { background: rgba(127, 127, 127, 1); }
|
||||
QScrollBar::handle:pressed { background: palette(highlight); }
|
||||
|
||||
QScrollBar::add-line , QScrollBar::sub-line {
|
||||
height: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
QScrollBar::up-arrow, QScrollBar::down-arrow {
|
||||
border: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
QScrollBar::add-page, QScrollBar::sub-page { background: none; }
|
|
@ -1,7 +1,309 @@
|
|||
# Add items to PATH
|
||||
# Easy file sharing from the command line, using transfer.sh
|
||||
transfer() {
|
||||
if [ $# -eq 0 ]; then
|
||||
echo -e "No arguments specified.\nUsage:\n transfer <file|directory>\n ... | transfer <file_name>">&2;
|
||||
return 1;
|
||||
fi;
|
||||
if tty -s;then
|
||||
file="$1";
|
||||
file_name=$(basename "$file");
|
||||
if [ ! -e "$file" ];then
|
||||
echo "$file: No such file or directory">&2;
|
||||
return 1;
|
||||
fi;
|
||||
if [ -d "$file" ];then
|
||||
file_name="$file_name.zip" ,;
|
||||
(cd "$file"&&zip -r -q - .)|curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null,;
|
||||
else
|
||||
cat "$file"|curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null;
|
||||
fi;
|
||||
else
|
||||
file_name=$1;
|
||||
curl --progress-bar --upload-file "-" "https://transfer.sh/$file_name"|tee /dev/null;
|
||||
fi;
|
||||
}
|
||||
|
||||
# Install WebDriverAgent on iOS device
|
||||
appiumwebdriver() {
|
||||
read -p "Enter the UDID of the device you wish to install WebDriverAgent on: " UDID_INPUT
|
||||
mkdir -p Resources/WebDriverAgent.bundle
|
||||
bash ./Scripts/bootstrap.sh -d
|
||||
cd /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent
|
||||
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=${UDID_INPUT}' test
|
||||
}
|
||||
|
||||
# Change directories and view contents at the same time
|
||||
cl() {
|
||||
DIR="$*";
|
||||
# if no DIR given, go home
|
||||
if [ $# -lt 1 ]; then
|
||||
DIR=$HOME;
|
||||
fi;
|
||||
builtin cd "${DIR}" && \
|
||||
# use your preferred ls command
|
||||
ls -F --color=auto
|
||||
}
|
||||
|
||||
# Open bash with local Docker file
|
||||
dockerssh() {
|
||||
if [ -z "$1" ]; then
|
||||
echo "Supply a Docker container name in order for this command to work."
|
||||
echo "Usage: dockerssh <container_name>"
|
||||
else
|
||||
docker exec -it $1 /bin/bash
|
||||
fi
|
||||
}
|
||||
|
||||
# Checks status of a website on downforeveryoneorjustme.com
|
||||
down4me() {
|
||||
curl -s "http://www.downforeveryoneorjustme.com/$1" | sed '/just you/!d;s/<[^>]*>//g';
|
||||
}
|
||||
|
||||
# GAM - a command-line tool for Google Workspace. This alias will run gam or install gam if it is not already installed.
|
||||
gam() {
|
||||
if type gam &> /dev/null; then
|
||||
gam "$@"
|
||||
else
|
||||
bash <(curl -s -S -L https://git.io/install-gam)
|
||||
fi
|
||||
}
|
||||
|
||||
# Opens current repository in browser
|
||||
gitopen() {
|
||||
git remote -v | head -n 1 | awk -F "@" '{print $2}' | awk -F " " '{print $1}' | sed 's/:/\//g' | sed 's/.git//g' | awk '{print "http://"$1}' | xargs open
|
||||
}
|
||||
|
||||
# Open Mac OS X desktop on a Linux machine
|
||||
macosx() {
|
||||
docker run -it --device /dev/kvm -p 50922:10022 -v /tmp/.X11-unix:/tmp/.X11-unix -e "DISPLAY=${DISPLAY:-:0.0}" sickcodes/docker-osx:big-sur
|
||||
}
|
||||
|
||||
# Used to provision machines using Ansible
|
||||
provision () {
|
||||
if [ -z "$1" ]; then
|
||||
# Display usage if no parameters are given
|
||||
echo "Usage: provision <ansible_inventory_name>"
|
||||
echo "If an inventory name of 'test' is provided then the inventory should exist in inventories/test.yml"
|
||||
return 1
|
||||
else
|
||||
cd ~/Playbooks
|
||||
ansible-galaxy install -r requirements.yml
|
||||
if [ -z "$2" ]; then
|
||||
ansible-playbook --ask-vault-pass -i inventories/"$1".yml main.yml
|
||||
else
|
||||
ansible-playbook --ask-vault-pass -i inventories/"$1".yml "$2".yml
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Generate a random string of X length
|
||||
randomstring() {
|
||||
if [ -z "$1" ]; then
|
||||
head /dev/urandom | tr -dc A-Za-z0-9 | head -c $1 ; echo ''
|
||||
else
|
||||
echo "Pass the number of characters you would like the string to be. Example: randomstring 14"
|
||||
fi
|
||||
}
|
||||
|
||||
# Launch rclone admin GUI
|
||||
rclone-gui() {
|
||||
rclone rcd --rc-web-gui --rc-user=admin --rc-pass=pass --rc-serve
|
||||
}
|
||||
|
||||
# Reset Docker to factory settings
|
||||
resetdocker() {
|
||||
set +e
|
||||
CONTAINER_COUNT=$(docker ps -a -q | wc -l)
|
||||
if [ "$CONTAINER_COUNT" -gt 0 ]; then
|
||||
docker stop $(docker ps -a -q)
|
||||
docker rm $(docker ps -a -q)
|
||||
fi
|
||||
VOLUME_COUNT=$(docker volume ls -q | wc -l)
|
||||
if [ "$VOLUME_COUNT" -gt 0 ]; then
|
||||
docker volume rm $(docker volume ls -q)
|
||||
fi
|
||||
NETWORK_COUNT=$(docker network ls -q | wc -l)
|
||||
if [ "$NETWORK_COUNT" -gt 0 ]; then
|
||||
docker network rm $(docker network ls -q)
|
||||
fi
|
||||
docker system prune -a --force
|
||||
}
|
||||
|
||||
# Source: https://itnext.io/bash-aliases-are-awesome-8a76aecc96ab
|
||||
# Type ".. 5" to cd .. 5 times
|
||||
..() {
|
||||
N=$(($1))
|
||||
if [ $N -lt 1 ]; then
|
||||
N=1
|
||||
fi
|
||||
while ((N)); do
|
||||
cd ..
|
||||
let N-=1
|
||||
done;
|
||||
}
|
||||
|
||||
### Aliases
|
||||
|
||||
# Create an Authelia password hash
|
||||
alias autheliapassword='docker run authelia/authelia:latest authelia hash-password'
|
||||
|
||||
# Shows IP addresses that are currently banned by fail2ban
|
||||
alias banned='sudo zgrep "Ban" /var/log/fail2ban.log*'
|
||||
|
||||
# Removes all Ansible roles saved in ~/.ansible
|
||||
alias clearroles='rm -rf ~/.ansible/roles/*'
|
||||
|
||||
alias connections='nm-connection-editor'
|
||||
|
||||
# Make copy command verbose
|
||||
alias cp='cp -v'
|
||||
|
||||
# Copies with a progress bar
|
||||
alias cpv='rsync -ah --info=progress2'
|
||||
|
||||
# Reload docker-compose.yml
|
||||
alias docker-reboot='docker-compose stop && docker-compose up -d'
|
||||
|
||||
# Download a file
|
||||
alias download='curl --continue-at - --location --progress-bar --remote-name --remote-time'
|
||||
|
||||
# Download a website
|
||||
alias downloadsite='wget --mirror -p --convert-links -P'
|
||||
|
||||
# Flush DNS
|
||||
alias flushdns='sudo systemd-resolve --flush-caches && sudo systemd-resolve --statistics'
|
||||
|
||||
# Get the possible GRUB resolutions
|
||||
alias grubresolutions='sudo hwinfo --framebuffer'
|
||||
|
||||
# Execute git command with sudo priviledges while retaining .gitconfig
|
||||
alias gsudo='sudo git -c "include.path="${XDG_CONFIG_DIR:-$HOME/.config}/git/config\" -c \"include.path=$HOME/.gitconfig\"'
|
||||
|
||||
# Create hashed password for Ansible user creation
|
||||
alias hashpassword='mkpasswd --method=sha-512'
|
||||
|
||||
# Show full output when using ls
|
||||
alias ls='ls -AlhF --color=auto'
|
||||
|
||||
# Create parent directories automatically
|
||||
alias mkdir='mkdir -pv'
|
||||
|
||||
# Make mount command output readable
|
||||
alias mount='mount | column -t'
|
||||
|
||||
# Make mv command verbose
|
||||
alias mv='mv -v'
|
||||
|
||||
# Show IP address
|
||||
alias myip='curl http://ipecho.net/plain; echo'
|
||||
|
||||
# Shows local IP addresses
|
||||
alias mylocalip="ifconfig | grep -Eo 'inet (addr:|adr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'"
|
||||
|
||||
# Show open ports
|
||||
alias ports='sudo netstat -tulanp'
|
||||
|
||||
# Shuts down the computer, skipping the shutdown scripts
|
||||
alias poweroff='sudo /sbin/poweroff'
|
||||
|
||||
# Open the Rclone web GUI
|
||||
alias rclonegui='rclone rcd --rc-web-gui'
|
||||
|
||||
# Reboot the computer
|
||||
alias reboot='sudo /sbin/reboot'
|
||||
|
||||
# Make rm command verbose
|
||||
alias rm='rm -vi'
|
||||
|
||||
# Launch the Python Simple HTTP Server
|
||||
alias serve='python -m SimpleHTTPServer'
|
||||
|
||||
# Generate a SHA1 digest
|
||||
alias sha1='openssl sha1'
|
||||
|
||||
# Shutdown the computer
|
||||
alias shutdown='sudo /sbin/shutdown'
|
||||
|
||||
# Speed test
|
||||
alias speedtest='wget -O /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip'
|
||||
|
||||
# Shortcut for config file
|
||||
alias sshconfig='${EDITOR:code} ~/.ssh/config'
|
||||
|
||||
# Pastebin
|
||||
alias sprunge='curl -F "sprunge=<-" http://sprunge.us'
|
||||
|
||||
# Alias for sudo vim
|
||||
alias svim='sudo vim'
|
||||
|
||||
# Disable Tor for current shell
|
||||
alias toroff='source torsocks off'
|
||||
|
||||
# Enable Tor for current shell
|
||||
alias toron='source torsocks on'
|
||||
|
||||
# Test Tor connection
|
||||
alias tortest='curl --socks5-hostname 127.0.0.1:9050 --silent https://check.torproject.org/ | head -25'
|
||||
|
||||
# Unban IP address (e.g. unban 10.14.24.14)
|
||||
alias unban='sudo fail2ban-client set sshd unbanip'
|
||||
|
||||
# Recursively encrypts files using Ansible Vault
|
||||
alias unvaultdir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault decrypt'
|
||||
|
||||
# Alias for updating software
|
||||
alias update='sudo apt-get update && sudo apt-get upgrade'
|
||||
|
||||
# Sets v as an alias for vim
|
||||
alias v='vim'
|
||||
|
||||
# Recursively encrypts files using Ansible Vault
|
||||
alias vaultdir='find . -type f -printf "%h/\"%f\" " | xargs ansible-vault encrypt'
|
||||
|
||||
# Shows nice looking report of weather
|
||||
alias weather='curl -A curl wttr.in'
|
||||
|
||||
# Change .wget-hsts file location
|
||||
alias wget="wget --hsts-file ~/.config/.wget-hsts"
|
||||
|
||||
### .local/bin
|
||||
export PATH="$PATH:$HOME/.local/bin"
|
||||
|
||||
### Cargo
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
if type brew &> /dev/null; then
|
||||
### Go
|
||||
export GOPATH="${HOME}/.local/go"
|
||||
export GOROOT="$(brew --prefix golang)/libexec"
|
||||
export PATH="$PATH:${GOPATH}/bin:${GOROOT}/bin"
|
||||
|
||||
### ASDF
|
||||
. $(brew --prefix asdf)/libexec/asdf.sh
|
||||
fi
|
||||
|
||||
### Android Studio
|
||||
export PATH="$PATH:~/Library/Android/sdk/cmdline-tools/latest/bin"
|
||||
export PATH="$PATH:~/Library/Android/sdk/platform-tools"
|
||||
export PATH="$PATH:~/Library/Android/sdk/tools/bin"
|
||||
export PATH="$PATH:~/Library/Android/sdk/tools"
|
||||
|
||||
### gitfuzzy
|
||||
export PATH="/usr/local/src/gitfuzzy/bin:$PATH"
|
||||
|
||||
### Poetry
|
||||
export PATH="$HOME/.poetry/bin:$PATH"
|
||||
|
||||
### Volta
|
||||
export VOLTA_HOME="$HOME/.volta"
|
||||
export PATH="$VOLTA_HOME/bin:$PATH"
|
||||
|
||||
### SDKMan
|
||||
export SDKMAN_DIR="$HOME/.local/sdkman"
|
||||
[[ -s "$HOME/.local/sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.local/sdkman/bin/sdkman-init.sh"
|
||||
|
||||
# Running this will update GPG to point to the current YubiKey
|
||||
alias yubikey-gpg-stub='gpg-connect-agent "scd serialno" "learn --force" /bye'
|
||||
|
||||
### Vagrant
|
||||
export VAGRANT_HOME="$HOME/.local/vagrant.d"
|
||||
|
|
381
dotfiles/.zshrc
381
dotfiles/.zshrc
|
@ -0,0 +1,381 @@
|
|||
### Powerline
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
### Fig
|
||||
[[ -f "$HOME/.fig/shell/zshrc.pre.zsh" ]] && . "$HOME/.fig/shell/zshrc.pre.zsh"
|
||||
|
||||
### ~/.profile
|
||||
[[ -f "$HOME/.profile" ]] && . "$HOME/.profile"
|
||||
|
||||
# Configure color-scheme
|
||||
COLOR_SCHEME=dark # dark/light
|
||||
|
||||
### Aliases
|
||||
alias cp='cp -v'
|
||||
alias rm='rm -I'
|
||||
alias mv='mv -iv'
|
||||
alias ln='ln -sriv'
|
||||
alias xclip='xclip -selection c'
|
||||
command -v vim > /dev/null && alias vi='vim'
|
||||
|
||||
### Colorize
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
alias diff='diff --color=auto'
|
||||
alias ip='ip --color=auto'
|
||||
alias pacman='pacman --color=auto'
|
||||
|
||||
### LS & TREE
|
||||
alias ll='ls -la'
|
||||
alias la='ls -A'
|
||||
alias l='ls -F'
|
||||
command -v lsd > /dev/null && alias ls='lsd --group-dirs first' && \
|
||||
alias tree='lsd --tree'
|
||||
command -v colorls > /dev/null && alias ls='colorls --sd --gs' && \
|
||||
alias tree='colorls --tree'
|
||||
|
||||
### CAT & LESS
|
||||
command -v bat > /dev/null && \
|
||||
alias bat='bat --theme=ansi' && \
|
||||
alias cat='bat --pager=never' && \
|
||||
alias less='bat'
|
||||
# in debian the command is batcat
|
||||
command -v batcat > /dev/null && \
|
||||
alias batcat='batcat --theme=ansi' && \
|
||||
alias cat='batcat --pager=never' && \
|
||||
alias less='batcat'
|
||||
|
||||
### TOP
|
||||
command -v htop > /dev/null && alias top='htop'
|
||||
command -v gotop > /dev/null && alias top='gotop -p $([ "$COLOR_SCHEME" = "light" ] && echo "-c default-dark")'
|
||||
command -v ytop > /dev/null && alias top='ytop -p $([ "$COLOR_SCHEME" = "light" ] && echo "-c default-dark")'
|
||||
command -v btm > /dev/null && alias top='btm $([ "$COLOR_SCHEME" = "light" ] && echo "--color default-light")'
|
||||
# themes for light/dark color-schemes inside ~/.config/bashtop; Press ESC to open the menu and change the theme
|
||||
command -v bashtop > /dev/null && alias top='bashtop'
|
||||
command -v bpytop > /dev/null && alias top='bpytop'
|
||||
|
||||
# --------------------------------- SETTINGS ----------------------------------
|
||||
setopt AUTO_CD
|
||||
setopt BEEP
|
||||
#setopt CORRECT
|
||||
setopt HIST_BEEP
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
setopt HIST_FIND_NO_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt HIST_IGNORE_DUPS
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
setopt HIST_SAVE_NO_DUPS
|
||||
setopt HIST_VERIFY
|
||||
setopt INC_APPEND_HISTORY
|
||||
setopt INTERACTIVE_COMMENTS
|
||||
setopt MAGIC_EQUAL_SUBST
|
||||
setopt NO_NO_MATCH
|
||||
setopt NOTIFY
|
||||
setopt NUMERIC_GLOB_SORT
|
||||
setopt PROMPT_SUBST
|
||||
setopt SHARE_HISTORY
|
||||
|
||||
HISTFILE=~/.zsh_history
|
||||
HIST_STAMPS=mm/dd/yyyy
|
||||
HISTSIZE=5000
|
||||
SAVEHIST=5000
|
||||
ZLE_RPROMPT_INDENT=0
|
||||
WORDCHARS=${WORDCHARS//\/}
|
||||
PROMPT_EOL_MARK=
|
||||
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
|
||||
|
||||
|
||||
# ZSH completion system
|
||||
autoload -Uz compinit
|
||||
compinit -d ~/.cache/zcompdump
|
||||
zstyle ':completion:*:*:*:*:*' menu select
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||
zstyle ':completion:*' auto-description 'specify: %d'
|
||||
zstyle ':completion:*' completer _expand _complete
|
||||
zstyle ':completion:*' format 'Completing %d'
|
||||
zstyle ':completion:*' group-name ''
|
||||
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
|
||||
zstyle ':completion:*' rehash true
|
||||
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
|
||||
zstyle ':completion:*' use-compctl false
|
||||
zstyle ':completion:*' verbose true
|
||||
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
|
||||
|
||||
# Key bindings
|
||||
bindkey -e
|
||||
bindkey '^U' backward-kill-line
|
||||
bindkey '^[[2~' overwrite-mode
|
||||
bindkey '^[[3~' delete-char
|
||||
bindkey '^[[H' beginning-of-line
|
||||
bindkey '^[[1~' beginning-of-line
|
||||
bindkey '^[[F' end-of-line
|
||||
bindkey '^[[4~' end-of-line
|
||||
bindkey '^[[1;5C' forward-word
|
||||
bindkey '^[[1;5D' backward-word
|
||||
bindkey '^[[3;5~' kill-word
|
||||
bindkey '^[[5~' beginning-of-buffer-or-history
|
||||
bindkey '^[[6~' end-of-buffer-or-history
|
||||
bindkey '^[[Z' undo
|
||||
bindkey ' ' magic-space
|
||||
|
||||
# Prompt
|
||||
PROMPT=$'%F{%(#.blue.green)}┌──(%B%F{%(#.red.blue)}%n@%m%b%F{%(#.blue.green)})-[%B%F{reset}%(6~.%-1~/…/%4~.%5~)%b%F{%(#.blue.green)}]\n└─%B%(#.%F{red}#.%F{blue}$)%b%F{reset} '
|
||||
RPROMPT=$'%(?.. %? %F{red}%Bx%b%F{reset})%(1j. %j %F{yellow}%Bbg %b%F{reset}.)'
|
||||
|
||||
# ----------------------------------- MISC -----------------------------------
|
||||
export VISUAL=vim
|
||||
export EDITOR=$VISUAL
|
||||
|
||||
# enable terminal linewrap
|
||||
setterm -linewrap on 2> /dev/null
|
||||
|
||||
# colorize man pages
|
||||
export LESS_TERMCAP_mb=$'\e[1;32m'
|
||||
export LESS_TERMCAP_md=$'\e[1;32m'
|
||||
export LESS_TERMCAP_me=$'\e[0m'
|
||||
export LESS_TERMCAP_se=$'\e[0m'
|
||||
export LESS_TERMCAP_so=$'\e[01;33m'
|
||||
export LESS_TERMCAP_ue=$'\e[0m'
|
||||
export LESS_TERMCAP_us=$'\e[1;4;31m'
|
||||
export LESSHISTFILE=-
|
||||
|
||||
# colorize ls
|
||||
[ -x /usr/bin/dircolors ] && eval "$(dircolors -b)"
|
||||
|
||||
# If this is an xterm set the title to user@host:dir
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*|Eterm|aterm|kterm|gnome*|alacritty)
|
||||
precmd() { print -Pnr -- $'\e]0;%n@%m: %~\a' }
|
||||
;;
|
||||
esac
|
||||
|
||||
# ------------------------------- ZSH PLUGINS ---------------------------------
|
||||
# Plugin source helper
|
||||
_source_plugin() {
|
||||
local plugin_name="$1"
|
||||
for basedir in /usr/share/zsh/plugins /usr/share
|
||||
do
|
||||
plugin="$basedir/$plugin_name/$plugin_name.zsh"
|
||||
[ -f "$plugin" ] && source "$plugin" && return 0
|
||||
done
|
||||
echo "\033[33m[ ! ]\033[0m ZSH ${plugin_name#zsh-} not installed"
|
||||
return 1
|
||||
}
|
||||
|
||||
# ZSH Autosuggestions
|
||||
_source_plugin zsh-autosuggestions && ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=#999'
|
||||
|
||||
# ZSH Syntax Highlighting
|
||||
if _source_plugin zsh-syntax-highlighting
|
||||
then
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern)
|
||||
ZSH_HIGHLIGHT_STYLES[default]=none
|
||||
ZSH_HIGHLIGHT_STYLES[unknown-token]=fg=white,underline
|
||||
ZSH_HIGHLIGHT_STYLES[reserved-word]=fg=cyan,bold
|
||||
ZSH_HIGHLIGHT_STYLES[suffix-alias]=fg=green,underline
|
||||
ZSH_HIGHLIGHT_STYLES[global-alias]=fg=green,bold
|
||||
ZSH_HIGHLIGHT_STYLES[precommand]=fg=green,underline
|
||||
ZSH_HIGHLIGHT_STYLES[commandseparator]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[autodirectory]=fg=green,underline
|
||||
ZSH_HIGHLIGHT_STYLES[path]=bold
|
||||
ZSH_HIGHLIGHT_STYLES[path_pathseparator]=
|
||||
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]=
|
||||
ZSH_HIGHLIGHT_STYLES[globbing]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[history-expansion]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[command-substitution]=none
|
||||
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[process-substitution]=none
|
||||
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]=fg=green
|
||||
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]=fg=green
|
||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]=none
|
||||
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]=fg=yellow
|
||||
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]=fg=yellow
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]=fg=yellow
|
||||
ZSH_HIGHLIGHT_STYLES[rc-quote]=fg=magenta
|
||||
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[assign]=none
|
||||
ZSH_HIGHLIGHT_STYLES[redirection]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[comment]=fg=black,bold
|
||||
ZSH_HIGHLIGHT_STYLES[named-fd]=none
|
||||
ZSH_HIGHLIGHT_STYLES[numeric-fd]=none
|
||||
ZSH_HIGHLIGHT_STYLES[arg0]=fg=cyan
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-error]=fg=red,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-1]=fg=blue,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-2]=fg=green,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-3]=fg=magenta,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-4]=fg=yellow,bold
|
||||
ZSH_HIGHLIGHT_STYLES[bracket-level-5]=fg=cyan,bold
|
||||
ZSH_HIGHLIGHT_STYLES[cursor-matchingbracket]=standout
|
||||
fi
|
||||
|
||||
unset -f _source_plugin
|
||||
|
||||
# POWERLEVEL
|
||||
if ! [[ $(tty) = /dev/tty* ]]
|
||||
then
|
||||
if source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme 2> /dev/null
|
||||
then
|
||||
s=' ' # fix too wide icons
|
||||
POWERLEVEL9K_MODE=nerdfont-complete
|
||||
POWERLEVEL9K_SHORTEN_STRATEGY=truncate_beginning
|
||||
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
|
||||
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
|
||||
POWERLEVEL9K_RPROMPT_ON_NEWLINE=true
|
||||
POWERLEVEL9K_SHORTEN_DIR_LENGTH=2
|
||||
POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='${P9K_CONTENT} $(whoami | grep -v "^root\$")'
|
||||
POWERLEVEL9K_OS_ICON_BACKGROUND=red
|
||||
POWERLEVEL9K_OS_ICON_FOREGROUND=white
|
||||
POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND=black
|
||||
POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND=red
|
||||
POWERLEVEL9K_SSH_BACKGROUND=white
|
||||
POWERLEVEL9K_SSH_FOREGROUND=blue
|
||||
POWERLEVEL9K_FOLDER_ICON=
|
||||
POWERLEVEL9K_DIR_BACKGROUND=blue
|
||||
POWERLEVEL9K_DIR_FOREGROUND=black
|
||||
POWERLEVEL9K_DIR_WRITABLE_BACKGROUND=black
|
||||
POWERLEVEL9K_DIR_WRITABLE_FOREGROUND=red
|
||||
POWERLEVEL9K_VCS_CLEAN_FOREGROUND=black
|
||||
POWERLEVEL9K_VCS_CLEAN_BACKGROUND=green
|
||||
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=black
|
||||
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND=yellow
|
||||
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=white
|
||||
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=black
|
||||
POWERLEVEL9K_VCS_UNTRACKED_ICON=●
|
||||
POWERLEVEL9K_VCS_UNSTAGED_ICON=±
|
||||
POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=↓
|
||||
POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=↑
|
||||
POWERLEVEL9K_VCS_COMMIT_ICON=$s
|
||||
POWERLEVEL9K_STATUS_VERBOSE=false
|
||||
POWERLEVEL9K_STATUS_VERBOSE=false
|
||||
POWERLEVEL9K_STATUS_OK_IN_NON_VERBOSE=true
|
||||
POWERLEVEL9K_EXECUTION_TIME_ICON=$s
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=0
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND=black
|
||||
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=blue
|
||||
POWERLEVEL9K_COMMAND_BACKGROUND_JOBS_BACKGROUND=black
|
||||
POWERLEVEL9K_COMMAND_BACKGROUND_JOBS_FOREGROUND=cyan
|
||||
POWERLEVEL9K_TIME_ICON=
|
||||
POWERLEVEL9K_TIME_FORMAT='%D{%I:%M}'
|
||||
POWERLEVEL9K_TIME_BACKGROUND=black
|
||||
POWERLEVEL9K_TIME_FOREGROUND=white
|
||||
POWERLEVEL9K_RAM_ICON=
|
||||
POWERLEVEL9K_RAM_FOREGROUND=black
|
||||
POWERLEVEL9K_RAM_BACKGROUND=yellow
|
||||
POWERLEVEL9K_VI_MODE_FOREGROUND=black
|
||||
POWERLEVEL9K_VI_COMMAND_MODE_STRING=NORMAL
|
||||
POWERLEVEL9K_VI_MODE_NORMAL_BACKGROUND=green
|
||||
POWERLEVEL9K_VI_VISUAL_MODE_STRING=VISUAL
|
||||
POWERLEVEL9K_VI_MODE_VISUAL_BACKGROUND=blue
|
||||
POWERLEVEL9K_VI_OVERWRITE_MODE_STRING=OVERTYPE
|
||||
POWERLEVEL9K_VI_MODE_OVERWRITE_BACKGROUND=red
|
||||
POWERLEVEL9K_VI_INSERT_MODE_STRING=
|
||||
POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL='\uE0B2'
|
||||
POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
|
||||
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%F{blue}╭─'
|
||||
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%F{blue}╰%f '
|
||||
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(os_icon root_indicator ssh dir dir_writable vcs)
|
||||
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(vi_mode status command_execution_time background_jobs time ram)
|
||||
unset s
|
||||
else
|
||||
echo '\033[33m[ ! ]\033[0m ZSH powerlevel10k not installed'
|
||||
fi
|
||||
else
|
||||
clear
|
||||
echo
|
||||
echo
|
||||
fi
|
||||
|
||||
|
||||
switch_powerlevel_multiline_prompt(){
|
||||
[ $POWERLEVEL9K_PROMPT_ON_NEWLINE = true ] \
|
||||
&& POWERLEVEL9K_PROMPT_ON_NEWLINE=false \
|
||||
|| POWERLEVEL9K_PROMPT_ON_NEWLINE=true
|
||||
|
||||
zle && zle accept-line
|
||||
}
|
||||
zle -N switch_powerlevel_multiline_prompt
|
||||
bindkey ^P switch_powerlevel_multiline_prompt
|
||||
|
||||
|
||||
# -------------------------------- FUNCTIONS ---------------------------------
|
||||
glog() {
|
||||
setterm -linewrap off 2> /dev/null
|
||||
|
||||
git --no-pager log --all --color=always --graph --abbrev-commit --decorate --date-order \
|
||||
--format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' "$@" \
|
||||
| sed -E \
|
||||
-e 's/\|(\x1b\[[0-9;]*m)+\\(\x1b\[[0-9;]*m)+ /├\1─╮\2/' \
|
||||
-e 's/(\x1b\[[0-9;]+m)\|\x1b\[m\1\/\x1b\[m /\1├─╯\x1b\[m/' \
|
||||
-e 's/\|(\x1b\[[0-9;]*m)+\\(\x1b\[[0-9;]*m)+/├\1╮\2/' \
|
||||
-e 's/(\x1b\[[0-9;]+m)\|\x1b\[m\1\/\x1b\[m/\1├╯\x1b\[m/' \
|
||||
-e 's/╮(\x1b\[[0-9;]*m)+\\/╮\1╰╮/' \
|
||||
-e 's/╯(\x1b\[[0-9;]*m)+\//╯\1╭╯/' \
|
||||
-e 's/(\||\\)\x1b\[m (\x1b\[[0-9;]*m)/╰╮\2/' \
|
||||
-e 's/(\x1b\[[0-9;]*m)\\/\1╮/g' \
|
||||
-e 's/(\x1b\[[0-9;]*m)\//\1╯/g' \
|
||||
-e 's/^\*|(\x1b\[m )\*/\1⎬/g' \
|
||||
-e 's/(\x1b\[[0-9;]*m)\|/\1│/g' \
|
||||
| command less -r $([ $# -eq 0 ] && echo "+/[^/]HEAD")
|
||||
|
||||
setterm -linewrap on 2> /dev/null
|
||||
}
|
||||
|
||||
find() {
|
||||
if [ $# = 1 ]
|
||||
then
|
||||
command find . -iname "*$@*"
|
||||
else
|
||||
command find "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
### Antigen
|
||||
[[ ! -f ~/.local/antigen.zsh ]] || source ~/.local/antigen.zsh
|
||||
|
||||
if type antigen &> /dev/null; then
|
||||
antigen use oh-my-zsh
|
||||
antigen bundle git
|
||||
antigen bundle bundler
|
||||
antigen bundle dotenv
|
||||
antigen bundle macos
|
||||
antigen bundle rake
|
||||
antigen bundle rbenv
|
||||
antigen bundle ruby
|
||||
antigen bundle k
|
||||
antigen bundle marlonrichert/zsh-autocomplete
|
||||
antigen apply
|
||||
fi
|
||||
|
||||
## TODO
|
||||
# source /Users/bzalewski/.config/broot/launcher/bash/br
|
||||
|
||||
### fzf
|
||||
[ -f ~/.local/fzf.zsh ] && source ~/.local/fzf.zsh
|
||||
|
||||
### Google Cloud SDK
|
||||
if type brew &> /dev/null; then
|
||||
[[ ! -f "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc" ]] || source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
|
||||
[[ ! -f "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc" ]] || source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"
|
||||
fi
|
||||
|
||||
## TODO: What is this line?
|
||||
fpath+=~/.zfunc
|
||||
|
||||
### zoxide
|
||||
# TODO: Ensure zoxide.vim is installed
|
||||
type zoxide &> /dev/null && eval "$(zoxide init zsh)"
|
||||
|
||||
### Fig
|
||||
[[ -f "$HOME/.fig/shell/zshrc.post.zsh" ]] && . "$HOME/.fig/shell/zshrc.post.zsh"
|
||||
|
||||
### Powerline
|
||||
[[ ! -f ~/.config/p10k.zsh ]] || source ~/.p10k.zsh
|
Loading…
Reference in a new issue