Supported Systems
This is a personal setup, kept tidy enough to share. Three systems are actively used and tested; anything else should be treated as a reference to read and adapt, not a drop-in install.
Tested platforms
| Platform | Status |
|---|---|
| macOS | Primary environment, frequently used |
| EndeavourOS / Arch Linux | Also used and supported from the start |
| Debian (stable, trixie / 13+) | Supported — runs on all servers |
No broad-Linux claim
The repository targets macOS, Arch / EndeavourOS, and Debian (stable, trixie / 13+) specifically.
Other Linux distributions are not claimed to work — the package manager steps assume Homebrew (macOS),
pacman / AUR (Arch), or apt (Debian). On another distro, the shell config and themes may still be
useful, but you'll need to install dependencies your own way.
Debian: package/dependency support is complete; the zsh per-OS layer is pending
Package lists, dependency checks, Neovim, and Stow all treat Debian as first-class. The zsh
per-OS layer (macos.zsh / arch.zsh) and task detect currently recognize only macOS and
Arch — on Debian the shared zsh layers load normally and the OS-specific layer is a no-op for now.
What's portable vs system-specific
| Layer | Portability |
|---|---|
| Zsh config, aliases, prompt, tool integrations | Portable across macOS, Arch, and Debian; optional tools are guarded and no-op when absent |
| Git config, aliases, ignore | Portable (no OS-specific assumptions) |
| Alacritty, bat, eza, btop, Neovim themes | Portable config paths (XDG); some Alacritty lines are macOS-only but harmless on Linux |
| Package installation | System-specific — Homebrew on macOS, pacman/AUR on Arch, apt on Debian |
OS maintenance (task update / clean) |
Branches by OS inside the helper script |
The zsh package separates per-OS concerns into macos.zsh and arch.zsh, selected at runtime, so the
shared layers stay identical across systems. There is no debian.zsh yet — Debian loads the shared
layers only (see the note above). See Shell.
Check your machine
The repository ships read-only dependency checks (they never install anything):
task check # core prerequisites: stow, git, task
task deps:check:zsh # shell-tier tools: fzf, zoxide, eza, bat, oh-my-posh, zinit
task deps:check:nvim # Neovim-tier tools: nvim, tree-sitter, rg, fd, node
Detect which OS the helper scripts will assume:
task detect # prints "macos" or "arch" (Debian shell-layer detection pending)
Expect to adapt
This configuration encodes personal preferences. Treat it as a starting point: read the parts that interest you, copy what fits, and change what doesn't. See Philosophy and Getting Started.