Will's avatar

⬅️ See more posts

Dotty

11 October 2021 (2 minute read)

🏷️ 100daystooffload 🏷️ technology 🏷️ project

💯 100 Days to Offload

This article is one of a series of posts I have written for the 100 Days to Offload challenge. Disclaimer: The challenge focuses on writing frequency rather than quality, and so posts may not always be fully planned out!

View other posts in this series.

A few years ago I was in the position of needing a solution to backup and sync dotfiles (configuration files for various pieces of software) across my machines.

Specifically, I had Mac computers and Linux servers, and needed a way to nicely keep these files up-to-date between them. For example, I may have spent some time crafting and tweaking files - such as my .vimrc and .tmux.conf - and needed a way of ensuring all of my devices could access the latest version of these files.

A few other tools exist for this - such as Mackup and homesick - but I wanted something quick and easy to get off the ground and distribute to other machines. Preferably a single binary.

This gave me the idea for Dotty - a hosted manager for dotfile-syncing across devices. It allows for downloading a single binary (pre-compiled for Linux and MacOS devices), from which one can login and pull/push configuration files as needed.

Dotty’s website header

The service also exposes a RESTful HTTP API for integrating into other workflows. Both the client and the backend are written in Go, and backed by a MongoDB database.

Whilst I try to maintain Dotty when I can, and keep the service running for those who still use it, I personally don’t use it anymore and so do not plan to add additional features. These days, I think tools like Syncthing and Nextcloud offer more robustness, security, and flexibility, and I prefer using these for ease of use.

📲 Enjoyed this article? Subscribe to updates!

If you would like to read more posts like this, then you can subscribe via RSS.