No description
Find a file
2026-03-23 12:53:57 +00:00
.chezmoiscripts feat: convert from GNU Stow to chezmoi with cross-platform support 2026-02-17 00:16:33 +00:00
dot_config feat(zsh): add WSL support, podman, SSH bridge, lsd/eza aliases, and guard tool-specific aliases 2026-03-23 12:53:57 +00:00
.chezmoi.toml.tmpl feat(chezmoi): add WSL detection to chezmoi config 2026-03-23 12:53:32 +00:00
.chezmoiignore feat(wezterm): add wezterm config with WSL/cross-platform support 2026-03-23 12:53:44 +00:00
.gitignore feat: convert from GNU Stow to chezmoi with cross-platform support 2026-02-17 00:16:33 +00:00
dot_gitconfig.tmpl feat(git): add rerere, histogram diff, and update to zdiff3 2026-03-23 12:53:36 +00:00
dot_tmux.conf feat(tmux): add tmux config with catppuccin and vi keybinds 2026-03-23 12:53:40 +00:00
dot_wezterm.lua.tmpl feat(wezterm): add wezterm config with WSL/cross-platform support 2026-03-23 12:53:44 +00:00
dot_zshenv.tmpl feat(zsh): update zshenv with cargo support and rename to template 2026-03-23 12:53:53 +00:00
LICENSE updates 2024-11-23 03:12:37 +07:00
README.md feat: convert from GNU Stow to chezmoi with cross-platform support 2026-02-17 00:16:33 +00:00

Dotfiles

Cross-platform dotfiles managed with chezmoi.

What's Included

Config Description Platforms
zsh Shell with starship prompt, fzf, zoxide, aliases macOS, Linux
neovim Lazy.nvim setup with LSP, treesitter, telescope All
starship Minimal prompt with catppuccin mocha theme + jj All
ghostty Terminal with catppuccin theme, tmux-like keybinds macOS, Linux
jj Jujutsu VCS configuration All
git Git config with delta pager All

Quick Start

Fresh Machine

# Install chezmoi and apply dotfiles in one command
sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply git@git.nullsoft.is:einar/dotfiles.git

Existing chezmoi Setup

chezmoi init git@git.nullsoft.is:einar/dotfiles.git
chezmoi diff    # Preview changes
chezmoi apply   # Apply changes

From an Existing Machine

chezmoi init --apply --source /path/to/this/repo

Daily Usage

chezmoi diff              # See what would change
chezmoi apply             # Apply all changes
chezmoi edit ~/.zshrc     # Edit a managed file
chezmoi cd                # cd into the source directory
chezmoi update            # Pull latest and apply

Adding New Files

chezmoi add ~/.config/some/config    # Add a file
chezmoi add --template ~/.config/x   # Add as template (for platform-specific content)

Structure

dot_config/
  zsh/              # Shell config (templated for macOS/Linux)
  nvim/             # Neovim config (cross-platform)
  starship/         # Starship prompt config
  ghostty/          # Ghostty terminal + themes
  jj/               # Jujutsu VCS config (templated)
dot_gitconfig.tmpl  # Git config (templated with name/email)
.chezmoiscripts/    # One-time install scripts per OS
.chezmoi.toml.tmpl  # chezmoi config (prompts for name/email)
.chezmoiignore      # OS-specific file exclusions

Files ending in .tmpl are Go templates that adapt to the current OS.

ZSH Setup

This config expects ZDOTDIR to be set so zsh reads from ~/.config/zsh/ instead of ~/:

# Add to /etc/zshenv or ~/.zshenv (outside chezmoi)
export ZDOTDIR="$HOME/.config/zsh"

License

GPL-3.0