Mange utviklere bruker mye tid på å sette opp den perfekte kombinasjonen av installerte pakker, terminaloppsett og konfigurasjoner på sine utviklingsmaskiner. Med GNU Stow kan du enkelt rulle ut favorittoppsettet ditt på en ny maskin, og samtidig holde oppsettet konsistent dersom du jobber på flere enheter.
GNU Stow er et kommandolinjeverktøy som oppretter symboliske lenker (symlinks) fra en kildemappe til en målmappe – typisk hjemmekatalogen. Dette gjør det mulig å holde dotfiles organisert i en egen, git-versjonert katalog, samtidig som de fungerer som vanlige filer i hjemmekatalogen.
På Mac, Linux og i WSL2 for Windows er det meste av konfigurasjoner lagret i såkalte dotfiler i hjemmekatalogen, som for eksempel:
.zshrc
.gitconfig
Applikasjonsspesifikke filer som
.config/starship.toml
Slik kommer du i gang med GNU Stow
Opprett en katalog for dotfiles:
Flytt alle filene du ønsker å holde synkronisert fra hjemmekatalogen til en ny mappe, for eksempel ~/dotfiles
. Et eksempel på katalogstruktur:
➜ tree -a -L 2 ~/dotfiles
├── .config
│ ├── starship.toml
├── .gitignore
├── .stow-local-ignore
├── .zshrc
├── README.md
├── init.sh
Konfigurer Git:
Gjør ~/dotfiles
til et Git-repository som du enkelt kan pushe til en ekstern server for å holde oppsettet synkronisert mellom flere maskiner
Installer GNU Stow:
Bruk din foretrukne pakkehåndterer, for eksempel:
brew install stow
Opprett symlinks med Stow:
Kjør følgende kommando fra ~/dotfiles
for å opprette symlinks for alle filene som ikke er ignorert:
stow .
Automatiser prosessen:
Samle gjerne installasjonskommandoer og Stow-operasjoner i et init-script for å gjøre oppsettet raskt og repeterbart på nye maskiner. Scriptet kan også inkludere:
Backup av eksisterende filer i hjemmekatalogen.
Automatisk sletting av gamle versjoner av filer som skal erstattes av symlinks.
Ignorer filer med .stow-local-ignore
:
Stow ignorerer visse filtyper som standard (f.eks. .git
). Du kan legge til flere filtyper eller kataloger som bør ekskluderes ved å oppdatere denne filen.