NixOS Xantusia: Bir Sistemin Anatomisi
Her NixOS kullanıcısı er ya da geç aynı soruyla yüzleşir: Bu sistemi gerçekten anlıyor muyum, yoksa çalıştığı için mi dokunmuyorum?
Xantusia bu soruya verilmiş bir cevap. Bir kod adı, bir mimari karar, bir konfigürasyon felsefesi.
Temel Prensipler
Sistemin tüm konfigürasyonu tek bir Git reposunda yaşıyor. Herhangi bir makinede, herhangi bir zamanda aynı sistemi ayağa kaldırabilmek — bu NixOS’un verdiği söz. Xantusia bu sözü ciddiye alır.
Tek Doğru Kaynak (SSOT): /etc/nixos/ yok. Her şey ~/nixos-config/ içinde, Git geçmişiyle izleniyor. Bir değişiklik yapıldığında ne değiştiği, ne zaman değiştiği, neden değiştiği kayıt altında.
Deklaratif Mimari: Sistem kurulmaz, tanımlanır. Bir paket eklemek nix-install çalıştırmak değil, modules/desktop/apps.nix dosyasına bir satır eklemektir.
Flake Yapısı
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager.url = "github:nix-community/home-manager/release-26.05";
hyprland.url = "github:hyprwm/Hyprland?tag=v0.55.0";
nixos-hyprland-lua.url = "https://codeberg.org/xmrah/nixos-hyprland-lua";
sops-nix.url = "github:Mic92/sops-nix";
nix-gaming.url = "github:fufexan/nix-gaming";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
};
Kararlı kanal (26.05) temel, unstable kanal ise belirli paketler için seçici olarak kullanılıyor. Hyprland kendi upstream’inden geliyor çünkü distro paketleri her zaman geride kalıyor.
Modüler Yapı
modules/
core/ — temel sistem, kernel, ağ
desktop/ — hyprland-lua, kde, uygulamalar, fontlar
services/ — yerel AI, searxng, n8n
home/
hyprland-lua.nix
desktop.nix
terminal.nix
Her modül kendi mkIf koşuluyla çalışır. mySystem.desktop.hyprland = true ayarlandığında Hyprland modülü aktif olur — başka bir şey yapmaya gerek yok.
Donanım Katmanı
Ana makine: AMD Ryzen 5 7500F + Radeon RX 7700 XT (12GB VRAM). nixos-hardware modülü AMD CPU ve GPU için kernel parametrelerini otomatik optimize ediyor. amdgpu.freesync_video=1 ile FreeSync/VRR aktif, linux-zen kernel ile 180Hz ekran tam performansta çalışıyor.
BTRFS @home subvolume yapısı: sistem genelinde kalıcılık sağlarken gereksiz dosyaların birikmesini önlüyor. Rollback bir nixos-rebuild switch --rollback uzaklığında.
Güvenlik Katmanı
sops-nix: Şifreli sırlar (API anahtarları, şifreler) Git’te şifreli halde tutuluyor. Anahtar olmadan repo klonlansa bile sırlar okunamıyor.
Firejail + Ungoogled Chromium: Tarayıcı karantinada çalışıyor. ECH (Encrypted Client Hello) ve DoH (Cloudflare) ile SNI sızıntıları kapatılmış. IPv6 kernel’de devre dışı — DNS sızıntısı riski sıfıra indirilmiş.
ByeDPI: SOCKS5 tabanlı DPI bypass katmanı. DNSCrypt-Proxy ile birlikte çalışarak ağ katmanında tam kontrol sağlıyor.
Nesil Sistemi
Her nixos-rebuild switch yeni bir nesil oluşturuyor. Sistem çöktüğünde ya da bir güncelleme istemediğin bir değişiklik getirdiğinde boot menüsünden önceki nesile dönmek yeterli.
Linux 7.0.10-zen1, NixOS 26.05, Hyprland 0.55.0.
NixOS’u anlamak zaman alıyor. Ama bir kez anladıktan sonra başka bir sisteme dönmek zorlaşıyor — çünkü belirsizliğe değil, tanımlılığa alışıyorsun.