My config files for maintaining a consistent dev environment across machines.
- Editor: NeoVim with lazy.nvim, LSP, Treesitter, Telescope, and Neo-tree
- Multiplexer: Tmux with resurrect, continuum, and Solarized Dark theme
- Terminal: Ghostty
- Shell: Zsh with Powerlevel10k prompt
- Color Theme: Solarized Dark across all tools
- Window Management: Moom
- File Manager: Yazi (terminal) / Path Finder (GUI)
Clone the repo and run the installer:
git clone [email protected]:apackeer/dotfiles.git ~/src/dotfiles
cd ~/src/dotfiles
./install.shFollow the interactive prompts to create symlinks and apply macOS defaults.
Note: Git user config is not tracked. After installing, create ~/.config/git/config.local:
[user]
name = Your Name
email = [email protected]Remove all symlinks:
./scripts/symlinks.sh --deleteThis only removes the symlinks, not the actual config files, so you can easily revert if needed.
- Add config files under the appropriate tool directory (e.g.,
tool/config) - Add a mapping to
symlinks.confin the format$DOTFILES_DIR/source:$HOME/target - Run
./scripts/symlinks.sh --createto apply
dotfiles/
├── install.sh # Interactive setup script
├── symlinks.conf # Source:target symlink mappings
├── scripts/
│ ├── utils.sh # Colored logging helpers
│ ├── symlinks.sh # Create/delete symlinks
│ └── macos.sh # macOS system defaults
├── ghostty/ # Ghostty terminal config
│ └── README.md # Keybindings & settings reference
├── tmux/ # Tmux config
│ └── README.md # Keybindings & commands reference
├── nvim/ # NeoVim config (lazy.nvim)
│ └── README.md # Keybindings, plugins & settings reference
├── zsh/ # Zsh config + modules
│ └── README.md # Plugins, aliases, functions & settings
├── yazi/ # Yazi file manager config
│ └── README.md # Settings reference
└── git/ # Git config
└── README.md # Aliases, delta & merge settings
Repo structure and scripts inspired by hendrikmi/dotfiles.
