mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Compare commits
68 Commits
3e681a94b1
...
frebib-PC
Author | SHA1 | Date | |
---|---|---|---|
fea0831c13
|
|||
ea5f537303
|
|||
2907e24656
|
|||
fa136cbd2a
|
|||
499b044fea
|
|||
14805b3f9a
|
|||
e03c93bf39
|
|||
ba6173e0ee
|
|||
dcfd191613
|
|||
db40ef08bb
|
|||
839d972e95
|
|||
ece2eb878a
|
|||
6f1569b35d
|
|||
5035afc8b4
|
|||
650eb08a80
|
|||
535697a31c
|
|||
f520784d9b
|
|||
ef4b739af1
|
|||
0ba6dc8e4b
|
|||
55e492cd8f
|
|||
19663fa4f1
|
|||
7e5b329e74
|
|||
0116be881a
|
|||
90038f8795
|
|||
7775fb62e4
|
|||
a48288ad50
|
|||
b519b48e83
|
|||
8e74101f3e
|
|||
898190a99f
|
|||
d771bf0448
|
|||
634db612a1
|
|||
a7778c30a7
|
|||
49554ca359
|
|||
895d0ff0aa
|
|||
7be83b7b70
|
|||
a41314ca34
|
|||
3158db0946
|
|||
e25953d913
|
|||
a6f162b7e2
|
|||
85ab256484
|
|||
d1c4112ee3
|
|||
8c8048ebcb
|
|||
019a3f9c18
|
|||
0ff266f257
|
|||
d6f2800ddd
|
|||
524e5132ba
|
|||
dde4e776f5
|
|||
1bd8081663
|
|||
9224e953e2
|
|||
a0d9149013
|
|||
c1f65fc03d
|
|||
92c8dbc019
|
|||
315f6b6b9a
|
|||
c1903f5726
|
|||
24dfc13c3f
|
|||
8f14e0d757
|
|||
d5668f82fe
|
|||
4607175b94
|
|||
ff9feca14c
|
|||
6f655c20aa
|
|||
9793eb491b
|
|||
8142cdf82f
|
|||
69787bd90f
|
|||
3b34decb42
|
|||
03690a5f9f
|
|||
00f7814f8e
|
|||
b1eecdbbda
|
|||
1b3672b983
|
@ -24,7 +24,7 @@
|
|||||||
],
|
],
|
||||||
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
"bug_report_endpoint_url": "https://riot.im/bugreports/submit",
|
||||||
"defaultCountryCode": "GB",
|
"defaultCountryCode": "GB",
|
||||||
"showLabsSettings": false,
|
"showLabsSettings": true,
|
||||||
"features": {
|
"features": {
|
||||||
"feature_font_scaling": "labs",
|
"feature_font_scaling": "labs",
|
||||||
"feature_pinning": "labs",
|
"feature_pinning": "labs",
|
||||||
|
11
X11/xprofile
11
X11/xprofile
@ -4,17 +4,20 @@
|
|||||||
export TERMINAL="alacritty"
|
export TERMINAL="alacritty"
|
||||||
export BROWSER="firefox"
|
export BROWSER="firefox"
|
||||||
|
|
||||||
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
|
export GTK_THEME="$(grep gtk-theme-name "${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" | sed 's/.*\s*=\s*//')"
|
||||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
||||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||||
|
export XDG_CURRENT_DESKTOP="GNOME" # Fixes xdg-open
|
||||||
|
|
||||||
|
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel"
|
||||||
|
|
||||||
# https://www.reddit.com/r/linux/comments/72mfv8/psa_for_firefox_users_set_moz_use_xinput21_to/
|
# https://www.reddit.com/r/linux/comments/72mfv8/psa_for_firefox_users_set_moz_use_xinput21_to/
|
||||||
export MOZ_USE_XINPUT2=1 # enable pixel-accurate scrolling in firefox
|
export MOZ_USE_XINPUT2=1 # enable pixel-accurate scrolling in firefox
|
||||||
export XDG_CURRENT_DESKTOP="GNOME" # Fixes xdg-open
|
|
||||||
|
|
||||||
|
|
||||||
# Load Xorg resources and set the DPI
|
# Load Xorg resources and set the DPI
|
||||||
xrdb -merge $XDG_CONFIG_HOME/X11/xresources
|
xrdb -merge "$XDG_CONFIG_HOME/X11/xresources"
|
||||||
xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
|
#"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)"
|
||||||
|
|
||||||
setxkbmap -option caps:none
|
setxkbmap -option caps:none
|
||||||
xset r rate 200 18
|
xset r rate 200 18
|
||||||
|
@ -36,54 +36,5 @@ Xft.hinting: true
|
|||||||
Xft.hintstyle: hintfull
|
Xft.hintstyle: hintfull
|
||||||
Xft.lcdfilter: lcddefault
|
Xft.lcdfilter: lcddefault
|
||||||
|
|
||||||
Xcursor.theme: Breeze_Obsidian
|
Xcursor.size: 28
|
||||||
|
Xcursor.theme: BreezeX-Black
|
||||||
!!======================!!
|
|
||||||
!! RXVT-unicode setting !!
|
|
||||||
!!======================!!
|
|
||||||
|
|
||||||
urxvt.depth: 32
|
|
||||||
urxvt.internalBorder: 16
|
|
||||||
urxvt.blurRadius: 25
|
|
||||||
urxvt.saveLines: 10000
|
|
||||||
urxvt.preeditType: Root
|
|
||||||
|
|
||||||
urxvt.scrollBar: false
|
|
||||||
urxvt.jumpScroll: false
|
|
||||||
urxvt.scrollTtyOutput: false
|
|
||||||
urxvt.scrollWithBuffer: true
|
|
||||||
urxvt.scrollTtyKeypress: true
|
|
||||||
|
|
||||||
urxvt.altSendsEscape: true
|
|
||||||
xterm.metaSendsEscape: true
|
|
||||||
|
|
||||||
urxvt.termName: xterm-256color
|
|
||||||
|
|
||||||
urxvt.font: xft:Source Code Pro:style=regular:size=9
|
|
||||||
urxvt.imFont: xft:Source Code Pro:style=regular:size=9
|
|
||||||
urxvt.boldFont: xft:Source Code Pro:style=bold:size=9
|
|
||||||
urxvt.italicFont: xft:Source Code Pro:style=italic:size=9
|
|
||||||
urxvt.boldItalicFont: xft:Source Code Pro:style=bold,italic:size=9
|
|
||||||
|
|
||||||
|
|
||||||
urxvt.iso14755: false
|
|
||||||
urxvt.iso14755_52: false
|
|
||||||
urxvt.perl-ext-common: default,vtwheel,font-size
|
|
||||||
urxvt.url-launcher: /usr/bin/firefox
|
|
||||||
urxvt.matcher.button: 1
|
|
||||||
|
|
||||||
urxvt.keysym.C-Up: font-size:increase
|
|
||||||
urxvt.keysym.C-Down: font-size:decrease
|
|
||||||
urxvt.keysym.C-equal: font-size:reset
|
|
||||||
urxvt.keysym.C-slash: font-size:show
|
|
||||||
|
|
||||||
! special
|
|
||||||
*.foreground: #ECEFF1
|
|
||||||
*.background: #002B36
|
|
||||||
*.cursorColor: #5294E2
|
|
||||||
*.highlightColor: #5294E2
|
|
||||||
urxvt.background: [95]#383C4A
|
|
||||||
urxvt.scrollColor: #767B87
|
|
||||||
urxvt.dynamicColors: on
|
|
||||||
urxvt.highlightSelection: true
|
|
||||||
urxvt.colorMode: on
|
|
||||||
|
@ -51,6 +51,12 @@ window:
|
|||||||
# - buttonless: Title bar, transparent background, but no title bar buttons
|
# - buttonless: Title bar, transparent background, but no title bar buttons
|
||||||
decorations: full
|
decorations: full
|
||||||
|
|
||||||
|
# Background opacity
|
||||||
|
#
|
||||||
|
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||||
|
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||||
|
opacity: 0.8
|
||||||
|
|
||||||
# Startup Mode (changes require restart)
|
# Startup Mode (changes require restart)
|
||||||
#
|
#
|
||||||
# Values for `startup_mode`:
|
# Values for `startup_mode`:
|
||||||
@ -259,6 +265,13 @@ colors:
|
|||||||
#
|
#
|
||||||
#indexed_colors: []
|
#indexed_colors: []
|
||||||
|
|
||||||
|
# Transparent cell backgrounds
|
||||||
|
#
|
||||||
|
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||||
|
# the default background. When set to `true` all cells will be transparent
|
||||||
|
# regardless of their background color.
|
||||||
|
transparent_background_colors: false
|
||||||
|
|
||||||
# Visual Bell
|
# Visual Bell
|
||||||
#
|
#
|
||||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
||||||
@ -285,12 +298,6 @@ colors:
|
|||||||
# duration: 0
|
# duration: 0
|
||||||
# color: '#ffffff'
|
# color: '#ffffff'
|
||||||
|
|
||||||
# Background opacity
|
|
||||||
#
|
|
||||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
|
||||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
|
||||||
background_opacity: 0.80
|
|
||||||
|
|
||||||
selection:
|
selection:
|
||||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
@ -366,28 +373,6 @@ mouse:
|
|||||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
hide_when_typing: false
|
hide_when_typing: false
|
||||||
|
|
||||||
url:
|
|
||||||
# URL launcher
|
|
||||||
#
|
|
||||||
# This program is executed when clicking on a text which is recognized as a URL.
|
|
||||||
# The URL is always added to the command as the last parameter.
|
|
||||||
#
|
|
||||||
# When set to `None`, URL launching will be disabled completely.
|
|
||||||
#
|
|
||||||
# Default:
|
|
||||||
# - (macOS) open
|
|
||||||
# - (Linux/BSD) xdg-open
|
|
||||||
# - (Windows) explorer
|
|
||||||
launcher:
|
|
||||||
program: xdg-open
|
|
||||||
args: []
|
|
||||||
|
|
||||||
# URL modifiers
|
|
||||||
#
|
|
||||||
# These are the modifiers that need to be held down for opening URLs when clicking
|
|
||||||
# on them. The available modifiers are documented in the key binding section.
|
|
||||||
#modifiers: None
|
|
||||||
|
|
||||||
# Mouse bindings
|
# Mouse bindings
|
||||||
#
|
#
|
||||||
# Mouse bindings are specified as a list of objects, much like the key
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
@ -626,7 +611,7 @@ debug:
|
|||||||
# - Info
|
# - Info
|
||||||
# - Debug
|
# - Debug
|
||||||
# - Trace
|
# - Trace
|
||||||
log_level: Info
|
log_level: Warn
|
||||||
|
|
||||||
# Print all received window events.
|
# Print all received window events.
|
||||||
#print_events: false
|
#print_events: false
|
||||||
|
170
aliases
170
aliases
@ -1,7 +1,7 @@
|
|||||||
case "$(basename "$(readlink -f /proc/$$/exe)")" in
|
case "$(basename "$(readlink -f /proc/$$/exe)")" in
|
||||||
zsh) thisfile="$(readlink -f "${(%):-%N}")";;
|
zsh) thisfile="$(readlink -f "${(%):-%N}")";;
|
||||||
bash) thisfile="$(readlink -f "${BASH_SOURCE[0]}")";;
|
bash) thisfile="$(readlink -f "${BASH_SOURCE[0]}")";;
|
||||||
*) thisfile="$(find /proc/$$/fd/ | xargs -n1 -r readlink -f | grep aliases | head -n1)";;
|
*) thisfile="$(find /proc/$$/fd/ -print0 | xargs -0 -n1 -r readlink -f | grep aliases | head -n1)";;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Global aliases for ZSH
|
# Global aliases for ZSH
|
||||||
@ -10,49 +10,32 @@ if alias -g 2>/dev/null; then
|
|||||||
alias -g ....=../../..
|
alias -g ....=../../..
|
||||||
alias -g .....=../../../..
|
alias -g .....=../../../..
|
||||||
alias -g ......=../../../../..
|
alias -g ......=../../../../..
|
||||||
alias -g H='| head'
|
|
||||||
alias -g T='| tail'
|
|
||||||
alias -g G='| grep'
|
|
||||||
alias -g L="| less"
|
|
||||||
alias -g C="| wc -l"
|
|
||||||
alias -g S="| sort"
|
|
||||||
alias -g U="| uniq"
|
|
||||||
alias -g count="| wc -l"
|
|
||||||
alias -g NO="1> /dev/null"
|
alias -g NO="1> /dev/null"
|
||||||
alias -g NE="2> /dev/null"
|
alias -g NE="2> /dev/null"
|
||||||
alias -g NUL="&> /dev/null"
|
alias -g NUL="&> /dev/null"
|
||||||
alias -g BG="&;disown"
|
alias -g BG="&;disown"
|
||||||
alias -g COL="| column -t"
|
|
||||||
alias -g CLIP="| xclip -i -selection primary -f | xclip -i -selection clipboard"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# File default aliases
|
# File default aliases
|
||||||
if alias -s 2>/dev/null; then
|
if alias -s 2>/dev/null; then
|
||||||
alias -s pdf="open"
|
alias -s pdf="open"
|
||||||
alias -s zip="unzip -l"
|
|
||||||
alias -s rar="unrar l"
|
|
||||||
alias -s tar="tar tf"
|
|
||||||
alias -s gz="tar tf"
|
|
||||||
alias -s jar="java -jar"
|
alias -s jar="java -jar"
|
||||||
alias -s git="git clone --recursive"
|
alias -s git="git clone --recursive"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
alias ..la="cd ..;la"
|
|
||||||
alias ..ll="cd..;ll"
|
|
||||||
alias ..l="..ll"
|
|
||||||
|
|
||||||
alias l=ll
|
alias l=ll
|
||||||
alias ls='ls --color=auto'
|
alias ls='ls --color=auto'
|
||||||
alias ll="ls -lFh --group-directories-first"
|
alias ll='ls -lFh --group-directories-first'
|
||||||
alias la="ls -lAFh --group-directories-first"
|
alias la='ls -lAFh --group-directories-first'
|
||||||
alias lt='ls -lAFh --sort=time'
|
alias lt='ls -lFh --sort=time'
|
||||||
|
alias lat='ls -lAFh --sort=time'
|
||||||
alias lsz='ls -lAFh --sort=size'
|
alias lsz='ls -lAFh --sort=size'
|
||||||
alias al=la # No, I don't need the Mono Assembly Linker
|
alias al=la # No, I don't need the Mono Assembly Linker
|
||||||
|
|
||||||
alias md="mkdir -p"
|
alias md='mkdir -p'
|
||||||
alias rd="rmdir -p"
|
alias rd='rmdir -p'
|
||||||
alias -- -='cd -'
|
alias -- -='cd -'
|
||||||
alias cdt='cd `mktemp -d`'
|
cdt() { cd "$(mktemp -d -t "${1:-tmp}.XXXXXXXX")"; }
|
||||||
|
|
||||||
alias svi=sudoedit
|
alias svi=sudoedit
|
||||||
alias svim=sudoedit
|
alias svim=sudoedit
|
||||||
@ -63,27 +46,26 @@ alias sudo='sudo '
|
|||||||
alias open=xdg-open
|
alias open=xdg-open
|
||||||
|
|
||||||
# Command rewrites
|
# Command rewrites
|
||||||
alias rm='rm -i'
|
alias rm='rm -iv'
|
||||||
alias mv='mv -i'
|
alias mv='mv -i'
|
||||||
alias cp='cp -ir'
|
alias cp='cp -ir'
|
||||||
alias scp='scp -r'
|
alias scp='scp -r'
|
||||||
alias dd='dd status=progress'
|
alias dd='dd status=progress'
|
||||||
alias ssh="ssh -tt"
|
alias wget='wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file'
|
||||||
alias wget="wget --hsts-file=$XDG_DATA_HOME/wget/hsts-file"
|
|
||||||
alias vi=vim
|
alias vi=vim
|
||||||
alias grip='grip --user=frebib --pass=$GRIP_API_KEY'
|
alias grip='grip --pass=$GRIP_API_KEY'
|
||||||
alias acme.sh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
alias acme.sh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
||||||
alias acmesh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
alias acmesh='$XDG_CONFIG_HOME/acme.sh/acme.sh --home $XDG_CONFIG_HOME/acme.sh --config-home $XDG_CONFIG_HOME/acme.sh --log $XDG_CONFIG_HOME/acme.sh/acme.sh.log'
|
||||||
alias alpine-sdk='docker run -ti --rm \
|
alias alpine-sdk="docker run -ti --rm \
|
||||||
-e USER \
|
-e USER \
|
||||||
-e UID="$(id -u)" \
|
-e UID=\"\$(id -u)\" \
|
||||||
-e PWD \
|
-e PWD \
|
||||||
-e HOME \
|
-e HOME \
|
||||||
-w $PWD \
|
-w \$PWD \
|
||||||
-v $PWD:$PWD \
|
-v \$PWD:\$PWD \
|
||||||
-v ~/.abuild:$HOME/.abuild \
|
-v ~/.abuild:\$HOME/.abuild \
|
||||||
-v ~/.abuild/distfiles:/var/cache/distfiles \
|
-v ~/.abuild/distfiles:/var/cache/distfiles \
|
||||||
frebib/alpine-sdk:edge'
|
frebib/alpine-sdk:edge"
|
||||||
alias abuild='alpine-sdk abuild'
|
alias abuild='alpine-sdk abuild'
|
||||||
alias abuild-sign='alpine-sdk abuild-sign'
|
alias abuild-sign='alpine-sdk abuild-sign'
|
||||||
alias apk='alpine-sdk apk'
|
alias apk='alpine-sdk apk'
|
||||||
@ -107,9 +89,9 @@ vim --version 2>/dev/null | command grep -q +clientserver && \
|
|||||||
alias vim="vim --servername vim -p"
|
alias vim="vim --servername vim -p"
|
||||||
|
|
||||||
# Function aliases
|
# Function aliases
|
||||||
env() { command env $@ | stripansi | sort; }
|
env() { command env "$@" | stripansi | sort; }
|
||||||
mcd(){ mkdir -p -- $@ && cd -- $@; }
|
mcd(){ mkdir -p -- "$@" && cd -- "$@"; }
|
||||||
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w $1 | head -n 1; }
|
randstr() { tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w "$1" | head -n 1; }
|
||||||
|
|
||||||
# System aliases
|
# System aliases
|
||||||
alias sc="systemctl"
|
alias sc="systemctl"
|
||||||
@ -122,6 +104,7 @@ alias kl='killall -s 9'
|
|||||||
alias chx='chmod +x'
|
alias chx='chmod +x'
|
||||||
|
|
||||||
# Git Aliases
|
# Git Aliases
|
||||||
|
alias git='TZ=UTC git'
|
||||||
alias g=git
|
alias g=git
|
||||||
alias ginit='git init'
|
alias ginit='git init'
|
||||||
alias gignore='$EDITOR .gitignore'
|
alias gignore='$EDITOR .gitignore'
|
||||||
@ -129,7 +112,7 @@ alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
|
|||||||
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
|
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
|
||||||
alias gcl="git clone --recursive"
|
alias gcl="git clone --recursive"
|
||||||
alias gco="git checkout"
|
alias gco="git checkout"
|
||||||
alias gcom="git checkout master"
|
alias gcom="git checkout \"\$(git defbranch)\""
|
||||||
alias ga="git add"
|
alias ga="git add"
|
||||||
alias gap="git add -p"
|
alias gap="git add -p"
|
||||||
alias gau="git add -u"
|
alias gau="git add -u"
|
||||||
@ -138,7 +121,7 @@ alias gaa="ga -A"
|
|||||||
alias grm="git rm"
|
alias grm="git rm"
|
||||||
alias gc="git commit -s"
|
alias gc="git commit -s"
|
||||||
alias gcm="git commit -s -em"
|
alias gcm="git commit -s -em"
|
||||||
alias gca="git commit -s --amend --date=\"$(date -R)\""
|
alias gca="git commit -s --amend --date=\"\$(date -R)\""
|
||||||
alias gcn="git commit -s --no-edit"
|
alias gcn="git commit -s --no-edit"
|
||||||
alias gcan="gca -s --no-edit"
|
alias gcan="gca -s --no-edit"
|
||||||
alias gcam="gca -s -m"
|
alias gcam="gca -s -m"
|
||||||
@ -148,20 +131,36 @@ alias gm="git merge"
|
|||||||
alias gma="git merge --abort"
|
alias gma="git merge --abort"
|
||||||
|
|
||||||
alias grb="git rebase"
|
alias grb="git rebase"
|
||||||
|
alias grbi="grb -i"
|
||||||
alias grba="grb --abort"
|
alias grba="grb --abort"
|
||||||
alias grbc="grb --continue"
|
alias grbc="grb --continue"
|
||||||
alias grbsk="grb --skip"
|
alias grbsk="grb --skip"
|
||||||
alias grbsh="grb --show-current"
|
alias grbsh="grb --show-current"
|
||||||
alias grbom="git rebase origin/master"
|
alias grbom="git rebase \"origin/\$(git defbranch)\""
|
||||||
|
gfrb() { remote="${1%/*}"; git fetch "$remote" && git rebase "$@"; }
|
||||||
|
gfrbi() { remote="${1%/*}"; git fetch "$remote" && git rebase -i "$@"; }
|
||||||
|
|
||||||
|
alias gam="git am"
|
||||||
|
alias gama="git am --abort"
|
||||||
|
alias gamc="git am --continue"
|
||||||
|
alias gamsk="git am --skip"
|
||||||
|
|
||||||
alias gcp="git cherry-pick"
|
alias gcp="git cherry-pick"
|
||||||
|
alias gcpa="git cherry-pick --abort"
|
||||||
|
alias gcpc="git cherry-pick --continue"
|
||||||
|
alias gcpsk="git cherry-pick --skip"
|
||||||
|
|
||||||
|
alias grv="git revert"
|
||||||
|
alias grva="git revert --abort"
|
||||||
|
alias grvc="git revert --continue"
|
||||||
|
alias grvsk="git revert --skip"
|
||||||
|
|
||||||
alias gf="git fetch"
|
alias gf="git fetch"
|
||||||
alias gp="git push"
|
alias gp="git push"
|
||||||
alias gpf="gp --force"
|
alias gpf="gp --force"
|
||||||
alias gpsu="git push --set-upstream"
|
alias gpsu="git push --set-upstream"
|
||||||
alias gpoH="git push origin HEAD"
|
alias gpoH="git push origin HEAD"
|
||||||
alias gpsuom="git push --set-upstream origin master"
|
alias gpsuom="git push --set-upstream origin \"\$(git defbranch)\""
|
||||||
alias gpall="git remote | xargs -L1 git push"
|
alias gpall="git remote | xargs -L1 git push"
|
||||||
alias gl="git pull --rebase"
|
alias gl="git pull --rebase"
|
||||||
alias glp="gl && gp"
|
alias glp="gl && gp"
|
||||||
@ -169,18 +168,18 @@ alias gd="git diff --patch-with-stat"
|
|||||||
alias gdni="gd --no-index"
|
alias gdni="gd --no-index"
|
||||||
alias gds="gd --staged"
|
alias gds="gd --staged"
|
||||||
alias gsh="git show --format=fuller --patch-with-stat"
|
alias gsh="git show --format=fuller --patch-with-stat"
|
||||||
alias glg="git log --color --format=fuller --stat"
|
alias glg="git log --color --format=fuller --stat --no-merges --graph"
|
||||||
alias glgp="git log --color --format=fuller --patch-with-stat"
|
alias glgp="git log --color --format=fuller --patch-with-stat --no-merges --graph"
|
||||||
alias glog="git log --color --oneline --decorate --graph"
|
alias glog="git log --color --oneline --decorate --graph"
|
||||||
|
|
||||||
alias grst="git reset"
|
alias grst="git reset"
|
||||||
alias gundo="git reset --keep @~1"
|
alias gundo="git reset --keep @~1"
|
||||||
alias gclean="git clean"
|
alias gclean="git clean"
|
||||||
alias gbr="git branch"
|
alias gbr="git branch"
|
||||||
|
alias gbrl="git for-each-ref --sort=committerdate refs/heads/ --format=\"%(refname:short)\" | fzf -x --ansi --multi --preview-window=right:70% --preview=\"git log --format=fuller --stat --color=always {} | head -n\$((\$(tput lines)*10))\""
|
||||||
alias gtg="git tag"
|
alias gtg="git tag"
|
||||||
alias gbl="git blame"
|
alias gbl="git blame"
|
||||||
alias gr="git remote"
|
alias gr="git remote"
|
||||||
alias grv="git revert"
|
|
||||||
alias gra="gr add"
|
alias gra="gr add"
|
||||||
alias grr="gr rm"
|
alias grr="gr rm"
|
||||||
alias grao="gra origin"
|
alias grao="gra origin"
|
||||||
@ -197,7 +196,7 @@ alias d=docker
|
|||||||
alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
alias dps="docker ps --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
||||||
alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
alias dpsa="docker ps -a --format='table {{.ID}}\t{{.Image}}\t{{.Label \"org.label-schema.version\"}}\t{{.Networks}}\t{{.RunningFor}}\t{{.Status}}\t{{.Names}}' | sed '1s/version/VERSION/'"
|
||||||
alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
|
alias dnets="docker network ls -q | xargs docker inspect | jq '.[] | select(.Name != \"host\" and .Name != \"none\") | [.] | map(.Name + \"\t\" + (.IPAM.Config | map(.Subnet) | join(\"\t\")))[]' -r | sort -V -k2,3 | column -t"
|
||||||
daddrs() { docker inspect ${1:-bridge} | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
|
daddrs() { docker inspect "${1:-bridge}" | jq '.[0].Containers | map(.Name + "\t" + .IPv4Address + "\t" + .IPv6Address)[]' -r | sort -V -k2,3 | column -t; }
|
||||||
alias din='docker inspect'
|
alias din='docker inspect'
|
||||||
alias drm='docker rm'
|
alias drm='docker rm'
|
||||||
alias drmi='docker rmi'
|
alias drmi='docker rmi'
|
||||||
@ -206,30 +205,32 @@ alias dbl='docker build --pull'
|
|||||||
alias dbl.='docker build --pull .'
|
alias dbl.='docker build --pull .'
|
||||||
alias drun='docker run -ti'
|
alias drun='docker run -ti'
|
||||||
alias dkl='docker kill'
|
alias dkl='docker kill'
|
||||||
dklrm() { docker kill $@ ; docker rm $@; }
|
alias drmf='docker rm -f'
|
||||||
alias dst='docker stop'
|
alias dst='docker stop'
|
||||||
alias drst='docker restart'
|
alias drst='docker restart'
|
||||||
alias dnet='docker network'
|
alias dnet='docker network'
|
||||||
alias dvol='docker volume'
|
alias dvol='docker volume'
|
||||||
|
alias dc='docker compose'
|
||||||
alias dlg='docker logs --tail=1000 -f'
|
alias dlg='docker logs --tail=1000 -f'
|
||||||
alias dalpine='docker run -ti --rm spritsail/alpine /bin/sh'
|
alias dalpine='docker run -ti --rm spritsail/alpine /bin/sh'
|
||||||
alias drm-stopped='docker container prune'
|
alias drm-stopped='docker container prune'
|
||||||
alias drmi-untag='docker image prune'
|
alias drmi-untag='docker image prune'
|
||||||
alias dprune='docker system prune -f'
|
alias dprune='docker system prune -f'
|
||||||
dsh() { do_dsh 2 exec $@; return $?; }
|
dsh() { do_dsh 2 exec "$@"; return $?; }
|
||||||
_dsh() { __docker_complete_running_containers $@; }
|
_dsh() { __docker_complete_running_containers "$@"; }
|
||||||
drsh() { do_dsh 4 run --rm --entrypoint= $@; return $?; }
|
drsh() { do_dsh 4 run --rm --entrypoint= "$@"; return $?; }
|
||||||
_drsh() { __docker_container_subcommand $@; }
|
_drsh() { __docker_container_subcommand "$@"; }
|
||||||
do_dsh() {
|
do_dsh() {
|
||||||
local minargs=$1
|
local minargs=$1
|
||||||
shift
|
shift
|
||||||
if [ $# -lt $minargs ]; then
|
if [ $# -lt "$minargs" ]; then
|
||||||
|
# shellcheck disable=SC2154
|
||||||
echo "Usage: ${funcstack[2]} [user@]container [program [args]]" >&2
|
echo "Usage: ${funcstack[2]} [user@]container [program [args]]" >&2
|
||||||
return 64
|
return 64
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local dowhat="$1"
|
local dowhat="$1"
|
||||||
local docker_args=()
|
local docker_args=("$dowhat" -ti)
|
||||||
shift
|
shift
|
||||||
|
|
||||||
while [ "${1:0:1}" = '-' ]; do
|
while [ "${1:0:1}" = '-' ]; do
|
||||||
@ -241,68 +242,73 @@ do_dsh() {
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
local user="$(echo "$1" | cut -d'@' -f1 -s)"
|
local user
|
||||||
local prog="${@:2:$#}"
|
user="$(echo "$1" | cut -d@ -f1 -s)"
|
||||||
local usercmd=""
|
|
||||||
|
declare -a prog
|
||||||
|
prog=("${@:2:$#}")
|
||||||
if [ -z "$user" ]; then
|
if [ -z "$user" ]; then
|
||||||
host="$1"
|
host="$1"
|
||||||
else
|
else
|
||||||
host=`echo $1 | cut -d'@' -f2 -s`
|
host="$(cut -d@ -f2 -s <<< "$1")"
|
||||||
usercmd="--user=$user"
|
docker_args+=("--user=$user")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$dowhat" = 'exec' -a -z "$(docker ps -q -f name="$host")" <&- ]; then
|
if [ "$dowhat" = exec ] && [ -z "$(docker ps -q -f name="$host" <&-)" ]; then
|
||||||
echo "No such container $host" >&2
|
echo "No such container $host" >&2
|
||||||
return 5
|
return 5
|
||||||
fi
|
fi
|
||||||
|
if [ "$dowhat" = run ]; then
|
||||||
|
docker image pull "$host"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -z "$prog" ]; then
|
if [ ${#prog[@]} = 0 ]; then
|
||||||
shell_args=()
|
shell_args=("$dowhat")
|
||||||
if [ "$dowhat" = 'run' ]; then
|
if [ "$dowhat" = 'run' ]; then
|
||||||
shell_args=(--rm --entrypoint=)
|
shell_args+=(--rm --entrypoint=)
|
||||||
fi
|
fi
|
||||||
for shell in bash sh; do
|
for shell in bash sh; do
|
||||||
shell_path="$(set -o pipefail; docker $dowhat ${shell_args[@]} "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
|
shell_path="$(set -o pipefail; docker "${shell_args[@]}" "$host" which "$shell" <&- | sed 's|[\r\n]||g')"
|
||||||
retval=$?
|
retval=$?
|
||||||
if [ $retval -eq 0 ]; then
|
if [ $retval -eq 0 ]; then
|
||||||
prog="$shell_path"
|
prog=("$shell_path")
|
||||||
break
|
break
|
||||||
elif [ $retval -ge 125 ]; then
|
elif [ $retval -ge 125 ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ -z "$prog" ]; then
|
if [ ${#prog[@]} = 0 ]; then
|
||||||
echo "Warning: No shell found in path.. trying /bin/sh" >&2
|
echo "Warning: No shell found in path.. trying /bin/sh" >&2
|
||||||
prog=/bin/sh
|
prog=(/bin/sh)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker $dowhat ${docker_args[@]} -ti $usercmd $host $(xargs <<< $prog)
|
docker "${docker_args[@]}" "$host" "${prog[@]}"
|
||||||
}
|
}
|
||||||
|
|
||||||
alias dc='docker-compose'
|
|
||||||
alias dm='docker-machine'
|
alias dm='docker-machine'
|
||||||
dmc() { eval $(docker-machine env $1); }
|
dmc() { eval "$(docker-machine env "$1")"; }
|
||||||
|
|
||||||
# ZFS aliases
|
# ZFS aliases
|
||||||
alias zfs='sudo zfs'
|
alias zfs='sudo zfs'
|
||||||
alias zpool='sudo zpool'
|
alias zpool='sudo zpool'
|
||||||
alias zp=zpool
|
alias zp=zpool
|
||||||
zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
|
zl() { (set -o pipefail; command zfs list "$@" | grep -Ev 'docker/[0-9a-f]{64}' | column -t -R 2,3,4); return $?; }
|
||||||
_zl() { _zfs "list $@"; }
|
_zl() { _zfs "list $*"; }
|
||||||
|
|
||||||
# General Aliases
|
# General Aliases
|
||||||
alias ssha='eval `ssh-agent` ; ssh-add'
|
alias ssha="eval \"\$(ssh-agent)\"; ssh-add"
|
||||||
alias aliases="$EDITOR $thisfile ; exec zsh"
|
# shellcheck disable=SC2139
|
||||||
alias vimrc="$EDITOR $VIMRC"
|
alias aliases="\$EDITOR $thisfile ; exec zsh"
|
||||||
alias zshrc="$EDITOR ${ZDOTDIR:-$HOME}/.zshrc ; exec zsh"
|
alias vimrc="\$EDITOR \$VIMRC"
|
||||||
alias gitrc="$EDITOR $XDG_CONFIG_HOME/git/config"
|
alias zshrc="\$EDITOR \${ZDOTDIR:-\$HOME}/.zshrc ; exec zsh"
|
||||||
alias xinitrc="$EDITOR $XDG_CONFIG_HOME/X11/xinitrc"
|
alias gitrc="\$EDITOR \$XDG_CONFIG_HOME/git/config"
|
||||||
alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONFIG_HOME/X11/xresources"
|
alias xinitrc="\$EDITOR \$XDG_CONFIG_HOME/X11/xinitrc"
|
||||||
alias sshc="$EDITOR ~/.ssh/config"
|
alias xresources="\$EDITOR \$XDG_CONFIG_HOME/X11/xresources ; xrdb merge \$XDG_CONFIG_HOME/X11/xresources"
|
||||||
alias dotfiles="cd $XDG_CONFIG_HOME"
|
alias sshc="\$EDITOR ~/.ssh/config"
|
||||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
|
alias dotfiles="cd \$XDG_CONFIG_HOME"
|
||||||
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; systemctl --user reload polybar@i3bar"
|
alias i3c="\$EDITOR \$XDG_CONFIG_HOME/i3/config; systemctl --user reload i3"
|
||||||
|
alias polybarc="\$EDITOR \$XDG_CONFIG_HOME/polybar/config.ini; systemctl --user reload polybar@i3bar"
|
||||||
|
|
||||||
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
||||||
|
|
||||||
|
@ -51,21 +51,16 @@
|
|||||||
# Ignore newlines '\n' in notifications.
|
# Ignore newlines '\n' in notifications.
|
||||||
ignore_newline = no
|
ignore_newline = no
|
||||||
|
|
||||||
# The geometry of the window:
|
# dynamic width from 0 to 400
|
||||||
# [{width}]x{height}[+/-{x}+/-{y}]
|
# width = (0, 400)
|
||||||
# The geometry of the message window.
|
# constant width of 400
|
||||||
# The height is measured in number of notifications everything else
|
width = (320, 360)
|
||||||
# in pixels. If the width is omitted but the height is given
|
|
||||||
# ("-geometry x2"), the message window expands over the whole screen
|
|
||||||
# (dmenu-like). If width is 0, the window expands to the longest
|
|
||||||
# message displayed. A positive x is measured from the left, a
|
|
||||||
# negative from the right side of the screen. Y is measured from
|
|
||||||
# the top and down respectevly.
|
|
||||||
# The width can be negative. In this case the actual width is the
|
|
||||||
# screen width minus the width defined in within the geometry option.
|
|
||||||
|
|
||||||
# 53 = 30 + 23 (bar-height)
|
# Position the notification in the top right corner
|
||||||
geometry = "360x5-30+30"
|
origin = top-right
|
||||||
|
|
||||||
|
# Offset from the origin
|
||||||
|
offset = 30x30
|
||||||
|
|
||||||
# Shrink window if it's smaller than the width. Will be ignored if
|
# Shrink window if it's smaller than the width. Will be ignored if
|
||||||
# width is 0.
|
# width is 0.
|
||||||
@ -74,7 +69,7 @@
|
|||||||
# The transparency of the window. Range: [0; 100].
|
# The transparency of the window. Range: [0; 100].
|
||||||
# This option will only work if a compositing windowmanager is
|
# This option will only work if a compositing windowmanager is
|
||||||
# present (e.g. xcompmgr, compiz, etc.).
|
# present (e.g. xcompmgr, compiz, etc.).
|
||||||
transparency = 15
|
transparency = 20
|
||||||
|
|
||||||
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
# Don't remove messages, if the user is idle (no mouse or keyboard input)
|
||||||
# for longer than idle_threshold seconds.
|
# for longer than idle_threshold seconds.
|
||||||
|
@ -9,6 +9,6 @@ XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
|||||||
EDITOR="vim"
|
EDITOR="vim"
|
||||||
VISUAL="vim"
|
VISUAL="vim"
|
||||||
|
|
||||||
PATH="${PATH}:/sbin:/usr/sbin:${XDG_CONFIG_HOME}/scripts"
|
PATH="${PATH}:/sbin:/usr/sbin:${HOME}/.local/bin:${XDG_CONFIG_HOME}/scripts"
|
||||||
|
|
||||||
# vim: ft=sh
|
# vim: ft=sh
|
||||||
|
@ -9,7 +9,7 @@ GEM_SPEC_CACHE="$XDG_CACHE_HOME/gem"
|
|||||||
GOPATH="$XDG_DATA_HOME/go"
|
GOPATH="$XDG_DATA_HOME/go"
|
||||||
ICEAUTHORITY="$XDG_CACHE_HOME/ICEauthority"
|
ICEAUTHORITY="$XDG_CACHE_HOME/ICEauthority"
|
||||||
NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
|
NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
|
||||||
#PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
||||||
PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup"
|
PYTHONSTARTUP="$XDG_CONFIG_HOME/python/startup"
|
||||||
RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||||
TERMINFO="$XDG_DATA_HOME/terminfo"
|
TERMINFO="$XDG_DATA_HOME/terminfo"
|
||||||
@ -22,6 +22,6 @@ WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"
|
|||||||
XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
|
XINITRC="$XDG_CONFIG_HOME/X11/xinitrc"
|
||||||
ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
ZDOTDIR="$XDG_CONFIG_HOME/zsh"
|
||||||
|
|
||||||
PATH="${PATH}:${GOPATH}/bin:${GEM_HOME}/bin"
|
PATH="${PATH}:${GOPATH}/bin:${GEM_HOME}/ruby/3.0.0/bin"
|
||||||
|
|
||||||
# vim: ft=sh
|
# vim: ft=sh
|
||||||
|
@ -6,25 +6,44 @@
|
|||||||
<edit name="family" mode="prepend" binding="strong">
|
<edit name="family" mode="prepend" binding="strong">
|
||||||
<string>Noto Sans</string>
|
<string>Noto Sans</string>
|
||||||
<string>Noto Color Emoji</string>
|
<string>Noto Color Emoji</string>
|
||||||
<string>FontAwesome 5 Pro Light</string>
|
<string>FontAwesome 6 Pro Light</string>
|
||||||
</edit>
|
</edit>
|
||||||
|
|
||||||
|
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
|
||||||
|
<edit mode="assign" name="hinting"><bool>false</bool></edit>
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
<match>
|
<match>
|
||||||
<test qual="any" name="family"><string>serif</string></test>
|
<test qual="any" name="family"><string>serif</string></test>
|
||||||
<edit name="family" mode="prepend" binding="strong">
|
<edit name="family" mode="prepend" binding="strong">
|
||||||
<string>Noto Serif</string>
|
<string>Noto Serif</string>
|
||||||
<string>Noto Color Emoji</string>
|
<string>Noto Color Emoji</string>
|
||||||
<string>FontAwesome 5 Pro Light</string>
|
<string>FontAwesome 6 Pro Light</string>
|
||||||
</edit>
|
</edit>
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
<match>
|
<match>
|
||||||
<test qual="any" name="family"><string>monospace</string></test>
|
<test qual="any" name="family"><string>monospace</string></test>
|
||||||
<edit name="family" mode="prepend" binding="strong">
|
<edit name="family" mode="prepend" binding="strong">
|
||||||
<string>Source Code Pro</string>
|
<string>Source Code Pro</string>
|
||||||
<string>Noto Color Emoji</string>
|
<string>Noto Color Emoji</string>
|
||||||
<string>FontAwesome 5 Pro Light</string>
|
<string>FontAwesome 6 Pro Light</string>
|
||||||
</edit>
|
</edit>
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
|
<match>
|
||||||
|
<test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
|
||||||
|
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
|
<match>
|
||||||
|
<test qual="all" name="family" compare="eq"><string>Source Code Pro</string></test>
|
||||||
|
<edit name="antialias" mode="assign_replace"><bool>false</bool></edit>
|
||||||
|
<edit name="hintstyle" mode="assign_replace"><const>hintfull</const></edit>
|
||||||
|
<edit name="lcdfilter" mode="assign_replace"><const>lcddefault</const></edit>
|
||||||
|
<edit name="rgba" mode="assign_replace"><const>rgb</const></edit>
|
||||||
|
</match>
|
||||||
|
|
||||||
<alias>
|
<alias>
|
||||||
<family>SF Mono</family>
|
<family>SF Mono</family>
|
||||||
<accept>
|
<accept>
|
||||||
@ -32,13 +51,8 @@
|
|||||||
</accept>
|
</accept>
|
||||||
</alias>
|
</alias>
|
||||||
|
|
||||||
<match target="font">
|
<match>
|
||||||
<test qual="all" name="family" compare="eq"><string>Noto Sans</string></test>
|
<edit name="antialias" mode="assign"><bool>true</bool></edit>
|
||||||
<edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
|
|
||||||
</match>
|
|
||||||
<match target="font">
|
|
||||||
<test qual="all" name="family" compare="eq"><string>Source Code Pro</string></test>
|
|
||||||
<edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
|
|
||||||
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
|
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
|
||||||
<edit name="rgba" mode="assign"><const>rgb</const></edit>
|
<edit name="rgba" mode="assign"><const>rgb</const></edit>
|
||||||
</match>
|
</match>
|
||||||
|
17
git/config
17
git/config
@ -5,9 +5,11 @@
|
|||||||
[core]
|
[core]
|
||||||
autocrlf = input
|
autocrlf = input
|
||||||
excludesfile = /home/frebib/.config/git/gitignore
|
excludesfile = /home/frebib/.config/git/gitignore
|
||||||
pager = diff-highlight | $PAGER
|
pager = delta --diff-so-fancy --color-only
|
||||||
|
[init]
|
||||||
|
defaultBranch = master
|
||||||
[interactive]
|
[interactive]
|
||||||
diffFilter = diff-highlight
|
diffFilter = delta --diff-so-fancy --color-only
|
||||||
[commit]
|
[commit]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
[fetch]
|
[fetch]
|
||||||
@ -17,8 +19,16 @@
|
|||||||
[pull]
|
[pull]
|
||||||
rebase = true
|
rebase = true
|
||||||
prune = true
|
prune = true
|
||||||
|
[merge]
|
||||||
|
ff = only
|
||||||
[rebase]
|
[rebase]
|
||||||
autoStash = true
|
autoStash = true
|
||||||
|
[remote "origin"]
|
||||||
|
fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
|
||||||
|
[remote "upstream"]
|
||||||
|
fetch = +refs/pull/*/head:refs/remotes/upstream/pr/*
|
||||||
|
[log]
|
||||||
|
date = iso8601-local
|
||||||
[format]
|
[format]
|
||||||
pretty = format:%h %Cblue%ad%Creset %ae %Cgreen%s%Creset
|
pretty = format:%h %Cblue%ad%Creset %ae %Cgreen%s%Creset
|
||||||
[alias]
|
[alias]
|
||||||
@ -27,9 +37,12 @@
|
|||||||
count = !echo $(pwd) && git rev-list HEAD --count
|
count = !echo $(pwd) && git rev-list HEAD --count
|
||||||
unpushed = !git log --oneline @{u}..HEAD
|
unpushed = !git log --oneline @{u}..HEAD
|
||||||
leaders = !git shortlog -s -n --all --no-merges
|
leaders = !git shortlog -s -n --all --no-merges
|
||||||
|
defbranch = !git symbolic-ref refs/remotes/origin/HEAD | sed \"s@^refs/remotes/origin/@@\"
|
||||||
|
rbranch = for-each-ref --sort='committerdate' --format="%20%20%(refname:short)" refs/heads/
|
||||||
[advice]
|
[advice]
|
||||||
statusHints = false
|
statusHints = false
|
||||||
pushUpdateRejected = false
|
pushUpdateRejected = false
|
||||||
|
detachedHead = false
|
||||||
[sendemail]
|
[sendemail]
|
||||||
from = Joe Groocock <me@frebib.net>
|
from = Joe Groocock <me@frebib.net>
|
||||||
smtpserver = smtp.zoho.com
|
smtpserver = smtp.zoho.com
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
|
||||||
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
|
||||||
|
|
||||||
gtk-theme-name="Arc-Dark"
|
gtk-theme-name="Arc-Dark"
|
||||||
gtk-icon-theme-name="Xenlism-Wildfire"
|
gtk-icon-theme-name="Xenlism-Wildfire"
|
||||||
gtk-font-name="Noto Sans 9"
|
gtk-font-name="sans 9"
|
||||||
gtk-cursor-theme-name="Breeze_Obsidian"
|
gtk-cursor-theme-name="BreezeX-Black"
|
||||||
gtk-cursor-theme-size=0
|
gtk-cursor-theme-size=28
|
||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
gtk-button-images=1
|
gtk-button-images=1
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
gtk-theme-name=Arc-Dark
|
gtk-theme-name=Arc-Dark
|
||||||
gtk-icon-theme-name=Xenlism-Wildfire
|
gtk-icon-theme-name=Xenlism-Wildfire
|
||||||
gtk-application-prefer-dark-theme=true
|
gtk-application-prefer-dark-theme=true
|
||||||
gtk-font-name=Noto Sans 9
|
gtk-font-name=sans 9
|
||||||
gtk-cursor-theme-name=Breeze_Obsidian
|
gtk-cursor-theme-name=BreezeX-Black
|
||||||
gtk-cursor-theme-size=0
|
gtk-cursor-theme-size=28
|
||||||
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||||
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
gtk-button-images=1
|
gtk-button-images=1
|
||||||
|
1
gtk-4.0/settings.ini
Symbolic link
1
gtk-4.0/settings.ini
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../gtk-3.0/settings.ini
|
11
i3/config
11
i3/config
@ -139,19 +139,20 @@ bindsym $mod+v exec systemd-run-i3 -n alacritty -e sh -c "($SHE
|
|||||||
bindsym $mod+Ctrl+v exec systemd-run-i3 -n alacritty --class floating -e sh -c "($SHELL -c $EDITOR || : ) && $SHELL"
|
bindsym $mod+Ctrl+v exec systemd-run-i3 -n alacritty --class floating -e sh -c "($SHELL -c $EDITOR || : ) && $SHELL"
|
||||||
bindsym $mod+l exec dm-tool switch-to-greeter
|
bindsym $mod+l exec dm-tool switch-to-greeter
|
||||||
bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window -run-command 'systemd-run-i3 -n {cmd}'"
|
bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -terminal i3-sensible-terminal -normal-window -run-command 'systemd-run-i3 -n {cmd}'"
|
||||||
bindsym $mod+Shift+p exec rofi-pass --root $(grep path ~/.config/gopass/config.yml | sed -E 's|^.*fs\+file://||g' | tr '\n' ':') | sed 's/:$//g'
|
bindsym $mod+Shift+p exec systemd-run-i3 -n rofi-rbw
|
||||||
bindsym $mod+Shift+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
|
bindsym $mod+Shift+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
|
||||||
bindsym $mod+Shift+i exec rofi-fontawesome
|
bindsym $mod+Shift+i exec rofi-fontawesome
|
||||||
bindsym --release Print exec screenshot
|
bindsym --release Print exec screenshot --clip
|
||||||
bindsym --release $mod+Print exec screenshot --clip
|
bindsym --release $mod+Print exec screenshot
|
||||||
bindsym --release Shift+Print exec screenshot --active
|
bindsym --release Shift+Print exec screenshot --active
|
||||||
bindsym --release $mod+Shift+Print exec screenshot --active --clip
|
bindsym --release $mod+Shift+Print exec screenshot --active --clip
|
||||||
bindsym $mod+Shift+x exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))"
|
bindsym $mod+Shift+x exec systemd-run-i3 -n i3-sensible-terminal --class floating-term --hold -e /bin/echo "$(xprop -id $(xdotool getactivewindow))"
|
||||||
bindsym $mod+$alt+space exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py
|
bindsym $mod+$alt+space exec systemd-run-i3 -s background -n ~/.config/i3/cycleaudio.py
|
||||||
bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
|
bindsym $mod+numbersign exec systemd-run-i3 -n i3-sensible-terminal --hold -e sh -c 'xclip -o | gpg --decrypt 2>&1'
|
||||||
bindsym $mod+r exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r'
|
bindsym $mod+r exec bash -c 'pwgen -snc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i -r'
|
||||||
bindsym $mod+g exec systemd-run-i3 -n notify-send -c transfer "$(gist -PRpc)"
|
bindsym $mod+g exec systemd-run-i3 -n bash -xc 'xclip -o | gh gist create -d Paste - 2>&1 | grep -vE "^[-✓] Creat(ing|ed) gist" | tee >(xclip -i >&2 >/dev/null) | xargs -I% --null -r notify-send -c transfer -- %'
|
||||||
bindsym --release $mod+i exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 250 "$(xclip -o -selection clipboard)"'
|
bindsym --release $mod+i exec systemd-run-i3 -s background -n sh -c 'sleep 0.5 && xdotool getactivewindow type --delay 10 -- "$(xclip -o -selection clipboard)"'
|
||||||
|
bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp
|
||||||
|
|
||||||
# Media player controls
|
# Media player controls
|
||||||
bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause
|
bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause
|
||||||
|
@ -11,7 +11,7 @@ case $option in
|
|||||||
power\ off) systemctl poweroff;;
|
power\ off) systemctl poweroff;;
|
||||||
reboot) systemctl reboot;;
|
reboot) systemctl reboot;;
|
||||||
windows)
|
windows)
|
||||||
windows=`efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4`
|
windows="$(efibootmgr | grep -Po -m1 'Boot\K(\d{4}).*Windows.*' | head -c4)"
|
||||||
sudo efibootmgr -n $windows
|
sudo efibootmgr -n $windows
|
||||||
reboot;;
|
systemctl reboot;;
|
||||||
esac
|
esac
|
||||||
|
122
picom/picom.conf
122
picom/picom.conf
@ -4,31 +4,29 @@ log-level = "info";
|
|||||||
|
|
||||||
# Shadow
|
# Shadow
|
||||||
shadow = true;
|
shadow = true;
|
||||||
shadow-radius = 24;
|
shadow-radius = 30;
|
||||||
shadow-offset-x = -24;
|
shadow-offset-x = -30;
|
||||||
shadow-offset-y = -24;
|
shadow-offset-y = -24;
|
||||||
shadow-opacity = 0.6;
|
shadow-opacity = 0.4;
|
||||||
# shadow-red = 0.0;
|
shadow-color = "#000000";
|
||||||
# shadow-green = 0.0;
|
|
||||||
# shadow-blue = 0.0;
|
|
||||||
shadow-exclude = [
|
shadow-exclude = [
|
||||||
"class_g = 'slop'",
|
"class_g = 'slop'",
|
||||||
"class_g = 'Conky'",
|
"class_g = 'Conky'",
|
||||||
"class_g ?= 'Notify-osd'",
|
"class_g ?= 'Notify-osd'",
|
||||||
"class_g = 'Cairo-clock'",
|
"class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
|
||||||
"class_g = 'firefox' && argb",
|
|
||||||
"name = 'Notification'",
|
"name = 'Notification'",
|
||||||
"name = 'cpt_frame_window'",
|
"name = 'cpt_frame_window'",
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
"_GTK_FRAME_EXTENTS@:c"
|
||||||
];
|
];
|
||||||
# shadow-exclude = "n:e:Notification";
|
# shadow-exclude = "n:e:Notification";
|
||||||
# shadow-exclude-reg = "x10+0+0";
|
# shadow-exclude-reg = "x10+0+0";
|
||||||
|
# shadow-ignore-shaped = true;
|
||||||
xinerama-shadow-crop = true;
|
xinerama-shadow-crop = true;
|
||||||
|
|
||||||
# Opacity
|
# Opacity
|
||||||
frame-opacity = 1.0;
|
frame-opacity = 1.0;
|
||||||
# active-opacity = 0.8;
|
active-opacity = 1.0;
|
||||||
inactive-opacity = 0.6;
|
inactive-opacity = 0.5;
|
||||||
inactive-opacity-override = true;
|
inactive-opacity-override = true;
|
||||||
# inactive-dim = 0.2;
|
# inactive-dim = 0.2;
|
||||||
# inactive-dim-fixed = true;
|
# inactive-dim-fixed = true;
|
||||||
@ -40,7 +38,7 @@ opacity-rule = [
|
|||||||
blur:
|
blur:
|
||||||
{
|
{
|
||||||
method = "dual_kawase";
|
method = "dual_kawase";
|
||||||
strength = 8;
|
strength = 12;
|
||||||
};
|
};
|
||||||
blur-background-frame = true;
|
blur-background-frame = true;
|
||||||
blur-background-fixed = true;
|
blur-background-fixed = true;
|
||||||
@ -49,56 +47,106 @@ blur-background-exclude = [
|
|||||||
"class_g = 'Onboard'",
|
"class_g = 'Onboard'",
|
||||||
"class_g = 'slop'",
|
"class_g = 'slop'",
|
||||||
"class_g = 'Polybar'",
|
"class_g = 'Polybar'",
|
||||||
"class_g = 'firefox' && argb",
|
"class_g = 'firefox' && argb && (window_type = 'utility' || window_type = 'popup_menu')",
|
||||||
"window_type = 'dock'",
|
"window_type = 'dock'",
|
||||||
"window_type = 'desktop'",
|
"window_type = 'desktop'",
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
"_GTK_FRAME_EXTENTS@:c",
|
||||||
|
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Corners
|
||||||
|
corner-radius = 9;
|
||||||
|
|
||||||
# Fading
|
# Fading
|
||||||
fading = true;
|
fading = true;
|
||||||
fade-delta = 10;
|
fade-delta = 10;
|
||||||
fade-in-step = 0.04
|
fade-in-step = 0.035;
|
||||||
fade-out-step = 0.06;
|
fade-out-step = 0.06;
|
||||||
no-fading-openclose = false;
|
no-fading-openclose = false;
|
||||||
no-fading-destroyed-argb = false;
|
no-fading-destroyed-argb = false;
|
||||||
# fade-exclude = [ ];
|
# fade-exclude = [ ];
|
||||||
|
|
||||||
# Other
|
# Focus
|
||||||
backend = "glx";
|
|
||||||
mark-wmwin-focused = true;
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
use-ewmh-active-win = true;
|
|
||||||
detect-rounded-corners = true;
|
|
||||||
detect-client-opacity = true;
|
|
||||||
refresh-rate = 0;
|
|
||||||
vsync = true;
|
|
||||||
# sw-opti = true;
|
|
||||||
# unredir-if-possible = true;
|
|
||||||
# unredir-if-possible-delay = 5000;
|
|
||||||
# unredir-if-possible-exclude = [ ];
|
|
||||||
focus-exclude = [
|
focus-exclude = [
|
||||||
"i:ai:chromium",
|
"i:ai:chromium",
|
||||||
"class_g = 'firefox'",
|
"class_g = 'firefox'",
|
||||||
"class_g = 'zoom'"
|
"class_g = 'zoom'",
|
||||||
|
"class_g = 'guvcview'",
|
||||||
|
"class_g = 'Entangle'",
|
||||||
|
"class_g = 'obs'",
|
||||||
|
"class_g = 'parsecd'",
|
||||||
|
"class_g = 'discord'",
|
||||||
|
"class_g = 'steam_app_271590'"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
transition-length = 350;
|
||||||
|
transition-pow-x = 0.3;
|
||||||
|
transition-pow-y = 0.3;
|
||||||
|
size-transition = true;
|
||||||
|
|
||||||
|
# Other
|
||||||
|
# https://github.com/yshui/picom/blob/next/picom.sample.conf#L203
|
||||||
|
backend = "glx";
|
||||||
|
vsync = true;
|
||||||
|
mark-wmwin-focused = true;
|
||||||
|
mark-ovredir-focused = true;
|
||||||
|
detect-rounded-corners = true;
|
||||||
|
detect-client-opacity = true;
|
||||||
|
use-ewmh-active-win = true;
|
||||||
|
# unredir-if-possible = true;
|
||||||
|
# unredir-if-possible-delay = 5000;
|
||||||
|
# unredir-if-possible-exclude = [ ];
|
||||||
detect-transient = true;
|
detect-transient = true;
|
||||||
detect-client-leader = true;
|
detect-client-leader = true;
|
||||||
invert-color-include = [ ];
|
invert-color-include = [ ];
|
||||||
# resize-damage = 1;
|
resize-damage = 1;
|
||||||
|
|
||||||
# GLX backend
|
# GLX backend
|
||||||
glx-no-stencil = true;
|
glx-no-stencil = true;
|
||||||
glx-no-rebind-pixmap = true;
|
glx-no-rebind-pixmap = true;
|
||||||
xrender-sync-fence = true;
|
# xrender-sync-fence = true;
|
||||||
|
# no-use-damage = false;
|
||||||
use-damage = true;
|
use-damage = true;
|
||||||
|
|
||||||
# Window type settings
|
# Window type settings
|
||||||
wintypes:
|
wintypes: {
|
||||||
{
|
tooltip = {
|
||||||
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
opacity = 0.75;
|
||||||
dock = { shadow = false; }
|
full-shadow = false;
|
||||||
dnd = { shadow = false; }
|
blur-background = false;
|
||||||
popup_menu = { opacity = 0.8; }
|
}
|
||||||
dropdown_menu = { opacity = 0.8; }
|
|
||||||
|
dock = {
|
||||||
|
# Prevents polybar getting a forehead-shadow
|
||||||
|
shadow = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
dnd = {
|
||||||
|
# Prevents dragged text in a browser getting blur/shadow
|
||||||
|
shadow = false;
|
||||||
|
blur-background = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
popup_menu = {
|
||||||
|
opacity = 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
dropdown_menu = {
|
||||||
|
opacity = 0.8;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#animations = true;
|
||||||
|
#animation-clamping = false;
|
||||||
|
#animation-dampening = 1.0;
|
||||||
|
#animation-window-mass = 0.125;
|
||||||
|
#animation-unmap = "fade-out";
|
||||||
|
#animation-for-unmap-window = "zoom";
|
||||||
|
#animation-for-open-window = "auto";
|
||||||
|
#animation-workspace-in = "slide-left";
|
||||||
|
#animation-workspace-out = "slide-left";
|
||||||
|
#animation-for-workspace-switch-in = "auto";
|
||||||
|
#animation-for-workspace-switch-out = "auto";
|
||||||
|
#animation-for-transient-window = "zoom";
|
||||||
|
|
||||||
|
# vim: ft=conf noet
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
[colours]
|
[colours]
|
||||||
background = transparent
|
background = #0000
|
||||||
text = #eceff1
|
text = #eceff1
|
||||||
icon = #147a82
|
icon = #147a82
|
||||||
warning = #ffcb00
|
warning = #ffcb00
|
||||||
@ -10,25 +10,23 @@ urgent = #e53935
|
|||||||
format-foreground = ${colours.text}
|
format-foreground = ${colours.text}
|
||||||
format-background = ${colours.background}
|
format-background = ${colours.background}
|
||||||
format-spacing = 0
|
format-spacing = 0
|
||||||
format-margin = 2.5
|
format-margin = 3
|
||||||
format-offset = 0
|
format-offset = 0
|
||||||
|
|
||||||
screenchange-reload = true
|
screenchange-reload = true
|
||||||
|
|
||||||
[bar/i3bar]
|
[bar/i3bar]
|
||||||
monitor = ${env:MONITOR:HDMI-0}
|
|
||||||
dpi = ${xrdb:Xft.dpi:96}
|
dpi = ${xrdb:Xft.dpi:96}
|
||||||
fixed-center = false
|
fixed-center = false
|
||||||
enable-ipc = true
|
enable-ipc = true
|
||||||
|
|
||||||
width = 100%
|
width = 100%
|
||||||
#offset-x = 18px
|
|
||||||
height = 16pt
|
height = 16pt
|
||||||
bottom = true
|
bottom = true
|
||||||
radius = 0
|
radius = 0
|
||||||
|
|
||||||
font-0 = sans:pixelsize=9;2pt
|
font-0 = sans:pixelsize=9;2pt
|
||||||
font-1 = FontAwesome5ProLight:pixelsize=10;2pt
|
font-1 = FontAwesome6ProLight:pixelsize=10;2pt
|
||||||
|
|
||||||
foreground = ${colours.text}
|
foreground = ${colours.text}
|
||||||
background = ${colours.background}
|
background = ${colours.background}
|
||||||
@ -39,7 +37,7 @@ padding-right = 2pt
|
|||||||
border-size = 0
|
border-size = 0
|
||||||
border-left-size = 16pt
|
border-left-size = 16pt
|
||||||
border-right-size = 16pt
|
border-right-size = 16pt
|
||||||
border-bottom-size = 8pt
|
border-bottom-size = 10pt
|
||||||
|
|
||||||
line-size = 0
|
line-size = 0
|
||||||
line-colour = #f00
|
line-colour = #f00
|
||||||
@ -47,14 +45,14 @@ line-colour = #f00
|
|||||||
modules-left = i3
|
modules-left = i3
|
||||||
modules-center =
|
modules-center =
|
||||||
# modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
# modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
||||||
modules-right = volume updates weather wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
modules-right = volume updates weather wlan eth memory cpu xbacklight battery cputemp gputemp date
|
||||||
|
|
||||||
tray-position = right
|
tray-position = right
|
||||||
tray-detached = false
|
tray-detached = false
|
||||||
tray-background = ${colours.background}
|
tray-background = ${colours.background}
|
||||||
#tray-offset-x = -20
|
#tray-offset-x = -20
|
||||||
#tray-offset-y = 0
|
#tray-offset-y = 0
|
||||||
tray-maxsize = 12pt
|
tray-maxsize = 16pt
|
||||||
tray-padding = 8pt
|
tray-padding = 8pt
|
||||||
tray-scale = 1.0
|
tray-scale = 1.0
|
||||||
|
|
||||||
@ -189,10 +187,10 @@ ramp-signal-foreground = ${colours.icon}
|
|||||||
|
|
||||||
[module/eth]
|
[module/eth]
|
||||||
type = internal/network
|
type = internal/network
|
||||||
interface = eth0
|
interface = lan
|
||||||
interval = 3.0
|
interval = 10.0
|
||||||
|
|
||||||
label-connected = %local_ip%
|
label-connected = %local_ip% & %local_ip6%
|
||||||
format-connected-prefix = " "
|
format-connected-prefix = " "
|
||||||
format-connected-prefix-foreground = ${colours.icon}
|
format-connected-prefix-foreground = ${colours.icon}
|
||||||
format-connected-underline = ${colours.background}
|
format-connected-underline = ${colours.background}
|
||||||
@ -269,7 +267,7 @@ ramp-capacity-1-foreground = ${colours.warning}
|
|||||||
|
|
||||||
[module/cputemp]
|
[module/cputemp]
|
||||||
type = internal/temperature
|
type = internal/temperature
|
||||||
hwmon-path = /sys/devices/platform/nct6775.656/hwmon/hwmon1/temp2_input
|
hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp2_input
|
||||||
base-temperature = 25
|
base-temperature = 25
|
||||||
|
|
||||||
format = <ramp> <label>
|
format = <ramp> <label>
|
@ -8,7 +8,7 @@ window {
|
|||||||
border: 0.3em;
|
border: 0.3em;
|
||||||
border-color: #2f343f;
|
border-color: #2f343f;
|
||||||
padding: 0.8em;
|
padding: 0.8em;
|
||||||
background-color: rgba(56, 60, 74, 0.95);
|
background-color: rgba(56, 60, 74, 0.9);
|
||||||
transparency: "real";
|
transparency: "real";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
configuration {
|
configuration {
|
||||||
theme: "arc-dark";
|
|
||||||
font: "sans 14";
|
font: "sans 14";
|
||||||
dpi: 0;
|
dpi: 0;
|
||||||
width: 35;
|
|
||||||
lines: 10;
|
|
||||||
|
|
||||||
/* show-icons: true; */
|
/* show-icons: true; */
|
||||||
separator-style: "solid";
|
separator-style: "solid";
|
||||||
modi: "window,run,ssh";
|
modi: "window,run,ssh";
|
||||||
kb-row-tab: "Shift-Tab";
|
/* kb-row-tab: "Shift-Tab"; */
|
||||||
kb-row-select: "Tab";
|
/* kb-row-select: "Tab"; */
|
||||||
terminal: "i3-sensible-terminal";
|
terminal: "i3-sensible-terminal";
|
||||||
|
|
||||||
matching: "glob";
|
matching: "glob";
|
||||||
@ -142,4 +139,15 @@ configuration {
|
|||||||
/* me-accept-custom: "Control+MouseDPrimary";*/
|
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@theme "arc-dark"
|
||||||
|
|
||||||
|
window {
|
||||||
|
width: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
lines: 10;
|
||||||
|
columns: 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* vim: ft=css sw=2 */
|
/* vim: ft=css sw=2 */
|
||||||
|
75
scripts/dpi
75
scripts/dpi
@ -1,28 +1,69 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
set -e
|
set -eu
|
||||||
|
|
||||||
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
|
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
|
||||||
|
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||||
|
|
||||||
dpi=$1
|
BLUR_STRENGTH=12
|
||||||
|
CURSOR_SIZE=28
|
||||||
|
CORNER_RADIUS=9
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
xrdbget() {
|
||||||
>&2 printf "Usage\n\t%s: <dpi>" "$(basename "$0")"
|
set -o pipefail
|
||||||
|
xrdb -query | grep -i -m1 "$1" | sed 's/^.*:\s//g' || echo "$2"
|
||||||
|
}
|
||||||
|
|
||||||
|
xsetting_bool() {
|
||||||
|
case "$1" in
|
||||||
|
true) echo 1;;
|
||||||
|
false) echo 0;;
|
||||||
|
default) echo -1;;
|
||||||
|
*) echo -1;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ -z "$1" ] || [ "$1" -gt 200 ] || [ "$1" -lt 96 ]; then
|
||||||
|
>&2 printf "Usage\n\t%s: value\n\n value\t Value must be within 96-200 inclusive\n" "$(basename "$0")"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/xsettingsd"
|
dpi=$1
|
||||||
mkdir -p "$CONF_DIR"
|
scale=$(( dpi/96 ))
|
||||||
|
cursor=$(( (dpi*CURSOR_SIZE)/96 ))
|
||||||
|
|
||||||
# Build xsettingsd.local
|
# Update picom scale
|
||||||
|
sed -i -e "s/strength =.*$/strength = $(( (dpi*BLUR_STRENGTH)/96 ));/" \
|
||||||
|
-e "s/corner-radius =.*$/corner-radius = $(( (dpi*CORNER_RADIUS)/96 ));/" \
|
||||||
|
"$CONF_DIR/picom/picom.conf" &
|
||||||
|
|
||||||
|
# Build xsettingsd.conf
|
||||||
|
mkdir -p "$CONF_DIR/xsettingsd"
|
||||||
{
|
{
|
||||||
cat $CONF_DIR/xsettingsd.conf 2>/dev/null || true
|
cat "$CONF_DIR/xsettingsd.local" 2>/dev/null || :
|
||||||
echo Xft/DPI $(( $dpi*1024 ))
|
echo "Xcursor/size $cursor"
|
||||||
echo Gdk/WindowScalingFactor $(( $dpi/96 ))
|
echo "Gtk/CursorThemeSize $cursor"
|
||||||
echo Gdk/UnscaledDPI $(( $dpi*1024/($dpi/96) ))
|
echo "Gtk/CursorThemeName \"$(xrdbget Xcursor.theme Adwaita)\""
|
||||||
} > $CONF_DIR/xsettingsd.local
|
echo "Xft/HintStyle \"$(xrdbget Xft.hintstyle hintfull)\""
|
||||||
|
echo "Xft/Hinting $(xsetting_bool "$(xrdbget Xft.hinting default)")"
|
||||||
|
echo "Xft/RGBA \"$(xrdbget Xft.rgba rgb)\""
|
||||||
|
echo "Xft/DPI $(( dpi*1024 ))"
|
||||||
|
echo "Gdk/WindowScalingFactor $scale"
|
||||||
|
echo "Gdk/UnscaledDPI $(( dpi*1024/scale ))"
|
||||||
|
} > "$CONF_DIR/xsettingsd/xsettingsd.conf"
|
||||||
|
|
||||||
echo Xft.dpi: $dpi | xrdb -merge
|
xrdb -merge <<EOF &
|
||||||
xrandr --dpi $dpi
|
Xft.dpi: $dpi
|
||||||
|
Xcursor.size: $cursor
|
||||||
|
EOF
|
||||||
|
xrandr --dpi "$dpi" &
|
||||||
|
systemctl --user reload-or-restart xsettingsd &
|
||||||
|
wait
|
||||||
|
|
||||||
systemctl --user reload-or-restart xsettingsd
|
systemctl --user reload \
|
||||||
systemctl --user --no-block reload i3 polybar@i3bar
|
i3 \
|
||||||
|
polybar@i3bar &
|
||||||
|
systemctl --user restart \
|
||||||
|
dunst &
|
||||||
|
|
||||||
|
wait
|
||||||
|
42
scripts/otp
Executable file
42
scripts/otp
Executable file
@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
while getopts "on:" o; do
|
||||||
|
case "${o}" in
|
||||||
|
o)
|
||||||
|
stdout=1;;
|
||||||
|
n)
|
||||||
|
caller="${OPTARG}"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exec ykman oath accounts list
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
exec ykman oath accounts list
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$caller" ]; then
|
||||||
|
notif="$(notify-send -p "Touch your Yubikey" "$caller is requesting otp for $1")"
|
||||||
|
fi
|
||||||
|
|
||||||
|
ykman oath accounts code -s "$1" 2>&1 |
|
||||||
|
while read -r x; do
|
||||||
|
if grep -Pqw '[0-9]{6}' <<< "$x"; then
|
||||||
|
if [ -z "$stdout" ]; then
|
||||||
|
echo "$x" | tee >(xclip -i)
|
||||||
|
xdotool type "$x"
|
||||||
|
else
|
||||||
|
echo "$x"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ -z "$stdout" ]; then
|
||||||
|
notify-send "$x";
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -n "$notif" ]; then
|
||||||
|
notify-send -r "$notif" -t 1000 "Touch your Yubikey" "otp generated for $caller"
|
||||||
|
fi
|
@ -59,7 +59,7 @@ function notify() {
|
|||||||
function display() {
|
function display() {
|
||||||
update=$'\tUpdate Font Awesome cache'
|
update=$'\tUpdate Font Awesome cache'
|
||||||
fontawesome=$(grep -v '#\|^[[:space:]]*$' "$FONTAWESOME_FILE"; printf "$update\n")
|
fontawesome=$(grep -v '#\|^[[:space:]]*$' "$FONTAWESOME_FILE"; printf "$update\n")
|
||||||
line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' -kb-row-select Tab $@)
|
line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' $@)
|
||||||
exit_code=$?
|
exit_code=$?
|
||||||
|
|
||||||
if [ "${line[@]}" == "$update" ]; then
|
if [ "${line[@]}" == "$update" ]; then
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
slice=app
|
||||||
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8)
|
rand=$(tr -dc 'a-f0-9' < /dev/urandom | head -c 8)
|
||||||
|
|
||||||
args=()
|
args=()
|
||||||
@ -16,14 +17,11 @@ do case "$opt" in
|
|||||||
done
|
done
|
||||||
shift $((OPTIND-1))
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
if [ -z "$slice" ]; then
|
|
||||||
slice=app
|
|
||||||
fi
|
|
||||||
|
|
||||||
exec systemd-run \
|
exec systemd-run \
|
||||||
--user \
|
--user \
|
||||||
--collect \
|
--collect \
|
||||||
--slice="$slice" \
|
--slice="$slice" \
|
||||||
--unit="$slice-$1-$rand" \
|
--unit="$slice-$1-$rand" \
|
||||||
--property=BindsTo=graphical-session.target \
|
--property=BindsTo=graphical-session.target \
|
||||||
${args[@]} -- "$@"
|
--property=ExitType=cgroup \
|
||||||
|
"${args[@]}" -- "$@"
|
||||||
|
13
ssh/askpass
Executable file
13
ssh/askpass
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
if [ -z "$SSH_HOST" ]; then
|
||||||
|
>&2 echo 'Missing SSH_HOST variable'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$SSH_HOST" in
|
||||||
|
*)
|
||||||
|
echo 'Unknown SSH host'
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
1
systemd/user/default.target.wants/pipewire.service
Symbolic link
1
systemd/user/default.target.wants/pipewire.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/pipewire.service
|
@ -1 +0,0 @@
|
|||||||
/usr/lib/systemd/user/redshift.service
|
|
@ -1,2 +1,5 @@
|
|||||||
[Service]
|
[Service]
|
||||||
Slice=session.slice
|
Slice=session.slice
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
|
15
systemd/user/graphical-session.target
Normal file
15
systemd/user/graphical-session.target
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||||
|
#
|
||||||
|
# This file is part of systemd.
|
||||||
|
#
|
||||||
|
# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
|
||||||
|
[Unit]
|
||||||
|
Description=Current graphical user session
|
||||||
|
Documentation=man:systemd.special(7)
|
||||||
|
Requires=basic.target xorg.target
|
||||||
|
RefuseManualStart=yes
|
||||||
|
StopWhenUnneeded=yes
|
@ -1 +0,0 @@
|
|||||||
/home/frebib/.config/systemd/user/autocutsel-primary.service
|
|
@ -1 +0,0 @@
|
|||||||
/home/frebib/.config/systemd/user/autocutsel.service
|
|
1
systemd/user/graphical-session.target.wants/redshift.service
Symbolic link
1
systemd/user/graphical-session.target.wants/redshift.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/frebib/.config/systemd/user/redshift.service
|
@ -1 +0,0 @@
|
|||||||
/home/frebib/.config/systemd/user/xautolock.service
|
|
@ -6,7 +6,7 @@ After=xprofile.service xorg.target
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/i3
|
ExecStart=/usr/bin/i3
|
||||||
ExecReload=/usr/bin/i3-msg reload
|
ExecReload=/usr/bin/i3-msg restart
|
||||||
Restart=always
|
Restart=always
|
||||||
Slice=session.slice
|
Slice=session.slice
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@ Requires=graphical-session.target
|
|||||||
After=dbus.service graphical-session.target xorg.target
|
After=dbus.service graphical-session.target xorg.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/picom --experimental-backends --dbus
|
ExecStart=/usr/bin/picom --dbus
|
||||||
Restart=always
|
Restart=always
|
||||||
Slice=session.slice
|
Slice=session.slice
|
||||||
|
|
||||||
|
1
systemd/user/pipewire-session-manager.service
Symbolic link
1
systemd/user/pipewire-session-manager.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/wireplumber.service
|
1
systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
1
systemd/user/pipewire.service.wants/wireplumber.service
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/wireplumber.service
|
@ -1,11 +1,11 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Polybar
|
Description=Polybar bar %i
|
||||||
Requires=graphical-session.target
|
Requires=graphical-session.target
|
||||||
After=graphical-session.target pulseaudio.socket i3.service
|
After=graphical-session.target pulseaudio.socket i3.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/usr/bin/polybar --reload --log=warning %i
|
ExecStart=/usr/bin/polybar --reload --log=warning %i
|
||||||
ExecReload=/usr/bin/polybar-msg cmd restart -p $MAINPID
|
ExecReload=/usr/bin/polybar-msg -p $MAINPID cmd restart
|
||||||
Restart=always
|
Restart=always
|
||||||
Slice=session.slice
|
Slice=session.slice
|
||||||
|
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
[Service]
|
|
||||||
Slice=session.slice
|
|
13
systemd/user/redshift.service
Normal file
13
systemd/user/redshift.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Redshift display colour temperature adjustment
|
||||||
|
Documentation=http://jonls.dk/redshift/
|
||||||
|
Requires=xorg.target
|
||||||
|
ConditionPathExists=/usr/bin/redshift
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Slice=session.slice
|
||||||
|
ExecStart=/usr/bin/redshift
|
||||||
|
Restart=always
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
@ -1,2 +0,0 @@
|
|||||||
[Service]
|
|
||||||
Slice=session.slice
|
|
1
systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
1
systemd/user/sockets.target.wants/pipewire.socket
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/pipewire.socket
|
@ -1 +0,0 @@
|
|||||||
/usr/lib/systemd/user/pulseaudio.socket
|
|
13
systemd/user/ssh@.service
Normal file
13
systemd/user/ssh@.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=SSH persistent connection to %i
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
Slice=ssh.slice
|
||||||
|
Environment=SSH_ASKPASS=%E/ssh/askpass
|
||||||
|
Environment=SSH_HOST=%i
|
||||||
|
ExecStart=/usr/bin/ssh -fNT %i
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=ssh.target
|
@ -1,7 +1,7 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Load Xorg configuration
|
Description=Load Xorg configuration
|
||||||
|
# this is a bit weird, but I guess it works
|
||||||
PartOf=xorg.target
|
PartOf=xorg.target
|
||||||
After=xorg.target
|
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
|
@ -4,9 +4,8 @@ Requires=xorg.target
|
|||||||
After=xorg.target
|
After=xorg.target
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=/bin/sh -c 'xsettingsd -c $XDG_CONFIG_HOME/xsettingsd/xsettingsd.local'
|
ExecStart=xsettingsd -c ${XDG_CONFIG_HOME}/xsettingsd/xsettingsd.conf
|
||||||
ExecReload=/bin/kill -s HUP $MAINPID
|
ExecReload=/bin/kill -s HUP $MAINPID
|
||||||
SyslogIdentifier=xsettingsd
|
|
||||||
Restart=always
|
Restart=always
|
||||||
Slice=session.slice
|
Slice=session.slice
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# This file is written by xdg-user-dirs-update
|
# This file is written by xdg-user-dirs-update
|
||||||
# If you want to change or add directories, just edit the line you're
|
# If you want to change or add directories, just edit the line you're
|
||||||
# interested in. All local changes will be retained on the next run
|
# interested in. All local changes will be retained on the next run.
|
||||||
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||||
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||||
# absolute path. No other format is supported.
|
# absolute path. No other format is supported.
|
||||||
|
106
vim/vimrc
106
vim/vimrc
@ -39,15 +39,23 @@ set updatetime=500 " reduce delay from 4s default
|
|||||||
|
|
||||||
let mapleader="\<space>"
|
let mapleader="\<space>"
|
||||||
|
|
||||||
|
" ALE config
|
||||||
|
let g:ale_completion_enabled = 1
|
||||||
|
let g:ale_open_list = 1
|
||||||
|
augroup CloseLoclistWindowGroup
|
||||||
|
autocmd!
|
||||||
|
autocmd QuitPre * if empty(&buftype) | lclose | endif
|
||||||
|
augroup END
|
||||||
|
|
||||||
" Autosave settings
|
" Autosave settings
|
||||||
function! SaveIfExist()
|
function! SaveIfExist()
|
||||||
if @% != "" && filereadable(@%) && !&readonly && &modified
|
if @% != "" && filereadable(@%) && !&readonly && &modified
|
||||||
SyntasticCheck
|
|
||||||
write
|
write
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
set autowrite
|
set autowrite
|
||||||
autocmd CursorHold,CursorHoldI,InsertLeave,FocusGained,FocusLost * call SaveIfExist()
|
autocmd InsertLeave <buffer> :write
|
||||||
|
|
||||||
" Search options
|
" Search options
|
||||||
set hlsearch
|
set hlsearch
|
||||||
@ -63,14 +71,11 @@ set splitright " Vertical split to right of current.
|
|||||||
|
|
||||||
" Whitespace highlight settings
|
" Whitespace highlight settings
|
||||||
set list
|
set list
|
||||||
set listchars=eol:$,space:·,tab:>-,trail:◦,extends:▶,precedes:◀
|
set listchars=space:·,tab:>-,trail:◦,extends:▶,precedes:◀
|
||||||
highlight SpecialKey ctermfg=8
|
highlight SpecialKey ctermfg=8
|
||||||
|
|
||||||
if exists('+colorcolumn')
|
set cc=+1
|
||||||
highlight ColorColumn ctermbg=8
|
highlight ColorColumn ctermbg=8
|
||||||
autocmd filetype c,h,cpp,hpp set colorcolumn=81
|
|
||||||
autocmd filetype c,h,cpp,hpp match ErrorMsg '\%>80v.\+'
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Highlight line and column of cursor
|
" Highlight line and column of cursor
|
||||||
set cul cuc
|
set cul cuc
|
||||||
@ -85,9 +90,6 @@ endif
|
|||||||
|
|
||||||
call plug#begin('$XDG_CONFIG_HOME/vim/plug')
|
call plug#begin('$XDG_CONFIG_HOME/vim/plug')
|
||||||
|
|
||||||
Plug 'Valloric/YouCompleteMe'
|
|
||||||
Plug 'scrooloose/syntastic'
|
|
||||||
Plug 'scrooloose/nerdtree', { 'on': 'NERTreeToggle' }
|
|
||||||
Plug 'tpope/vim-sensible'
|
Plug 'tpope/vim-sensible'
|
||||||
Plug 'tpope/vim-fugitive'
|
Plug 'tpope/vim-fugitive'
|
||||||
Plug 'tpope/vim-rhubarb'
|
Plug 'tpope/vim-rhubarb'
|
||||||
@ -103,6 +105,13 @@ Plug 'vim-airline/vim-airline-themes'
|
|||||||
Plug 'lervag/vimtex'
|
Plug 'lervag/vimtex'
|
||||||
Plug 'JamshedVesuna/vim-markdown-preview'
|
Plug 'JamshedVesuna/vim-markdown-preview'
|
||||||
Plug 'junegunn/fzf.vim'
|
Plug 'junegunn/fzf.vim'
|
||||||
|
|
||||||
|
" Completion and linting
|
||||||
|
Plug 'dense-analysis/ale'
|
||||||
|
Plug 'Shougo/deoplete.nvim'
|
||||||
|
Plug 'roxma/nvim-yarp'
|
||||||
|
Plug 'roxma/vim-hug-neovim-rpc'
|
||||||
|
|
||||||
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
||||||
|
|
||||||
" Syntax Highlighting
|
" Syntax Highlighting
|
||||||
@ -111,18 +120,41 @@ Plug 'PotatoesMaster/i3-vim-syntax'
|
|||||||
Plug 'puppetlabs/puppet-syntax-vim'
|
Plug 'puppetlabs/puppet-syntax-vim'
|
||||||
Plug 'saltstack/salt-vim'
|
Plug 'saltstack/salt-vim'
|
||||||
Plug 'arrufat/vala.vim'
|
Plug 'arrufat/vala.vim'
|
||||||
|
Plug 'Glench/Vim-Jinja2-Syntax'
|
||||||
|
Plug 'pearofducks/ansible-vim'
|
||||||
|
Plug 'jvirtanen/vim-hcl'
|
||||||
|
Plug 'hashivim/vim-terraform'
|
||||||
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
" Change to dvorak-mapped keys
|
" Change to dvorak-mapped keys
|
||||||
let g:use_dvorak = 1
|
let g:use_dvorak = 1
|
||||||
|
|
||||||
" YouCompleteMe config
|
" Deoplete config
|
||||||
let g:ycm_confirm_extra_conf = 0
|
call deoplete#custom#option({
|
||||||
if !exists('g:ycm_semantic_triggers')
|
\ 'camel_case': v:true,
|
||||||
let g:ycm_semantic_triggers = {}
|
\ })
|
||||||
endif
|
" Use ALE as completion sources for all code.
|
||||||
let g:ycm_semantic_triggers.tex = g:vimtex#re#youcompleteme
|
"call deoplete#custom#option('sources', {
|
||||||
|
"\ '_': ['ale'],
|
||||||
|
"\})
|
||||||
|
call deoplete#enable()
|
||||||
|
|
||||||
|
" Vim-Airline config
|
||||||
|
let g:Powerline_symbols = 'fancy'
|
||||||
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:airline_theme='solarized'
|
||||||
|
let g:airline#extensions#tabline#enabled = 1
|
||||||
|
" ALE integration
|
||||||
|
let g:airline#extensions#ale#enabled = 1
|
||||||
|
|
||||||
|
" vim-markdown plugin
|
||||||
|
let vim_markdown_preview_toggle=0
|
||||||
|
let vim_markdown_preview_browser='Chromium'
|
||||||
|
let vim_markdown_preview_use_xdg_open=1
|
||||||
|
let vim_markdown_preview_github=1
|
||||||
|
|
||||||
|
" LaTeX config
|
||||||
"let g:vimtex_view_method='zathura'
|
"let g:vimtex_view_method='zathura'
|
||||||
let g:tex_flavor='xelatex'
|
let g:tex_flavor='xelatex'
|
||||||
let g:vimtex_indent_enabled = 0 " auto-indentation is wrong and annoying
|
let g:vimtex_indent_enabled = 0 " auto-indentation is wrong and annoying
|
||||||
@ -136,35 +168,6 @@ augroup vimtex
|
|||||||
autocmd BufWritePost tex silent VimtexCompile
|
autocmd BufWritePost tex silent VimtexCompile
|
||||||
augroup END
|
augroup END
|
||||||
|
|
||||||
|
|
||||||
" Vim-Airline config
|
|
||||||
let g:Powerline_symbols = 'fancy'
|
|
||||||
let g:airline_powerline_fonts = 1
|
|
||||||
let g:airline_theme='solarized'
|
|
||||||
let g:airline#extensions#tabline#enabled = 1
|
|
||||||
let g:syntastic_always_populate_loc_list = 1
|
|
||||||
let g:syntastic_auto_loc_list = 1
|
|
||||||
let g:syntastic_check_on_open = 1
|
|
||||||
let g:syntastic_check_on_wq = 0
|
|
||||||
|
|
||||||
set statusline+=%#warningmsg#
|
|
||||||
set statusline+=%{SyntasticStatuslineFlag()}
|
|
||||||
set statusline+=%*
|
|
||||||
|
|
||||||
" vim-markdown plugin
|
|
||||||
let vim_markdown_preview_toggle=0
|
|
||||||
let vim_markdown_preview_browser='Chromium'
|
|
||||||
let vim_markdown_preview_use_xdg_open=1
|
|
||||||
let vim_markdown_preview_github=1
|
|
||||||
|
|
||||||
" Syntastic configuration
|
|
||||||
let g:syntastic_enable_highlighting = 1
|
|
||||||
let g:syntastic_enable_signs=1
|
|
||||||
let g:syntastic_always_populate_loc_list = 1
|
|
||||||
let g:syntastic_auto_loc_list = 1
|
|
||||||
let g:syntastic_check_on_open = 1
|
|
||||||
let g:syntastic_check_on_wq = 0
|
|
||||||
|
|
||||||
" Tagbar configuration
|
" Tagbar configuration
|
||||||
let g:tagbar_width = 50
|
let g:tagbar_width = 50
|
||||||
let g:tagbar_compact = 1
|
let g:tagbar_compact = 1
|
||||||
@ -304,6 +307,11 @@ cmap w!! w !sudo tee > /dev/null %
|
|||||||
map Q <nop>
|
map Q <nop>
|
||||||
|
|
||||||
|
|
||||||
autocmd FileType markdown setlocal ts=2 sts=2 sw=2 et
|
autocmd FileType c setlocal noet
|
||||||
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 et indentkeys-=<:>
|
autocmd filetype c,h,cpp,hpp set colorcolumn=81
|
||||||
autocmd FileType gitcommit setlocal cc=72 et sw=4
|
autocmd filetype c,h,cpp,hpp match ErrorMsg '\%>80v.\+'
|
||||||
|
|
||||||
|
autocmd FileType jinja setlocal sts=2 sw=2 et
|
||||||
|
autocmd FileType markdown setlocal sts=2 sw=2 et
|
||||||
|
autocmd FileType yaml setlocal sts=2 sw=2 et indentkeys-=<:>
|
||||||
|
autocmd FileType gitcommit setlocal tw=72 et sw=4
|
||||||
|
41
zsh/.zshrc
41
zsh/.zshrc
@ -16,9 +16,10 @@ if exists tty && tty -s; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Configure less and add colours
|
# Configure less and add colours
|
||||||
export LESS="-RI --mouse --wheel-lines=3"
|
export LESS="-nRIFRSXM --mouse --wheel-lines=3"
|
||||||
export PAGER="less"
|
export PAGER="less"
|
||||||
export MANPAGER="less -+N"
|
export MANPAGER="less -+N"
|
||||||
|
export SYSTEMD_LESS="$LESS"
|
||||||
export SYSTEMD_PAGER="less $LESS"
|
export SYSTEMD_PAGER="less $LESS"
|
||||||
# Disable histfile
|
# Disable histfile
|
||||||
export LESSHISTFILE=-
|
export LESSHISTFILE=-
|
||||||
@ -53,27 +54,25 @@ zstyle ':completion:*' list-colors "${(@s.:.)LS_COLORS}"
|
|||||||
zstyle ':compinstall' filename "${ZDOTDIR:-~}/.zshrc"
|
zstyle ':compinstall' filename "${ZDOTDIR:-~}/.zshrc"
|
||||||
|
|
||||||
export WORDCHARS='*?_[]~=&;!#$%^(){}'
|
export WORDCHARS='*?_[]~=&;!#$%^(){}'
|
||||||
x-bash-backward-kill-word(){ WORDCHARS='' zle kill-word; }
|
|
||||||
zle -N x-bash-backward-kill-word
|
|
||||||
|
|
||||||
declare -A ZINIT
|
declare -A ZINIT
|
||||||
ZINIT[HOME_DIR]="$XDG_CACHE_HOME/zsh/zinit"
|
ZINIT[HOME_DIR]="$XDG_CACHE_HOME/zsh/zinit"
|
||||||
ZINIT[BIN_DIR]="${ZINIT[HOME_DIR]}/bin"
|
ZINIT[BIN_DIR]="${ZINIT[HOME_DIR]}/bin"
|
||||||
ZINIT[PLUGINS_DIR]="${ZINIT[HOME_DIR]}/plugins"
|
ZINIT[PLUGINS_DIR]="${ZINIT[HOME_DIR]}/plugins"
|
||||||
if [ ! -e "${ZINIT[HOME_DIR]}" ]; then
|
if [ ! -e "${ZINIT[HOME_DIR]}" ]; then
|
||||||
git clone https://github.com/zdharma/zinit.git "${ZINIT[HOME_DIR]}"
|
git clone https://github.com/zdharma-continuum/zinit.git "${ZINIT[HOME_DIR]}"
|
||||||
fi
|
fi
|
||||||
source "${ZINIT[HOME_DIR]}"/zinit.zsh
|
source "${ZINIT[HOME_DIR]}"/zinit.zsh
|
||||||
|
|
||||||
zinit wait lucid light-mode for \
|
zinit wait lucid for \
|
||||||
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
|
atinit"ZINIT[COMPINIT_OPTS]=-C;zicompinit;zicdreplay" \
|
||||||
zdharma/fast-syntax-highlighting \
|
atload"FAST_HIGHLIGHT[chroma-zinit]=" \
|
||||||
|
zdharma-continuum/fast-syntax-highlighting \
|
||||||
blockf \
|
blockf \
|
||||||
zsh-users/zsh-completions \
|
zsh-users/zsh-completions \
|
||||||
atload"!_zsh_autosuggest_start" \
|
atload"!_zsh_autosuggest_start" \
|
||||||
zsh-users/zsh-autosuggestions
|
zsh-users/zsh-autosuggestions
|
||||||
|
|
||||||
zinit light Aloxaf/fzf-tab
|
|
||||||
zinit light agkozak/zsh-z
|
zinit light agkozak/zsh-z
|
||||||
|
|
||||||
zinit ice lucid ver'master' wait'0a' pick'src/bash.command-not-found'
|
zinit ice lucid ver'master' wait'0a' pick'src/bash.command-not-found'
|
||||||
@ -92,15 +91,16 @@ bindkey "^[[7~" beginning-of-line
|
|||||||
bindkey "^[[8~" end-of-line
|
bindkey "^[[8~" end-of-line
|
||||||
bindkey "^[[3~" delete-char
|
bindkey "^[[3~" delete-char
|
||||||
bindkey "^[[3;3~" delete-word
|
bindkey "^[[3;3~" delete-word
|
||||||
bindkey '^[^[[3~' x-bash-backward-kill-word
|
|
||||||
bindkey '^[^[[3^' x-bash-backward-kill-word
|
|
||||||
bindkey '^[[A' fzf-history-widget # Up (fzf)
|
|
||||||
bindkey '^[[B' fzf-history-widget # Down (fzf)
|
|
||||||
bindkey '^F' fzf-file-widget # Ctrl+F file search (fzf)
|
|
||||||
|
|
||||||
bindkey "^F" fzf-file-widget
|
bindkey "^F" fzf-file-widget # Ctrl+F file search (fzf)
|
||||||
|
bindkey "^[[A" fzf-history-widget # Up (fzf)
|
||||||
|
bindkey "^[[B" fzf-history-widget # Down (fzf)
|
||||||
|
bindkey "${terminfo[kcuu1]}" fzf-history-widget # Up (fzf)
|
||||||
|
bindkey "${terminfo[kcud1]}" fzf-history-widget # Down (fzf)
|
||||||
|
|
||||||
|
# Backspace across newlines when in vi-mode
|
||||||
|
bindkey -v '^?' backward-delete-char
|
||||||
bindkey -M vicmd "^W" backward-delete-word
|
bindkey -M vicmd "^W" backward-delete-word
|
||||||
|
|
||||||
bindkey -M vicmd d vi-backward-char
|
bindkey -M vicmd d vi-backward-char
|
||||||
bindkey -M vicmd h vi-down-line-or-history
|
bindkey -M vicmd h vi-down-line-or-history
|
||||||
bindkey -M vicmd t vi-up-line-or-history
|
bindkey -M vicmd t vi-up-line-or-history
|
||||||
@ -110,8 +110,8 @@ bindkey -M vicmd K vi-kill-eol
|
|||||||
bindkey -M vicmd j vi-find-next-char-skip
|
bindkey -M vicmd j vi-find-next-char-skip
|
||||||
bindkey -M vicmd l vi-repeat-search
|
bindkey -M vicmd l vi-repeat-search
|
||||||
|
|
||||||
# Backspace across newlines when in vi-mode
|
# Disable all fsh chromas, fixes `zi` being slow
|
||||||
bindkey -v '^?' backward-delete-char
|
FAST_HIGHLIGHT=()
|
||||||
|
|
||||||
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
ZSH_AUTOSUGGEST_USE_ASYNC=true
|
||||||
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=128
|
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=128
|
||||||
@ -128,3 +128,10 @@ trysource() { for f in "$@"; do source "$f" 2>/dev/null && return; done; }
|
|||||||
trysource /usr/share/fzf/key-bindings.zsh \
|
trysource /usr/share/fzf/key-bindings.zsh \
|
||||||
/usr/share/doc/fzf/examples/key-bindings.zsh
|
/usr/share/doc/fzf/examples/key-bindings.zsh
|
||||||
trysource /usr/share/doc/pkgfile/command-not-found.zsh # pkgfile on Arch
|
trysource /usr/share/doc/pkgfile/command-not-found.zsh # pkgfile on Arch
|
||||||
|
|
||||||
|
if command -v kubectl >/dev/null 2>&1; then
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
||||||
|
source <(kubectl completion zsh)
|
||||||
|
fi
|
||||||
|
|
||||||
|
@ -1,9 +1,19 @@
|
|||||||
# ZSH Theme emulating the Fish shell's default prompt.
|
# ZSH Theme emulating the Fish shell's default prompt.
|
||||||
|
|
||||||
_fishy_collapsed_wd() {
|
_fishy_collapsed_wd() {
|
||||||
pwd | sed -E 's|^'$HOME'|~|;s|(.*)/|\1%|;s|((^\|/)\.?[^/%]{1})[^/%]*|\1|g;s|(.*)%|\1/|'
|
pwd | sed -E 's|^'$HOME'|~|;s|([\.~]?[^/]{1})[^/]*/|\1/|g'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function zle-line-init zle-keymap-select {
|
||||||
|
case $KEYMAP in
|
||||||
|
vicmd) printf '\e[3 q';; # block cursor
|
||||||
|
*) printf '\e[2 q';; # less visible cursor
|
||||||
|
esac
|
||||||
|
zle reset-prompt
|
||||||
|
}
|
||||||
|
zle -N zle-line-init
|
||||||
|
zle -N zle-keymap-select
|
||||||
|
|
||||||
# Required for dynamic prompt
|
# Required for dynamic prompt
|
||||||
setopt prompt_subst
|
setopt prompt_subst
|
||||||
|
|
||||||
@ -11,4 +21,8 @@ local user_color='green'; [ $UID -eq 0 ] && user_color='red'
|
|||||||
PROMPT="%n@%m %F{$user_color}\$(_fishy_collapsed_wd)%f%(!.#.>) "
|
PROMPT="%n@%m %F{$user_color}\$(_fishy_collapsed_wd)%f%(!.#.>) "
|
||||||
PROMPT2='%F{red}\ %f'
|
PROMPT2='%F{red}\ %f'
|
||||||
|
|
||||||
RPROMPT='%F{red}%(?.. %?)%f'
|
RPROMPT='%F{cyan}${${KEYMAP/vicmd/ normal}/(main|viins)/}%f%(?.. %F{red}%?%f)'
|
||||||
|
|
||||||
|
# Disable trailing space
|
||||||
|
# https://superuser.com/questions/655607/removing-the-useless-space-at-the-end-of-the-right-prompt-of-zsh-rprompt
|
||||||
|
ZLE_RPROMPT_INDENT=0
|
||||||
|
@ -57,7 +57,7 @@ git_prompt_status() {
|
|||||||
# Required for dynamic prompt
|
# Required for dynamic prompt
|
||||||
setopt prompt_subst
|
setopt prompt_subst
|
||||||
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX=" "
|
ZSH_THEME_GIT_PROMPT_PREFIX=""
|
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
ZSH_THEME_GIT_PROMPT_SUFFIX=""
|
||||||
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
ZSH_THEME_GIT_PROMPT_DIRTY=""
|
||||||
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
ZSH_THEME_GIT_PROMPT_CLEAN=""
|
||||||
|
Reference in New Issue
Block a user