Five minutes,
start to synced.
The shortest path from zero to a dotfile repo you can pull down on any other machine. Assumes you've already installed dotstate.
1
Launch
Open the TUI:
$ dotstate 2
Pick a repository mode
Let dotstate create a GitHub repo for you, or point it at an existing one. See first-time setup if you want the long version.
3
Name your first profile
Anything works — personal, work, laptop. You can have more than one later.
4
Adopt files
Go to Manage Files and pick anything you'd like version-controlled — .zshrc, .vimrc, .gitconfig, the usual. Originals are backed up automatically before each file is moved into the repo.
5
Sync
From the main menu, Sync with Remote — or from the shell:
$ dotstate sync
→ committed 6 files
→ pulled (nothing new)
→ pushed to origin/main On another machine
Install dotstate there, then:
$ dotstate
# Choose "Use my own repository" and paste the same clone URL.
$ dotstate activate
→ linked 6 files for profile "personal" Your dotfiles appear at the paths they expect to live at, as symlinks into the repo. Edits on either machine flow through sync.
Where to go next
- Profiles & inheritance — organize for multiple machines or contexts.
- Package management — track the CLI tools your dotfiles depend on.
- Common files — files that should be identical on every machine.
- CLI reference — every command, with flags and examples.