Compare commits
64 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
0750df7d61
|
|||
|
acf9d5a276
|
|||
|
ef1ce70bda
|
|||
|
4fc1a78ce4
|
|||
|
127e93c05a
|
|||
|
6a0b19dbd2
|
|||
|
747a454d8d
|
|||
|
dad13d261d
|
|||
|
309f14ed35
|
|||
|
ee120c3a46
|
|||
|
bf19d1c5a8
|
|||
|
daddd6b4db
|
|||
|
6c6a364e23
|
|||
|
9c1b6ba696
|
|||
|
5588769e41
|
|||
|
9ee640b13e
|
|||
|
91893fb986
|
|||
|
779fded05c
|
|||
|
42116f4fae
|
|||
|
d5c4d917df
|
|||
|
5adad59b39
|
|||
|
2a6eb125d6
|
|||
|
377f19c997
|
|||
|
c2b404b17f
|
|||
|
750a43c708
|
|||
|
3808dc2b23
|
|||
|
64e3e458bc
|
|||
|
446a7a9e1e
|
|||
|
e5c35cde47
|
|||
|
719dab7021
|
|||
|
faf7b09231
|
|||
|
95b8678f15
|
|||
|
21de46be60
|
|||
|
9564a2fa86
|
|||
|
b582b5daab
|
|||
|
e206905123
|
|||
|
37ba913453
|
|||
|
f5f394f8f7
|
|||
|
19a9c145b3
|
|||
|
39e2301518
|
|||
|
c301c0c984
|
|||
|
fce84614f9
|
|||
|
244ccad598
|
|||
|
9baf9fe901
|
|||
|
4f5edb6932
|
|||
|
a009c1049b
|
|||
| 92335b8773 | |||
|
e73ff72331
|
|||
|
6f1a904990
|
|||
|
00c6530485
|
|||
|
71b5d1313a
|
|||
|
f306afddb8
|
|||
|
4c27a8e3f1
|
|||
|
9902c0db9d
|
|||
|
51cc27407c
|
|||
|
4f54cedca0
|
|||
|
ed81ad21b8
|
|||
|
73a022bfe6
|
|||
|
aa79a6d024
|
|||
|
7f78647c46
|
|||
|
4234763787
|
|||
|
e45b4905da
|
|||
|
300b4e0a6e
|
|||
|
9eede5ef5f
|
@@ -2,16 +2,15 @@
|
|||||||
|
|
||||||
key=`setxkbmap -query | grep "layout\|variant" | awk '{print $2}' | xargs`
|
key=`setxkbmap -query | grep "layout\|variant" | awk '{print $2}' | xargs`
|
||||||
|
|
||||||
if [[ $key = "fr" ]]; then
|
if [[ $key = "be" ]]; then
|
||||||
setxkbmap us
|
setxkbmap us
|
||||||
elif [[ $key = "us" ]]; then
|
elif [[ $key = "us" ]]; then
|
||||||
setxkbmap us -variant dvorak
|
setxkbmap us -variant dvp
|
||||||
elif [[ $key = "us dvorak" ]]; then
|
elif [[ $key = "us dvorak" ]]; then
|
||||||
setxkbmap fr
|
setxkbmap be
|
||||||
else
|
else
|
||||||
setxkbmap fr
|
setxkbmap fr
|
||||||
fi
|
fi
|
||||||
|
|
||||||
key=`setxkbmap -query | grep "layout\|variant" | awk '{print $2}' | xargs`
|
key=`setxkbmap -query | grep "layout\|variant" | awk '{print $2}' | xargs`
|
||||||
notify-send "Keyboard Layout: $key"
|
notify-send "Keyboard Layout: $key"
|
||||||
|
|
||||||
|
|||||||
Executable
+9
@@ -0,0 +1,9 @@
|
|||||||
|
current_resolution=$(xrandr | awk '/DSI1/ {print $4}')
|
||||||
|
|
||||||
|
if [[ $current_resolution == 1920x1200* ]];
|
||||||
|
then
|
||||||
|
xrandr --size 600x960
|
||||||
|
else
|
||||||
|
xrandr --size 1200x1920
|
||||||
|
fi
|
||||||
|
chwp
|
||||||
@@ -1355,7 +1355,6 @@
|
|||||||
🈺 Japanese “open for business” button; U+1F23A
|
🈺 Japanese “open for business” button; U+1F23A
|
||||||
🈵 Japanese “no vacancy” button; U+1F235
|
🈵 Japanese “no vacancy” button; U+1F235
|
||||||
🔴 red circle; U+1F534
|
🔴 red circle; U+1F534
|
||||||
🟢 green circle; U+1F7E2
|
|
||||||
🔵 blue circle; U+1F535
|
🔵 blue circle; U+1F535
|
||||||
⚪ white circle; U+26AA
|
⚪ white circle; U+26AA
|
||||||
⚫ black circle; U+26AB
|
⚫ black circle; U+26AB
|
||||||
|
|||||||
@@ -98,8 +98,6 @@ bspc rule -a Zathura state=tiled
|
|||||||
bspc rule -a arduino state=pseudo_tiled
|
bspc rule -a arduino state=pseudo_tiled
|
||||||
bspc rule -a Spotify desktop=VII follow=off focus=off
|
bspc rule -a Spotify desktop=VII follow=off focus=off
|
||||||
bspc rule -a discord desktop=VII follow=off focus=off
|
bspc rule -a discord desktop=VII follow=off focus=off
|
||||||
bspc rule -a steam_app_2666510 state=pseudo_tiled split_dir=south split_ratio 340 locked private layer=above rectangle=1920x340+0+740
|
|
||||||
#bspc rule -a steam_app_2666510 state=pseudo_tiling locked=on private=on split_dir=south split_ratio 296 layer=above rectangle=1920x296+0+784
|
|
||||||
|
|
||||||
## Autogap adjusts windowgap automatically according to the number of
|
## Autogap adjusts windowgap automatically according to the number of
|
||||||
## windows on the desktop. Using it disables negative window gap.
|
## windows on the desktop. Using it disables negative window gap.
|
||||||
|
|||||||
@@ -66,9 +66,11 @@ conky.config = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mailpath = "/disks/TwoTO/Mails"
|
||||||
if hostname == "minitonitchtop" then
|
if hostname == "minitonitchtop" then
|
||||||
conky.config.gap_x = 20
|
conky.config.gap_x = 20
|
||||||
conky.config.font = 'Fira Code:size=14'
|
conky.config.font = 'Fira Code:size=14'
|
||||||
|
mailpath = "$HOME/Mails"
|
||||||
end
|
end
|
||||||
|
|
||||||
function disksbars()
|
function disksbars()
|
||||||
@@ -90,8 +92,8 @@ end
|
|||||||
function cpubars()
|
function cpubars()
|
||||||
if hostname == "minitonitchtop" then
|
if hostname == "minitonitchtop" then
|
||||||
return [[
|
return [[
|
||||||
${color}${cpubar cpu1 8, 150} ${cpubar cpu2 8, 150}
|
${color}${cpubar cpu1 8, 220} ${cpubar cpu2 8, 220}
|
||||||
${cpubar cpu3 8, 150} ${cpubar cpu4 8, 150}
|
${cpubar cpu3 8, 220} ${cpubar cpu4 8, 220}
|
||||||
]]
|
]]
|
||||||
else
|
else
|
||||||
return [[
|
return [[
|
||||||
|
|||||||
+1
-8
@@ -1,5 +1,5 @@
|
|||||||
[user]
|
[user]
|
||||||
email = tonitch@herisson.ovh
|
email = debucquoy.anthony@gmail.com
|
||||||
name = Anthony Debucquoy
|
name = Anthony Debucquoy
|
||||||
signingkey = 3D06B2E67463D272D769DF59A78D6421F083D42E
|
signingkey = 3D06B2E67463D272D769DF59A78D6421F083D42E
|
||||||
[init]
|
[init]
|
||||||
@@ -17,10 +17,3 @@
|
|||||||
fap = fetch --all --prune
|
fap = fetch --all --prune
|
||||||
[push]
|
[push]
|
||||||
autoSetupRemote = true
|
autoSetupRemote = true
|
||||||
[filter "lfs"]
|
|
||||||
process = git-lfs filter-process
|
|
||||||
required = true
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
[credential]
|
|
||||||
helper = store
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
path = "~/.cache/calendar/nextcloud/*/"
|
path = "~/.cache/calendar/nextcloud/whatdo/"
|
||||||
# date_format = "%d/%m/%Y"
|
# date_format = "%d/%m/%Y"
|
||||||
# time_format = "%H:%M"
|
# time_format = "%H:%M"
|
||||||
default_list = "whatdo"
|
default_list = "Personal"
|
||||||
default_due = 0
|
default_due = 0
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
vim.g.vimtex_view_method="zathura"
|
vim.g.vimtex_view_method="zathura"
|
||||||
vim.opt.completeopt="menu,popup,noinsert,noselect"
|
vim.opt.completeopt="menu,popup,noinsert,noselect"
|
||||||
|
vim.g.python3_host_prog="/bin/python"
|
||||||
|
|
||||||
require("dapui").setup()
|
require("dapui").setup()
|
||||||
require("plugin.dap.c")
|
require("plugin.dap.c")
|
||||||
|
|||||||
@@ -21,7 +21,4 @@ do
|
|||||||
vim.keymap.set('i', '<C-S>', function()
|
vim.keymap.set('i', '<C-S>', function()
|
||||||
vim.lsp.buf.signature_help()
|
vim.lsp.buf.signature_help()
|
||||||
end, { desc = 'vim.lsp.buf.signature_help()' })
|
end, { desc = 'vim.lsp.buf.signature_help()' })
|
||||||
|
|
||||||
vim.keymap.set('n', ']g', vim.diagnostic.goto_next)
|
|
||||||
vim.keymap.set('n', '[g', vim.diagnostic.goto_prev)
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
active-opacity = 1.0;
|
active-opacity = 1.0;
|
||||||
inactive-opacity = 0.9;
|
inactive-opacity = 0.9;
|
||||||
backend = "glx";
|
|
||||||
shadow = true;
|
|
||||||
corner-radius = 10;
|
|
||||||
|
|
||||||
opacity-rule = [
|
opacity-rule = [
|
||||||
"100:name ~?= 'YouTube — Mozilla Firefox'",
|
"100:name ~?= 'YouTube — Mozilla Firefox'",
|
||||||
@@ -10,8 +7,3 @@ opacity-rule = [
|
|||||||
"100:name ~?= 'Netflix — Mozilla Firefox'",
|
"100:name ~?= 'Netflix — Mozilla Firefox'",
|
||||||
"100:class_g = 'Zathura'"
|
"100:class_g = 'Zathura'"
|
||||||
]
|
]
|
||||||
|
|
||||||
animation = ({
|
|
||||||
triggers = ["open", "close"];
|
|
||||||
preset = "appear";
|
|
||||||
})
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# bspwm hotkeys
|
# bspwm hotkeys
|
||||||
#
|
#
|
||||||
# Cleanly quit bspwm
|
# Cleanly quit bspwm
|
||||||
super + shift + a
|
super + shift + q
|
||||||
bspc quit 1 && pkill lemonpanel && pkill lemonbar
|
bspc quit 1
|
||||||
|
|
||||||
# Show keybindings
|
# Show keybindings
|
||||||
super + F1
|
super + F1
|
||||||
@@ -96,7 +96,7 @@ super + Return
|
|||||||
# bspc node -n @/
|
# bspc node -n @/
|
||||||
|
|
||||||
# go (Shift=move) to desktop (and focus the monitor that the desktop is located on. Bspwm style)
|
# go (Shift=move) to desktop (and focus the monitor that the desktop is located on. Bspwm style)
|
||||||
super + {_,shift + }{ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
|
super + {_,shift + }{1,2,3,4,5,6,7,8,9,0}
|
||||||
bspc {desktop -f,node -d} ^{1-9,10}
|
bspc {desktop -f,node -d} ^{1-9,10}
|
||||||
|
|
||||||
## Alternative: i3 style behavior (focus nth, desktop of the focused monitor)
|
## Alternative: i3 style behavior (focus nth, desktop of the focused monitor)
|
||||||
@@ -125,7 +125,7 @@ super + Tab
|
|||||||
WindowSelector
|
WindowSelector
|
||||||
|
|
||||||
#Focus windows by direction, works with multihead
|
#Focus windows by direction, works with multihead
|
||||||
super + {q,s,z,d}
|
super + {a,s,w,d}
|
||||||
focusmover {west,south,north,east}
|
focusmover {west,south,north,east}
|
||||||
|
|
||||||
super + {h,j,k,l}
|
super + {h,j,k,l}
|
||||||
@@ -137,7 +137,7 @@ super + {Left,Down,Up,Right}
|
|||||||
# Move tiled windows. Moving a tiled window to
|
# Move tiled windows. Moving a tiled window to
|
||||||
# preselected one moves into preselection instead.
|
# preselected one moves into preselection instead.
|
||||||
# Moving out of the screen should move the window to next monitor if possible
|
# Moving out of the screen should move the window to next monitor if possible
|
||||||
super + shift + {q,s,z,d}
|
super + shift + {q,s,w,d}
|
||||||
windowgrabber {west,south,north,east}
|
windowgrabber {west,south,north,east}
|
||||||
|
|
||||||
super + shift + {h,j,k,l}
|
super + shift + {h,j,k,l}
|
||||||
@@ -148,7 +148,7 @@ super + shift + {Left,Down,Up,Right}
|
|||||||
euclid_mover {west,south,north,east}
|
euclid_mover {west,south,north,east}
|
||||||
|
|
||||||
#resize windows
|
#resize windows
|
||||||
super + ctrl + {q,s,z,d}
|
super + ctrl + {a,s,w,d}
|
||||||
bspwm_resize.sh {west,south,north,east}
|
bspwm_resize.sh {west,south,north,east}
|
||||||
|
|
||||||
super + ctrl + {h,j,k,l}
|
super + ctrl + {h,j,k,l}
|
||||||
@@ -335,6 +335,9 @@ super + ctrl + space
|
|||||||
{pkill picom ,\
|
{pkill picom ,\
|
||||||
picom -b }
|
picom -b }
|
||||||
|
|
||||||
|
ctrl + alt +t
|
||||||
|
pkill rotateScreen_au || rotateScreen_auto
|
||||||
|
|
||||||
# Remove receptacles
|
# Remove receptacles
|
||||||
super + BackSpace
|
super + BackSpace
|
||||||
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done
|
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
set -g mouse
|
set -g mouse
|
||||||
set -g set-clipboard on
|
set -g set-clipboard on
|
||||||
set -g focus-events on
|
|
||||||
|
|
||||||
bind h selectp -L
|
bind h selectp -L
|
||||||
bind j selectp -D
|
bind j selectp -D
|
||||||
|
|||||||
@@ -20,14 +20,10 @@ $0
|
|||||||
clean:
|
clean:
|
||||||
rm -f *.o
|
rm -f *.o
|
||||||
rm -f $1
|
rm -f $1
|
||||||
rm -f tags compile_commands.json
|
|
||||||
|
|
||||||
bear: clean
|
bear: clean
|
||||||
bear -- make
|
bear -- make
|
||||||
|
|
||||||
tags:
|
|
||||||
ctags **.{c,h}
|
|
||||||
|
|
||||||
run: $1
|
run: $1
|
||||||
./$<
|
./$<
|
||||||
|
|
||||||
|
|||||||
@@ -1,2 +1,3 @@
|
|||||||
set keywordprg=go\ doc
|
set keywordprg=go\ doc
|
||||||
|
unmap K
|
||||||
set makeprg=go\ run\ .
|
set makeprg=go\ run\ .
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
set tw=120
|
||||||
Submodule vim/.vim/pack/autoload/start/loremipsum deleted from 39354ae1c8
Submodule vim/.vim/pack/autoload/start/vimspector deleted from ee3bd01205
+5
-1
@@ -179,6 +179,9 @@ zmodload zsh/terminfo
|
|||||||
# Enabling fzf capabilities
|
# Enabling fzf capabilities
|
||||||
source /usr/share/fzf/*.zsh
|
source /usr/share/fzf/*.zsh
|
||||||
|
|
||||||
|
# source /usr/share/enhancd/init.sh
|
||||||
|
# export ENHANCD_ENABLE_DOUBLE_DOT=false
|
||||||
|
|
||||||
bindkey "$terminfo[kcuu1]" history-substring-search-up
|
bindkey "$terminfo[kcuu1]" history-substring-search-up
|
||||||
bindkey "$terminfo[kcud1]" history-substring-search-down
|
bindkey "$terminfo[kcud1]" history-substring-search-down
|
||||||
bindkey '^[[A' history-substring-search-up
|
bindkey '^[[A' history-substring-search-up
|
||||||
@@ -187,7 +190,8 @@ bindkey '^[[B' history-substring-search-down
|
|||||||
# Apply different settigns for different terminals
|
# Apply different settigns for different terminals
|
||||||
case $(basename "$(cat "/proc/$PPID/comm")") in
|
case $(basename "$(cat "/proc/$PPID/comm")") in
|
||||||
login)
|
login)
|
||||||
RPROMPT="%{$fg[red]%} %(?..[%?])"
|
RPROMPT="%(?.%{$fg[green]%}✓ %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
|
||||||
|
# RPROMPT="%{$fg[red]%} %(?..[%?])"
|
||||||
alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
|
alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
|
||||||
;;
|
;;
|
||||||
# 'tmux: server')
|
# 'tmux: server')
|
||||||
|
|||||||
+230
@@ -0,0 +1,230 @@
|
|||||||
|
## Options section
|
||||||
|
setopt CORRECT # Auto correct mistakes
|
||||||
|
setopt EXTENDED_GLOB # Extended globbing. Allows using regular expressions with *
|
||||||
|
setopt NO_CASE_GLOB # Case insensitive globbing
|
||||||
|
setopt RC_EXPAND_PARAM # Array expension with parameters
|
||||||
|
setopt NO_CHECK_JOBS # Don't warn about running processes when exiting
|
||||||
|
setopt NUMERIC_GLOB_SORT # Sort filenames numerically when it makes sense
|
||||||
|
setopt NO_BEEP # No beep
|
||||||
|
setopt APPEND_HISTORY # Immediately append history instead of overwriting
|
||||||
|
setopt HIST_IGNORE_ALL_DUPS # If a new command is a duplicate, remove the older one
|
||||||
|
setopt AUTO_CD # if only directory path is entered, cd there.
|
||||||
|
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
|
||||||
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
|
||||||
|
zstyle ':completion:*' rehash true # automatically find new executables in path
|
||||||
|
# Speed up completions
|
||||||
|
zstyle ':completion:*' accept-exact '*(N)'
|
||||||
|
zstyle ':completion:*' use-cache on
|
||||||
|
zstyle ':completion:*' cache-path ~/.zsh/cache
|
||||||
|
HISTFILE=~/.zhistory
|
||||||
|
HISTSIZE=1000
|
||||||
|
SAVEHIST=500
|
||||||
|
#export EDITOR=/usr/bin/vim
|
||||||
|
#export VISUAL=/usr/bin/gvim
|
||||||
|
WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
|
||||||
|
|
||||||
|
|
||||||
|
## Keybindings section
|
||||||
|
bindkey -v
|
||||||
|
# bindkey '^[[7~' beginning-of-line # Home key
|
||||||
|
# bindkey '^[[H' beginning-of-line # Home key
|
||||||
|
# if [[ "${terminfo[khome]}" != "" ]]; then
|
||||||
|
# bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
|
||||||
|
# fi
|
||||||
|
# bindkey '^[[8~' end-of-line # End key
|
||||||
|
# bindkey '^[[F' end-of-line # End key
|
||||||
|
# if [[ "${terminfo[kend]}" != "" ]]; then
|
||||||
|
# bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
|
||||||
|
# fi
|
||||||
|
# bindkey '^[[2~' overwrite-mode # Insert key
|
||||||
|
# bindkey '^[[3~' delete-char # Delete key
|
||||||
|
bindkey '^[[C' forward-char # Right key
|
||||||
|
bindkey '^[[D' backward-char # Left key
|
||||||
|
bindkey '^[[5~' history-beginning-search-backward # Page up key
|
||||||
|
bindkey '^[[6~' history-beginning-search-forward # Page down key
|
||||||
|
|
||||||
|
# Edit line in vim with ctrl-e
|
||||||
|
autoload edit-command-line; zle -N edit-command-line
|
||||||
|
bindkey '^e' edit-command-line
|
||||||
|
|
||||||
|
# Navigate words with ctrl+arrow keys
|
||||||
|
bindkey '^[Oc' forward-word #
|
||||||
|
bindkey '^[Od' backward-word #
|
||||||
|
bindkey '^[[1;5D' backward-word #
|
||||||
|
bindkey '^[[1;5C' forward-word #
|
||||||
|
bindkey '^H' backward-kill-word # delete previous word with ctrl+backspace
|
||||||
|
bindkey '^[[Z' undo # Shift+tab undo last action
|
||||||
|
|
||||||
|
## Alias section
|
||||||
|
alias cp="cp -i" # Confirm before overwriting something
|
||||||
|
alias rm="rm -i"
|
||||||
|
alias df='df -h' # Human-readable sizes
|
||||||
|
alias free='free -m' # Show sizes in MB
|
||||||
|
alias gitu='git add . && git commit && git push'
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias cal='cal -m'
|
||||||
|
alias dotfiles='git --git-dir=$HOME/.config/dotfiles --work-tree=$HOME'
|
||||||
|
alias findfiles="find . -name "
|
||||||
|
alias rofi="rofi -show combi"
|
||||||
|
alias get_idf='source /opt/esp-idf/export.sh'
|
||||||
|
alias open="xdg-open"
|
||||||
|
alias sxiv=nsxiv
|
||||||
|
alias :q=exit
|
||||||
|
alias vim=nvim
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
alias radio="mpv https://radio.freenode.net/radio.ogg --volume=30"
|
||||||
|
alias calc="calcurse-caldav && calcurse && calcurse-caldav"
|
||||||
|
>>>>>>> 5bc0e97 (ranger nesting in zsh)
|
||||||
|
|
||||||
|
# Theming section
|
||||||
|
autoload -U compinit colors zcalc
|
||||||
|
compinit -d
|
||||||
|
colors
|
||||||
|
|
||||||
|
# enable substitution for prompt
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
# Prompt (on left side) similar to default bash prompt, or redhat zsh prompt with colors
|
||||||
|
#PROMPT="%(!.%{$fg[red]%}[%n@%m %1~]%{$reset_color%}# .%{$fg[green]%}[%n@%m %1~]%{$reset_color%}$ "
|
||||||
|
# Maia prompt
|
||||||
|
PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.%{$fg[cyan]%}.%{$fg[red]%})>%{$reset_color%}%b " # Print some system information when the shell is first started
|
||||||
|
# Print a greeting message when shell is started
|
||||||
|
echo $USER@$HOST $(uname -srm) $(source /etc/os-release && echo "$BUILD_ID")
|
||||||
|
## Prompt on right side:
|
||||||
|
# - shows status of git when in git repository (code adapted from https://techanic.net/2012/12/30/my_git_prompt_for_zsh.html)
|
||||||
|
# - shows exit status of previous command (if previous command finished with an error)
|
||||||
|
# - is invisible, if neither is the case
|
||||||
|
|
||||||
|
# Modify the colors and symbols in these variables as desired.
|
||||||
|
GIT_PROMPT_SYMBOL="%{$fg[blue]%}±" # plus/minus - clean repo
|
||||||
|
GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$reset_color%}"
|
||||||
|
GIT_PROMPT_SUFFIX="%{$fg[green]%}]%{$reset_color%}"
|
||||||
|
GIT_PROMPT_AHEAD="%{$fg[red]%}ANUM%{$reset_color%}" # A"NUM" - ahead by "NUM" commits
|
||||||
|
GIT_PROMPT_BEHIND="%{$fg[cyan]%}BNUM%{$reset_color%}" # B"NUM" - behind by "NUM" commits
|
||||||
|
GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}⚡︎%{$reset_color%}" # lightning bolt - merge conflict
|
||||||
|
GIT_PROMPT_UNTRACKED="%{$fg_bold[red]%}●%{$reset_color%}" # red circle - untracked files
|
||||||
|
GIT_PROMPT_MODIFIED="%{$fg_bold[yellow]%}●%{$reset_color%}" # yellow circle - tracked files modified
|
||||||
|
GIT_PROMPT_STAGED="%{$fg_bold[green]%}●%{$reset_color%}" # green circle - staged changes present = ready for "git push"
|
||||||
|
|
||||||
|
parse_git_branch() {
|
||||||
|
# Show Git branch/tag, or name-rev if on detached head
|
||||||
|
( git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD ) 2> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_git_state() {
|
||||||
|
# Show different symbols as appropriate for various Git repository states
|
||||||
|
# Compose this value via multiple conditional appends.
|
||||||
|
local GIT_STATE=""
|
||||||
|
local NUM_AHEAD="$(git log --oneline @{u}.. 2> /dev/null | wc -l | tr -d ' ')"
|
||||||
|
if [ "$NUM_AHEAD" -gt 0 ]; then
|
||||||
|
GIT_STATE=$GIT_STATE${GIT_PROMPT_AHEAD//NUM/$NUM_AHEAD}
|
||||||
|
fi
|
||||||
|
local NUM_BEHIND="$(git log --oneline ..@{u} 2> /dev/null | wc -l | tr -d ' ')"
|
||||||
|
if [ "$NUM_BEHIND" -gt 0 ]; then
|
||||||
|
GIT_STATE=$GIT_STATE${GIT_PROMPT_BEHIND//NUM/$NUM_BEHIND}
|
||||||
|
fi
|
||||||
|
local GIT_DIR="$(git rev-parse --git-dir 2> /dev/null)"
|
||||||
|
if [ -n $GIT_DIR ] && test -r $GIT_DIR/MERGE_HEAD; then
|
||||||
|
GIT_STATE=$GIT_STATE$GIT_PROMPT_MERGING
|
||||||
|
fi
|
||||||
|
if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
|
||||||
|
GIT_STATE=$GIT_STATE$GIT_PROMPT_UNTRACKED
|
||||||
|
fi
|
||||||
|
if ! git diff --quiet 2> /dev/null; then
|
||||||
|
GIT_STATE=$GIT_STATE$GIT_PROMPT_MODIFIED
|
||||||
|
fi
|
||||||
|
if ! git diff --cached --quiet 2> /dev/null; then
|
||||||
|
GIT_STATE=$GIT_STATE$GIT_PROMPT_STAGED
|
||||||
|
fi
|
||||||
|
if [[ -n $GIT_STATE ]]; then
|
||||||
|
echo "$GIT_PROMPT_PREFIX$GIT_STATE$GIT_PROMPT_SUFFIX"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
git_prompt_string() {
|
||||||
|
local git_where="$(parse_git_branch)"
|
||||||
|
|
||||||
|
# If inside a Git repository, print its branch and state
|
||||||
|
[ -n "$git_where" ] && echo "$GIT_PROMPT_SYMBOL$(parse_git_state)$GIT_PROMPT_PREFIX%{$fg[yellow]%}${git_where#(refs/heads/|tags/)}$GIT_PROMPT_SUFFIX"
|
||||||
|
|
||||||
|
# If not inside the Git repo, print exit codes of last command (only if it failed)
|
||||||
|
[ ! -n "$git_where" ] && echo "%{$fg[red]%} %(?..[%?])"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Right prompt with exit status of previous command if not successful
|
||||||
|
#RPROMPT="%{$fg[red]%} %(?..[%?])"
|
||||||
|
# Right prompt with exit status of previous command marked with ✓ or ✗
|
||||||
|
#RPROMPT="%(?.%{$fg[green]%}✓ %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
|
||||||
|
|
||||||
|
|
||||||
|
# Color man pages
|
||||||
|
export LESS_TERMCAP_mb=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_md=$'\E[01;32m'
|
||||||
|
export LESS_TERMCAP_me=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_se=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_so=$'\E[01;47;34m'
|
||||||
|
export LESS_TERMCAP_ue=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_us=$'\E[01;36m'
|
||||||
|
export LESS=-r
|
||||||
|
|
||||||
|
|
||||||
|
## Plugins section: Enable fish style features
|
||||||
|
# Use syntax highlighting
|
||||||
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||||
|
# Use history substring search
|
||||||
|
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
|
||||||
|
# Use Vim mode
|
||||||
|
source /usr/share/zsh/plugins/zsh-vi-mode/zsh-vi-mode.plugin.zsh
|
||||||
|
# bind UP and DOWN arrow keys to history substring search
|
||||||
|
zmodload zsh/terminfo
|
||||||
|
# Enabling fzf capabilities
|
||||||
|
source /usr/share/fzf/*.zsh
|
||||||
|
|
||||||
|
source /usr/share/enhancd/init.sh
|
||||||
|
export ENHANCD_ENABLE_DOUBLE_DOT=false
|
||||||
|
|
||||||
|
bindkey "$terminfo[kcuu1]" history-substring-search-up
|
||||||
|
bindkey "$terminfo[kcud1]" history-substring-search-down
|
||||||
|
bindkey '^[[A' history-substring-search-up
|
||||||
|
bindkey '^[[B' history-substring-search-down
|
||||||
|
|
||||||
|
# Apply different settigns for different terminals
|
||||||
|
case $(basename "$(cat "/proc/$PPID/comm")") in
|
||||||
|
login)
|
||||||
|
RPROMPT="%(?.%{$fg[green]%}✓ %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
|
||||||
|
# RPROMPT="%{$fg[red]%} %(?..[%?])"
|
||||||
|
alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
|
||||||
|
;;
|
||||||
|
# 'tmux: server')
|
||||||
|
# RPROMPT='$(git_prompt_string)'
|
||||||
|
# ## Base16 Shell color themes.
|
||||||
|
# #possible themes: 3024, apathy, ashes, atelierdune, atelierforest, atelierhearth,
|
||||||
|
# #atelierseaside, bespin, brewer, chalk, codeschool, colors, default, eighties,
|
||||||
|
# #embers, flat, google, grayscale, greenscreen, harmonic16, isotope, londontube,
|
||||||
|
# #marrakesh, mocha, monokai, ocean, paraiso, pop (dark only), railscasts, shapesifter,
|
||||||
|
# #solarized, summerfruit, tomorrow, twilight
|
||||||
|
# #theme="eighties"
|
||||||
|
# #Possible variants: dark and light
|
||||||
|
# #shade="dark"
|
||||||
|
# #BASE16_SHELL="/usr/share/zsh/scripts/base16-shell/base16-$theme.$shade.sh"
|
||||||
|
# #[[ -s $BASE16_SHELL ]] && source $BASE16_SHELL
|
||||||
|
# # Use autosuggestion
|
||||||
|
# source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
|
# ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
|
||||||
|
# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
|
||||||
|
# ;;
|
||||||
|
*)
|
||||||
|
RPROMPT='$(git_prompt_string)'
|
||||||
|
# Use autosuggestion
|
||||||
|
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||||
|
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
|
||||||
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Add level of ranger nesting if in ranger
|
||||||
|
if [ -n "$RANGER_LEVEL" ]; then
|
||||||
|
export RPROMPT="[r$RANGER_LEVEL]$RPROMPT";
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user