For a complete, current-state reference of every config in this repo, see WIKI.md.
| Group | Apps |
|---|---|
| Shell | Nushell, Starship, Zsh, Atuin |
| Terminal | Ghostty, Herdr, Kitty, Tmux, Zellij |
| Desktop | Hyprland, Waybar, Tofi, Fuzzel, Dunst, Nwg-look |
| Editor | Neovim, Helix, Vis, Zed |
| Media | rmpc, mpd, Cava, Spicetify, cliamp |
| Chat | Vesktop, Oxicord, Discord RPC |
| Browser | Zen, LibreWolf, qutebrowser |
| Viewer | Zathura, Sioyek, Zeal, Glow, Bookokrat |
| Dev | jj, Gitui, gh, OpenCode, cppman, odinfmt, Amp, Cabal, GitButler |
| Utilities | btop, fastfetch, Television, tuidict, Voxtype |
| KDE apps | Krita, Kdenlive, Okular |
| System | fontconfig, GTK 3/4, systemd, desktop portal, file associations, user folders, Qt |
| Passwords | oo7 |
| Themes | Latte, Mocha |
Each app's settings live under dot_config; the table is the category map.
Colors for the themed apps live under themes/<flavor>/<app>; the app's own
settings stay in its folder.
Left out on purpose: browser profiles and app data, caches, logs, history,
databases, generated leftovers, stale duplicates, and files with keys or
tokens. zsh/env.zsh stays local because it contains a key. The old
hypr-hyprlang folder is left as a backup.
# 1. Install Nushell (the bootstrap is written in Nushell)
sudo pacman -S --needed nushell
# 2. Download and run the setup
curl -sS https://codeberg.org/qasimstatic/dotfiles/raw/branch/main/bootstrap.nu | nu /dev/stdin
# 3. Apply the files
chezmoi applyHelper scripts are Nushell too. The bootstrap needs Nushell up front because it installs the rest of the toolchain; qutebrowser's config stays Python because qutebrowser requires Python.
- Hyprland — no animations, minimal config
- Ghostty — Catppuccin high contrast; Super+Return opens Herdr,
which handles tabs, splits, and agents with a
ctrl+hprefix. Herdr chrome is transparent over the window and tabs keep their numeric labels. A warm Ghostty host (ghostty-herdr.service) backs each window, so Super+Return only asks it for a new one. Each Herdr window still gets its own throwaway session, started and torn down byherdr-window, so windows never share state; closing the last tab closes the window. Plain Ghostty launches an ordinary shell. - Waybar — inspired by ThePrimeagen and typecraft-dev
- RMPC (mpd) — based on Sin-cy's rmpc/mpd config, plus mpc-discord-rpc
- Nushell — native completions, with carapace for git and cargo; a native
startup-statscommand reports layered boot timings for the shell, Ghostty, and Herdr on demand, reusing cached launch stats so the default report opens no window - Neovim — inspired by ThePrimeagen and typecraft-dev
- Tofi — basic menu plus cliphist
- Fonts —
Super + Fpicker; UI usessans-serif, documents useserif, Waybar and terminals/editors staymonospace; Nerd Font choices switch to the Propo variant - Systemd — all autostart apps are user services
- SDDM — Catppuccin login screen
oo7 holds your passwords. It starts with your session and is the only
password app. The saved key is at
~/.config/credstore.encrypted/oo7.keyring-encryption-password.
The old pass store is not used.
All themed apps read their colors from one link:
~/.config/themes/active -> <flavor>. The link is made on first setup and
changed by theme set; the repo does not overwrite it.
Super + T— theme picker (Mocha / Latte)Super + W— wallpaper picker for the current themeSuper + F— font pickerSuper + Escape— btoptheme set <flavor>/theme list/theme current— nushellwallpaper set <name>/wallpaper list/wallpaper current— nushell
Each flavor has its own wallpaper folder (themes/<flavor>/wallpapers) and
a default (themes/<flavor>/hypr/wallpaper). A theme remembers its last
pick, and Super + W only shows that theme's wallpapers. The active image
is themes/active/wallpapers/current (a link), so it survives reboots.
OpenCode always uses the custom Catppuccin themes in
dot_config/opencode/themes (catppuccin-mocha-high-contrast for dark
flavors, catppuccin-latte for light ones), written in the v2 theme syntax.
The TUI background is transparent so it fuses with Ghostty's translucent
window, while the input box, message blocks, menus, and dialogs are filled
with Catppuccin mauve (#cba6f7) carrying dark text, so the prompt is a
solid, readable mauve surface instead of a floating tile.
Waybar, Hyprland, Ghostty, Neovim, OpenCode, Herdr, Zen, LibreWolf, and the
wallpaper change immediately. GTK follows the same choice. SDDM follows
catppuccin-current. Nushell, Tofi, and Vesktop pick the new flavor up on next
launch. Helium also waits for its next launch, because Chromium builds its theme
at startup.
The browser stylesheets are the official Catppuccin theme for both Zen and
LibreWolf, in its high-contrast variant: in the dark flavor every backdrop is
pure black, with the URL field, panels, and menus on a raised #1e1e2e
surface. Each file carries both Catppuccin palettes and selects one with
prefers-color-scheme, so a running browser follows theme set without a
restart. Restart each browser once after the stylesheet itself changes.
Zen 1.24 went further: its chrome is square, the selected tab is Catppuccin
green, and every other tab is mauve, on both flavors. The stylesheet pins the
colours Zen otherwise derives from --zen-primary-color and zeroes Zen's
squircle radii, so the look survives Zen's themed-palette and corner changes.
Helium is Chromium and has no CSS hooks, so it takes a Chromium theme extension
instead: themes/<flavor>/helium/manifest.json, copied into the unpacked theme
directory in ~/helium-catppuccin by theme set. Mocha keeps the same
black-chrome, #1e1e2e-fields split; Latte uses the official light surfaces.
The browser chrome is painted with solid Catppuccin colours and is never translucent. Zen's corners are square; LibreWolf keeps Firefox's native corner shapes.
The SDDM login screen is set up once by a setup script; it asks for your password the first time.
- Arch Linux
- yay/paru
- systemd-boot