Articles

Dotfiles

wiele programów jest skonfigurowanych przy użyciu plików tekstowych znanych jako „dotfiles”(ponieważ nazwy plików zaczynają się od ., np. ~/.gitconfig, tak aby były one umieszczone w katalogu ls domyślnie).

wiele narzędzi, których używasz, ma prawdopodobnie wiele ustawień, które można precyzyjnie dostroić. Często narzędzia są dostosowywane za pomocą specjalistycznych języków, np. Vimscript dla Vima lub własnego języka powłoki dla powłoki.

Dostosowywanie i dostosowywanie narzędzi do preferowanego przepływu pracy sprawi, że będziesz bardziej produktywny. Radzimy zainwestować czas w personalizację własnego narzędzia niż klonowanie cudzych plików dotfiles z GitHub.

prawdopodobnie masz już skonfigurowane pliki dotfiles. Kilka miejsc do obejrzenia:

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

niektóre programy nie umieszczają plików bezpośrednio w folderze domowym, a zamiast tego umieszczają je w folderze pod ~/.config.

pliki Dotfiles nie są wyłączne dla aplikacji wiersza poleceń, na przykład odtwarzacz wideo MPV można skonfigurować edycja plików pod~/.config/mpv

możesz dowiedzieć się o ustawieniach narzędzia, czytając dokumentację online lub strony Man. Innym świetnym sposobem jest wyszukanie w Internecie postów na blogach o konkretnych programach, w których autorzy opowiedzą ci o swoich preferowanych dostosowaniach. Innym sposobem, aby dowiedzieć się o dostosowaniach, jest przeglądanie plików dotfile innych osób: możesz znaleźć mnóstwo plików zdotfilesrepositorieson GitHub-zobacz najpopularniejszy z nich (radzimy jednak nie ślepo kopiować konfiguracji).

Organizacja

Jak zorganizować swoje dotfiles? Powinny one znajdować się we własnym folderze,pod kontrolą wersji, i dowiązane symbolicznie na miejscu za pomocą skryptu. Ma to zalety:

  • Łatwa instalacja: jeśli zalogujesz się na nowej maszynie, zastosowanie dostosowań zajmie tylko minutę
  • przenośność: Twoje narzędzia będą działać w ten sam sposób wszędzie
  • Synchronizacja: możesz aktualizować swoje pliki dotfiles w dowolnym miejscu i utrzymywać je w synchronizacji
  • śledzenie zmian: prawdopodobnie będziesz utrzymywać swoje pliki dotfiles przez całą swoją karierę programistyczną, a historia wersji jest przyjemna mieć dlugotrwałe projekty
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'

dostosowania specyficzne dla maszyny

przez większość czasu będziesz chciał tej samej konfiguracji na wszystkich maszynach, ale czasami będziesz chciał małą deltę na konkretnej maszynie. Oto kilka sposobów na poradzenie sobie z tą sytuacją:

gałąź na maszynę

użyj kontroli wersji, aby utrzymać gałąź na maszynę. Takie podejście jest logicznie proste, ale może być dość ciężkie.

instrukcje If

Jeśli plik konfiguracyjny je obsługuje, użyj odpowiednika instrukcji if, aby zastosować dostosowania specyficzne dla maszyny. Na przykład Twoja powłoka może mieć coś takiego:

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

zawiera

Jeśli plik konfiguracyjny go obsługuje, użyj includes. Na przykład ~/.gitconfig może mieć ustawienie:

 path = ~/.gitconfig_local

a następnie na każdej maszynie~/.gitconfig_local może zawierać ustawienia specyficzne dla maszyny. Możesz nawet śledzić je w osobnym repozytorium ustawienia specyficzne dla maszyny.

ten pomysł jest również przydatny, jeśli chcesz, aby różne programy współdzieliły niektóre konfiguracje. Na przykład, jeśli chcesz, aby zarówno bash I zsh współdzielić ten sam zestaw aliasów, możesz napisać je pod .aliases I mieć następujący blok w obu.

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

zasoby

  • pliki dotfiles Twoich instruktorów:Anish,Jon,Jose
  • GitHub robi pliki dotfiles: frameworki dotfile,narzędzia, przykłady i samouczki
  • Shell startupscripts: anexplanation różnych plików konfiguracyjnych używanych dla Twojej powłoki

ćwiczenia

  1. utwórz folder dla swoich plików dotfiles i skonfiguruj versioncontrol.

  2. Dodaj konfigurację dla co najmniej jednego programu, np. twoja powłoka, z pewnym dostosowaniem (na początek może to być coś tak prostego, jak dostosowanie monitu powłoki przez ustawienie $PS1).

  3. Skonfiguruj metodę, aby szybko (i bez wysiłku ręcznego)zainstalować pliki dotfiles na nowym komputerze. Może to być tak proste jak skrypt powłoki, który wywołuje ln -sdla każdego PLIKU, lub możesz użyć specjalnego narzędzia.

  4. Przetestuj swój skrypt instalacyjny na nowej maszynie wirtualnej.

  5. Przenieś wszystkie bieżące konfiguracje narzędzia do repozytorium dotfiles.

  6. Opublikuj swoje pliki dotfiles na Githubie.

Edytuj tę stronę.

na licencji CC BY-NC-SA.