NixOS: environment.sessionVariables vs environment.variables
Fark
environment.variables | environment.sessionVariables | |
|---|---|---|
| Ne zaman aktif | Sistem boot’unda (PAM) | Kullanıcı oturumu başladığında |
| Kapsamı | Tüm kullanıcılar, sistem geneli | Login session’ına göre |
| Değişiklik | Rebuild + reboot gerektirebilir | Logout/login yeterli |
| Nerede set edilir | /etc/environment | /etc/profile.d/ veya PAM |
Pratikte
Wayland compositor için ortam değişkenlerini sessionVariables ile tanımlamak daha doğru:
environment.sessionVariables = {
MOZ_ENABLE_WAYLAND = "1";
LIBVA_DRIVER_NAME = "radeonsi";
};
Bunlar display manager (SDDM) üzerinden başlayan Hyprland session’ında hazır olur.
environment.variables ise PATH gibi gerçekten sistem genelinde ve erken aşamada gerekli değişkenler için. Wayland değişkenlerini buraya taşırsan bazı session tipleri görmez.
Home Manager’da
home.sessionVariables ayrı bir seçenek — sadece o kullanıcı için ve ~/.profile üzerinden set edilir. Sistem NixOS modülündeki environment.sessionVariables’dan farklı.