mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
Compare commits
24 Commits
surface
...
7b418c2abc
Author | SHA1 | Date | |
---|---|---|---|
7b418c2abc
|
|||
0fc023db91
|
|||
e17ebf0201
|
|||
8f969737ed
|
|||
8287acf3a7
|
|||
2050b1a5b7
|
|||
d6289c47ba
|
|||
6c19740e21
|
|||
8b838aa771
|
|||
af65ab019e
|
|||
a11dac4d00
|
|||
90750c0ede
|
|||
18208e2362
|
|||
ad713cd680
|
|||
b4e3cdeff3
|
|||
c6bd6a83c6
|
|||
f247802bda
|
|||
abb66a954b
|
|||
ed9d50d68e
|
|||
89b9222b7c
|
|||
ee6b7333fb
|
|||
2ac1111b72
|
|||
83f8566faf
|
|||
59ac129a85
|
@ -31,6 +31,10 @@ window:
|
||||
x: 15
|
||||
y: 15
|
||||
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
dynamic_padding: false
|
||||
|
||||
# Window decorations
|
||||
#
|
||||
# Values for `decorations`:
|
||||
@ -38,6 +42,17 @@ window:
|
||||
# - none: Neither borders nor title bar
|
||||
decorations: full
|
||||
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
# - Windowed
|
||||
# - Maximized
|
||||
# - Fullscreen
|
||||
#
|
||||
# Values for `startup_mode` (macOS only):
|
||||
# - SimpleFullscreen
|
||||
startup_mode: Windowed
|
||||
|
||||
scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
@ -66,7 +81,7 @@ scrolling:
|
||||
# Some applications, like Emacs, rely on knowing about the width of a tab.
|
||||
# To prevent unexpected behavior in these applications, it's also required to
|
||||
# change the `it` value in terminfo when altering this setting.
|
||||
tabspaces: 8
|
||||
tabspaces: 4
|
||||
|
||||
# Font configuration (changes require restart)
|
||||
#
|
||||
@ -120,8 +135,9 @@ font:
|
||||
x: 0
|
||||
y: 0
|
||||
|
||||
# Display the time it takes to redraw each frame.
|
||||
render_timer: false
|
||||
debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
render_timer: false
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
draw_bold_text_with_bright_colors: true
|
||||
@ -148,6 +164,15 @@ colors:
|
||||
text: '0xeceff1'
|
||||
cursor: '0x5294e2'
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area. If selection
|
||||
# background is unset, selection color will be the inverse of the cell colors.
|
||||
# If only text is unset the cell text color will remain the same.
|
||||
selection:
|
||||
background: '0x5294e2'
|
||||
# text: '0xeaeaea'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x333638'
|
||||
@ -367,9 +392,9 @@ key_bindings:
|
||||
- { key: Q, mods: Command, action: Quit }
|
||||
- { key: W, mods: Command, action: Quit }
|
||||
- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||
- { key: Equals, mods: Control, action: ResetFontSize }
|
||||
- { key: Add, mods: Control|Shift, action: IncreaseFontSize }
|
||||
- { key: Subtract, mods: Control|Shift, action: DecreaseFontSize }
|
||||
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
||||
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
||||
- { key: End, chars: "\x1bOF", mode: AppCursor }
|
||||
|
@ -108,6 +108,7 @@ client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-co
|
||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color $bg-color
|
||||
|
||||
exec_always --no-startup-id killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar
|
||||
exec_always --no-startup-id feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
||||
# Window rules
|
||||
for_window [class="Pinentry"] floating enable
|
||||
@ -137,9 +138,9 @@ bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+Ctrl+Return exec i3-sensible-terminal -r floating-term
|
||||
bindsym $mod+Shift+Return exec i3-sensible-terminal -d "`xcwd`"
|
||||
bindsym $mod+Ctrl+Shift+Return exec i3-sensible-terminal -r floating-term -d "`xcwd`"
|
||||
bindsym $mod+l exec ~/.config/i3/lock.sh
|
||||
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"
|
||||
bindsym $mod+Shift+p exec rofi-pass
|
||||
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 rofi-emoji
|
||||
bindsym $mod+Shift+i exec rofi-fontawesome
|
||||
bindsym --release Print exec screenshot
|
||||
@ -148,13 +149,14 @@ bindsym $mod+$alt+space exec --no-startup-id ~/.config/i3/cycleaudio.py
|
||||
bindsym $mod+numbersign exec "i3-sensible-terminal -e 'sh -c xclip\ -o\ |\ gpg\ --decrypt\ 2>&1\ \;\ $SHELL'"
|
||||
bindsym $mod+r exec "bash -c 'pwgen -nc 32 1 | tee >(xargs notify-send Generated\ password\:) | xclip -i'"
|
||||
bindsym $mod+g exec "LINK=$(gist -PRpc); notify-send -c transfer \\"<a href=\\\\"$LINK\\\\">$LINK</a>\\""
|
||||
bindsym --release $mod+i exec sh -c 'sleep 0.5 && xdotool type --delay 400 "$(xclip -o -selection clipboard)"'
|
||||
|
||||
# Media player controls
|
||||
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
|
||||
bindsym XF86AudioPause exec --no-startup-id mpc pause
|
||||
bindsym XF86AudioStop exec --no-startup-id mpc stop
|
||||
bindsym XF86AudioNext exec --no-startup-id mpc next
|
||||
bindsym XF86AudioPrev exec --no-startup-id mpc previous
|
||||
bindsym XF86AudioPlay exec --no-startup-id playerctl -a play-pause
|
||||
bindsym XF86AudioPause exec --no-startup-id playerctl -a pause
|
||||
bindsym XF86AudioStop exec --no-startup-id playerctl -a stop
|
||||
bindsym XF86AudioNext exec --no-startup-id playerctl -a next
|
||||
bindsym XF86AudioPrev exec --no-startup-id playerctl -a previous
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1000
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1000
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||
@ -164,7 +166,8 @@ bindsym XF86MonBrightnessDown exec xbacklight -dec 5 && pkill -RTMIN+12 i3bloc
|
||||
# app launch shortcuts
|
||||
exec --no-startup-id ~/.config/i3/disable-standby-fs.py
|
||||
exec --no-startup-id feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
exec --no-startup-id xautolock -time 5 -locker 'dm-tool lock' -nocloseout -nocloseerr
|
||||
exec --no-startup-id xautolock -time 5 -locker 'dm-tool switch-to-greeter' -nocloseout -nocloseerr
|
||||
exec --no-startup-id xss-lock dm-tool switch-to-greeter
|
||||
|
||||
# startup programs
|
||||
exec --no-startup-id nextcloud
|
||||
@ -174,7 +177,7 @@ exec --no-startup-id xbindkeys
|
||||
exec --no-startup-id solaar
|
||||
exec --no-startup-id pullover
|
||||
exec --no-startup-id mailnag
|
||||
exec --no-startup-id compton -b --config ~/.config/compton.conf
|
||||
exec --no-startup-id compton -b
|
||||
exec --no-startup-id chromium --no-startup-window
|
||||
exec --no-startup-id thunderbird
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
option=$(echo "lock|logout|sleep|hibernate|power off|reboot|windows" | rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 8 -lines 7 -location 3 -tokenize false -matching normal | xargs)
|
||||
option=$(echo "lock|logout|sleep|hibernate|power off|reboot|windows" | rofi -sep "|" -dmenu -i -p "" -auto-select -hide-scrollbar -monitor 0 -width 10 -lines 7 -location 3 -tokenize false -matching normal | xargs)
|
||||
|
||||
case $option in
|
||||
lock) ./lock.sh;;
|
||||
lock) dm-tool switch-to-greeter;;
|
||||
logout) i3-msg exit;;
|
||||
sleep) systemctl suspend;;
|
||||
hibernate) systemctl hibernate;;
|
||||
|
3
.config/npm/npmrc
Normal file
3
.config/npm/npmrc
Normal file
@ -0,0 +1,3 @@
|
||||
prefix=${XDG_DATA_HOME}/npm
|
||||
cache=${XDG_CACHE_HOME}/npm
|
||||
tmp=${XDG_RUNTIME_DIR}/npm
|
@ -115,7 +115,7 @@ label-visible-underline = ${self.label-focused-underline}
|
||||
|
||||
; urgent = Workspace with urgency hint set
|
||||
label-urgent = ${self.label-focused}
|
||||
label-urgent-foreground = ${colours.warning}
|
||||
label-urgent-foreground = ${colours.critical}
|
||||
label-urgent-padding = ${self.label-focused-padding}
|
||||
|
||||
|
||||
|
@ -71,8 +71,8 @@ get_icon() {
|
||||
522) echo ;; # heavy intensity shower rain
|
||||
531) echo ;; # ragged shower rain
|
||||
600) echo ;; # light snow
|
||||
601) echo ;; # snow
|
||||
602) echo ;; # heavy snow
|
||||
601) echo ;; # snow
|
||||
602) echo ;; # heavy snow
|
||||
611) echo ;; # sleet
|
||||
612) echo ;; # shower sleet
|
||||
615) echo ;; # light rain and snow
|
||||
@ -86,11 +86,6 @@ get_icon() {
|
||||
741) echo ;; # fog
|
||||
762) echo ;; # volcanic ash
|
||||
781) echo ;; # tornado
|
||||
800) echo ;; # clear sky
|
||||
801) echo ;; # few clouds
|
||||
802) echo ;; # scattered clouds
|
||||
803) echo ;; # broken clouds
|
||||
804) echo ;; # overcast clouds
|
||||
# 731) echo ;; # sand, dust whirls
|
||||
# 751) echo ;; # sand
|
||||
# 761) echo ;; # dust
|
||||
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Lock X session using i3lock
|
||||
|
||||
[Service]
|
||||
User=%i
|
||||
Environment=DISPLAY=:0
|
||||
ExecStart=sh -c '~/.config/i3/lock.sh'
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
12
.config/systemd/user/sleep-lock-lightdm.service
Normal file
12
.config/systemd/user/sleep-lock-lightdm.service
Normal file
@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Lock X LightDM session before sleeping
|
||||
Before=sleep.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/dm-tool switch-to-greeter
|
||||
# Ensure enough time for the session to lock before sleeping
|
||||
ExecStartPost=/usr/bin/sleep 1
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|
@ -0,0 +1 @@
|
||||
../sleep-lock-lightdm.service
|
@ -80,6 +80,7 @@ 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 '^[[1;3A' history-substring-search-up # Alt+Up (hsh)
|
||||
bindkey '^[[1;3B' history-substring-search-down # Alt+Down (hsh)
|
||||
|
||||
@ -141,6 +142,13 @@ ZSH_HIGHLIGHT_STYLES[redirection]='fg=cyan,bold'
|
||||
|
||||
source "$DOTFILES/aliases"
|
||||
|
||||
# Source secret keys and values into environment
|
||||
if [ -f "$XDG_CONFIG_HOME/secrets" ]; then
|
||||
set -o allexport
|
||||
source $XDG_CONFIG_HOME/secrets
|
||||
set +o allexport
|
||||
fi
|
||||
|
||||
# Load some manual plugins
|
||||
source "$ZSH_DIR/plugins/sudo.zsh"
|
||||
source "$ZSH_DIR/plugins/fish-theme.zsh"
|
||||
|
4
.profile
4
.profile
@ -25,6 +25,7 @@ export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||
export GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
|
||||
export GOPATH="$XDG_DATA_HOME/go"
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/settings.ini"
|
||||
export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
|
||||
export PASSWORD_STORE_DIR="$XDG_DATA_HOME/pass"
|
||||
export PYTHONHISTFILE="$XDG_DATA_HOME/python/histfile"
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
|
||||
@ -76,6 +77,7 @@ fi
|
||||
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] && exists dbus-launch; then
|
||||
eval $(dbus-launch --sh-syntax --exit-with-session)
|
||||
dbus-update-activation-environment --systemd \
|
||||
DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
||||
DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY \
|
||||
XDG_SEAT_PATH
|
||||
fi
|
||||
|
||||
|
28
aliases
28
aliases
@ -53,7 +53,7 @@ alias svim=sudoedit
|
||||
# This will enable us to use aliases in sudo.
|
||||
# (If alias finishes with a space or tab, the shell will check if the next command is also aliased.)
|
||||
# Source: https://github.com/mayah/home/blob/master/.zsh/zshrc.d/alias.zsh
|
||||
alias sudo='sudo -E '
|
||||
alias sudo='sudo '
|
||||
alias open=xdg-open
|
||||
|
||||
# Command rewrites
|
||||
@ -140,19 +140,21 @@ alias gma="git merge --abort"
|
||||
alias grb="git rebase"
|
||||
alias grba="grb --abort"
|
||||
alias grbc="grb --continue"
|
||||
alias grbom="git rebase origin/master"
|
||||
|
||||
alias gf="git fetch"
|
||||
alias gp="git push"
|
||||
alias gpf="gp --force"
|
||||
alias gpsu="git push --set-upstream"
|
||||
alias gpoH="git push origin HEAD"
|
||||
alias gpsuom="git push --set-upstream origin master"
|
||||
alias gpall="git remote | xargs -L1 git push"
|
||||
alias gl="git pull --rebase"
|
||||
alias glp="gl && gp"
|
||||
alias gd="git diff"
|
||||
alias gds="git diff --staged"
|
||||
alias gsh="git show"
|
||||
alias glg="git log --stat --color"
|
||||
alias gd="git diff --patch-with-stat"
|
||||
alias gds="gd --staged"
|
||||
alias gsh="git show --format=full --patch-with-stat"
|
||||
alias glg="git log --format=full --stat --color"
|
||||
alias glog="git log --oneline --decorate --color --graph"
|
||||
|
||||
alias grst="git reset"
|
||||
@ -174,8 +176,11 @@ alias gstv="gsta show -p stash@{0}"
|
||||
|
||||
# Docker aliases
|
||||
alias d=docker
|
||||
alias dps='docker ps'
|
||||
alias dpsa='docker ps -a'
|
||||
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 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'
|
||||
alias drm='docker rm'
|
||||
alias drmi='docker rmi'
|
||||
alias dim='docker images'
|
||||
@ -259,14 +264,14 @@ do_dsh() {
|
||||
|
||||
alias dc='docker-compose'
|
||||
alias dm='docker-machine'
|
||||
alias dmc='eval $(docker-machine env $1)'
|
||||
dmc() { eval $(docker-machine env $1); }
|
||||
|
||||
# ZFS aliases
|
||||
alias zfs='sudo zfs'
|
||||
alias zpool='sudo zpool'
|
||||
alias z=zfs
|
||||
alias zp=zpool
|
||||
zl() { (set -o pipefail; command zfs list $@ | grep -Ev 'docker/[0-9a-f]{64}'); 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 $@"; }
|
||||
|
||||
# General Aliases
|
||||
@ -280,9 +285,14 @@ alias xresources="$EDITOR $XDG_CONFIG_HOME/X11/xresources ; xrdb merge $XDG_CONF
|
||||
alias sshc="$EDITOR ~/.ssh/config"
|
||||
alias dotfiles="cd $DOTFILES"
|
||||
alias i3c="$EDITOR $XDG_CONFIG_HOME/i3/config ; i3-msg restart"
|
||||
alias polybarc="$EDITOR $XDG_CONFIG_HOME/polybar/config; killall -q polybar; while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done; exec polybar -r i3bar"
|
||||
|
||||
alias sf=screenfetch
|
||||
alias nf=neofetch
|
||||
alias rot13="tr '[A-Za-z]' '[N-ZA-Mn-za-m]'"
|
||||
|
||||
# Networking aliases
|
||||
alias ipa="ip a"
|
||||
alias addrs="ip a | grep inet | grep -ve fe80 -e '127\\.0\\.0\\.1/8' -e '::1/128' | sort -n | sed 's/^\\s*//'"
|
||||
|
||||
# vim: ft=sh
|
||||
|
@ -11,4 +11,4 @@ xrandr --output $BOTTOM_LEFT --primary --mode 1920x1080 --pos 0x1080 --rotate no
|
||||
--output $TOP_RIGHT --mode 1920x1080 --pos 1920x0 --rotate inverted \
|
||||
--output $BOTTOM_RIGHT --mode 1920x1080 --pos 1920x1080 --rotate normal
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
@ -16,4 +16,4 @@ xrandr --newmode $MODELINE 2>/dev/null || true
|
||||
xrandr --addmode $OUTPUT $MODENAME 2>/dev/null || true
|
||||
xrandr --output $OUTPUT --mode $MODENAME
|
||||
|
||||
feh --no-fehbg --no-xinerama --bg-fill ~/pictures/lakesidesunrise.jpg
|
||||
feh --no-fehbg --no-xinerama --bg-fill $DOTFILES/lakesidesunrise.jpg
|
||||
|
@ -5,7 +5,7 @@ NOTIFY_APPNAME="$(basename "$0")"
|
||||
NOTIFY_ICONPATH="/usr/share/icons/Xenlism-Wildfire/Apps/screenshot.svg"
|
||||
|
||||
SCROT_CMD="maim -m 10 -us %"
|
||||
FILENAME=`date "+$NOTIFY_APPNAME-%Y-%m-%d-%H%M%S.png"`
|
||||
FILENAME="$(date '+%s%N' | sha256sum | head -c7).png"
|
||||
DIRECTORY="$HOME/pictures/screenshots"
|
||||
|
||||
SCP_HOST=frebib@Poseidon.nerdhouse.io
|
||||
@ -40,7 +40,7 @@ fi
|
||||
notif_id=$(send_notification "Screenshot uploading" "$FILENAME<br><br>The image is available in the clipboard immediately" || true)
|
||||
|
||||
# Add image to clipboard
|
||||
xclip -i "$out_path" -selection primary -t image/png
|
||||
xclip -i "$out_path" -selection clipboard -t image/png
|
||||
|
||||
# 'Upload' the screenshot
|
||||
if ! error=$(scp -C $out_path $SCP_HOST:$SCP_PATH 2>&1); then
|
||||
|
Reference in New Issue
Block a user