# dotfiles Everything needed to rebuild my Arch + bspwm desktop on a bare machine: **Sakura Line**, a bspwm rice with a GTK control panel and a particle wallpaper layer. ## Install ```sh bash <(curl -fsSL https://git.srtk.in/sarthak/dotfiles/raw/branch/main/.config/rice/install.sh) ``` That one command installs the packages, clones this repo, checks it out over `$HOME`, builds `st` and `particles`, and does the theming. It is safe to re-run, and nothing in `$HOME` is overwritten without being backed up to `~/.rice-backup-/` first. Add `--dry-run` to see every step without changing anything. **[→ Full rice documentation: keybindings, control panel, palette](.config/rice/README.md)** ## Why the repo looks like this This is a [bare repo tracking `$HOME`](https://www.atlassian.com/git/tutorials/dotfiles), so paths are relative to your home directory and the top level only shows the dotfiles themselves — there is no `src/` or wrapper folder. The bootstrap lives at `.config/rice/install.sh` because that is where it lands on disk. Manage it with: ```sh alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME' dotfiles status dotfiles add .config/polybar/config.ini dotfiles commit -m "polybar: ..." dotfiles push ``` That alias is in the tracked [`.bashrc`](.bashrc). ## What is in here | path | what | |---|---| | [`.config/rice/`](.config/rice) | **the bootstrap** — `install.sh`, `packages.txt`, `st/config.h`, `particles/` | | [`.config/bspwm/`](.config/bspwm) | WM config, keybindings (`sxhkdrc`), picom, wallpaper | | [`.config/polybar/`](.config/polybar) | the bar and its launcher | | [`.config/scripts/`](.config/scripts) | control panel (GTK), volume, media, wallpaper, screenshots | | [`.config/rofi/`](.config/rofi) | launcher, clipboard and emoji menus | | [`.config/dunst/`](.config/dunst) | notifications | | [`.config/fish/`](.config/fish) | shell — prompt, functions, plugins | | [`.config/nvim/`](.config/nvim) | LazyVim setup | | [`.config/yazi/`](.config/yazi) | file manager, plugins and scripts | | [`.config/kitty/`](.config/kitty) | fallback terminal (`st` is the primary) | | [`.config/gtk-*/`, `.themes/`, `.config/qt*ct/`](.themes) | GTK 2/3/4 and Qt theming | | [`.config/btop/`, `.config/cava/`, `.config/fastfetch/`](.config/fastfetch) | the showcase toys | | [`.xinitrc`](.xinitrc) | starts bspwm | Programs unrelated to the rice are deliberately not tracked. ## Requirements Arch is the first-class target — `packages.txt` is a pacman list, with `aur:`-prefixed lines for the AUR extras. Debian/Ubuntu and Fedora are best-effort: `install.sh` maps the package names it can and skips the AUR bits. Licensed MIT where the vendored sources say so (`st`, `particles`, yazi plugins keep their own upstream licenses).