My personal dotfiles managed with GNU Stow.
- Supports Linux and MacOS
- Supports multiple architectures
- Written in pure bash with no dependencies on external processes/programs (besides stow)
- Git submodule support
- Install system packages
sudo ./setup.sh --system
- Install user packages
./setup.sh
Packages can be updated by passing --update
. For example:
sudo ./setup.sh --system --update
Note: Piping curl to a shell is inherently dangerous. Only do so if you understand the risk.
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/egladman/dotfiles/master/install.sh | sh
git clone --recursive [email protected]:egladman/dotfiles.git ~/dotfiles; (cd ~/dotfiles; ./bin/sstow src)
Wrapper for GNU Stow to simplify cross-platform dotfile management
Usage: sstow [option] path/to/src
OPTIONS
-h, --help Show this help text, and exit
-V, --version Show version, and exit
-S, --stow Stow dotfiles (this is the default action and can be omitted)
-R, --restow Restow dotfiles (first unstow, then stow again). This is
useful for pruning obsolete symlinks
-D, --delete Unstow dotfiles
-u, --dry-run Do not perform any operations that modify the filesystem; merely
show what would happen.
Note: For the most up-to-date usage run ./bin/sstow --help
Override auto-detected system facts with the following environment variables:
TARGETARCH
- Values:
x86_64, aarch64
- Details: Run
uname -m
if your architecture isn't listed
- Values:
TARGETOS
- Values:
linux, darwin
- Values: