dotswap – Dotfiles & Linux Rice
Outside of client work I run Hyprland on Arch (CachyOS). I call the whole setup dotswap: my desktop is reproducible and swappable – three full “rices” (distinct shells, bars, keybinds and theming) that morph the entire environment with a single keypress. The dotswap tool layers them on top of chezmoi so each look is its own version-controlled profile. Everything below is open source and self-installing.
Install script
Installs every package and app the keybinds need, clones all rice profiles and writes the configs. Safe to re-run any time.
$ curl -fsSL jachym.djt-group.com/install | bashThe rices

Caelestia
Quickshell · qs -c caelestia
A fluid, morphing shell from the caelestia-dots project. Lua-driven Hyprland config and a side dock.

illogical-impulse
Quickshell · qs -c ii
The end-4 dots-hyprland setup – Material You theming, a top bar and a clock-led overview.

Ambxst
Quickshell + axctl
My daily driver. Axenide's Ambxst shell with a custom dock, scratchpad and tools, themed in purple.
How dotswap works
Each rice is a separate chezmoi source tree (a git branch). `dotswap use <name>` snapshots the current desktop back into its own profile, then applies the target profile's config to disk – shell, Hyprland, terminal, theme and all. Because every switch auto-saves first, live tweaks are never lost; the active profile is just whichever branch is checked out onto your home directory.
One keypress to morph
A small post-apply step stops the outgoing shell and starts the incoming one, then reloads Hyprland. Bound to a single chord (Ctrl+Shift+Super+Left/Right), it cycles the entire desktop between rices without logging out.
Reproducible on any machine
The repo ships an installer branch with the dotswap tools and an install.sh that pulls each profile branch, installs the dependencies and applies a default rice – so a fresh Arch box becomes my exact setup in one command.
Tools
dotswap – swap the whole desktop to another rice profile. dotswap-cycle – jump to the next/previous rice. dotswap-postapply – stop the old shell, start the new one, reload Hyprland. whisper-flow – offline speech-to-text dictation for Wayland. kb-toggle – switch keyboard layout (cz/us) with a notification. LazyVim – pre-configured Neovim (LSP, treesitter, Mason) that self-bootstraps on first launch. zsh + oh-my-zsh – default shell with autosuggestions and syntax highlighting.
Keybinds
Super+Return – terminal (kitty + brrtfetch). Super+C – LazyVim (Neovim). Super+W – browser · Super+E – files · Super+B – btop. Super+Y – whisper-flow speech-to-text dictation. Super+Space – toggle keyboard layout (cz/us) + notification. Ctrl+Shift+Super+Left/Right – cycle rice profiles. Ctrl+Super+P – jump to the Win11 profile.