Gestion des fichiers de config
Ce document vise a donner une méthode pour sauvegarder les fichiers de config de sa machine.
Initialisation du repository
Commencer par créer un bare-repository Git .dotfiles afin de pouvoir versionner les fichiers souhaités
git init --bare $HOME/.dotfilesPuis créer un alias dotfiles afin de faciliter l’utilisation de ce repository
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'Configurer git pour qu’il n’affiche pas les fichiers non inclus
dotfiles config --local status.showUntrackedFiles noIl peut être utile de créer une branche par ordinateur
dotfiles checkout -b bureauFinir par configurer le dépôt distant et tout pousser dedans
dotfiles remote add origin git@mondomain.org:monorg/dotfile.git
dotfiles push
dotfiles push --set-upstream origin bureauAttention, il ne faut pas pousser des données critiques sur des repository publiques, ni même sur des repos privés hébergés sur des sites publiques comme Github, Gitlab ou Bitbucket. Par exemple des clef privée ssh, ou des tokens d’api…
Utilisation
Pour l’utilisation courante avec des exemples utiles :
dotfiles status
dotfiles add .vimrc
dotfiles commit -m "Add vimrc"
dotfiles add .bashrc
dotfiles commit -m "Add bashrc"
dotfiles add .bash_aliases
dotfiles commit -m "Add .bash_aliases"
dotfiles add .zshrc
dotfiles commit -m "Add .zshrc"
dotfiles add .ssh/config
dotfiles commit -m "Add .ssh config"
dotfiles add .screenrc
dotfiles commit -m "Add .screenrc"
dotfiles add .kube/config
dotfiles commit -m "Add kubectl config"
dotfiles add .gitconfig .git-credentials
dotfiles commit -m "Add git config"
dotfiles add .aws/config .aws/credentials .aws/shell/awsshellrc .aws/shell/history
dotfiles commit -m "Add aws config"Restauration des dotfiles sur un ordinateur
Il faut commencer par créer l’alias comme dans la section d’initalisation
alias dotfiles='/usr/bin/git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'Puis récuperer le repository
git clone --bare git@mondomain.org:monorg/dotfile.git $HOME/.dotfilesEt enfin passer sur la bonne branche
dotfiles checkout bureauAfin d’éviter les problèmes de perte de données avec les fichiers en conflits ou installés de base, on va les copier dans un répertoire pour les sauvegarder.
mkdir -p .dotfile-backup && \
dotfiles checkout bureau 2>&1 | egrep "\s+\." | awk {'print $1'} | \
xargs -I{} mv {} .dotfile-backup/{}et comme on a déplacé les fichiers en conflit, on peut re-lancer le checkout
dotfiles checkout bureauBranches différentes
Si on ne veut pas melanger ses fichiers de configurations mais qu’on souhaite tout versionner dans son repo
Il faut creer une autre branche vide home
dotfiles checkout --orphan home
dotfiles add .bash_aliases
dotfiles commit .bash_aliases
dotfiles push --set-upstream origin homeAjouter ensuite tous les fichiers comme décrit au début.