nixos-hyprland-lua — Hyprland Lua Konfigürasyonu
Hyprland 0.55 ile gelen native Lua API’yi tam olarak kullanan NixOS flake modülü. Konfigürasyon iki repoya bölünmüş: bu repo Lua mantığına, nixos-config ise sistem entegrasyonuna sahip.
Mimari
Split-repo tasarımı bilinçli bir tercih. nixos-hyprland-lua Lua konfigürasyon katmanını ve servisleri yönetirken, nixos-config sadece bu modülü import eder ve keyboard layout, wallpaper gibi makineye özgü değerleri atar.
Bu repo:
lua/—binds.lua,autostart.lua, pencere kurallarıconfigs/— hyprlock, hypridle, wofimodule.nix— systemd user servisleri,home.packagesquickshell/— QML tabanlı status bar
nixos-config reposunda:
home/hyprland-lua.nix— modül enable,repoPath, wallpaper symlinkmodules/desktop/hyprland-lua.nix— NixOS sistem katmanı
Lua API Notu
Hyprland 0.55, exec_cmd + hyprctl dispatch çiftini deprecate etti. Tuş bağlamaları, resize ve movewindow için native hyprland.hs.keybind ve hyprland.hs.dispatch API’si zorunlu. y=0 olan resize çağrıları geçersiz sayılıyor.
Quickshell Bar
QML tabanlı status bar. Tray menüsü için UseQApplication pragma ve QsWindow.window referansı şart — bu olmadan QsMenuAnchor context menüsü açılmıyor.
Güncelleme Akışı
# nixos-hyprland-lua reposunda değişiklik yapıldıktan sonra:
just lua-deploy "commit mesajı"
# → Codeberg'e push + nixos-config flake.lock güncelleme + rebuild