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

3 Commits

Author SHA1 Message Date
9331a74266 aliases: Fix gfrb/gfrbi with slash-delimited branches
Multi-part branch names would be incorrectly split on the last slash and
not the first, causing these aliases to do the wrong thing. These need
the remote name which is the first element. Everything after the first
slash is the branch name, not the last slash.

Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-24 15:24:19 +00:00
cfbe6d6f0f git: Allow git cleanmerged/defbranch to take args
These aliases now make zero assumptions about either branch or origin
names. They default to origin, and the primary branch is determined from
the refs/remotes/$remote/HEAD symbolic-ref, which will be pulled from
the remote if it's not known locally.
With these it is now possible to act on any remote/branch combination:

    # Get default branch for 'upstream' remote
    $ git defbranch upstream

    # Delete branches merged into the default branch of the 'upstream'
    # remote
    $ git cleanmerged upstream

    # Delete branches merged into the upstream/foo branch
    $ git cleanmerged upstream foo

Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-24 14:51:42 +00:00
509551f717 git: Add mv/reflog/clean-merged aliases
Signed-off-by: Joe Groocock <me@frebib.net>
2022-10-24 14:29:40 +00:00
14 changed files with 44 additions and 57 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 # Load Xorg resources and set the DPI
xrdb -merge "$XDG_CONFIG_HOME/X11/xresources" xrdb -merge $XDG_CONFIG_HOME/X11/xresources
#"$XDG_CONFIG_HOME/scripts/dpi" "$(xrdb -query | grep -i xft.dpi | cut -d: -f2 | xargs)" xrandr --dpi $(xrdb -query | grep -i xft.dpi | cut -d: -f2)
setxkbmap -option caps:none setxkbmap -option caps:none
xset r rate 200 18 xset r rate 200 18

View File

@ -53,7 +53,7 @@ alias scp='scp -r'
alias dd='dd status=progress' alias dd='dd status=progress'
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 --pass=$GRIP_API_KEY' alias grip='grip --user=frebib --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 \
@ -119,6 +119,7 @@ alias gau="git add -u"
alias gaN="git add -N" alias gaN="git add -N"
alias gaa="ga -A" alias gaa="ga -A"
alias grm="git rm" alias grm="git rm"
alias gmv="git mv"
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)\""
@ -126,6 +127,7 @@ 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"
alias gst="git status" alias gst="git status"
alias grl="git reflog"
alias gm="git merge" alias gm="git merge"
alias gma="git merge --abort" alias gma="git merge --abort"
@ -137,8 +139,8 @@ 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/\$(git defbranch)\"" alias grbom="git rebase \"origin/\$(git defbranch)\""
gfrb() { remote="${1%/*}"; git fetch "$remote" && git rebase "$@"; } gfrb() { remote="${1%%/*}"; git fetch "$remote" && git rebase "$@"; }
gfrbi() { remote="${1%/*}"; git fetch "$remote" && git rebase -i "$@"; } gfrbi() { remote="${1%%/*}"; git fetch "$remote" && git rebase -i "$@"; }
alias gam="git am" alias gam="git am"
alias gama="git am --abort" alias gama="git am --abort"
@ -175,6 +177,7 @@ 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 gclm="git cleanmerged"
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 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"

View File

@ -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}/ruby/3.0.0/bin" PATH="${PATH}:${GOPATH}/bin:${GEM_HOME}/bin"
# vim: ft=sh # vim: ft=sh

View File

@ -5,11 +5,11 @@
[core] [core]
autocrlf = input autocrlf = input
excludesfile = /home/frebib/.config/git/gitignore excludesfile = /home/frebib/.config/git/gitignore
pager = delta --diff-so-fancy --color-only pager = diff-highlight | $PAGER
[init] [init]
defaultBranch = master defaultBranch = master
[interactive] [interactive]
diffFilter = delta --diff-so-fancy --color-only diffFilter = diff-highlight
[commit] [commit]
gpgsign = true gpgsign = true
[fetch] [fetch]
@ -37,8 +37,23 @@
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/@@\" defbranch = "!defbranch() { \
rbranch = for-each-ref --sort='committerdate' --format="%20%20%(refname:short)" refs/heads/ 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] [advice]
statusHints = false statusHints = false
pushUpdateRejected = false pushUpdateRejected = false

View File

@ -139,18 +139,18 @@ 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 systemd-run-i3 -n rofi-rbw 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+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 --clip bindsym --release Print exec screenshot
bindsym --release $mod+Print exec screenshot bindsym --release $mod+Print exec screenshot --clip
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 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 $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 --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 bindsym $mod+z exec otp | rofi -dmenu -p otp | xargs otp

View File

@ -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
systemctl reboot;; reboot;;
esac esac

View File

@ -6,8 +6,8 @@ log-level = "info";
shadow = true; shadow = true;
shadow-radius = 30; shadow-radius = 30;
shadow-offset-x = -30; shadow-offset-x = -30;
shadow-offset-y = -24; shadow-offset-y = -26;
shadow-opacity = 0.4; shadow-opacity = 0.35;
shadow-color = "#000000"; shadow-color = "#000000";
shadow-exclude = [ shadow-exclude = [
"class_g = 'slop'", "class_g = 'slop'",
@ -79,11 +79,6 @@ focus-exclude = [
"class_g = 'steam_app_271590'" "class_g = 'steam_app_271590'"
]; ];
transition-length = 350;
transition-pow-x = 0.3;
transition-pow-y = 0.3;
size-transition = true;
# Other # Other
# https://github.com/yshui/picom/blob/next/picom.sample.conf#L203 # https://github.com/yshui/picom/blob/next/picom.sample.conf#L203
backend = "glx"; backend = "glx";
@ -136,17 +131,4 @@ wintypes: {
} }
}; };
#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 # vim: ft=conf noet

View File

@ -267,7 +267,7 @@ ramp-capacity-1-foreground = ${colours.warning}
[module/cputemp] [module/cputemp]
type = internal/temperature type = internal/temperature
hwmon-path = /sys/devices/pci0000:00/0000:00:18.3/hwmon/hwmon1/temp2_input hwmon-path = /sys/devices/platform/nct6775.656/hwmon/hwmon1/temp2_input
base-temperature = 25 base-temperature = 25
format = <ramp> <label> format = <ramp> <label>

View File

@ -5,8 +5,8 @@ configuration {
/* 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";

View File

@ -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 '' $@) line=$(echo "$fontawesome" | rofi -dmenu -i -p fontawesome -normal-window -kb-custom-1 Ctrl+c -kb-row-tab '' -kb-row-select Tab $@)
exit_code=$? exit_code=$?
if [ "${line[@]}" == "$update" ]; then if [ "${line[@]}" == "$update" ]; then

View File

@ -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

View File

@ -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.

View File

@ -53,9 +53,8 @@ function! SaveIfExist()
write write
endif endif
endfunction endfunction
set autowrite set autowrite
autocmd InsertLeave <buffer> :write autocmd CursorHold,CursorHoldI,InsertLeave,FocusGained,FocusLost * call SaveIfExist()
" Search options " Search options
set hlsearch set hlsearch
@ -90,6 +89,7 @@ endif
call plug#begin('$XDG_CONFIG_HOME/vim/plug') call plug#begin('$XDG_CONFIG_HOME/vim/plug')
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'
@ -134,10 +134,6 @@ let g:use_dvorak = 1
call deoplete#custom#option({ call deoplete#custom#option({
\ 'camel_case': v:true, \ 'camel_case': v:true,
\ }) \ })
" Use ALE as completion sources for all code.
"call deoplete#custom#option('sources', {
"\ '_': ['ale'],
"\})
call deoplete#enable() call deoplete#enable()
" Vim-Airline config " Vim-Airline config
@ -155,10 +151,8 @@ let vim_markdown_preview_use_xdg_open=1
let vim_markdown_preview_github=1 let vim_markdown_preview_github=1
" LaTeX config " LaTeX config
"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
let g:syntastic_tex_checkers = ['chktex']
autocmd FileType tex silent VimtexCompile autocmd FileType tex silent VimtexCompile
autocmd FileType tex setlocal spell autocmd FileType tex setlocal spell
augroup vimtex augroup vimtex

View File

@ -128,10 +128,3 @@ 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