J’ai jamais prit le temps de la publier, mais ma solution est un poil plus complexe, elle évite le fait de versionner tout le home (donc les sous dossiers ne se croient pas dans un répertoire git). En fait le dépôt git est dans ~/.sync/ ; et on utilise un alias pour gérer ce dépôt :
Pour initialiser le tout, le fichier .init-sync va paramétrer l’environnement:
#!/bin/bashif[ -d .git -a "$PWD" !="$HOME"];then# This is a first run# At first run, we're run from the git dir, unconfiguredexport GIT_DIR=$PWD/.git
git ls-files HEAD . |xargs rm -r
git config --add core.worktree $HOME
git checkout -f
# configure bashecho"if [ -f ~/.bash-commons ]; then . ~/.bash-commonsfi" >> ~/.bashrc
elseexport GIT_DIR=$HOME/.sync/.git
ficd$HOME
git submodule init
git submodule update
#configure vim
vim +BundleInstall +qall
Pour ajouter des fichiers dans le dépot:
gitsync add -f .gitconfig
Et ça permet de tracker et synchroniser à peu près tout ce qui compte (config bash, git, vim, less). Certains paquets supplémentaires sont installés comme submodules (z/autojump, icdiff, vimpager,...).
Le fichier ~/.init-sync peut être relancé sur quand des nouveaux paquets vundle ou submodules sont ajoutés.
# Ma solution
Posté par Aissen . En réponse au journal Gérer ses fichiers de config avec git. Évalué à 5.
J’ai jamais prit le temps de la publier, mais ma solution est un poil plus complexe, elle évite le fait de versionner tout le home (donc les sous dossiers ne se croient pas dans un répertoire git). En fait le dépôt git est dans ~/.sync/ ; et on utilise un alias pour gérer ce dépôt :
L'installation se passe comme suit :
Pour initialiser le tout, le fichier .init-sync va paramétrer l’environnement:
Pour ajouter des fichiers dans le dépot:
Et ça permet de tracker et synchroniser à peu près tout ce qui compte (config bash, git, vim, less). Certains paquets supplémentaires sont installés comme submodules (z/autojump, icdiff, vimpager,...).
Le fichier ~/.init-sync peut être relancé sur quand des nouveaux paquets vundle ou submodules sont ajoutés.