macOSLinux

Where Does GNU Stow Store Its Config?

GNU Stow reads default flags from .stowrc in the current dir plus ~/.stowrc at home, prepended like extra argv.

Last updated

Stow's resource files are just preset argv. .stowrc in the current directory and ~/.stowrc at home each contribute default flags (--dir, --target, --ignore), parsed in that order and combined when both exist.

That makes ~/.stowrc the home for your global ignores (editor backups, VCS droppings) and per-directory files the home for package quirks. Comments and blank lines are allowed, so document why each ignore exists.

Where GNU Stow stores this, by platform

macOS
~/.stowrc

Same pair. Tilde and $VAR expand in path options. The manual's dotfiles guidance (--dotfiles, dot- prefix) pairs well with ignores kept here.

Linux
~/.stowrc

Same files. A package-local .stowrc scopes odd flags (perl-extras style --override sets) to runs from that directory only.

Frequently asked questions

Different stow packages need different flags. How do I scope them?

Put per-package flags in that package's .stowrc (--target, --override, --ignore). It applies when you invoke stow from that directory, keeping shared packages clean.

Do .stowrc options override my command line flags?

Prepended, so command line flags win on conflicts for single-value options, while repeatable flags like --ignore accumulate from both sources.

Notice an outdated path? Let us know.