Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

How are Tuckr and Stow different?

Tuckr is sort of a spiritual successor to Stow. It adopts some of the functionality and the idioms people have used with Stow and attempts to make it more opinionated in hopes of making it easier to validate that your dotfiles are properly deployed.

TuckrStow
command based CLIflag based CLI
has a set lookup path which can be overwritten, this means tuckr can be called from anywheresymlinks everything from the current directory to the parent or a specified directory
checks every single file and gives feedback on whether they’re symlinked, not symlinked or is a symlink to elsewheredoesn’t provide much checking, instead preferring to be a simple tool
more complicated but made with dotfiles and scripting in mind, supports running hooksvery simple, compromises on error messages and wasn’t initially built for dotfiles
is multiplatform and supports conditional deployment based on the OS and OS family (including detecting WSL2)is mostly meant for Unix-like systems and it doesn’t concern itself with detecting platforms

Here’s a noncomprehensive list of commands in both programs:

ActionTuckrStow
Symlink a set of dotfilestuckr add stow
Remove dotfile symlinkstuckr rm stow -D
Dry run symlink filestuckr -n add stow -n
Check symlink statustuckr status [group]None
Run setup scripts and symlink filestuckr set [group]None
Remove files from repo and back into $HOMEtuckr pop None
Add files to dotfiles repotuckr push <files…>None

How do I share code between hooks?

Tuckr changes the current directory to the directory of the hook group that is currently being run. So you can use relative paths to import code from the parent directory or anywhere else.