Skip to content

Legacy Linux Desktop

Justin Puah edited this page Jul 13, 2026 · 1 revision

Legacy Linux-desktop configs — kept as a snapshot, not actively maintained.

bspwm

Config for the bspwm tiling window manager.

Files

File Installed as Notes
bspwmrc ~/.config/bspwm/bspwmrc Main config — sets monitors, window rules, and launches sxhkd

Notes

Linux only. Keybindings are handled separately by sxhkd — see sxhkd below. Colours and terminal appearance are driven by Xresources.d below.

Config dates from ~2017 but the bspwmrc format has had no breaking changes.

Not wired into the setup scripts.

sxhkd

Config for sxhkd — Simple X Hotkey Daemon, used as the keybinding layer for bspwm.

Files

File Installed as Notes
sxhkdrc ~/.config/sxhkd/sxhkdrc All hotkey definitions

Notes

Linux only. Launched by bspwm on startup — see bspwm above.

Config dates from ~2017. The sxhkdrc syntax is unchanged on modern versions.

Not wired into the setup scripts.

rofi

Config for rofi — application launcher and window switcher.

Files

File Notes
config Old-format config (~2017)

Status

Linux only. The old config format was removed in rofi v1.7.0 (2020) — this file will not work on any modern rofi installation without being converted to the .rasi format first.

To migrate:

rofi -dump-config > ~/.config/rofi/config.rasi

Not wired into the setup scripts.

i3

Config for the i3 window manager.

Files

File Installed as Notes
config ~/.config/i3/config Main i3 config
i3status/config ~/.config/i3status/config Status bar config
scripts/ Helper scripts for i3 (workspace, bar, etc.)

Status

Linux only. Config dates from ~2017 but remains compatible — i3 has maintained backward compatibility throughout the v4.x series.

Paired with sxhkd for additional keybindings and Xresources.d for terminal colours.

Not wired into the setup scripts.

mpd

Config for Music Player Daemon (mpd).

Files

File Notes
mpd.conf Main config (PulseAudio output)
mpd.conf.alsa_no_pulse Alternative config for ALSA without PulseAudio

Notes

Linux only. Typically paired with ncmpcpp as the client — see ncmpcpp below.

Not wired into the setup scripts. Install manually by copying the appropriate config to ~/.config/mpd/mpd.conf or ~/.mpd/mpd.conf depending on your mpd version and XDG setup.

ncmpcpp

Config for ncmpcpp — a terminal MPD client.

Files

File Notes
config Main ncmpcpp config

Notes

Linux only. Requires MPD to be running — see mpd above.

Not wired into the setup scripts. Install manually by copying config to ~/.config/ncmpcpp/config or ~/.ncmpcpp/config.

postgres

Config for the PostgreSQL interactive terminal (psql).

Prerequisites

Tool Purpose Install
PostgreSQL client Provides psql winget install PostgreSQL.PostgreSQL / system package manager

Files

File Installed as Notes
psqlrc ~/.psqlrc Loaded by psql on startup

Settings

Setting Effect
Custom PROMPT1 Shows host, port, user, database, and transaction status
COMP_KEYWORD_CASE upper Tab-completes SQL keywords in UPPERCASE
\x auto Switches between column/row display based on terminal width
\pset null '[NULL]' Shows [NULL] instead of blank for null values
\timing Prints query execution time after every result
HISTSIZE 2000 Keeps 2000 entries in psql history
:version Shortcut variable: SELECT version();
:extensions Shortcut variable: SELECT * FROM pg_available_extensions;

Install

./setup.ps1 -Module postgres   # Windows  (not yet in setup.ps1)
./setup.sh  -m postgres        # Linux / WSL  (not yet in setup.sh)

Not yet wired into the setup scripts. Install manually:

ln -sf "$(pwd)/postgres/psqlrc" ~/.psqlrc        # Linux
copy postgres\psqlrc $env:USERPROFILE\.psqlrc     # Windows

ruby

Config for RubyGems (gem).

Files

File Installed as Notes
gemrc ~/.gemrc Applied to every gem install

Settings

Setting Effect
gem: --no-document Skips generating local rdoc and ri documentation on install

Skipping documentation saves significant install time and disk space. Online docs (rubydoc.info) are a better reference anyway.

--no-rdoc (the older flag) was deprecated in Ruby 2.6. This config uses the current --no-document equivalent.

Install

Not yet wired into the setup scripts. Install manually:

ln -sf "$(pwd)/ruby/gemrc" ~/.gemrc        # Linux
copy ruby\gemrc $env:USERPROFILE\.gemrc    # Windows

Xresources.d

X11 resource configuration — colours and terminal appearance for Linux.

Files

File / Directory Purpose
main.Xresources Entry point — #includes the active colour scheme and component configs
colors/ Colour scheme files (base16, gruvbox, solarized, etc.)
urxvt.Xresources urxvt terminal settings
rofi.Xresources Rofi launcher colour overrides
rofi-colors/ Gruvbox colour variants for rofi

Usage

Merge into the X server resource database:

xrdb -merge ~/.Xresources

~/.Xresources should include (or symlink to) main.Xresources.

Notes

Linux / X11 only. The format remains compatible with modern xrdb — no breaking changes to the Xresources syntax.

Not wired into the setup scripts.


Source: config/bspwm/README.md, config/sxhkd/README.md, config/rofi/README.md, i3/README.md, mpd/README.md, ncmpcpp/README.md, postgres/README.md, ruby/README.md, Xresources.d/README.md in the dotfiles repo.

dotfiles wiki

Getting started

Core (Windows)

Cross-platform

Claude Code & AI

Reference

Legacy (Linux)

Troubleshooting

Clone this wiki locally