I’ve started using YADM, which has been entertaining. In theory, I really like the idea of managing my dotfiles in git. In practise, it’s more difficult than I figured.

YADM is pretty simple software - it’s packaged for Debian and is a just a script - it’s available for FreeBSD through the mystical power of wget or curl. It’s packaged for a range of other distributions/OSes too, but they’re pretenders so I don’t care about them

The command set is pretty simple, and the getting started guide is ok. Basic tasks can be covered as yadm add <file>, yadm commit and yadm push - the git command set, but proxied through another program. Likewise, if you are on a different machine, you can yadm clone <url>.

I picked my important dotfiles I wanted to share on my main laptop, committed them and pushed them to my server. Easy enough - they’re all backed up. I can now move pointless amateur radio config files between machines.

On my FreeBSD disaster of a hackbook I ran yadm clone from my remote repo and logged out then back in. Nothing.

Turns out, YADM had done the git thing of noticing a conflict. A quick yadm reset HEAD --hard overwrote all my local config and it was mostly fine. I only lost my background (put in place on i3 by feh). Little bit of fiddling and all was back to normal. Lesson learned, in future, be more careful!

I’m yet to understand the more advanced featureset - I’ve not got a hang of alternate files - it’s not particularly clear how to intialise this. Any suggestions are welcome!

I like the concept behind YADM. I’ll keep prodding at it - for fast set up of new machines, or replicating a build it seems like a really nice thing to use. For my current use case, however, it’s not the most useful until I get alternates working.