Skip to content
/ dot Public

These are dotfiles for my Arch Linux / bspwm setup. Also included are scripts and configurations for other daily-driver tools

Notifications You must be signed in to change notification settings

v7e5/dot

Repository files navigation

Dotfiles

These are dotfiles for my Arch Linux / bspwm setup. Also included are scripts and configurations for other daily-driver tools.

scratchpad demo

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 -M to 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 zshrc for 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 '../')
       }
  • 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.

  • w3m configuration, keymaps and CGI scripts are here.

  • MSYS2 dotfiles can be found in a separate repo here.

  • See next section for full list.

Tree of Contents

├── 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