
Table des matières
Sous Linux, la plupart des fichiers de configuration sont accompagnés d’un point (.) devant leur nom de fichier et ils sont masqués à la vue de tous. Ces fichiers, également appelés fichiers dot, sont au cœur de l’apparence et du comportement de votre environnement Linux. Bien qu’essentielle, leur gestion manuelle peut vite se transformer en véritable pagaille. C’est là qu’un outil simple comme GNU Ranger entre en jeu, vous offrant un moyen structuré et fiable de tout conserver au même endroit pendant que votre système continue de fonctionner exactement comme prévu.
Que sont les Dotfiles et pourquoi ils sont importants
Donc, fondamentalement, les fichiers dotfiles sont des fichiers de configuration cachés qui se trouvent sur votre ordinateur. Ils commencent presque toujours par un point, comme « .bashrc » ou « .gitconfig ». Votre système d’exploitation les masque par défaut pour garder votre dossier personnel propre et épuré. Ces fichiers contrôlent l’apparence de votre terminal, le comportement de votre éditeur de texte et même le formatage de vos commits Git.
Chaque raccourci, thème et paramètre personnalisé que vous créez se trouve dans ces fichiers. Si vous réinstallez votre système sans le sauvegarder, vous perdez tout cela. Vous devrez repartir de zéro et tout reconstruire à partir de la mémoire, ce qui peut prendre des heures. Heureusement, les fichiers dotfiles étant des fichiers texte brut, vous pouvez les enregistrer et les restaurer à tout moment.
Le problème avec la gestion traditionnelle des fichiers Dotfile
La première chose que l’on remarque, c’est qu’il n’y a pas de véritable structure. Vos fichiers de configuration de points sont dispersés dans votre répertoire personnel aux côtés de tout le reste, ce qui rend difficile de savoir quels fichiers appartiennent réellement à votre configuration et lesquels ne sont que des fichiers normaux.
De plus, intégrer Git dans le mix n’aide pas beaucoup non plus, car votre dossier personnel n’est pas un projet propre. Et essayer de contrôler les versions signifie suivre des centaines de fichiers sans rapport juste pour accéder à la poignée qui vous intéresse réellement.
Les choses empirent lorsque vous commencez à utiliser plusieurs machines. La copie manuelle de fichiers entre systèmes est fastidieuse et il est facile d’écraser quelque chose d’important ou de se retrouver avec différentes versions du même fichier sur différents ordinateurs sans savoir clairement laquelle est correcte.
Ce dont vous avez réellement besoin, c’est de quelque chose spécialement conçu pour ce problème. Un outil qui comprend la structure des fichiers de configuration, les maintient organisés en un seul endroit et les relie à l’endroit où votre système les attend sans aucune copie manuelle.
Qu’est-ce que GNU Stow et comment il fonctionne
GNU Ranger est un gestionnaire de liens symboliques. Il récupère les fichiers d’un dossier organisé que vous contrôlez et les relie à l’endroit où votre système s’attend à les trouver. Vos applications voient les fichiers à leurs emplacements habituels, mais les fichiers réels se trouvent dans votre dossier dotfiles où vous pouvez contrôler la version et les gérer correctement.
La façon dont cela fonctionne est simple. Vous organisez vos configurations en sous-dossiers dans un seul répertoire dotfiles, où chaque sous-dossier représente un package. Quand tu cours stow zsh depuis l’intérieur de « ~/dotfiles », Stow reflète cette structure de dossiers dans votre répertoire personnel à l’aide de liens symboliques. Cela signifie que votre shell lit toujours « .zshrc » au même endroit qu’il l’a toujours fait.
La différence est que le vrai fichier se trouve désormais dans votre dossier dotfiles, donc toutes les modifications que vous y apportez sont immédiatement prises en compte. Aucune copie n’est impliquée et rien n’a besoin d’être synchronisé manuellement.
Installation de GNU Stow
Stow est disponible sur toutes les principales distributions Linux et macOS, l’installation est donc rapide quel que soit le système sur lequel vous vous trouvez. Sur Debian ou Ubuntu, vous pouvez l’installer avec ceci :
sudo apt install stowLes utilisateurs d’Arch peuvent le récupérer avec :
sudo pacman -S stowSur Fedora, utilisez ceci :
sudo dnf install stowUne fois installé, exécutez stow --version pour confirmer que tout fonctionne avant de continuer.
Organiser votre répertoire Dotfiles
Avant de commencer à utiliser stow, vous devez configurer une structure de dossiers appropriée. Pour commencer, créons d’abord un dossier principal appelé « dotfiles » dans votre répertoire personnel.
mkdir -p ~/dotfiles
cd ~/dotfilesÀ l’intérieur, créez un sous-dossier distinct pour chaque application que vous souhaitez gérer. Le nom du dossier est généralement simplement le nom de l’application, comme bash, git ou vim.
mkdir -p bash
mkdir -p zsh
mkdir -p git
mkdir -p nvim/.config/nvimDe plus, dans chaque dossier d’application, reflétez le chemin exact où le fichier se trouve normalement sur votre système. Ainsi, si une application stocke sa configuration dans un dossier « .config » de votre répertoire personnel, vous créez également un dossier « .config » dans votre dossier d’application. Voici à quoi ressemble une structure de base :

Bien mettre en place cette structure compte plus que toute autre chose. Une fois que c’est correct, stow gère le reste. Il vaut également la peine d’initialiser un référentiel Git dans votre dossier dotfiles dès le premier jour afin que vos modifications soient suivies dès le début.
Migration de fichiers Dotfiles existants vers Stow
Si vous avez déjà des fichiers de configuration dans votre répertoire personnel, vous pouvez les migrer facilement, mais vous devez le faire avec précaution. Stow ne créera pas de lien symbolique si un fichier réel existe déjà à cet emplacement, vous devez donc d’abord déplacer le fichier d’origine avant d’exécuter stow.
Pour chaque fichier, créez d’abord le dossier correct dans votre répertoire dotfiles, puis déplacez-y le fichier en utilisant mvet enfin courir stow git. Par exemple, voyons à quoi ressemble « .gitconfig » :
mkdir -p ~/dotfiles/git
mv ~/.gitconfig ~/dotfiles/git/.gitconfig
cd ~/dotfiles
stow gitParcourez cette application une par une, car essayer de tout migrer en même temps augmente le risque de panne en cours de session.
Note: En cours d’exécution stow -n montre ce que stow ferait avec différentes options de drapeaux.
Gestion de plusieurs applications avec Stow
Une chose que j’aime vraiment chez GNU Stow, c’est sa capacité à évoluer. Que vous gériez une ou vingt candidatures, le processus reste le même. Chaque application est conservée dans son propre dossier (appelé package), donc l’installation ou la suppression de l’une n’affecte pas les autres.
Créez un nouveau dossier dans votre répertoire dotfiles, nommez-le d’après l’application, placez vos fichiers de configuration à l’intérieur avec la structure correcte et exécutez stow. Il créera automatiquement les liens symboliques requis.
De plus, vous pouvez installer plusieurs configurations à la fois :
stow bash zsh vim gitSi vous travaillez sur plusieurs machines avec des configurations légèrement différentes, vous pouvez conserver des packages partagés aux côtés de ceux spécifiques à la machine et stocker uniquement ce dont chaque système a réellement besoin.
Mettre à jour et supprimer des fichiers Dotfiles en toute sécurité
Les fichiers à l’intérieur de « ~/dotfiles » sont les vrais, tandis que les fichiers de votre répertoire personnel ne sont que des liens symboliques. Toutes les modifications que vous apportez s’appliquent instantanément. Il n’est pas nécessaire de copier ou de synchroniser quoi que ce soit.
De même, pour supprimer une configuration, vous pouvez utiliser ceci :
stow -DCela supprime tous les liens symboliques créés pour cette application, tout en conservant les fichiers originaux en toute sécurité dans votre dossier dotfiles. Si jamais vous souhaitez le restaurer, réexécutez simplement stow.
Si quelque chose n’est pas synchronisé ou si vous souhaitez une actualisation propre, vous pouvez utiliser :
stow -RCela supprimera et recréera les liens symboliques en une seule étape. Dans l’ensemble, stow rend la gestion de vos fichiers dotfiles sûre et prévisible. Vos fichiers réels restent protégés au même endroit, tandis que votre système reste propre et facile à entretenir.
Utiliser Git pour contrôler la version de vos fichiers Dotfile
Une fois que vous avez organisé vos fichiers dot et que stow fonctionne comme vous le souhaitez, l’étape suivante naturelle consiste à ajouter un contrôle de version. Vous initialisez Git dans votre dossier dotfiles, ajoutez vos fichiers et envoyez-les vers une télécommande comme GitHub ou GitLab :
cd ~/dotfiles
git init
git add .
git commit -m "Initial dotfiles setup"
git pushSi jamais vous apportez une modification qui casse quelque chose, vous pouvez revenir à une version antérieure. Et chaque fois que vous passez à une nouvelle machine ou effectuez une nouvelle installation, vous ne recommencez pas. Vous clonez le dépôt et rangez ce dont vous avez besoin, et tout votre environnement est de retour exactement tel que vous l’avez laissé :
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
stow zsh git nvim tmuxDe plus, vous pouvez ajouter un fichier README répertoriant vos packages et toutes les applications que vous devez d’abord installer pour gagner du temps sur les nouvelles configurations. Vous pouvez également ajouter un simple script install.sh qui s’exécute automatiquement sur tous vos packages, de sorte que la restauration d’une machine se résume en réalité à une seule commande.
Pensées finales
GNU Stow et Git résolvent ensemble complètement le problème du fichier dot. Vos configurations résident au même endroit, restent sauvegardées automatiquement et vous pouvez les restaurer sur n’importe quelle machine en quelques minutes.








