Como manter minhas configurações do OSX sob controle de versão?

4

Vindo do Linux, tenho o hábito de manter meus arquivos de configuração sob um repositório git.
Desde que eu tenho um macbook, no entanto, eu fiz um monte de ajustes através de defaults write e painéis de preferências, mas realmente não sei onde para procurar os arquivos plist (eu presumo) que armazenam os definições.

Alguma ideia de como começar?

    
por julien 30.12.2010 / 09:35

2 respostas

4

Suas preferências pessoais, arquivos de suporte a aplicativos, caches, etc. são armazenados principalmente em ~/Library . Alguns aplicativos (aqueles derivados do BSD) salvam arquivos e diretórios ocultos diretamente em ~ , outros poluem ~/Documents .

Suas configurações de usuário pessoal (tudo o que você faz com defaults ) estão localizadas em ~/Library/Preferences/ . Algumas aplicações (SSH, bash, etc.) ainda armazenam seus arquivos de preferências ocultas diretamente em ~ , você pode geralmente link simbólico ou source para outras pessoas.

Muitos aplicativos armazenam arquivos de suporte (por exemplo, bancos de dados de documentos) em ~/Library/Application Support/ - isso depende da aplicação individual se os arquivos armazenados tiverem valor real.

Alguns aplicativos ou subsistemas (Safari, Mail, complementos do QuickLook, Configuração da impressora, Widgets do Painel Pessoal) são armazenados em subdiretórios de ~/Library . Você deve avaliar todos eles individualmente para determinar se deseja armazenar seu conteúdo no controle de versão. This pode ser um recurso útil aqui.

Eu não recomendaria colocar todo o ~/Library no controle de versão. Existem toneladas de caches, etc.

    
por 30.12.2010 / 12:52
0

Para começar, alguns podem ver o Time Machine como um tipo de controle de versão. Relacionado ao Time Machine é o que ele usa para acompanhar o que fazer backup de cada ciclo. O FSEvents foi introduzido no 10.4 para acompanhar o que indexar para o Spotlight, e o mesmo é usado para o Time Machine. Você pode tocar em FSEvents usando fseventer para ver quais arquivos estão sendo editados quando você faz uma mude com os padrões.

Eu posso dizer que as plists que você está falando existem na pasta Preferences de várias pastas Library no sistema de arquivos. Os que eu posso pensar em cima da minha cabeça, em ordem decrescente de precedência:

~/Library em /Library em /var/root/Library em /System/Library

Eu não sou 100% sobre como /Library e /var/root/Library se relacionam - eu sei que geralmente não há muita sobreposição. /Library é tipicamente para configurações do aplicativo do sistema e /var/root/Library é tipicamente para configurações do usuário do sistema. Por exemplo, certas configurações de Bluetooth e configurações de loginwindow.plist para todos os usuários são armazenadas lá. Você verá que, mesmo que o mesmo nome de arquivo exista em dois desses diretórios, somente os pares de chave / valor individuais se sobreporão.

    
por 30.12.2010 / 11:24