These are dotfiles for my Arch Linux / bspwm setup. Also included are scripts and configurations for other daily-driver tools.
Demo of scratchpad pane in bspwm running tmux inside a zutty terminal; scratchpad toggle is bound toCtrl-/,
Ctrl-Alt-/ cycles through different panel sizes. Check out scratchy.sh to see how this
works.
-
ZSH is my default shell everywhere. Few simple tips and tricks:
- Use
zcompile -Mto compile your zsh scripts to .zwc bytecode files. This can speed up stuff which seldom need updates, such as zshrc, other zsh configuration and plugin scripts. - Put this little snippet in your
zshrcfor easier directory navigation using..and...# .. is like an alias for cd, e.g ".. some_directory" # standalone .. moves up one level i.e. cd .. ..() { [[ -z "$1" ]] && cd ../ || cd "$1" } # ... number moves up that many levels # e.g: if you're in /usr/local/bin/abc and type ... 3, you'll move up 3 levels and land in /usr # ... without any arguments works like "cd -", i.e. goes to previous working directory ...() { [[ -z "$1" ]] && cd - || cd $(repeat ${1} printf '../') }
- Use
-
rxvt-unicode in daemon mode (urxvtd) was my terminal for a long time. These days I use the excellent Zutty terminal. Xresources configuration for both are located here.
-
My nvim dotfiles include sysinit.vim, custom colors and a few plugins.
-
See next section for full list.
├── efi_boot_create.sh # script for creating UEFI boot entries using efibootmgr ├── ThinkPad_E14_Gen_2__N140HGA-EA1__edid.bin # EDID file for my ThinkPad_E14_Gen_2 display (Innolux N140HGA-EA1) ├── etc │ ├── fonts # fontconfig rule symlinks │ │ ├── conf.d │ │ │ └── x.sh │ │ └── fonts.conf │ ├── iwd │ │ └── main.conf │ ├── lf # lf file manager │ │ ├── lfrc │ │ ├── lfrc_radio │ │ └── lfrc_rf │ ├── mkinitcpio.d │ │ └── linux-lts.preset │ ├── rg # ripgrep │ │ └── rgrc │ ├── tuned │ │ └── tuned-main.conf │ ├── udev │ │ ├── hwdb.d │ │ │ └── 50-remap.hwdb # CAPS to Ctrl key remap and other early remappings │ │ ├── rules.d │ │ │ ├── 81-wifi-powersave.rules │ │ │ └── 99-backlight_clamp.rules # turn off all leds, thinkpad red led on lid │ │ ├── iocost.conf │ │ └── udev.conf │ ├── X11 │ │ ├── xinit │ │ │ ├── xinitrc.d │ │ │ │ └── 50-systemd-user.sh │ │ │ ├── xinitrc │ │ │ └── xserverrc │ │ └── xorg.conf.d │ │ ├── 00-monitor.conf │ │ ├── 20-keyboard.conf │ │ └── 30-touchpad.conf │ ├── xdg │ │ └── picom.conf │ ├── zsh # ZSH global config (I use zcompile -M to compile these raw scripts into .zwc files and use them instead) │ │ ├── autoenv │ │ │ ├── lib │ │ │ │ └── varstash │ │ │ ├── autoenv.plugin.zsh │ │ │ ├── autoenv.zsh │ │ │ ├── en │ │ │ ├── ex │ │ │ └── init.zsh │ │ ├── fzf │ │ │ ├── key-bindings.zsh │ │ │ └── zsh_fzf.sh │ │ ├── zprofile │ │ ├── zshenv │ │ └── zshrc │ ├── chromium-flags.conf # ungoogled-chromium global config │ ├── locale.conf │ ├── makepkg.conf │ ├── mkinitcpio.conf │ ├── pacman.conf │ ├── resolvconf.conf │ ├── sudoers │ ├── thinkfan.yaml │ ├── tmux.conf # tmux global config │ └── vconsole.conf ├── home │ ├── config │ │ ├── bspwm # BSPWM, lemonbar and scratchpad │ │ │ ├── bspwmrc │ │ │ ├── file_choose.sh │ │ │ ├── panel # lemonbar │ │ │ ├── panel_bar # lemonbar │ │ │ └── scratchy.sh # scratchpad script │ │ ├── feh │ │ │ └── keys │ │ ├── gh # github cli config │ │ │ └── config.yml │ │ ├── git # user-level git config and ignore │ │ │ ├── config │ │ │ └── ignore │ │ ├── sxhkd # SXHKD │ │ │ └── sxhkdrc │ │ └── user-dirs.dirs │ ├── xinitrc │ ├── Xresources.dark │ └── Xresources.light └── usr ├── local │ └── bin # bunch of personal scripts and ad hoc tools │ ├── w3m # w3m text browser │ │ └── ... │ ├── fmt # custom scripts for javascript/JSX formatting │ │ └── ... │ └── ... └── share ├── nvim # neovim/nvim │ └── ... ├── gtk-3.0 │ ├── gtk.css # GTK titlebar styles │ └── settings.ini ├── themes │ └── Emacs │ └── gtk-3.0 │ └── gtk-keys.css # key remap for GTK UI like chromium, CTRL-h for backspace etc. └── X11 └── xkb └── symbols # xkb key remap, set ISO_Level3_Shift key ├── pc └── us
