Suat Karakuşoğlu yazdı.
Figure 1: Photo by Stefan Heinemann
¶İçerik
Merhabalar,
Yeni bilgisayar kurulumlarında uygulama yüklemelerini kolaylaştırmak adına ufak bir brew bundle aracından bahsetmiştim.
Önemli diğer bir konu ise ana dizininizde bulunan ’.’ dotfiles
dediğimiz, uygulamaların konfigürasyonlarını içeren dosyaların yeni bilgisayara tanımlamasını yapabilmek.
Bu dosyalar örnek vermek gerekirse ’.bashrc’, ’.zshrc’, ’.zprofile’ gibi dosyalar olabilir.
Kendi home dizininizde ls -ld ~/.*
çalıştırdığınızda tüm dot
dosyalarını görebilirsiniz.
Bu uygulama konfigürasyonlarına farklı bilgisayarlarda da erişebilmek için dotfiles
’ların tek bir yerden yönetilmesi en uygunu.
Bu nedenle genelde dot dosyaları bir git reposunda tutulup yönetiliyor.
Bu repo kurulum yapılan bilgisayara çekildikten sonra, dot dosyaları ana dizine linklemek gerekiyor.
Linklemekten kastımız symbolic links
dediğimiz sadece dosyanın yerini gösteren işaretçi dosyaları oluşturmak.
¶Symbolic Link nasıl yapılır
Symbolic link oluşturmak için ln
komutundan faydalanıyoruz.
# -s : symbolic
# -f : forcelamak için, eğer böyle bir dosya var ise targetta üzerine yazar.
# ln -sf {source}[~/me/dotfiles/.zshrc] {target}[~/.zshrc]
ln -sf ~/me/dotfiles/.zshrc ~/.zshrc
Ancak tüm folderların için teker teker bunu yapmaya çalışmak yerine GNU Stow
aracını kullanabiliriz.
¶GNU Stow nedir?
Unix tabanlı MacOS
, Linux
gibi işletim sistemlerinde kullanabileceğimiz otomatik sembolik link yaratmada yardımcı olan bir araçtır stow
.
# -v : verbose, yani yaparken ne yaptigini konsola yazar
# --target veya -t : '~' nereye
# stow -v --target {target-folder}[~] {source-folder}[dotfiles]
stow -v --target ~ dotfiles
Örnek verbose
çıktı:
LINK: .misc => me/dots/dotfiles/.misc
LINK: .spacemacs.d => me/dots/dotfiles/.spacemacs.d
LINK: .stardict => me/dots/dotfiles/.stardict
LINK: .vimrc => me/dots/dotfiles/.vimrc
LINK: .zshrc => me/dots/dotfiles/.zshrc
Bu sayede yalnızce dot files’ini bir klasörde tutup repo olarak barındırabilir ve kurulum yaptığınız bilgisayarda direkt olarak tek bir stow komutuyla konfigürasyonlarınızı bağlayabilirsiniz.
Görüşmek üzere.