My super baller dotfiles for Linux and macOS, with a strong bias toward a tiled, keyboard-driven workflow, custom shell tooling, and consistent theming across terminals, editors, and desktop components.
- Shell: Nushell
- Terminal emulators: Ghostty, Kitty, Alacritty
- Window managers / compositors:
- Linux: Niri, Quickshell, Hypridle, Hyprlock, Rofi
- macOS: Aerospace
- File management: Yazi
- CLI tooling: direnv, zoxide, pi, opencode, fastfetch, topiary
- Themes and palettes: Neovim, Ghostty, Kitty, Alacritty, fastfetch, rofi, bat
Chezmoi source tree (home-shaped):
.chezmoiignore- skip non-dotfile paths and OS-specific targets.chezmoitemplates/- Linux vs Darwin kitty / ghostty / alacritty bodiesdot_config/-~/.configdot_pi/-~/.pidot_local/-~/.localutils/- scripts and tooling, not deployedwallpapers/- not deployed
mkdir -p ~/.config/chezmoi
# change this
printf 'sourceDir = "%s/actual/dir/dotfiles"\n' "$HOME" > ~/.config/chezmoi/chezmoi.toml
chezmoi applyjust apply, just diff, and just status wrap chezmoi.
- Niri window manager configuration with workspace rules, keybindings, and layer rules
- Quickshell bar, notifications, OSD, tray, battery, and recording widgets
- Idle / lock handling through Hypridle and Hyprlock
- Rofi launcher and power menu integration
- Nushell configuration with custom prompt, keybinds, history tooling, git helpers, and file utilities
- Pi and shell LLM helpers
- Zoxide, direnv, and completion setup
- Shared terminal themes and font configs
- Consistent palettes across Ghostty, Kitty, Alacritty, Neovim, and Fastfetch
Themes are swappable palettes selected by the theme value in .chezmoidata.toml.
Change it to any palette name, then apply the configuration:
theme = "tokyo-night"just applyEach palette defines its colors, including bg. The surface1 through
surface5 colors are generated automatically by adjusting the HSL lightness of
bg in nonlinear steps: 3%, 9%, 17%, 26%, and 36%. surface1 is closest to
bg, while surface5 is farthest away. Dark backgrounds become lighter and
light backgrounds become darker. Non-neutral palettes gently pull hue and
saturation toward their blue color so the surfaces retain their theme tint
instead of becoming neutral gray. They do not need to be defined in
.chezmoidata.toml.
Diff backgrounds are generated automatically from each theme's bg, red,
and green colors. They are used by OpenCode and Delta as subtle tinted
backgrounds for removed and added lines, respectively.
- The repo is intentionally opinionated; it is optimized for a specific workflow, not for generic portability.
- Several configs assume availability of external tools, review my nix setup
- Also check my nvim setup