Chezmoi ile konfigürasyonlarınızı güvenli bir şekilde yönetin

Merhaba, bu konuda benim de severek kullandığım bir konfigürasyon (dotfiles) yönetme programı olan chezmoi’yi tanıtacağım.

Yapılandırmanızı ve konfigürasyonlarınızı kişiselleştirmiyorsanız veya tek bir hesapla yalnızca tek bir işletim sistemi kullanıyorsanız ve nokta dosyalarınızın hiçbiri sır içermiyorsa chezmoi’ye ihtiyacınız yoktur. Aksi halde okumaya devam edin…

Chezmoi ne yapıyor?

Kullandığınız araçları (örneğin kabuklar, düzenleyiciler ve sürüm kontrol sistemleri) özelleştirmek için zaman harcadıysanız ve makinelerin farklı hesapları (örneğin ev ve iş) ve/veya farklı işletim sistemlerini (örneğin Linux, macOS, ve Windows) senkronize halde tutabilir, makineden makineye olan farklılıklarla kolayca başa çıkabilirsiniz.

chezmoi önemsiz şeylerden (örneğin birkaç nokta dosyasının bir Raspberry Pi’ye, geliştirme kapsayıcısına veya sanal makineye kopyalanması) karmaşık uzun ömürlü çok makineli geliştirme ortamlarına (örneğin herhangi bir sayıda ev ve iş, Linux, macOS ve Windows makinesinin tutulması) kadar ölçeklenir senkronize olarak). Her durumda, yalnızca tek bir doğruluk kaynağına (git’te tek bir branch) sahip olmanız gerekir ve başlamak için makinenize yalnızca tek bir ikili dosya eklemeniz gerekir (bunu curl, wget veya scp ile yapabilirsiniz).

chezmoi, bir parola yöneticisi kullanarak sırları (örneğin parolalar, erişim anahtarları ve özel anahtarlar) güvenli ve sorunsuz bir şekilde yönetmenize ve/veya favori şifreleme aracınızla tüm dosyaları şifrelemenize olanak tanıyan güçlü bir güvenlik desteğine sahiptir.

Chezmoi’nin temel özellikleri nelerdir?

Esnek

Makinelere özgü yapılandırmaları kontrol etmeye devam ederken, makineler arasında istediğiniz kadar konfigürasyon paylaşabilirsiniz. chezmoi, Linux, macOS ve Windows gibi yaygın olarak kullanılan tüm platformlarda çalışır. Ayrıca FreeBSD, OpenBSD ve Termux gibi daha az kullanılan platformlarda da çalışır.

Kişisel ve güvenli

Siz istemediğiniz sürece hiçbir şey makinenizden ayrılmaz. Yapılandırmanız kontrolünüz altındaki bir git deposunda kalır. Yapılandırma dosyasını istediğiniz formatta yazabilirsiniz. chezmoi, 1Password, AWS Secrets Manager, Azure Key Vault, Bitwarden, Dashlane, Doppler, gopass, HCP Vault Secrets, KeePassXC, Keeper, LastPass, pass, passhole, Vault, Keychain, Keyring veya herhangi bir seçtiğiniz komut satırı uygulamasından sırlarınızı alabilir. Tek tek dosyaları GnuPG veya age ile şifreleyebilirsiniz. Kimseye herhangi bir sır vermeden, nokta dosyası deponuzu istediğiniz kadar makinede kontrol edebilirsiniz.

Şeffaf

chezmoi ayrıntılı çıktı (verbose) ve prova modları (dry run) içerir, böylece bunları yapmadan önce ana dizininizde tam olarak ne gibi değişiklikler yapacağını inceleyebilirsiniz. chezmoi’nin kaynak formatı yalnızca ana dizininizdeki yönetmeyi seçtiğiniz dosyalar, dizinler ve sembolik bağlantılarla bire bir eşlenen normal dosya ve dizinleri kullanır. Gelecekte chezmoi’yi kullanmamaya karar verirseniz verilerinizi başka bir yere taşımak kolaydır.

Bildirimsel ve sağlam

Doğruluk kaynağınızda dosyaların, dizinlerin ve sembolik bağlantıların istenen durumunu bildirirsiniz ve chezmoi ana dizininizi bu duruma uyacak şekilde günceller. chezmoi tüm dosyaları ve sembolik bağlantıları atomik olarak günceller. Güncelleme işlemi kesintiye uğrasa bile, sizi kilitleyebilecek eksik dosyalarla asla baş başa kalmayacaksınız.

Hızlı ve kullanımı kolay

Chezmoi’yi kullanmak git kullanmaya benziyor: komutlar benzer ve chezmoi saniyeden çok daha kısa sürede çalışıyor. chezmoi, kurulum, başlatma ve makinelerinizi güncel tutma dahil olmak üzere günlük operasyonların çoğunu tek satırlık komutlarla gerçekleştirir. chezmoi, dotfiles deponuzdaki değişiklikleri tek bir komutla alıp uygulayabilir ve değişiklikleri otomatik olarak uygulayabilir ve iletebilir.

Neden chezmoi’yi kullanalım?

Nokta dosyası yöneticileri (dotfiles), geri alma komutu ve yedeklemeden geri yükleme ile size her yerde tutarlı bir ortamın birleşik avantajını sunar.

Geliştirme ortamlarımızın temeli giderek standartlaştıkça (örneğin Git’i hem evde hem de işte kullanmak) ve bunları daha da özelleştirdikçe, aynı zamanda Docker kapsayıcıları, sanal makineler ve GitHub Kod Alanları gibi geçici ortamlarda giderek daha fazla çalışıyoruz.

Nasıl ki hiç kimse geri alma komutu olmadan bir düzenleyici kullanmazsa veya sürüm kontrol sistemi olmadan yazılım geliştirmezse, chezmoi de araçlarınızda uzmanlaşmak için yaptığınız yatırımı çalıştığınız her ortama getirir.

Hızlı başlangıç

Kabaca söylemek gerekirse, chezmoi nokta dosyalarınızın istenen durumunu ~/.local/share/chezmoi dizininde saklar. chezmoi apply komutunu çalıştırdığınızda, chezmoi nokta dosyalarınızın her biri için istenen içeriği hesaplar ve ardından nokta dosyalarınızın istediğiniz durumla eşleşmesi için gereken minimum değişiklikleri yapar. Chezmoi’nin kavramları referans kılavuzunda daha doğru bir şekilde açıklanmaktadır.

Mevcut makinenizde chezmoi’yi kullanmaya başlayın

Chezmoi’yi zaten yüklediğinizi varsayarak chezmoi’yi şununla başlatın:

$ chezmoi init

Bu, ~/.local/share/chezmoi konumunda chezmoi’nin kaynak durumunu depolayacağı yeni bir git yerel deposu oluşturacaktır. Varsayılan olarak chezmoi yalnızca çalışma kopyasındaki dosyaları değiştirir.

İlk dosyanızı chezmoi ile yönetin:

$ chezmoi add ~/.bashrc

Bu, ~/.bashrc dosyasını ~/.local/share/chezmoi/dot_bashrc dizinine kopyalayacaktır.

Kaynak durumunu düzenleyin:

$ chezmoi edit ~/.bashrc

Bu, $EDITOR’unuzda ~/.local/share/chezmoi/dot_bashrc dosyasını açacaktır. Bazı değişiklikler yapın ve dosyayı kaydedin.

Chezmoi’nin ne gibi değişiklikler yapacağını görün:

$ chezmoi diff

Değişiklikleri uygulayın:

$ chezmoi -v apply

Tüm chezmoi komutları, dosya sisteminde tam olarak hangi değişiklikleri yapacaklarını yazdırmak için -v (ayrıntılı çıktı) parametresini ve herhangi bir gerçek değişiklik yapmamak için -n (kuru çalışma, dry run) parametresini kabul eder. Tam olarak hangi değişikliklerin yapılacağını görmek istiyorsanız -n -v kombinasyonu çok kullanışlıdır.

Daha sonra değişikliklerinizi uygulamak için kaynak dizinde bir kabuk açın:

$ chezmoi cd
$ git add .
$ git commit -m "ilk commit"

GitHub’da dotfiles adında yeni bir depo oluşturun ve ardından deponuzu aktarın:

$ git remote add origin [email protected]:$GITHUB_KULLANICI_ADI/dotfiles.git
$ git branch -M main
$ git push -u origin main

chezmoi ayrıca GitLab veya BitBucket, Source Hut veya başka herhangi bir git barındırma hizmetiyle de kullanılabilir.

Son olarak, bulunduğunuz yere dönmek için kaynak dizindeki kabuktan çıkın:

$ exit

Daha fazlası için chezmoi’nin websitesini ziyaret edin.

Okuduğunuz için teşekkürler.

6 Likes

Yine açıklayıcı ve detaylı bir rehber olmuş. Elinize sağlık.

1 Like