A script to manage your dotfiles using GNU Stow.
stow.sh [options] modules/package ...
Options:
-n Simulate stowing (dry run)
--show Show available packages
--show-all Show all packages including hidden ones
--show-hidden Show only hidden packages
-h, --help Show help message
The script follows these rules when stowing packages:
- Package should be organized as
module/package
(e.g.,shell/zsh
) - Each package is processed according to these rules:
- If the package is in the
misc
module or contains a.nostow
file, it will be skipped - Files are stowed into
$XDG_CONFIG_HOME/package
(defaults to~/.config/package
) - If the package has a
home
directory, its contents are stowed directly into$HOME
- If the package is in the
# Stow zsh configuration
./stow.sh shell/zsh
# Simulate stowing multiple packages
./stow.sh -n shell/bash shell/zsh
# Stow with fzf
./stow.sh $(./stow.sh --show | fzf)
- GNU Stow
Create Brewfile
:
brew bundle dump
Install all dependencies:
brew bundle --file=path/to/Brewfile
brew bundle cleanup