NixOS Yapılandırma Sistemi
Sistemimi bir dosyadan yönetiyorum — ve o dosya Codeberg’de açık kaynak.
Mimari
Tüm sistem yapılandırması flake.nix merkezinde organize edilmiş modüler bir Nix Flakes reposudur. Her servis ve özellik bağımsız bir modül dosyasında tanımlıdır; configuration.nix yalnızca bu modülleri import eder.
Kapsam
- Masaüstü: Hyprland 0.55.0 (UWSM), Quickshell (QML bar), SDDM (Wayland)
- Güvenlik: sops-nix ile şifreli secret yönetimi, age encryption
- AI Stack: Ollama (ROCm/AMD), Localmind MCP, yerel model depolama
- Geliştirme: VSCodium, Continue.dev, Claude Code, Neovim, Git
- Ağ: Tailscale, Syncthing
Tekrarlanabilirlik
flake.lock dosyası commit’lendiği için sistemin herhangi bir tarihsel versiyonu rebuild edilebilir:
# Yeni makineye aynı sistemi kur
git clone https://codeberg.org/xmrah/nixos-config
nixos-install --flake .#nixos
Kayıp: sıfır. Yapılandırma: birebir aynı.
Sops-nix ile Secret Yönetimi
Servis şifreleri (örn: miniflux_admin_password) plaintext dosyalarda değil; age ile şifrelenmiş secrets/secrets.yaml içinde saklanır ve Nix build zamanında çözülür. SSH ed25519 anahtarı age formatında decryption anahtarı olarak kullanılır.