mirror of
				https://github.com/frebib/dotfiles.git
				synced 2024-06-14 12:57:23 +00:00 
			
		
		
		
	Compare commits
	
		
			70 Commits
		
	
	
		
			3b78319653
			...
			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
	
				 | 
					
					
						|||
| 
						
						
							
						
						3e681a94b1
	
				 | 
					
					
						|||
| 
						
						
							
						
						ab7532e250
	
				 | 
					
					
						
@@ -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:${GOPATH}/bin"
 | 
					PATH="${PATH}:/sbin:/usr/sbin:${HOME}/.local/bin:${XDG_CONFIG_HOME}/scripts"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# vim: ft=sh
 | 
					# vim: ft=sh
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,10 +4,12 @@
 | 
				
			|||||||
ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
 | 
					ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
 | 
				
			||||||
CARGO_HOME="$XDG_DATA_HOME/cargo"
 | 
					CARGO_HOME="$XDG_DATA_HOME/cargo"
 | 
				
			||||||
GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
 | 
					GNUPGHOME="$XDG_CONFIG_HOME/gnupg"
 | 
				
			||||||
 | 
					GEM_HOME="$XDG_DATA_HOME/gem"
 | 
				
			||||||
 | 
					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"
 | 
				
			||||||
@@ -20,4 +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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 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