My Arch desktop runs Niri, with the Caesar theme. Zed, Cursor and OpenCode configs are also kept here for macOS.
config/ App configs, grouped by application
assets/ Caesar wallpaper and Phosphor icons
scripts/ Linking, package list and checks
docs/ Desktop notes
tests/ Installer and shortcut regression checks
install.ts Bun setup entry point
With Bun installed, link configs, fonts and wallpaper into your home:
bun install.ts --dry-run
bun install.tsExisting files are backed up under ~/.local/state/dotfiles/backups/. Re-running
the installer leaves correct links alone. Window bindings are in config/niri/.
On an existing Arch installation, install the listed packages as well:
bun install.ts --fullRun this as your normal desktop user. It uses sudo for pacman. Graphics drivers,
the login manager and system services belong to the machine's Arch setup;
the installer does not repartition disks or choose them for you. The package
list lives in scripts/packages.txt.
bun install.ts --editors --dry-run
bun install.ts --editorsThis links Zed and OpenCode under ~/.config/, and Cursor settings/keybindings
under ~/Library/Application Support/Cursor/User/. Install the applications
separately. The same command works on Linux using Cursor's Linux config path.
Editor accounts, tokens, extensions and session data remain outside the repo.
Window shortcuts live in config/niri/config.kdl.
Configs are linked, so edits here apply to the installed files. Put private shell settings in ~/.zshrc.local.
bun install
bun run checkChecks use temporary directories and do not reload the desktop or install packages.