Pour synchroniser les fichiers de configurations des logiciels que j’utilise à la fois sur mon laptop sous OSX et ma tour sous Linux, j’utilise l’excellent petit outils nommé Mackup (oui oui, ça fonctionne aussi sous Linux ! ) Ce petit logiciel remplace le dossier de configuration des différents logiciels que vous utilisez par un lien symbolique qui pointe vers votre Dropbox.

C’est plutôt génial, seulement le hic c’est que pour une raison que j’ignore, avec Sublime Text 3 dans certain cas l’auto-reload des fichiers de configuration ne marche plus en utilisant Mackup. Autrement dit, il faut fermer et ouvrir à nouveau ST3 lorsque l’on modifier ses paramètres et la sidebar ne s’actualise plus à tout les coup… bref plutôt gênant.

La solution ? Synchroniser le tout avec Git! En effet, Git propose du versioning et de la centralisation si utilisé avec GitHub ou autre. C’est exactement ce que je recherche.

Je me suis donc fait un petit script qui envoi log tout dans un repo Git:

cd "/Users/yadomi/Library/Application Support/Sublime Text 3/Packages/User/" &&
git add -u && git add . &&
git commit -am "Updated config" &&
git push origin master

On peut évidement aller plus loin et faire en sorte que ce script se lance à chaque fois que l’on éteint son Mac. Heureusement OSX permet de faire cela en utilisant des Hook. Le script doit être accessible et executable. Je l’ai donc placé dans /Users/Shared/

sudo chmod +x /Users/Shared/logoutHook.sh
sudo defaults write com.apple.loginwindow LoginHook /Users/Shared/logoutHook.sh

Voila ! maintenant quand j’éteint mon Mac, mes paramètres ST3 sont envoyés sur mon dépot Git.

Au démarrage, il me suffit de faire un petit git pull pour récupérer mes paramètres si j’en ai envie, mais rien n’empêche de faire la même chose en utilisant un hook qui lance un git pull à la connexion ou au reveil de l’ordinateur.