12 puan yazan GN⁺ 2026-03-23 | 8 yorum | WhatsApp'ta paylaş
  • Nix paket yöneticisi temelli NixOS, tüm sistemi kod olarak tanımlayan ve onu istenildiğinde deterministik ve yeniden üretilebilir bir duruma geri yükleyebilen bir yapıya sahiptir
  • Tüm ayarlar ve paketler tek bir deklaratif yapılandırma dosyası ile yönetilir; böylece yeni bir cihazda bile aynı ortam tek bir kaynaktan yeniden kurulabilir
  • 6 aylık döngüye sahip istikrarlı sürümler, otomatik güncellemeler ve gerektiğinde unstable kanalı üzerinden en yeni yazılımları denemeyi destekler
  • İzole geliştirme ortamları sunarak sistemi kirletmeden farklı diller ve araçların denenmesini sağlar; ayrıca macOS ve Linux arasında tutarlı bir geliştirme deneyimi sürdürür
  • LLM kodlama çağında araçların hızla değişmesine uyum sağlar ve Docker'dan daha deterministik ve katmanlı derleme modeli ile dağıtıma kadar tutarlılığı korur

NixOS'un felsefesi ve çekiciliği

  • NixOS'un özü bir Linux dağıtımı değil, Nix paket yöneticisidir
    • NixOS, deterministik ve yeniden üretilebilir işlevsel bir paket yöneticisinin bir sonucudur ve girilen Nix DSL'e göre tüm işletim sistemini yapılandırabilir
    • Sistemi yeniden inşa etmeye veya yalnızca bir kısmını değiştirmeye imkân verir; sonuç hoşunuza gitmezse geri alma yapılabilir
  • Çoğu işletim sistemi zamanla kararsız hâle gelirken, NixOS'ta durum tanımlanabilir ve derlenebilir
    • Paket kurulumu, ayar değişiklikleri, araç ekleme/kaldırma nedeniyle belirsiz durumların birikmesini önler
    • Sistemi kod olarak tanımlayarak aynı sonucun her zaman yeniden üretilebilmesini sağlar

Deklaratif yapılandırma ve tek kaynak yönetimi

  • NixOS'ta paketler, ayarlar, klavye eşlemeleri gibi tüm sistem tek bir deklaratif yapılandırma olarak tanımlanabilir
    • GNOME eklenti ayarları ve klavye eşleme örneklerinde olduğu gibi, ayrıntılı davranışlar bile Nix DSL ile ifade edilebilir
    • Yeni bir bilgisayarda da tüm sistem tek bir kaynaktan yeniden kurulabilir
  • Manuel ayarlara veya dağınık script yönetimine gerek kalmadan tutarlı sistem durumu korunabilir

Kararlılık ve güncelleme yönetimi

  • NixOS, 6 aylık öngörülebilir sürüm döngüsünü korur ve otomatik güncellemeleri destekler
    • Tipik OS yükseltmelerinde görülen kararsızlık, bildirimler veya sistem drift'i sorunlarını en aza indirir
    • Gerekirse unstable kanalı etkinleştirilerek en yeni yazılımlar deneysel olarak kullanılabilir
  • HP dizüstü bilgisayarlarda da donanım uyumluluğu ve kararlılık yüksektir; ek ayar olmadan hemen kullanılabilir

Deney ve geliştirme ortamlarının izolasyonu

  • NixOS, güvenli ve düşük maliyetli bir deney ortamı sunar
    • Paketleri doğrudan sisteme kurmak yerine izole shell ortamlarında çalıştırmak mümkündür
    • Nix DSL ile bağımlılıklar, derleme adımları ve çıktılar deklaratif olarak tanımlanarak kirlenmemiş geliştirme ortamları korunur
  • Aynı Nix paket yöneticisi hem macOS hem Linux'ta kullanılabildiği için geliştirme araçları ve bağımlılık yönetiminde tutarlılık sağlanır
    • FreeBSD için de topluluk desteği vardır

LLM kodlama çağıyla uyumu

  • LLM tabanlı kodlama araçlarında belirli sürümlerde yardımcı araçlar, derleyiciler ve runtime'lar sık sık değiştirilmek zorundadır
    • Nix bu ihtiyaca uygun olarak araçları deklaratif girdiler olarak ele alır ve onları izole ortamlarda çalıştırır
    • Örneğin Rust tabanlı bir speech-to-text ajanı derlenirken Nix, Rust toolchain'ini otomatik olarak getirir ve izole bir derleme ortamı kurar
    • Sistem ortamını (~/.cargo, ~/.rustup, PATH vb.) değiştirmez
  • flake.nix ve nix flake check ile ajanın deney ortamı yeniden üretilebilir artifact'ler olarak sabitlenebilir
    • Geçici oturumları doğrulanabilir derleme birimlerine dönüştürür

Dağıtım ve tutarlı geliştirme modeli

  • Nix, Docker'dan daha deterministik ve katmanlı bir image derleme yaklaşımı sunar
    • dockerTools.buildLayeredImage kullanılarak küçük ve yeniden üretilebilir Docker image'ları oluşturulabilir
    • Aynı yapılandırmayla farklı mimarilerde de aynı sonuç derlenebilir
  • Aynı model dizüstü bilgisayar, shell, proje bağımlılıkları, CI pipeline'ı ve dağıtım artifact'lerine kadar tutarlı biçimde uygulanır
    • Birden çok aracı bir araya getirmek yerine tek bir düşünme biçimiyle tüm yazılım sistemini yönetmek mümkün olur

Sonuç

  • NixOS, deklaratif, yeniden üretilebilir, geri alınabilir ve kararlı bir sistemin somut bir uygulamasıdır
  • Deneyler ve yükseltmeler korkmadan yapılabilir; hızla değişen araç ortamlarında bile sistemi kirletmez
  • LLM kodlama ajanları gibi modern geliştirme akışlarında da kararlılık ve esnekliği aynı anda sunar
  • NixOS, bu felsefenin günlük yaşamda en eksiksiz uygulanmış hâlidir

8 yorum

 
dongho42 2026-03-24

Ben de eskiden yaklaşık altı ay kadar NixOS kullanmıştım ama başka işletim sistemlerinde ayrıca araştırmaya bile gerek olmayan çok basit bir işi ne kadar Google'lasam da çözemeyince, NixOS forumu gibi bir yerde bir NixOS uzmanı mı ne tarafından kaydedilmiş çözümü gördüm; onlarca satırlık o hacky çözümün en çok beğeni alan şey olduğunu görünce NixOS'la önümdeki hayat bana kapkaranlık geldi ve Arch'a geri dönmüştüm...

 
dongho42 2026-03-24

Bir de tam hatırlamıyorum ama sanırım flake gibi bir özellik vardı; bir yerde buna best practice deniyor, başka bir yerde experimental deniyor, bir başka yerde ise ikisi birden deniyor, ve bunun yıllardır böyle sürüp gittiğini görünce insanı bekleyen zorluk yolu apaçık görünüyordu..

Tabii tüm masaüstü ortamını kolayca kodla tanımlayabilme deneyimi keyifliydi

 
pmc7777 2026-03-24

Firebase Studio da Nix kullanıyor

 
laeyoung 2026-03-24

Oo...anladım!

Bu arada, huzur içinde yat Firebase Studio :(

 
grenade 2026-03-24

Çok zor, biraz denedim ama vazgeçtim hıçkırık hıçkırık
(I use Arch btw)

 
ztaka 2026-03-24

Bilenler kendi aralarında usul usul kullanıyor işte haha
Bildirimsel işlevsel bir dille gerçekleştirilen yeniden üretilebilir kurulum

 
ytuniverse 2026-03-24

Öğrenme eğrisi akıl almaz düzeyde. Yeniden üretilebilirliği garanti ettiği ölçüde yüksek bir seviye talep ediyor.
flake kullansanız bile zorlayıcı.

Ayrıca içeride sqlite kullanıyor gibi görünüyor; bunun performansı da bir iyi bir kötü olduğundan, ortamı yeniden kurmanın ne kadar süreceğinde biraz dalgalanma var.

 
GN⁺ 2026-03-23
Hacker News görüşleri
  • Bence NixOS, yapay zeka araçlarıyla uyum açısından rakipsiz
    Diğer işletim sistemlerinde sistem yapılandırmasını yapay zekaya emanet etmek zorken, NixOS bunu bildirime dayalı ve geri alınabilir yapısı sayesinde güvenilir kılıyor
    PulseAudio'dan PipeWire'a geçişi ya da Hyprland kurulumunu Claude'a veya Codex'e bırakmazdım ama NixOS söz konusuysa bunu Grok'a bile emanet edecek kadar güveniyorum
    Asıl önemli olan, değişiklikleri önceden gözden geçirebilmek ve istediğin an geri alabilmek
    Geliştiriciyseniz, “yapay zeka tarafından yönetilen bir Linux masaüstü” hayaliyle NixOS'u denemenizi öneririm. Claude'a “VM üzerinde gösterilebilecek Flake tabanlı bir Gnome yapılandırması hazırla” demeniz yeterli

    • 3 yıldır NixOS, 1 yıldan uzun süredir de Claude kullanıyorum. İkisinin birleşimi gerçekten ideal
      Claude'un GNOME dconf ayarlarını bildirime dayalı şekilde düzenlediğini görmek şaşırtıcı
      Yine de yapay zeka, Nix ekosisteminin karmaşık bağlamını anlayamadığı için bazen alakasız sonuçlar üretebiliyor
      Nix'in düzenli olmayan lambda yapısı ve modüller arası örtük kapsamları, bunun sadece insanlar için değil yapay zeka için de zor olduğunu hissettiriyor
      Bu yüzden projenin yapısını ve kalıplarını net tanımlamak önemli. Buna rağmen Nix tabanlı şablonlar oluşturma süreci keyifli ve verimli
    • Dürüst olmak gerekirse bu, var olmayan bir sorun için aşırı mühendislik ürünü bir çözüm gibi görünüyor
      Hyprland kurmak için gerçekten bir LLM kullanmaya gerek var mı? Basitçe sudo dnf install hyprland yeterli
      Nix'in “yapay zeka dostu” olmasından çok, insanların doğrudan kullanmasının zahmetli olması nedeniyle LLM kullanılıyor gibi geliyor
    • Ben de benzer bir deneyim yaşadım. Daha önce HN'de “ClaudeOS” adıyla bir gönderi paylaşmıştım; aslında o NixOS + Flakes + Claude Code birleşimiydi
      Birden fazla makinenin yapılandırmasını “iş profilleri” olarak yönetiyor, her makineye gerekli repo ve ayarları otomatik dağıtıyordum
      İş arkadaşım aslında bir Windows kullanıcısıydı ama şimdi günlük olarak NixOS kullanıyor
      Tüm donanım ayarlarını da bildirime dayalı olarak yönetiyorum ve yapılandırmam GitHub açık deposunda yer alıyor. Geri bildirime açığım
    • Ben de Claude'a NixOS yapılandırma sorunlarını çözdürdüm ve gerçekten çok iyi çalıştı
      Yapılandırmayı yeni bir düzene taşırken ya da farklı WM/DE test ortamları kurarken Claude tekrar eden işlerin çoğunu hallediyor
      Şu anda sistem tamamen oturduğu için elle yapılacak iş neredeyse kalmadı
      Başka işletim sistemlerinde bu düzeyde güven duymak zor
    • Eskiden Nix bana fazla karmaşık görünüyordu, bu yüzden yapay zeka gelişene kadar bekledim
      Onun yerine geliştirme ortamlarını Docker betikleriyle yönetiyordum ama artık Nix ile yapay zekanın uyumunun kusursuz olduğunu düşünüyorum
      Bundan sonra yapay zekanın daha kolay kullanabileceği çok daha fazla yazılım çıkacak gibi görünüyor
  • 30 yıl Windows kullandıktan sonra 1 yıl önce tamamen Nix'e geçtim
    Artık Windows'a geri dönmeyi hiç düşünmüyorum
    Tüm işletim sistemi yapılandırmasının Git deposunda olması harika
    Nix olmadan geliştirme yapmak, Git olmadan kod yazmak kadar verimsiz
    Bir kez ayarladıktan sonra yeni bir sistemi kurmak çok kolaylaşıyor

    • NixOS yapılandırmama dayanarak izole konteynerler kolayca oluşturmayı sağlayan bir proje olup olmadığını merak ediyorum
      Her uygulamayı bağımsız bir ortamda çalıştırıp tüm sistemi etkilememesini istiyorum
      NixOS'un böyle bir geleceğe giden yollardan biri olduğunu düşünüyorum
    • Bir ara Fedora Bazzite'a dönmeyi düşündüm ama Sway üzerinde HDR daha kararlı çalıştığı için NixOS'ta kaldım
      Nvidia GPU da iyi çalışıyor ve Gamescope'tan çok daha kararlı
    • Python betiklerini hızlıca çalıştırırken nix-shell'i nasıl kullandığınıza dair örnekler görmek isterim. Python ile NixOS arasındaki etkileşimi hâlâ öğreniyorum
  • NixOS'u daha çok sevmek istiyorum ama en büyük sorun dokümantasyon eksikliği
    Bilgi farklı forumlara, eski blog yazılarına ve issue'lara dağılmış durumda

    • Üstelik iki resmi wiki var (nixos.wiki, wiki.nixos.org), bu da kafa karıştırıyor
      İkisi de güncelleniyor ama hangisinin daha güncel olduğu her aramada değişiyor gibi
    • Ben de eskiden dokümantasyon eksikliğinden şikâyet ederdim ama artık kaynak kodun kendisinin dokümantasyon olduğunu düşünüyorum
      nixpkgs'i klonlayıp doğrudan okumak en hızlı yol
    • ChatGPT, farklı kaynakları bir araya getirip çalışan kod örnekleri oluşturmakta oldukça faydalı
    • Aslında birçok kullanıcı doküman okumuyor, bunun yerine Claude Code'a Nix kodu yazdırıyor
  • NixOS'u dizüstü bilgisayar işletim sistemi olarak kullandım ve artılarıyla eksileri çok belirgindi
    Bildirime dayalı yapılandırma ve snapshot özellikleri devrim niteliğinde ama paket/hizmet ayrımı ve Flake kavramı kafa karıştırıcıydı
    KDE kurulurken sadece en temel bileşenler geliyordu, ek yapılandırma gerekiyordu ve dokümanlar da sürüme göre değiştiği için takip etmek zordu
    Sonunda kararlı bir makineye ihtiyacım olduğu için vazgeçtim ama sistem yöneticileri için mükemmel bir tercih olabilir

    • Ben de başta Flake'i zor bulmuştum ama aslında en sezgisel yöntem o
      Determinate Systems kurucusu varsayılan olarak Flake'i etkinleştiriyor
      /etc/nixos yapılandırmasını bir Git deposuna taşıyabilir ve nixos-install --flake <repo> komutuyla tam yapılandırma dağıtımı yapabilirsiniz
      Home-manager ile birlikte kullanırsanız kullanıcı dizinine kadar bildirime dayalı yönetim mümkün olur
      /etc dosyaları environment.etc ile, .config dosyaları ise home-manager seçenekleriyle yönetilebilir
      İlgili bağlantılar: environment.etc seçeneği, home-manager seçenekleri
    • mkOutOfStoreSymlink ile ilgili doküman ararken “çok basit, dokümana gerek yok” cevabını görünce gülmüştüm
      Buna rağmen NixOS'un avantajları o kadar büyük ki homelab → dizüstü → masaüstü sırasıyla tamamen geçiş yapıyorum
      Ama dokümantasyon durumu hâlâ umutsuz
    • Flake'in iki rolü var:
      1. Kod tabanının girdilerini ve çıktısını bildirmek
      2. Girdi kaynaklarının sürümünü sabitlemek (pinning)
        Yani Nix seviyesinde package.json ve lock dosyasının işlevini görüyor
    • Henüz kimsenin LLM kullanarak dokümantasyonu neden iyileştirmediğine şaşırıyorum
  • NixOS'u uzun zamandır seviyordum, LLM çağından sonra daha da çok sevmeye başladım
    Codex'e “Bu sunucu yapılandırmasını değiştirip wildcard sertifikanın çalışmasını sağla” dediğimde 5 dakika içinde çözüyor
    Yeniden üretilebilir sunucu yönetimi hiç bu kadar kolay olmamıştı

  • NixOS'a geçtikten sonra apt veya brew ile yönetilen dönem taş devri teknolojisi gibi geliyor
    Copilot gibi yapay zeka araçlarıyla da harika çalışıyor

    • NixOS %95 oranında harika ama kalan %5 gerçekten çok acı verici
      Bir sorunu çözmek için sıradan Linux'a göre daha derin anlayış gerekiyor
      Ama karşılığında karmaşıklığı en başta tek seferde ödüyorsunuz
    • 20 yıldır farklı Linux dağıtımları kullandım ama NixOS ilk kez bana “işte doğru çözüm bu” hissini verdi
      nix-shell ile geçici kurulumlar yapabilmek ya da tek bir yapılandırma dosyasından kurulu tüm paketleri görebilmek müthiş
      Otomatik snapshot'lar sayesinde deney yapmaktan korkmuyorum. Bir şey bozulursa önceki nesle önyüklemek yeterli
      Eskiden kernel parametrelerini değiştirmek gözümü korkuturdu ama artık rahatça deniyorum
      Lisp sevdiğim için Guix System'i de düşündüm ama gerçek kullanım açısından NixOS daha iyi
  • Keşke NixOS'un alışılmadık dosya sistemi yapısı olmasa
    Bu yapı aynı anda birden fazla Python sürümü kullanma sorununu çözmeye yönelik ama benim için gerekli değil
    Ben sadece tüm makinelerde aynı yapılandırmayı korumak istiyorum
    Şu anda Fedora bootc imajlarıyla Podman deniyorum ama nixos-rebuild switch gibi anında uygulama özelliği olmadığı için rahatsız edici
    Sonuçta mesele, kolay deney yapılabilen Nix ile standart dosya sistemine sahip Fedora arasındaki denge

  • NixOS'un en büyük avantajı CI önbelleğinin deterministik yeniden üretilebilirliği
    Paketleri her seferinde yeniden derlemeye gerek kalmıyor ve geliştirme ortamı kurmak da kolaylaşıyor

    • Nix'i CI'da kullanmak gerçekten çok uygun bir eşleşme
      Örneğin Tangled, tüm CI sistemini Nix ile kurdu ve GitHub Actions'ın önbellekleme sorununu tamamen çözdü
  • Sistemin tamamında değil ama devenv.sh'yi severek kullanıyorum
    Yerel konteynerlere göre geliştirme ortamı kurmayı çok daha kolaylaştırıyor

    • Ama sürüm sabitleme (pinning) yöntemi yeterince net değil
      asdf'nin .tool-versions dosyası kadar basit bir sürüm eşleme yöntemi olmaması üzücü
      Nix tarafı “bu yanlış yaklaşım” diyor ama ben yine de tek tek sürümleri sabitlemek istiyorum
    • home-manager ile farkının ne olduğunu merak ediyorum
    • Benzer bir ortam basit pkgs.mkShell ile de kurulabiliyor; o zaman neden özellikle devenv kullanılmalı, merak ediyorum
  • Ben NixOS'u da seviyorum ama Guix'i daha çok tercih ediyorum
    Guile diline daha aşinayım ve dokümantasyonu da daha iyi. İki sistemi kardeş gibi görüyorum

    • Guix'in daha fazla ilgi görmesi gerektiğini düşünüyorum
      Gerçek bir programlama dili (Scheme) kullanması büyük avantaj
      Basit bir yapılandırma diline göre çok daha güçlü bir temel sunuyor