dotfiles/README.md
Sarthak d521bdc0ba add a screenshot to both readmes
Desktop shot at .config/rice/screenshot.webp, shown at the top of the root
README and the rice one.

Converted from the source PNG: it was 2.36 MB, and PNG recompression only got
it to 2.30 MB because the sakura wallpaper is a photo. WebP at q90 is 0.38 MB
with the terminal text still sharp at 1:1, which is worth it in a repo the
installer clones in full.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011beBgzmH72WFn8wiWqRZPf
2026-09-04 10:15:42 +05:30

69 lines
2.8 KiB
Markdown

# 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.
![Sakura Line - bspwm, polybar and btop over the sakura wallpaper](.config/rice/screenshot.webp)
## 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-<timestamp>/` 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).