Files
dotfiles/CLAUDE.md
s0wlz (Matthias Puchstein) 246417313e chore: misc config updates across hypr, nvim, waybar, zed, zsh
- hypr: add transform support to monitor template; tweak scrolling layout
- nvim: refine apex theme token colors (operators, special, tags)
- waybar: move bar to right border of secondary monitor (DP-2)
- zed: add ssh connection, window/tab settings, adjust font sizes, rework theme token colors
- zsh: add plugin highlight colors to apex themes
- docs: add CLAUDE.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 23:03:21 +01:00

2.8 KiB

CLAUDE.md — chezmoi dotfiles

Chezmoi source tree for a Linux desktop (Hyprland + Neovim + Zsh/Zim).

Commands

chezmoi diff          # preview pending changes
chezmoi apply         # render templates and apply to $HOME
chezmoi status        # show managed file status

After applying, reload the affected tool:

  • Hyprland: hyprctl reload
  • Waybar: pkill waybar && waybar &
  • Neovim: reopen or :source
  • Zsh: exec zsh

Chezmoi file naming

Prefix/Suffix Meaning
dot_ maps to . (e.g. dot_config/~/.config/)
executable_ sets executable bit
private_ restricts permissions (600/700)
symlink_ creates a symlink
.tmpl Go template rendered at apply time
##hostname.<name> host-specific variant

Template data (chezmoi.toml)

Config lives at ~/.config/chezmoi/chezmoi.toml (not tracked). Access tags via .chezmoi.config.data.tags.<tag>.

Current tags: desktop, laptop, hyprland, waybar, pipewire, dev, entertainment, cs2, bluetooth

  • microphone is only present when pipewire = true — guard with {{- if (index $tags "pipewire") }}.
  • data.monitors is an array; number of entries varies by machine.

Architecture

  • dot_config/hypr/ — Hyprland. Entry point: hyprland.conf. Modular includes in hyprland.d/. New settings go in the appropriate hyprland.d/ file.
  • dot_config/nvim/ — Neovim (Lua + lazy.nvim). init.lua bootstraps lazy. Plugins: lazy_setup.lua. General settings: polish.lua. 2-space indents; see dot_stylua.toml + selene.toml.
  • dot_config/waybar/ — Waybar config and styles. Host-specific variants via ##hostname.<name>.
  • dot_config/zsh/ — Zsh + Zim + Powerlevel10k. Aliases: aliases.zsh.
  • dot_local/bin/ — User scripts (all executable_ prefixed).
  • .chezmoiscripts/run_onchange_* hooks run on chezmoi apply.

Theming — apex-aeon / apex-neon

Two custom themes (apex-aeon dark, apex-neon neon) are applied across nvim, zsh, waybar, alacritty, kitty, ghostty, btop, fuzzel, gtk4, spicetify, swaync, wezterm, zathura, zed.

Theme files are not edited by hand — they are synced from ~/Dev/Themes/apex/dist using:

refresh-apex-themes

This copies built theme artifacts into the appropriate dot_config/*/themes/ directories.

Local documentation

Topic Path
chezmoi ~/.local/share/docs/chezmoi-docs/
Hyprland ~/.local/share/docs/hyprland.wiki/
Waybar ~/.local/share/docs/waybar.wiki/ (also man 5 waybar)
Ghostty /usr/share/ghostty

Commit convention

scope: imperative subject

Examples: hypr: adjust keybinds, waybar: tweak clock format, nvim: add plugin

For visual/UI changes include screenshots in the PR description, along with affected paths.