A modular dotfiles deployment configuration managed via GNU Stow.
Ensure the following system packages are installed before deploying:
| Dependency | Purpose | Minimum Requirement |
|---|---|---|
stow |
Core symlink farm manager | GNU Stow v2.3.0+ |
fd |
Fast directory traversal engine | Alternative to standard find |
fzf |
Interactive fuzzy finder | Used for quick project jumping |
make |
Task automation runner | Standard GNU Make |
zap |
zsh plugin manager | for managing zsh plugins |
eza |
File listing utility | required for zsh plugin |
starship |
Prompt utility | required for zsh plugin |
Follow these four steps to deploy your dotfiles onto a new machine cleanly.
Clone your dotfiles directly into your preferred configuration path:
git clone https://github.com/akunnyaanam/dotfiles ~/.config/dotfiles
cd ~/.config/dotfilesRun the make profile command to set up your profile:
make profileThis generates a .stow_profile file listing all available packages.
Edit the .stow_profile file to customize which packages are deployed.
nvim .stow_profile Example:
shell
# zed <-- Commented out; will not be deployedmake check # Safe preview of what will happen
make link # Deploy files to your home directory| Command | Action |
|---|---|
make profile |
Scan root directory and generate local .stow_profile |
make link |
Deploy active profile configurations as symlinks to ~ |
make unlink |
Purge deployed symlinks cleanly from ~ |
make relink |
Refresh deployment state (unlink followed immediately by link) |
make clean |
Destructively delete physical host files or dead links blocking Stow |
make check |
Execute non-destructive dry run with high verbosity to preview changes |