# dots prdlk's CachyOS dotfiles, managed with chezmoi. One command installs chezmoi and applies the whole setup. ```sh sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply https://prad.codes/env/cachyos.git ``` That command installs chezmoi, clones [env/cachyos](https://prad.codes/env/cachyos) together with its submodules, asks three questions (name, email, machine role), installs packages, and applies every config. See [Installation](installation.md) for the prerequisites, the age key, and the options. This is the CachyOS variant: CachyOS (Arch) with the Umbriel compositor and the Noctalia shell. ## Contents - [Installation](installation.md) - [How it works](chezmoi/README.md) - [Config and roles](chezmoi/config.md) - [Packages and aliases](chezmoi/data.md) - [Apply scripts](chezmoi/scripts.md) - [Externals and ignore rules](chezmoi/externals-and-ignore.md) - [Shell](shell/README.md) - [fish](shell/fish.md) - [bash and zsh](shell/bash-zsh.md) - [Aliases](shell/aliases.md) - [Scripts](shell/scripts.md) - [Starship](shell/starship.md) - [atuin](shell/atuin.md) - [Terminal](terminal/README.md) - [kitty](terminal/kitty.md) - [Ghostty](terminal/ghostty.md) - [tmux](terminal/tmux.md) - [herdr](terminal/herdr.md) - [Tools](tools/README.md) - [Git](tools/git.md) - [GitHub CLI](tools/github-cli.md) - [Neovim](tools/neovim.md) - [Yazi](tools/yazi.md) - [Lazygit](tools/lazygit.md) - [Lazydocker](tools/lazydocker.md) - [bat](tools/bat.md) - [television](tools/television.md) - [Topgrade](tools/topgrade.md) - [Hunk](tools/hunk.md) - [drydock](tools/drydock.md) - [LeetCode](tools/leetcode.md) - [Desktop](desktop/README.md) - [Umbriel](desktop/umbriel.md) - [Fonts and default apps](desktop/fonts-and-apps.md) - [AI agents](ai/README.md) - [Skills](ai/skills.md) ## What's managed - [How it works](chezmoi/README.md): chezmoi layout, machine roles, symlink mode, age encryption, package manifests, apply scripts, and externals. - [Shell](shell/README.md): fish, bash, and zsh with shared aliases, starship, atuin, and the `~/.local/bin` scripts. - [Terminal](terminal/README.md): kitty, ghostty, tmux, and herdr. - [Tools](tools/README.md): git, gh and gh-dash, neovim, yazi, lazygit, lazydocker, bat, topgrade, hunk, and more. - [Desktop](desktop/README.md): Umbriel with Noctalia on CachyOS, fonts, default apps, and the eGPU notes. - [AI agents](ai/README.md): Claude Code, omp, and the shared agent skill library. ## Machine roles The first apply asks for a role. It controls which parts of the repo land on the machine. | Role | Platform | Gets | | --- | --- | --- | | `desktop` | CachyOS / Arch Linux | Everything: universal toolset plus the Linux desktop layer (Umbriel, Noctalia) | | `laptop` | CachyOS / Arch Linux | Same as `desktop` | | `server` | Any | Universal toolset only | The default is `desktop`. See [Configuration](chezmoi/config.md) and [Ignore rules](chezmoi/externals-and-ignore.md). ## Theme The terminal and agent palette is **CherryBlossom**, the custom Noctalia palette in [prdlk/noctalia](https://github.com/prdlk/noctalia) (`palettes/CherryBlossom.json`). Ghostty selects its `cherry-blossom` theme, tmux colors its tab bar, popups, and command palette with it, atuin selects `cherry-blossom`, television selects `cherry-blossom-transparent` (no background, so the terminal's shows through), lazygit and lazydocker use its border and selection colors, and omp selects its `cherry-blossom` dark theme. nvim, bat, and yazi still select **cyberdream**; fish ships a cyberdream theme but does not select it. kitty's colors come from the shared kitty external. The koda and ii-auto variants are also shipped for ghostty, kitty, and yazi. The font is **Victor Mono Nerd Font**.