1
0
mirror of https://github.com/frebib/dotfiles.git synced 2024-06-14 12:57:23 +00:00

4 Commits

Author SHA1 Message Date
4550c7c435 picom: Remove --experimental-backends
They're now default and the legacy backends are the exceptional case.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-08-31 18:53:08 +00:00
5aefd01096 Increase picom corner radius
Signed-off-by: Joe Groocock <me@frebib.net>
2022-08-31 18:53:08 +00:00
58226a4562 Force GTK 4.0 to use the GTK 3 theming
This non-compliant turd doesn't respect the config file, because of
course it doesn't. Enforce the theme with yet another messy environment
variable.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-08-31 18:53:08 +00:00
01a7ec2acf Dynamically identify the "default" git branch
This broadly assumes that the "default" remote is called "origin", but
that's better than assuming that plus the default branch name.

Thanks to https://joshtronic.com/2020/08/09/how-to-get-the-default-git-branch/

Suggested-by: Chris Lane <chris@chrislane.com>
Signed-off-by: Joe Groocock <me@frebib.net>
2022-05-18 10:46:05 +00:00
8 changed files with 80 additions and 109 deletions

View File

@ -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"
"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)"
xrdb -merge $XDG_CONFIG_HOME/X11/xresources
xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
setxkbmap -option caps:none
xset r rate 200 18

52
aliases
View File

@ -110,38 +110,25 @@ 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 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 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 gm="git merge"
alias gma="git merge --abort"
alias gmc="git merge --continue"
alias grb="git rebase"
alias grbi="grb -i"
@ -149,9 +136,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 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 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"
@ -177,10 +164,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 --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 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 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"
@ -188,9 +175,10 @@ alias glog="git log --color --oneline --decorate --graph"
alias grst="git reset"
alias gundo="git reset --keep @~1"
alias gclean="git clean"
alias gclm="git cleanmerged"
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 gbl="git blame"
alias gr="git remote"
alias gra="gr add"
alias grr="gr rm"
@ -201,12 +189,12 @@ alias gsta='git stash'
alias gstd='gsta drop'
alias gstl='gsta list --stat --color'
alias gstp='gsta pop'
alias gstv="gsta show --patch-with-stat stash@{0}"
alias gstv="gsta show -p 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.opencontainers.image.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"
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'

View File

@ -37,23 +37,7 @@
count = !echo $(pwd) && git rev-list HEAD --count
unpushed = !git log --oneline @{u}..HEAD
leaders = !git shortlog -s -n --all --no-merges
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"
defbranch = !git symbolic-ref refs/remotes/origin/HEAD | sed \"s@^refs/remotes/origin/@@\"
[advice]
statusHints = false
pushUpdateRejected = false

View File

@ -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 --clip
bindsym --release $mod+Print exec screenshot
bindsym --release Print exec screenshot
bindsym --release $mod+Print exec screenshot --clip
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 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 $mod+g exec systemd-run-i3 -n notify-send -c transfer "$(gist -PRpc)"
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

View File

@ -4,10 +4,10 @@ log-level = "info";
# Shadow
shadow = true;
shadow-radius = 30;
shadow-offset-x = -30;
shadow-offset-y = -26;
shadow-opacity = 0.35;
shadow-radius = 24;
shadow-offset-x = -20;
shadow-offset-y = -20;
shadow-opacity = 0.3;
shadow-color = "#000000";
shadow-exclude = [
"class_g = 'slop'",
@ -38,7 +38,7 @@ opacity-rule = [
blur:
{
method = "dual_kawase";
strength = 10;
strength = 8;
};
blur-background-frame = true;
blur-background-fixed = true;
@ -60,7 +60,7 @@ corner-radius = 9;
# Fading
fading = true;
fade-delta = 10;
fade-in-step = 0.035;
fade-in-step = 0.04
fade-out-step = 0.06;
no-fading-openclose = false;
no-fading-destroyed-argb = false;

View File

@ -44,7 +44,8 @@ line-colour = #f00
modules-left = i3
modules-center =
modules-right = volume updates weather wifi ethernet memory cpu cputemp backlight battery date
# 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
tray-position = right
tray-detached = false
@ -131,9 +132,8 @@ label-urgent-foreground = ${colours.urgent}
label-urgent-padding = ${self.label-focused-padding}
[module/backlight]
type = internal/backlight
card = intel_backlight
[module/xbacklight]
type = internal/xbacklight
label = %percentage%
format = <label>
@ -141,6 +141,12 @@ 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
@ -158,9 +164,9 @@ format-prefix-foreground = ${colours.icon}
label = %percentage_used%%
[module/wifi]
[module/wlan]
type = internal/network
interface-type = wireless
interface = wlp1s0
interval = 3.0
format-connected = <ramp-signal> <label-connected>
@ -179,9 +185,9 @@ ramp-signal-2 = 
ramp-signal-foreground = ${colours.icon}
[module/ethernet]
[module/eth]
type = internal/network
interface-type = wired
interface = lan
interval = 10.0
label-connected = %local_ip% & %local_ip6%

View File

@ -4,10 +4,6 @@ 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"
@ -30,11 +26,11 @@ fi
dpi=$1
scale=$(( dpi/96 ))
cursor=$(( (dpi*CURSOR_SIZE)/96 ))
cursor=$(( dpi/6 ))
# Update picom scale
sed -i -e "s/strength =.*$/strength = $(( (dpi*BLUR_STRENGTH)/96 ));/" \
-e "s/corner-radius =.*$/corner-radius = $(( (dpi*CORNER_RADIUS)/96 ));/" \
sed -i -e "s/strength =.*$/strength = $(( dpi*8/96 ));/" \
-e "s/corner-radius =.*$/corner-radius = $(( dpi/13 ));/" \
"$CONF_DIR/picom/picom.conf" &
# Build xsettingsd.conf
@ -57,13 +53,13 @@ Xft.dpi: $dpi
Xcursor.size: $cursor
EOF
xrandr --dpi "$dpi" &
systemctl --user try-reload-or-restart xsettingsd &
systemctl --user reload-or-restart xsettingsd &
wait
systemctl --user try-reload-or-restart \
systemctl --user reload \
i3 \
polybar@i3bar &
systemctl --user try-restart \
systemctl --user restart \
dunst &
wait

View File

@ -1,45 +1,42 @@
#!/usr/bin/env bash
set -euo pipefail
NOTIF_PERSIST=30000
NOTIF_INFORM=5000
stdout=
caller=
notif=
while getopts "on:" o; do
case "${o}" in
o)
stdout=1;;
n)
caller="${OPTARG}"
;;
*)
exec ykman oath accounts list
;;
esac
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
exec ykman oath accounts list
fi
if [ -n "$caller" ]; then
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
notif="$(notify-send -p "Touch your Yubikey" "$caller is requesting otp for $1")"
fi
code=$(ykman oath accounts code -s "$1")
if [ -z "$stdout" ]; then
echo "$code" | tee >(xclip -i)
xdotool type "$code"
else
echo "$code"
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 "$code" ] && [ -n "$notif" ]; then
trap : EXIT
notify-send -r "$notif" -t $NOTIF_INFORM "Yubikey Touched" "otp generated for $caller"
if [ -n "$notif" ]; then
notify-send -r "$notif" -t 1000 "Touch your Yubikey" "otp generated for $caller"
fi