Articles

Dotfiles

Viele Programme werden mit Klartextdateien konfiguriert, die als „dotfiles“ bezeichnet werden (da die Dateinamen mit einem . beginnen, z. B. ~/.gitconfig werden standardmäßig in der Verzeichnisliste ls ausgeblendet).

Viele der Tools, die Sie verwenden, haben wahrscheinlich viele Einstellungen, die ziemlich fein abgestimmt werden können. Oft werden Tools mit speziellen Sprachen angepasst, z. B. Vimscript für Vim oder die Shell-eigene Sprache für eine Shell.

Wenn Sie Ihre Tools an Ihren bevorzugten Workflow anpassen und anpassen, werden Sie produktiver. Wir empfehlen Ihnen, Zeit in die Anpassung Ihres Tools selbst zu investieren, anstatt die Dotfiles eines anderen von GitHub zu klonen.

Sie haben wahrscheinlich schon einige Dotfiles eingerichtet. Einige Orte zum Schauen:

  • ~/.bashrc
  • ~/.emacs
  • ~/.vim
  • ~/.gitconfig

Einige programme legen die Dateien nicht direkt in Ihrem Home-Ordner ab, sondern in einem Ordner unter ~/.config .

Dotfiles sind nicht exklusiv für Kommandozeilenanwendungen, zum Beispiel kann der MPV-Videoplayer unter ~/.config/mpv

konfiguriert werden. Eine andere gute Möglichkeit ist, im Internet nach Blogbeiträgen zu bestimmten Programmen zu suchen, in denen Autoren Sie über ihre bevorzugten Anpassungen informieren. Eine weitere Möglichkeit, sich über Anpassungen zu informieren, besteht darin, die Dotfiles anderer Leute durchzusehen: Sie können Tonnen von Dotfilesrepositorienauf GitHub finden — sehen Sie sich die beliebtesten hier an (wir empfehlen Ihnen jedoch, Konfigurationen nicht blind zu kopieren).

Organisation

Wie sollten Sie Ihre Dotfiles organisieren? Sie sollten sich in einem eigenen Ordner unter Versionskontrolle befinden und mithilfe eines Skripts miteinander verknüpft sein. Dies hat die Vorteile von:

  • Einfache Installation: Wenn Sie sich an einem neuen Computer anmelden, dauert die Anwendung Ihrer Anpassungen nur eine Minute
  • Portabilität: Ihre Tools funktionieren überall gleich
  • Synchronisation: Sie können Ihre Dotfiles überall aktualisieren und alle synchron halten
  • Änderungsverfolgung: sie werden wahrscheinlich Ihre dotfiles für Ihre gesamte Programmierkarriere pflegen, und die Versionsgeschichte ist schön fürlanglebige Projekte
cd ~/srcmkdir dotfilescd dotfilesgit inittouch bashrc# create a bashrc with some settings, e.g.:# PS1='\w > 'touch installchmod +x install# insert the following into the install script:# #!/usr/bin/env bash# BASEDIR=$(dirname $0)# cd $BASEDIR## ln -s ${PWD}/bashrc ~/.bashrcgit add bashrc installgit commit -m 'Initial commit'

Maschinenspezifische Anpassungen

Die meiste Zeit möchten Sie die gleiche Konfiguration auf allen Computern, aber manchmal möchten Sie ein kleines Delta auf einer bestimmten Maschine. Hier sind einige Möglichkeiten, wie Sie mit dieser Situation umgehen können:

Zweig pro Maschine

Verwenden Sie die Versionskontrolle, um einen Zweig pro Maschine zu verwalten. Dieser Ansatz ist logisch einfach, kann aber ziemlich schwer sein.

If-Anweisungen

Wenn die Konfigurationsdatei dies unterstützt, verwenden Sie das Äquivalent von if-Anweisungen, um maschinenspezifische Anpassungen vorzunehmen. Ihre Shell könnte beispielsweise Folgendes enthalten:

if ]; then {do_something else}; fi# Darwin is the architecture name for macOS systemsif ]; then {do_something}; fi# You can also make it machine specificif ]; then {do_something}; fi

Includes

Wenn die Konfigurationsdatei dies unterstützt, verwenden Sie includes . Zum Beispiel kann ein ~/.gitconfig eine Einstellung haben:

 path = ~/.gitconfig_local

Und dann kann auf jeder Maschine ~/.gitconfig_local maschinenspezifische Einstellungen enthalten. Sie können diese sogar in einem separaten Repository für maschinenspezifische Einstellungen verfolgen.

Diese Idee ist auch nützlich, wenn Sie möchten, dass verschiedene Programme einige Konfigurationen gemeinsam nutzen. Wenn Sie beispielsweise möchten, dass beide bash und zsh dieselben Aliase verwenden, können Sie sie unter .aliases und haben den folgenden Block in beiden.

# Test if ~/.aliases exists and source itif ; then source ~/.aliasesfi

Ressourcen

  • Die Dotfiles Ihrer Instruktoren:Anish, Jon,Jose
  • GitHub macht Dotfiles: Dotfile-Frameworks, Dienstprogramme, Beispiele und Tutorials
  • Shell startupscripts: Erläuterung der verschiedenen Konfigurationsdateien, die für Ihre Shell verwendet werden

Exercises

  1. Erstellen Sie einen Ordner für Ihre dotfiles und richten Sie versioncontrol ein.

  2. Fügen Sie eine Konfiguration für mindestens ein Programm hinzu, z. ihre Shell mit somecustomization (zu Beginn kann es so einfach sein, Ihre Shell-Eingabeaufforderung anzupassen, indem Sie $PS1 ) .

  3. Richten Sie eine Methode ein, um Ihre Dotfiles schnell (und ohne manuellen Aufwand)auf einem neuen Computer zu installieren. Dies kann so einfach sein wie ein Shell-Skript, das ln -sfür jede Datei aufruft, oder Sie können eine specializedutility .

  4. Testen Sie Ihr Installationsskript auf einer neuen virtuellen Maschine.

  5. Migrieren Sie alle Ihre aktuellen Toolkonfigurationen in Ihr Dotfiles-Repository.

  6. Veröffentlichen Sie Ihre Dotfiles auf GitHub.

Bearbeiten Sie diese Seite.

Lizenziert unter CC BY-NC-SA.