Articles

Dotfiles

veel programma ‘ s zijn geconfigureerd met platte tekstbestanden bekend als “dotfiles”(omdat de bestandsnamen beginnen met een ., bijvoorbeeld ~/.gitconfig, dus dat ze zijn verborgen in de directory listing ls standaard).

veel van de tools die u gebruikt hebben waarschijnlijk veel instellingen die u fijn kunt afstellen. Vaak worden gereedschappen aangepast met gespecialiseerde talen, bijvoorbeeld Vimscript voor Vim of de eigen taal van de shell voor een shell.

het aanpassen en aanpassen van uw tools aan uw voorkeur workflow zal u productiever maken. Wij adviseren u om tijd te investeren in het aanpassen van uw tool jezelf dan het klonen van iemand anders dotfiles van GitHub.

u hebt waarschijnlijk al enkele dotfiles ingesteld. Enkele plaatsen om te kijken:

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

sommige programma ‘ s plaatsen de bestanden niet direct onder uw persoonlijke map, maar plaatsen ze in een map onder ~/.config.

Dotfiles zijn niet exclusief voor opdrachtregeltoepassingen, de MPV-videospeler kan bijvoorbeeld worden geconfigureerd voor het bewerken van bestanden onder ~/.config/mpv

u kunt meer te weten komen over de instellingen van uw gereedschap door online documentatie Ofman-pagina ‘ s te lezen. Een andere geweldige manier is om het internet te zoeken naar blogberichten over specifieke programma ‘ s, waar auteurs je zullen vertellen over hun favoriete aanpassingen. Nog een andere manier om te leren overcustomizations is om te kijken door de dotfiles van andere mensen: u kunt tonnen van dotfilesrepositories op GitHub vinden — zie de meest populaire eenhere (we raden u niet blindycopy configuraties hoewel).

organisatie

Hoe moet u uw dotfiles organiseren? Ze moeten in hun eigen map,onder versiebeheer, en symlinked in plaats met behulp van een script. Dit heeft de voordelen van:

  • eenvoudige installatie: als u zich aanmeldt op een nieuwe machine, zal het toepassen van uw aanpassingen slechts een minuut in beslag nemen
  • portabiliteit: uw tools zullen overal op dezelfde manier werken
  • synchronisatie: u kunt uw dotfiles overal bijwerken en ze Allin synchroniseren
  • volgen wijzigen: u zult waarschijnlijk uw dotfilesvoor uw gehele programmeercarrière onderhouden, en de versiegeschiedenis is leuk om te hebben voor langlevende projecten
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'

Machine-specifieke aanpassingen

meestal wilt u dezelfde configuratie op machines, maar soms wilt u een kleine delta op een bepaalde machine. Hier zijn een paar manieren om deze situatie aan te kunnen:

tak per machine

gebruik versiebeheer om een tak per machine te onderhouden. Deze aanpak is eilandelijk eenvoudig maar kan behoorlijk zwaargewicht zijn.

If statements

als het configuratiebestand dit ondersteunt, gebruik dan het equivalent van if-statements om machinespecifieke aanpassingen toe te passen. Bijvoorbeeld, uw shell zou iets kunnen hebben als:

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

als het configuratiebestand dit ondersteunt, gebruik dan includes. Bijvoorbeeld, een ~/.gitconfig kan een instelling hebben:

 path = ~/.gitconfig_local

en op elke machine kan ~/.gitconfig_local machinespecifieke instellingen bevatten. Je zou deze zelfs kunnen volgen in een aparte repository voor machine-specifieke instellingen.

dit idee is ook handig als u wilt dat verschillende programma ‘ s sommige configuraties delen. Als u bijvoorbeeld wilt dat zowel bash en zsh dezelfde set aliassen delen, kunt u ze onder .aliases schrijven en het volgende blok in beide plaatsen hebben.

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

Resources

  • dotfiles van uw instructeurs:Anish,Jon,Jose
  • GitHub dotfiles: dotfile frameworks,utilities, examples, and tutorials
  • Shell startupscripts: anexplanation of the different configuration bestanden gebruikt voor uw shell

oefeningen

  1. maak een map voor uw dotfiles en stel versioncontrol in.

  2. voeg een configuratie toe voor ten minste één programma, bijv. uw shell, met enige aanpassing (om te beginnen kan het iets eenvoudigs zijn als het aanpassen van uw shell-prompt door $PS1in te stellen).

  3. Stel een methode in om uw dotfiles snel (en zonder handmatige inspanning)op een nieuwe machine te installeren. Dit kan zo eenvoudig zijn als een shellscript dat ln -saanroept voor elk bestand, of u kunt een speciaal hulpprogramma gebruiken.

  4. Test uw installatie script op een nieuwe virtuele machine.

  5. migreer al uw huidige gereedschapsconfiguraties naar uw dotfiles repository.

  6. Publiceer uw dotfiles op GitHub.

bewerk deze pagina.

gelicentieerd onder CC BY-NC-SA.