Skip to content

esh2n dotfiles

Domain-driven dotfiles. Multi-shell support, declarative package management with Nix, one-command theme switching.

Multi-Shell

Both Zsh and Fish with shared aliases and env vars. Bundled with skim, eza, bat, zoxide, atuin, yazi, and more.

Neovim Switching

Four distributions — Custom, LazyVim, NvChad, AstroVim — switchable instantly with nvim-switch.

Unified Theming

One theme-switch command applies Catppuccin, Nord, or Tokyo Night across WezTerm, Ghostty, Sketchybar, Borders, and Zellij.

Nix Package Management

Every package is declared in a Nix flake. Reproducible builds, always.

dotfiles/
├── core/ # Installer, config manager, utilities
├── domains/ # Domain-specific configurations
│ ├── creative/ # Media tools, wallpapers
│ ├── dev/ # Neovim, terminals, shells, languages
│ ├── infra/ # Network, security
│ ├── system/ # Fonts, colors, themes
│ └── workspace/ # Window managers, status bars
└── specs/ # Architecture docs
Terminal window
cd dotfiles
./core/install/installer.sh

The installer handles everything from Homebrew and Nix setup to symlink creation. See Installation for details.

CategoryTools
TerminalWezTerm, Ghostty, Warp
MultiplexerZellij
ShellZsh, Fish, Starship
CLIeza, bat, skim, zoxide, atuin, yazi, btop
EditorNeovim (4 distributions), VSCode, Cursor
Window ManagerAeroSpace, Borders, Sketchybar
VCSGit, Jujutsu