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