Common files,
defined once.
Some dotfiles should never vary — .gitconfig, .tmux.conf, maybe your editor colors.
Common files are stored outside any single profile and linked into all of them. Defined once, linked everywhere.
What counts as common
A good candidate is anything that:
- Should be identical on every machine, regardless of the active profile.
- You never want to "accidentally miss" when switching profiles.
- Isn't tied to a specific context — your git identity, your tmux keybindings, your editor theme.
If a file does vary by machine — say, an .ssh/config that differs between work and personal — keep it in the profile, not in common.
Moving files to & from common
In the TUI, open Manage Files, select any file, and press M to toggle it between the active profile and common. From the CLI:
# Adopt directly into common:
$ dotstate add --common ~/.gitconfig
# Later, if you change your mind:
$ dotstate remove --common .gitconfig How they're resolved
Common files live at the bottom of the resolution order — profile files always win. If both the active profile and common define the same path, the profile's version is linked and common's is ignored for that profile.
Switching profiles
When you switch profiles in Manage Profiles (select → Enter), common files stay linked — only profile-specific symlinks are swapped out.
Next
Read about profiles & inheritance for the full resolution picture.