Skip to content

Commit ba6785a

Browse files
committed
Polished up readme
1 parent a9558c9 commit ba6785a

File tree

1 file changed

+102
-32
lines changed

1 file changed

+102
-32
lines changed

README.md

Lines changed: 102 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# dotfiles
22

3-
Personal dotfiles for Linux (primarily Arch) and macOS.
3+
Personal dotfiles for Linux, mainly Arch, and macOS.
44

5-
Includes configuration for Zsh, Git, tmux, kitty, KDE/GTK theming, OpenRGB, REAPER, and related tooling.
5+
Includes config for Zsh, Git, tmux, kitty, KDE/GTK theming, OpenRGB, REAPER, and related tools.
66

77
Neovim configuration now lives in a separate repository: [zkm/nvim-config](https://github.com/zkm/nvim-config).
88

@@ -16,11 +16,11 @@ cd ~/.dotfiles
1616
./setup.sh
1717
```
1818

19-
## ⚠️ Important Behavior
19+
## ⚠️ Important behavior
2020

2121
`setup.sh` is intentionally destructive for managed dotfiles.
2222

23-
Before creating fresh symlinks, it removes existing files/dirs such as:
23+
Before it creates fresh symlinks, it removes existing files and directories such as:
2424

2525
- `~/.aliases`
2626
- `~/.gitconfig`
@@ -34,41 +34,105 @@ Before creating fresh symlinks, it removes existing files/dirs such as:
3434

3535
Back up anything important first.
3636

37-
## 🧩 What Setup Does
37+
## 🧩 Setup
3838

39-
`setup.sh` currently performs the following:
39+
`setup.sh` does the following:
4040

41-
1. Ensures zsh is your shell (if currently using bash).
41+
1. Makes zsh your shell if you are currently using bash.
4242
2. Installs core packages:
4343
- macOS: Homebrew + packages
4444
- Linux: `pacman`, `dnf`, `apt`, or `yum`
4545
- Linux: attempts to install `papirus-icon-theme` (best effort; skipped if unavailable)
46-
3. Creates directories used by aliases (`~/Documents/work`, `~/Developer`, OpenRGB dirs).
46+
3. Creates directories used by shortcuts (`~/Documents/work`, `~/Developer`, OpenRGB dirs).
4747
4. Symlinks repo-managed dotfiles into `$HOME`.
4848
- Includes app config such as `~/.config/hypr` and `~/.config/kitty` when present in-repo.
4949
- Links KDE Plasma config files only when setup is run in a KDE session, or when overridden with `INSTALL_KDE_CONFIG=1`.
5050
5. Syncs custom desktop assets when present:
5151
- `Icons/dark-side` -> `~/.local/share/icons/dark-side`
5252
- `Wallpapers` -> `~/Pictures/Wallpapers`
53-
6. Adds `pyenv`, `rbenv`, and `nvm` init lines to `~/.zshrc` (if missing).
53+
6. Adds `pyenv`, `rbenv`, and `nvm` init lines to `~/.zshrc` if they are missing.
5454
7. Installs Powerlevel10k.
5555
8. Installs fonts (MesloLGS Nerd Font + Fira Code Nerd Font, with local file fallback).
56-
9. Applies Terminal.app default profile on macOS (`Pro`).
57-
10. Attempts browser install (Firefox + Chrome/Chromium).
58-
11. Attempts Visual Studio Code install.
56+
9. Sets the default Terminal.app profile on macOS to `Pro`.
57+
10. Tries to install browsers (Firefox and Chrome/Chromium).
58+
11. Tries to install Visual Studio Code.
5959
- Arch Linux: bootstraps `yay` if needed and installs `visual-studio-code-bin` from AUR.
6060
12. Installs Docker:
6161
- macOS: installs Docker Desktop (Homebrew cask)
6262
- Linux: installs Docker engine + compose plugin/package, enables the service, and adds your user to the `docker` group
63-
13. Optionally installs OpenRGB/REAPER (opt-in flags).
64-
65-
## 🐳 Docker Install Notes
63+
13. Optionally installs OpenRGB and REAPER.
64+
65+
## Useful shortcuts
66+
67+
The full shell catalog lives in `aliases`, but these are the shortcuts I use most.
68+
69+
### Navigation and files
70+
71+
| Shortcut | What it does |
72+
| --- | --- |
73+
| `work` / `dev` | Go to common working directories |
74+
| `j <name>` | Jump to frequently used directories with zoxide |
75+
| `l`, `ll`, `la`, `lt`, `tree` | List files quickly with `eza` when available |
76+
| `ff <pattern>` | Find files with `fd` |
77+
| `search <pattern>` | Search recursively with `rg` |
78+
| `fcd` | Pick a directory with `fzf` and change into it |
79+
| `fvim` | Pick one or more files with `fzf` and open them in `vim` |
80+
81+
### Editing and previewing
82+
83+
| Shortcut | What it does |
84+
| --- | --- |
85+
| `v` | Open `nvim` |
86+
| `vim` / `vi` | Open `nvim` or fall back to `vim` |
87+
| `catp <file>` | Show plain file output, using `bat` when installed |
88+
| `preview <file>` | Preview a file with line numbers and syntax highlighting when available |
89+
| `json` | Pretty-print JSON with `jq` |
90+
91+
### Kitty helpers
92+
93+
| Shortcut | What it does |
94+
| --- | --- |
95+
| `imgcat <file>` | Display images directly in Kitty |
96+
| `imgpick` | Pick an image with `fzf` and preview it in Kitty |
97+
| `img <file>` | Run `imgcat` with a shorter command |
98+
99+
### Git and tmux
100+
101+
| Shortcut | What it does |
102+
| --- | --- |
103+
| `g`, `gst`, `gd`, `gl` | Run common Git commands |
104+
| `gco`, `gb`, `gc`, `gcm`, `gp`, `gps` | Check out, branch, commit, pull, and push |
105+
| `tl`, `ta`, `tn`, `tk` | List, attach, create, and kill tmux sessions |
106+
107+
### System and services
108+
109+
| Shortcut | What it does |
110+
| --- | --- |
111+
| `reload` | Restart the current shell |
112+
| `bt` | Launch `btop` |
113+
| `neofetch` | Run `fastfetch` when available, or fall back to `neofetch` |
114+
| `docker-start`, `docker-stop`, `docker-restart`, `docker-status`, `docker-log` | Manage the Docker daemon |
115+
| `web-start`, `web-stop`, `web-restart`, `web-status` | Manage nginx, php-fpm, and mariadb together |
116+
| `plex-start`, `plex-stop`, `plex-status` | Manage the Plex service |
117+
118+
### OpenRGB, media, and AI
119+
120+
| Shortcut | What it does |
121+
| --- | --- |
122+
| `rgb-blizzard`, `rgb-matrix`, `rgb-rainbow`, `rgb-off` | Start or stop OpenRGB lighting effects |
123+
| `rgb-stop` | Stop running RGB scripts and turn the lights off |
124+
| `sync-local-music`, `syncipod`, `dryrun-music`, `sync-music` | Run music library sync workflows |
125+
| `ai`, `chat`, `code-ai`, `fast-ai`, `chill-ai` | Start common Ollama sessions |
126+
| `llama3`, `codellama`, `mistral`, `gemma` | Launch specific Ollama models |
127+
| `ollama-list`, `ollama-remove`, `ollama-clean`, `ollama-clean-safe` | Manage Ollama models |
128+
129+
## 🐳 Docker install notes
66130

67131
- macOS: Docker Desktop is installed if missing. Launch Docker Desktop once after setup to initialize the daemon.
68-
- Linux: setup attempts to enable/start Docker via `systemctl` and adds your user to the `docker` group.
132+
- Linux: setup tries to enable and start Docker with `systemctl`, then adds your user to the `docker` group.
69133
- Linux group changes usually require logging out and back in before running Docker without `sudo`.
70134

71-
## 🛠️ Docker Troubleshooting
135+
## 🛠️ Docker troubleshooting
72136

73137
Quick checks:
74138

@@ -97,16 +161,16 @@ sudo systemctl enable --now docker
97161
sudo systemctl status docker
98162
```
99163

100-
## 🎛️ Optional: OpenRGB + REAPER Install
164+
## 🎛️ Optional: OpenRGB and REAPER install
101165

102-
These are now opt-in per user/machine.
166+
These installs are optional.
103167

104-
If you run `./setup.sh` interactively (normal terminal), setup will prompt:
168+
If you run `./setup.sh` interactively, setup will prompt:
105169

106170
- Install OpenRGB? [y/N]
107171
- Install REAPER? [y/N]
108172

109-
If you run setup non-interactively (automation/CI), use env flags.
173+
If you run setup non-interactively, use environment flags.
110174

111175
Install both:
112176

@@ -123,11 +187,11 @@ INSTALL_REAPER=1 ./setup.sh
123187

124188
Notes:
125189

126-
- macOS: tries Homebrew casks (`openrgb`, `reaper`).
190+
- macOS: tries the Homebrew casks `openrgb` and `reaper`.
127191
- Arch: installs `openrgb` via pacman; tries `reaper` via `yay` (AUR).
128-
- apt/dnf/yum systems: attempts `openrgb`; REAPER is usually manual.
192+
- apt/dnf/yum systems: attempt `openrgb`; REAPER is usually installed manually.
129193

130-
## 🖥️ Platform Notes
194+
## 🖥️ Platform notes
131195

132196
### Linux
133197

@@ -136,7 +200,7 @@ Notes:
136200
- Override detection with `INSTALL_KDE_CONFIG=1 ./setup.sh` or force-skip with `INSTALL_KDE_CONFIG=0 ./setup.sh`.
137201
- Package install paths are tuned mostly for Arch first, with `dnf`/`apt`/`yum` fallbacks.
138202
- On Debian Bookworm (including Raspberry Pi OS Bookworm), `fastfetch` may be unavailable in default APT repositories. Setup now treats it as optional and continues.
139-
- Tested environments: Arch Linux + KDE Plasma, Fedora Linux Asahi Remix 43 (Workstation Edition, GNOME 49.5, Mutter/Wayland, aarch64).
203+
- Tested environments: Arch Linux + KDE Plasma; Fedora Linux Asahi Remix 43 (Workstation Edition, GNOME 49.5, Mutter/Wayland, aarch64); Gentoo + KDE Plasma; Ubuntu + GNOME; Linux Mint + Cinnamon; Debian + GNOME; Rocky Linux + GNOME; and CachyOS + GNOME 50.
140204

141205
### macOS
142206

@@ -145,19 +209,19 @@ Notes:
145209
- Sets Apple Terminal default/startup profile to `Pro`.
146210
- Linux desktop theming files are present in-repo but mostly not applied by macOS tooling.
147211

148-
## 🔁 Uninstall / Cleanup
212+
## 🔁 Uninstall and cleanup
149213

150214
Run:
151215

152216
```sh
153217
./uninstall.sh
154218
```
155219

156-
This removes symlinks that point to this repo, cleans setup-added shell init lines, and removes optional components installed by setup (Powerlevel10k clone, nvm directory, and installed font copies).
220+
This removes symlinks that point to this repo, cleans up shell init lines added by setup, and removes optional components installed by setup, including the Powerlevel10k clone, the `nvm` directory, and installed font copies.
157221

158-
## 💾 Backup Current Files
222+
## 💾 Backup current files
159223

160-
Create a timestamped snapshot of all current files:
224+
Create a timestamped snapshot of your current files:
161225

162226
```sh
163227
./local/bin/backup_current_files.sh [source_dir] [backup_dir]
@@ -179,15 +243,21 @@ Notes:
179243
- Directory structure is preserved inside each snapshot.
180244
- If the backup directory is inside the source directory, it is automatically excluded.
181245

182-
## 🧪 Tested On
246+
## 🧪 Tested on
183247

184248
- Arch Linux + KDE Plasma
185249
- Fedora Linux Asahi Remix 43 (Workstation Edition, GNOME 49.5, Mutter/Wayland, aarch64)
250+
- Gentoo + KDE Plasma
251+
- Ubuntu + GNOME
252+
- Linux Mint + Cinnamon
253+
- Debian + GNOME
254+
- Rocky Linux + GNOME
255+
- CachyOS + GNOME 50
186256
- macOS (Homebrew-based path)
187257

188-
## 🧹 Ignored Runtime Files
258+
## 🧹 Ignored runtime files
189259

190-
The repo ignores generated/runtime artifacts, including:
260+
The repo ignores generated and runtime artifacts, including:
191261

192262
- OpenRGB logs/cache/venv and backup JSON files
193263
- REAPER license/registration artifacts

0 commit comments

Comments
 (0)