Ich habe zwei Computer, einen bei der Arbeit und einen zu Hause. Bei der Arbeit hat man eine VM, auf der Arch ausgeführt wird, und bei der Heim-VM wird Arch nativ ausgeführt. Die Arbeit, die man normalerweise macht, bleibt bei der Arbeit, aber wenn ich an einem Ort an etwas arbeite, kann ich dort weitermachen, wo ich aufgehört habe.
Eine Sache, die ich ziemlich oft tue, ist die Optimierung von Konfigurationsdateien für Dinge wie Vim, ZSH, i3, bla bla bla, und ich bin es leid, mich daran erinnern zu müssen, was ich in der Nacht zuvor getan habe, um die nächste Maschine zu behalten benutze die Geschwindigkeit!
Ich weiß, dass dies ein Job für Git ist, aber wie soll ich das schaffen? Zum Beispiel habe ich eine Reihe von Punktedateien in meinem Home-Verzeichnis in verschiedenen Unterverzeichnissen. Ich müsste nicht nur die Änderungen verfolgen, sondern auch den Speicherort dieser Dateien im Verhältnis zu dem Ort verwalten, an dem sie sich in einem von mir erstellten Repository befinden.
Die andere Sache ist, dass für einige dieser Punktedateien die Installation von Software erforderlich ist. Also, nehmen Sie zum Beispiel i3: Ich habe i3 auf meinem Heimcomputer installiert und es mit seiner Konfigurationsdatei nach meinen Wünschen angepasst ... Aber, Einfach die Punktedateien zu ziehen, wenn ich zur Arbeit komme, macht nicht viel Sinn, weil auf dem Arbeits-Laptop nicht i3 installiert wäre! Ich müsste daran denken, auch so und so zu installieren. Ein weiteres gutes Beispiel hierfür sind Python-Module. Manchmal werde ich etwas erledigen und die genauen Namen der Module vergessen, die ich als Python-Abhängigkeiten installieren musste, um sie zum Laufen zu bringen. In diesem Fall ist das Abrufen der Konfigurationsdateien nur die halbe Miete ... Ich würde ein Skript oder etwas anderes benötigen, um sicherzustellen, dass das Backend für diese Konfigurationsdateien auf dem neuesten Stand und an der richtigen Stelle ist.
Ich weiß, dass dies eine weniger als spezifische Frage ist, die die Leute hier gerne sehen, aber ich habe auch das Gefühl, dass in dieser Ausgabe eine Menge Stammeswissen zur Verfügung steht, wie hochqualitative Unix / Linux-Benutzer diese scheinbar realistische Administrationsaufgabe bewältigen. Jeder schlägt etwas ganz anderes vor, und die meisten Probleme scheinen mit der Wiederherstellung nach einem vollständigen Systemausfall zu zusammenhängen, anstatt einfach zwischen zwei häufig verwendeten Computern auf dem neuesten Stand zu bleiben.
Ich habe dies gelöst, indem ich (die meisten) meiner Punktedateien darin abgelegt habe
~/dotfiles
, die ein git repo, das ich regelmäßig zum github schiebe .In diesem Repo habe ich auch ein Skript, das Links an der richtigen Stelle einrichtet:
Bisher ist nur der "richtige Ort"
$HOME
Es liegt jedoch an Ihnen, das Skript dazu zu bringen, Links zu anderen Orten zu erstellen.Ich habe Hardlinks verwendet, weil git Symlinks standardmäßig als Links speichert, aber ich bin mir sicher, dass es eine Möglichkeit gibt, dies für Symlinks zu beheben.
In einer neuen Version habe ich das Skript erweitert, um störende Konfigurationsdateien wie z
~/.config/git/gitk
. Ich hätte genauso gut dort Links setzen können, anstatt in$HOME
.Es klingt wie was
stow
Dabei schien es einfach genug zu sein, auf ein weiteres Tool zu verzichten.Ich denke darüber nach, meine
.emacs.d
und.xmonad
Repos als Submodule in meinemdotfiles
repo ... Vielleicht ist es die Mühe nicht wert, und ich werde die wahrscheinlich nicht vergessen--recursive
während des Klonens.quelle