mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
1da55a29c4 | |||
2cc93a1649
|
|||
787008fdb7
|
|||
79dc6a7389
|
|||
fede67c22a
|
|||
b87cf96ff2
|
|||
4143aa4e48
|
|||
73131b086f
|
|||
a7af23bfbb
|
|||
56fd0ad602
|
|||
cbb44c99ee
|
|||
2bd257243a
|
|||
d538b61cb1
|
@ -16,8 +16,8 @@ export MOZ_USE_XINPUT2=1 # enable pixel-accurate scrolling in firefox
|
||||
|
||||
|
||||
# Load Xorg resources and set the DPI
|
||||
xrdb -merge $XDG_CONFIG_HOME/X11/xresources
|
||||
xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
|
||||
xrdb -merge "$XDG_CONFIG_HOME/X11/xresources"
|
||||
"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)"
|
||||
|
||||
setxkbmap -option caps:none
|
||||
xset r rate 200 18
|
||||
|
52
aliases
52
aliases
@ -110,25 +110,38 @@ alias ginit='git init'
|
||||
alias gignore='$EDITOR .gitignore'
|
||||
alias gitc='$EDITOR $XDG_CONFIG_HOME/git/config'
|
||||
alias ggignore='$EDITOR $XDG_CONFIG_HOME/git/gitignore'
|
||||
alias gcl="git clone --recursive"
|
||||
|
||||
alias gco="git checkout"
|
||||
alias gcom="git checkout \"\$(git defbranch)\""
|
||||
alias gsw="git switch"
|
||||
alias gswm="git switch \"\$(git defbranch)\""
|
||||
alias gbr="git branch"
|
||||
alias gtg="git tag"
|
||||
alias gbl="git blame"
|
||||
alias gt="git tag"
|
||||
alias gst="git status"
|
||||
alias grl="git reflog"
|
||||
alias gfp="git format-patch"
|
||||
alias gcl="git clone --recursive"
|
||||
|
||||
alias ga="git add"
|
||||
alias gap="git add -p"
|
||||
alias gau="git add -u"
|
||||
alias gaN="git add -N"
|
||||
alias gaa="ga -A"
|
||||
alias grm="git rm"
|
||||
alias gc="git commit -s"
|
||||
alias gcm="git commit -s -em"
|
||||
alias gca="git commit -s --amend --date=\"\$(date -R)\""
|
||||
alias gcn="git commit -s --no-edit"
|
||||
alias gcan="gca -s --no-edit"
|
||||
alias gcam="gca -s -m"
|
||||
alias gst="git status"
|
||||
alias gmv="git mv"
|
||||
|
||||
alias gc="git commit -sv"
|
||||
alias gcm="git commit -sv -em"
|
||||
alias gca="git commit -sv --amend --date=\"\$(date -R)\""
|
||||
alias gcn="git commit -sv --no-edit"
|
||||
alias gcan="gca --no-edit"
|
||||
alias gcam="gca -m"
|
||||
|
||||
alias gm="git merge"
|
||||
alias gma="git merge --abort"
|
||||
alias gmc="git merge --continue"
|
||||
|
||||
alias grb="git rebase"
|
||||
alias grbi="grb -i"
|
||||
@ -136,9 +149,9 @@ alias grba="grb --abort"
|
||||
alias grbc="grb --continue"
|
||||
alias grbsk="grb --skip"
|
||||
alias grbsh="grb --show-current"
|
||||
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 grbom="git rebase \"origin/\$(git defbranch origin)\""
|
||||
gfrb() { ref="${1:-origin/$(git defbranch origin)}"; remote="${ref%%/*}"; git fetch "$remote" && git rebase "$ref" "${@:2}"; }
|
||||
gfrbi() { ref="${1:-origin/$(git defbranch origin)}"; remote="${ref%%/*}"; git fetch "$remote" && git rebase -i "$ref" "${@:2}"; }
|
||||
|
||||
alias gam="git am"
|
||||
alias gama="git am --abort"
|
||||
@ -164,10 +177,10 @@ alias gpsuom="git push --set-upstream origin \"\$(git defbranch)\""
|
||||
alias gpall="git remote | xargs -L1 git push"
|
||||
alias gl="git pull --rebase"
|
||||
alias glp="gl && gp"
|
||||
alias gd="git diff --patch-with-stat"
|
||||
alias gdni="gd --no-index"
|
||||
alias gds="gd --staged"
|
||||
alias gsh="git show --format=fuller --patch-with-stat"
|
||||
alias gd="git diff --patch-with-stat --no-prefix"
|
||||
alias gdni="gd --no-index --no-prefix"
|
||||
alias gds="gd --staged --no-prefix"
|
||||
alias gsh="git show --format=fuller --patch-with-stat --no-prefix"
|
||||
alias glg="git log --color --format=fuller --stat --no-merges --graph"
|
||||
alias glgp="git log --color --format=fuller --patch-with-stat --no-merges --graph"
|
||||
alias glog="git log --color --oneline --decorate --graph"
|
||||
@ -175,10 +188,9 @@ alias glog="git log --color --oneline --decorate --graph"
|
||||
alias grst="git reset"
|
||||
alias gundo="git reset --keep @~1"
|
||||
alias gclean="git clean"
|
||||
alias gbr="git branch"
|
||||
alias gclm="git cleanmerged"
|
||||
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 gbl="git blame"
|
||||
|
||||
alias gr="git remote"
|
||||
alias gra="gr add"
|
||||
alias grr="gr rm"
|
||||
@ -189,12 +201,12 @@ alias gsta='git stash'
|
||||
alias gstd='gsta drop'
|
||||
alias gstl='gsta list --stat --color'
|
||||
alias gstp='gsta pop'
|
||||
alias gstv="gsta show -p stash@{0}"
|
||||
alias gstv="gsta show --patch-with-stat stash@{0}"
|
||||
|
||||
# Docker aliases
|
||||
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 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.opencontainers.image.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"
|
||||
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'
|
||||
|
18
git/config
18
git/config
@ -37,7 +37,23 @@
|
||||
count = !echo $(pwd) && git rev-list HEAD --count
|
||||
unpushed = !git log --oneline @{u}..HEAD
|
||||
leaders = !git shortlog -s -n --all --no-merges
|
||||
defbranch = !git symbolic-ref refs/remotes/origin/HEAD | sed \"s@^refs/remotes/origin/@@\"
|
||||
defbranch = "!defbranch() { \
|
||||
r=\"${1:-origin}\"; \
|
||||
{ \
|
||||
git symbolic-ref \"refs/remotes/$r/HEAD\" || { \
|
||||
git remote set-head \"$r\" -a >&2 && \
|
||||
git symbolic-ref \"refs/remotes/$r/HEAD\"; \
|
||||
}; \
|
||||
} 2>/dev/null \
|
||||
| sed \"s@^refs/remotes/$r/@@\"; \
|
||||
}; defbranch"
|
||||
cleanmerged = "!cleanmerged() { \
|
||||
r=\"${1:-origin}\"; \
|
||||
b=\"${2:-$(git defbranch \"$r\")}\"; \
|
||||
git branch --merged \"$r/$b\" | \
|
||||
grep -ve \"^\\\\*\" -e \"^. $b$\" | \
|
||||
xargs -r git branch -d; \
|
||||
}; cleanmerged"
|
||||
[advice]
|
||||
statusHints = false
|
||||
pushUpdateRejected = false
|
||||
|
@ -142,15 +142,15 @@ bindsym $mod+space exec "pkill rofi; rofi -show run -sidebar-mode -
|
||||
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+e exec "pkill rofi; rofi -show emoji -modi emoji -normal-window"
|
||||
bindsym $mod+Shift+i exec rofi-fontawesome
|
||||
bindsym --release Print exec screenshot
|
||||
bindsym --release $mod+Print exec screenshot --clip
|
||||
bindsym --release Print exec screenshot --clip
|
||||
bindsym --release $mod+Print exec screenshot
|
||||
bindsym --release Shift+Print exec screenshot --active
|
||||
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+$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+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 -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 10 -- "$(xclip -o -selection clipboard)"'
|
||||
bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp
|
||||
|
||||
|
@ -38,7 +38,7 @@ opacity-rule = [
|
||||
blur:
|
||||
{
|
||||
method = "dual_kawase";
|
||||
strength = 8;
|
||||
strength = 10;
|
||||
};
|
||||
blur-background-frame = true;
|
||||
blur-background-fixed = true;
|
||||
|
@ -44,8 +44,7 @@ line-colour = #f00
|
||||
|
||||
modules-left = i3
|
||||
modules-center =
|
||||
# modules-right = volume updates weather xkeyboard wlan gateway eth memory cpu xbacklight battery cputemp gputemp date
|
||||
modules-right = volume updates weather wlan eth memory cpu xbacklight battery cputemp gputemp date
|
||||
modules-right = volume updates weather wifi ethernet memory cpu cputemp backlight battery date
|
||||
|
||||
tray-position = right
|
||||
tray-detached = false
|
||||
@ -132,8 +131,9 @@ label-urgent-foreground = ${colours.urgent}
|
||||
label-urgent-padding = ${self.label-focused-padding}
|
||||
|
||||
|
||||
[module/xbacklight]
|
||||
type = internal/xbacklight
|
||||
[module/backlight]
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
label = %percentage%
|
||||
format = <label>
|
||||
@ -141,12 +141,6 @@ format-prefix = " "
|
||||
format-prefix-foreground = ${colours.icon}
|
||||
|
||||
|
||||
[module/backlight-acpi]
|
||||
inherit = module/xbacklight
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
@ -164,9 +158,9 @@ format-prefix-foreground = ${colours.icon}
|
||||
label = %percentage_used%%
|
||||
|
||||
|
||||
[module/wlan]
|
||||
[module/wifi]
|
||||
type = internal/network
|
||||
interface = wlp1s0
|
||||
interface-type = wireless
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <ramp-signal> <label-connected>
|
||||
@ -185,9 +179,9 @@ ramp-signal-2 =
|
||||
ramp-signal-foreground = ${colours.icon}
|
||||
|
||||
|
||||
[module/eth]
|
||||
[module/ethernet]
|
||||
type = internal/network
|
||||
interface = lan
|
||||
interface-type = wired
|
||||
interval = 10.0
|
||||
|
||||
label-connected = %local_ip% & %local_ip6%
|
||||
|
16
scripts/dpi
16
scripts/dpi
@ -4,6 +4,10 @@ set -eu
|
||||
# Based on https://github.com/vincentbernat/awesome-configuration/blob/master/bin/xsettingsd-setup
|
||||
CONF_DIR="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||
|
||||
BLUR_STRENGTH=10
|
||||
CORNER_RADIUS=9
|
||||
CURSOR_SIZE=16
|
||||
|
||||
xrdbget() {
|
||||
set -o pipefail
|
||||
xrdb -query | grep -i -m1 "$1" | sed 's/^.*:\s//g' || echo "$2"
|
||||
@ -26,11 +30,11 @@ fi
|
||||
|
||||
dpi=$1
|
||||
scale=$(( dpi/96 ))
|
||||
cursor=$(( dpi/6 ))
|
||||
cursor=$(( (dpi*CURSOR_SIZE)/96 ))
|
||||
|
||||
# Update picom scale
|
||||
sed -i -e "s/strength =.*$/strength = $(( dpi*8/96 ));/" \
|
||||
-e "s/corner-radius =.*$/corner-radius = $(( dpi/13 ));/" \
|
||||
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
|
||||
@ -53,13 +57,13 @@ Xft.dpi: $dpi
|
||||
Xcursor.size: $cursor
|
||||
EOF
|
||||
xrandr --dpi "$dpi" &
|
||||
systemctl --user reload-or-restart xsettingsd &
|
||||
systemctl --user try-reload-or-restart xsettingsd &
|
||||
wait
|
||||
|
||||
systemctl --user reload \
|
||||
systemctl --user try-reload-or-restart \
|
||||
i3 \
|
||||
polybar@i3bar &
|
||||
systemctl --user restart \
|
||||
systemctl --user try-restart \
|
||||
dunst &
|
||||
|
||||
wait
|
||||
|
31
scripts/otp
31
scripts/otp
@ -1,4 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
NOTIF_PERSIST=30000
|
||||
NOTIF_INFORM=5000
|
||||
|
||||
stdout=
|
||||
caller=
|
||||
notif=
|
||||
|
||||
while getopts "on:" o; do
|
||||
case "${o}" in
|
||||
@ -19,24 +27,19 @@ if [ $# -lt 1 ]; then
|
||||
fi
|
||||
|
||||
if [ -n "$caller" ]; then
|
||||
notif="$(notify-send -p "Touch your Yubikey" "$caller is requesting otp for $1")"
|
||||
notif="$(notify-send -p -t $NOTIF_PERSIST "Touch your Yubikey" "$caller is requesting otp for $1")"
|
||||
trap 'notify-send -r $notif -t 1 "Touch your Yubikey" "$caller is requesting otp for $1"' EXIT
|
||||
fi
|
||||
|
||||
ykman oath accounts code -s "$1" 2>&1 |
|
||||
while read -r x; do
|
||||
if grep -Pqw '[0-9]{6}' <<< "$x"; then
|
||||
code=$(ykman oath accounts code -s "$1")
|
||||
if [ -z "$stdout" ]; then
|
||||
echo "$x" | tee >(xclip -i)
|
||||
xdotool type "$x"
|
||||
echo "$code" | tee >(xclip -i)
|
||||
xdotool type "$code"
|
||||
else
|
||||
echo "$x"
|
||||
echo "$code"
|
||||
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"
|
||||
if [ -n "$code" ] && [ -n "$notif" ]; then
|
||||
trap : EXIT
|
||||
notify-send -r "$notif" -t $NOTIF_INFORM "Yubikey Touched" "otp generated for $caller"
|
||||
fi
|
||||
|
Reference in New Issue
Block a user