u/xmrah

NixOS + Impermanence üzerinde KVM/QEMU kuracaklara ufak bir TR kaynak (ve rp_filter belası)
▲ 0 r/NixOS

NixOS + Impermanence üzerinde KVM/QEMU kuracaklara ufak bir TR kaynak (ve rp_filter belası)

NixOS günlük kullanım makinesinde (tmpfs root + impermanence) QEMU/KVM laboratuvarı kurarken can sıkan birkaç NixOS cilvesini çözdüm. Türkçe kaynak zaten yok denecek kadar az, buraya da teknik bir not olarak bırakıyorum:

  • NAT/Ağ Köprüsü Çıkmazı: Kurulan VM'lerin dış dünyaya (internet) bağlanamaması. NixOS'un varsayılan katı rp_filter (Reverse Path Filtering) ayarı virbr0 paketlerini sessizce yutuyor. Güvenlik duvarını tamamen kapatmak yerine networking.firewall.checkReversePath = "loose"; ekleyerek çözdük.
  • Impermanence Disk Düzeni: VM XML tanımlarını /var/lib/libvirt altında persist edip, devasa .qcow2 sanal disk imajlarını ana sistem yedeklerini/snapshots şişirmemesi adına aynı NVMe diskte /persist/libvirt-vms depolama havuzuna (storage pool) yönlendirdik.
  • BIOS / Power User Ayarları: KVM performansı için klasik SVM ve IOMMU haricinde; IOMMU gruplarını bölmek için PCIe ACS, vCPU gecikmesini (latency) düşürmek için x2APIC ayarlarını yapılandırırken; host üzerinde TSME (bellek şifreleme) özelliğinin devre dışı olduğunu doğrulayıp buna göre swap mitigasyonlarını uyguladık.
  • Windows Sürücüleri: Kurulum ekranında disklerin görünmeme sorununu virtio-win ISO'sundan viostor ile geçip, sistem kurulduktan sonra NetKVM, Balloon ve vioserial sürücülerini ayrıştırarak kurduk.

Sorgulama komutlarını ve virt.nix konfigürasyon detaylarını sitede topladım: https://xmrah.com/blog/2026-07-05-donanimdan-sanala-nixos-kvm-qemu-bios/

u/xmrah — 15 hours ago
▲ 0 r/NixOS

NixOS 26.05 ve systemd-initrd: Ephemeral Root Uyumlu mu?

NixOS 26.05 “Yarara” sürümüyle birlikte kaputun altındaki en büyük değişiklik nihayet varsayılan oldu: Eski bash betikli Stage 1 boot süreci yerini systemd-initrd’ye bıraktı.

İlk duyurulduğunda, özellikle impermanence (ephemeral root) kullananların forumlarda ve Reddit’te bu geçişten çekindiğini gördüm. Çünkü geleneksel olarak Btrfs veya ZFS rollback script’leri yazanlar, boot.initrd.postDeviceCommands gibi değişkenlerin systemd-initrd tarafından tamamen göz ardı edilmesinden şikayetçiydi. Haklılar da; systemd-initrd dünyasında bu temizlik işlemlerini çalıştırmak için Stage 1’e özel systemd servisleri yazmak, boot bağımlılıklarını yönetmek gerekiyor.

xmrah.com
u/xmrah — 2 days ago
▲ 11 r/NixOS

KeePassXC browser extension not working with ungoogled-chromium on NixOS? Firejail is the culprit.

Spent some time debugging why KeePassXC browser integration was silently failing with ungoogled-chromium. Everything looked correct — native messaging host JSON was in place, extension had nativeMessaging permission, KeePassXC had browser integration enabled. Still no connection.

Root cause: Chromium is wrapped with Firejail. The sandbox blocks access to KeePassXC's IPC sockets (/run/user/*/org.keepassxc.KeePassXC.BrowserServer etc.).

Firejail actually documents this in chromium-common.profile but leaves the fix commented out, suggesting you add it to chromium-common.local.

Fix for NixOS (modules/desktop/apps.nix):

environment.etc."firejail/chromium-common.local".text = ''
  noblacklist ''${RUNUSER}/app
  whitelist ''${RUNUSER}/app/org.keepassxc.KeePassXC
  whitelist ''${RUNUSER}/kpxc_server
  whitelist ''${RUNUSER}/org.keepassxc.KeePassXC.BrowserServer
'';

Rebuild and it works. The ''${RUNUSER} syntax is Nix's way of escaping ${...} inside indented strings so Firejail gets the literal variable at runtime.

reddit.com
u/xmrah — 28 days ago