Skip to content

Latest commit

 

History

History
82 lines (67 loc) · 4.33 KB

README.org

File metadata and controls

82 lines (67 loc) · 4.33 KB
  ____           _      _
 (|   \         | | o  | |
  |    | __ _|_ | |    | |  _   ,
 _|    |/  \_|  |/  |  |/  |/  / \_
(/\___/ \__/ |_/|__/|_/|__/|__/ \/
                |\
                |/

Welcome! These are the dotfiles that I use in my daily-driver Void system. The goal was to build a comfy, minimalist system that doesn’t take me out of my workflow. For that reason, I’m using Emacs Keybinds pretty much everywhere. If you don’t need/want that, simply don’t install xkeysnail.


System Information

  • Distribution: Void Linux
  • Window Manager: bspwm
  • Shell: Bash
  • Terminal: Urxvt
  • Widgets: Eww
  • Application Launcher: Rofi
  • Notification Daemon: End

Screenshots

.screenshots/_000.png .screenshots/_001.png .screenshots/_002.png

TODOs

  • Write an install script: It’s still a pain to get these dotfiles to run.
  • Replace xkeysnail with kmonad: Xkeysnail keybinds don’t always work and are hard to debug (also Haskell is cool).
  • Setup i3lock screen: A blank white screen isn’t exactly aesthetic.
  • Fix external monitor setup: Since I’m using a high DPI notebook it’s a pain to use a second (usually low-DPI) monitor. Font and UI size gets all messed up.

Getting Started

Packages

The following is a list of the most important packages I use on my Void installation. Just install their dependencies/build tools as well.

From XBPS

picom firefox gtk3 neovim zathura rofi sxhkd bspwm i3lock-color

From Source

eww end xkeysnail

Firefox Extensions

I’m using my own fork of Kenneth Sundqvist’s Key Jump extension to allow for keyboard-only navigation in Firefox.

Additional Configuration

Using template config files

I wanted to be as flexible as possible when it comes to color schemes and dark/light themes, so I’m managing all colors via Xresources. Unfortunately, many programs use their own configuration files for color customization and don’t care about Xresources. To get around that limitation, I’m using template versions of these config files which contain placeholders for Xresources colors. I then run a script to fill those placeholders using the corresponding Xresources colors. Files starting with three ___underscores are templates.

Disable password prompts when running sudo

Some commands, like xkeysnail and poweroff have to be run with sudo, which is a problem if we want to use them in scripts. To avoid being prompted for a password when running these commands, we can add the following line to the sudoers file, using sudo visudo:

<USER> ALL=NOPASSWD: <PATH TO COMMAND>

Alternatively, we can create a new file in /etc/sudoers.d and manage the commands there. To add the most common commands, you can use the following command

cat <<EOT >> /etc/sudoers.d/nopasswds
$USER $HOSTNAME = (root) NOPASSWD: /sbin/shutdown
$USER $HOSTNAME = (root) NOPASSWD: /sbin/reboot
$USER $HOSTNAME = (root) NOPASSWD: /sbin/wpa_supplicant
$USER $HOSTNAME = (root) NOPASSWD: /sbin/poweroff
$USER $HOSTNAME = (root) NOPASSWD: /bin/xkeysnail
$USER $HOSTNAME = (root) NOPASSWD: /bin/light
EOT

Downgrade rxvt-unicode Version

Version 9.31 of rxvt-unicode introduced a very annoying bug regarding the terminal prompt. Due to a race condition, the prompt sometimes starts in the middle of the terminal window. This is apparently “intended behaviour” and not subject to change. My solution is to downgrade the package to version 9.3. Unfortunately, the XBPS repository does not store old releases, so we have to build it from source. I have a separate repository that contains the necessary build config, leveraging xbps-src. Just run the following commands.

git clone https://github.com/lucalabs-de/void-packages
cd void-packages
./xbps-src binary-bootstrap
./xbps-src pkg rxvt-unicode
xbps-install --repository hostdir/binpkgs rxvt-unicode