Dotfiles synchronisieren mit Dropbox

… oder NextCloud

21. Oktober 2018 | #linux #cloud #dropbox #nextcloud

Unter Linux werden Programmkonfigurationen üblicherweise in versteckten Dateien gespeichert; der Dateiname beginnt mit einem Punkt – für das System ist dies der Hinweis, dass die Datei versteckt ist – und so hat sich auch der Begriff Dotfile für eben diese Konfigurationsdateien verbreitet.

Der Grund warum ich so weit aushole, ist folgende Idee: Anstatt meine Linux-Programme auf einzeln auf Desktop-PC und Notebook zu konfigurieren, soll nur eine Konfigurationsdatei in der Dropbox liegen. Auf jedem synchronsierten Rechner wird dann nur noch per Verknüpfung auf diese Datei zugegriffen.

Das sorgt für eine einheitliche Benutzung der betroffenen Programme und ist auch für Details wie etwa Rechtschreibprüfungswörterbücher interessant. Die folgende Anleitung lässt sich natürlich genauso auf Own- bzw. Nextcloud übertragen:

So geht's

Ich nehme mal an, dass Dropbox bereits installiert und konfiguriert ist – andernfalls bitte diesen Schritt bitte jetzt nachholen.

Dann wird zunächst ein Verzeichnis in der Dropbox angelegt, in welcher die Original-Konfigurationsdateien abgelegt werden, z.B.:

$ mkdir ~/Dropbox/.dotfiles

In diesem (versteckten) Ordner werden nun alle Konfigurationsdateien abgelegt und anschließend symbolische Verknüpfungen im Dateisystem platziert.

Um etwa das eigene Bash-Profil in die Dropbox hochzuladen, würde man im Terminal so vorgehen:

$ mv ~/.bashrc ~/Dropbox/.dotfiles/bashrc

Auf allen Rechnern, die dieses Profil nutzen sollen, führt man dann folgende Zeile aus:

$ ln -s ~/Dropbox/.dotfiles/bashrc ~/.bashrc

Das -s ist wichtig, da Dropbox anscheinend nur symbolische Verknüpfungen korrekt behandelt. Alternativ lassen sich beide Befehle natürlich auch händisch über einen Dateimanager wie etwa Dolphin ausführen.

Und weiter?

Mal von den typischen Beispielen wie der .bashrc oder meinetwegen .zshrc abgesehen, lassen sich natürlich beliebig weitere Konfigurationsdateien und -Ordner synchronisieren.

Auch interessant sind beispielsweise die Wörterbücher der Rechtschreibkorrektur. Für das verbreitete Tool GNU Aspell liegen diese unter ~/.config/enchant/ – es bietet sich also an, das komplette Verzeichnis auf der Dropbox abzulegen und wiederum einen Soft Link mit ln -s ~/Dropbox/.dotfiles/config/enchant ~/.config/enchant zu erstellen.

Wie gesagt kann man statt Dropbox natürlich genauso gut NextCloud verwenden. Andere Leute wiederum machen praktisch das gleiche mit git, was ein paar Vorteile hat, aber ein bisschen umständlicher ist; schaut's euch mal an.

Ich bin sicherlich nicht der erste mit dieser Idee und wahrscheinlich möchte man ab und an bewusst unterschiedliche Konfigurationen pro Gerät nutzen, aber ich bin mit dieser Lösung momentan sehr zufrieden.

Bitte denkt außerdem daran, nicht blind sämtliche Konfigurationsdateien eurer Dropbox anzuvertrauen. Wenn etwa bequeme Befehlsaliase mal ein Passwort enthalten, gehören diese nicht in Cloud. Das ganze gilt selbstredend auch und erst recht für ssh- oder GnuPG-Schlüssel.