Arquivos
Muitos programas são configurados através de arquivos de texto simples conhecido como “dotfiles”(porque o arquivo de nomes começam com .
exemplo: ~/.gitconfig
para que eles arehidden na listagem de diretório ls
por padrão).
muitas das ferramentas que você usa provavelmente têm um monte de configurações que podem ser sintonizadas finamente. Muitas vezes, ferramentas são personalizadas com linguagens especializadas, por exemplo, Vimscript para Vim ou a própria linguagem da shell para uma shell.personalizar e adaptar as suas ferramentas ao seu fluxo de trabalho preferido irá torná-lo mais produtivo. Aconselhamo-lo a investir tempo em Personalizar a sua ferramenta em vez de clonar os dotfiles de outra pessoa do GitHub.
provavelmente já terá alguns ‘dotfiles’ configurados. Alguns lugares para procurar:
~/.bashrc
~/.emacs
~/.vim
~/.gitconfig
Alguns programas não colocar os arquivos em sua pasta pessoal e directamente, em vez disso, colocá-los em uma pasta em ~/.config
.
os ficheiros de pontos não são exclusivos das aplicações da linha de comandos, por exemplo, o leitor de vídeo MPV pode ser configurado a editar ficheiros sob ~/.config/mpv
pode aprender sobre a configuração da sua ferramenta lendo a documentação online orman pages. Outra ótima maneira é pesquisar a internet para posts de blogs sobre programas específicos, onde os autores vão lhe dizer sobre suas personalizações preferidas. Mais uma maneira de aprender sobre as soluções é olhar através dos ficheiros de pontos das outras pessoas: pode encontrar toneladas de fotografias escritas em GitHub — veja o local mais popular (aconselhamo-lo a não fazer cópias às cegas).
organização
como deve organizar os seus ficheiros de pontos? Eles devem estar em sua própria pasta, sob controle de versão, e symlink para o lugar usando um script. Isto tem os benefícios de:
- instalação fácil: se se ligar a uma máquina nova, a aplicação das suas correcções irá demorar apenas um minuto
- portabilidade: as suas ferramentas irão funcionar da mesma forma em todos os lugares
- sincronização: poderá actualizar os seus ficheiros de pontos em qualquer lugar e mantê – los em sincronia por linhas
- : você provavelmente vai ser a manutenção do seu dotfilesfor toda a sua programação carreira, e a versão da história é bom ter forlong de vida de projetos
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'
Máquina de personalizações específicas
na Maioria das vezes, você vai querer a mesma configuração em máquinas, butsometimes, você vai querer um pequeno delta em uma máquina em particular. Aqui estão algumas pistas que você pode lidar com esta situação:
ramo por máquina
Use o controle de versão para manter um ramo por máquina. Esta abordagem é ilogicamente simples, mas pode ser bastante pesado.
If statements
If the configuration file supports it, use the equivalent of if-statements toapply machine specific customizations. Por exemplo, a sua linha de comandos pode ter algo do género:
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
inclui
Se o ficheiro de configuração o suportar, faça uso de includes. Por exemplo, um ~/.gitconfig
pode ter uma configuração:
path = ~/.gitconfig_local
E, em seguida, em cada máquina, ~/.gitconfig_local
pode conter máquina-specificsettings. Você pode até rastreá-los em um repositório separado configurações específicas formachine.
Esta ideia também é útil se quiser que programas diferentes partilhem algumas configurações. Por exemplo, se você quer tanto bash
e zsh
partilhar o mesmo conjunto de aliases você pode escrevê-los abaixo de .aliases
e tem o seguinte bloco de ambos.
# Test if ~/.aliases exists and source itif ; then source ~/.aliasesfi
Recursos
- o Seu instrutor dotfiles:Cês,Jon,Jose
- GitHub não dotfiles: dotfile estruturas,utilitários, exemplos e tutoriais
- Shell startupscripts: anexplanation de diferentes arquivos de configuração usados para o seu shell
Exercícios
-
Crie uma pasta para os arquivos e configurar versioncontrol.
-
adicione uma configuração para pelo menos um programa, e.g. a sua shell, com somecustomização (para começar, pode ser algo tão simples como personalizar a sua linha de comandos, definindo
$PS1
). -
configure um método para instalar os seus dotfiles rapidamente (e sem esforço manual)numa máquina nova. Isto pode ser tão simples quanto um script shell que chama
ln -s
para cada arquivo, ou você poderia usar uma utilidade especializada. -
Teste o seu programa de instalação numa máquina virtual Nova.
-
migre todas as suas configurações de ferramentas actuais para o seu repositório de ‘dotfiles’.
-
publique os seus ficheiros de pontos no GitHub.
edite esta página.
licenciado sob CC BY-NC-SA.