Sane Dotfiles Management

Introduction to SDF Link to heading

Took a look at a lot of dotfile managers in the wild.

But:

  • Ideally don’t want to learn another language/tool to just manage dotfiles.
  • Setup a tool via a complex process to… setup my tools? Really?
  • Why can’t we use nice tools provided by Git directly? They’re all text files. Git manages text files very well.

So, SDF was born.

  • No programming languages were invented.
  • No dependencies, none! Compile with Go, throw binary in $PATH and you’re all set.
  • Straight up wraps Git so you get all the Git goodness.

Getting started with SDF is as simple as:

$ sdf init https://example.com/username/profile.git
Initialized new configuration.
$ sdf add ~/.bashrc
$ sdf commit -m "Initial commit"
$ sdf push --set-upstream origin master

SDF allows restoring your dotfiles with simply:

$ sdf clone https://example.com/username/profile.git
$ sdf checkout .

We can have nice things too.