Bu repo, benim kişisel CachyOS end-4 Hyprland yapılandırma dosyalarımı (dotfiles) barındırır.
Tüm sistem stow kullanılarak modüler paketler halinde yönetilmektedir ve install.sh ana betiği (script) aracılığıyla yeni bir sistem kurulumunu otomatikleştirmek için tasarlanmıştır.
Format sonrası yeni bir sisteme geçtiğimde izlemem gereken adımlar:
-
Temel Paketleri Kur: Sisteme
gitvebase-devel(AUR paketlerini derlemek için) kur.sudo pacman -Syu --needed git base-devel
-
Repoyu Klonla: Bu
Dotfilesreposunu,stowve betiklerin beklediği~/Documentsdizinine klonla.git clone https://github.com/m24ih/dotfiles.git ~/Documents/Dotfiles -
Betiği Çalıştır: Ana kurulum betiğini çalıştır. Bu betik geri kalan her şeyi (yay, paketler, flatpak'ler,
stowile ayarların bağlanması) otomatik olarak halledecektir.cd ~/Documents/Dotfiles chmod +x install.sh ./install.sh
-
Manuel Olarak Yapılacaklar (ÖNEMLİ): Kurulum betiği bittikten sonra, asla bu repoya eklenmemesi gereken "sır" (secret) dosyalarını manuel olarak yerine koy:
~/.config/rclone/rclone.conf(GDrive token'ları için)~/.config/gh/hosts.yml(GitHub CLI token'ı için)- Gerekliyse
sshanahtarları (~/.ssh/). - (Bunları 1Password'den al.)
-
Yeniden Başlat: Tüm ayarların (özellikle
fkeysgibi donanım modüllerinin) tam olarak uygulanması için sistemi yeniden başlat.
Bu repo, sembolik bağ (symlink) yöneticisi olan stow'u temel alır.
~/Documents/Dotfiles/ana dizinimizdir.- İçindeki her bir klasör (
hypr,nvim,fish,gtkvb.) bir "stow paketi" olarak kabul edilir. - Her paketin içindeki dosya yapısı,
~(home) dizininin yapısını taklit eder.
Örnek: fastfetch ayarlarını ~/.config/fastfetch konumuna bağlamak için, dosyaların konumu:
~/Documents/Dotfiles/fastfetch/.config/fastfetch/ şeklindedir.
install.sh betiği, STOW_PACKAGES dizisinde listelenen tüm paketler için otomatik olarak stow -R -t ~ [paket_adi] komutunu çalıştırır ve tüm ayarları ana dizine bağlar.
Gelecekte rofi gibi yeni bir programın yapılandırmasını eklemek istediğimde:
-
Paket Klasörünü Oluştur:
mkdir -p ~/Documents/Dotfiles/rofi -
~Taklit Yapısını Oluştur:rofiayarları~/.config/rofiiçinde duruyorsa,stowiçin şu yolu oluştur:mkdir -p ~/Documents/Dotfiles/rofi/.config -
Mevcut Ayarları Taşı: Gerçek yapılandırma klasörünü (
~/.config/rofi) bu yenistowpaketinin içine taşı:mv ~/.config/rofi ~/Documents/Dotfiles/rofi/.config/
-
Ana Betiği Güncelle:
install.shdosyasını aç veSTOW_PACKAGESdizisine"rofi"kelimesini ekle. -
Yeni Paketi "Stow" Et: (İsteğe bağlı) Betiği tekrar çalıştırmak yerine hemen bağlamak için:
cd ~/Documents/Dotfiles stow -R -t ~ rofi
-
Git'e Gönder: Yeni paketi repoya ekle.
git add . git commit -m "feat: Yeni 'rofi' paketini ekle" git push
Eğer fish veya nvim için bir temayı/eklentiyi git clone ile doğrudan .../fish/.config/fish/ klasörünün içine klonlarsam, bu Dotfiles reposu git add . yaparken "warning: adding embedded git repository" uyarısı verir.
Çözüm: İçerideki eklenti/tema klasörünün .git dizinini silerek onu "düz" dosyalara dönüştür.
# 1. Hatalı eklemeyi Git'in hafızasından zorla kaldır
git rm --cached -f [hatali_paket_yolu]
# 2. İçerideki .git klasörünü sil
rm -rf [hatali_paket_yolu]/.git
# 3. Artık "düz" olan klasörü tekrar ekle
git add [hatali_paket_yolu]