{ pkgs, ... }: { # installs hyprland, and its dependencies programs = { hyprland = { enable = true; xwayland.enable = true; }; hyprlock.enable = true; gnupg.agent = { enable = true; #pinentryPackage = pkgs.pinentry-rofi; pinentryPackage = pkgs.pinentry-gnome3; #settings = { # keyserver-options = "auto-key-retrieve"; # auto-key-locate = "hkps://keys.openpgp.org"; # keyserver = "hkps://keys.openpgp.org"; #keyserver = "hkp://pgp.mit.edu"; # "na.pool.sks-keyservers.net" # "ipv4.pool.sks-keyservers.net" # "p80.pool.sks-keyservers.net" # ]; #}; }; ydotool.enable = true; }; # Optional, hint electron apps to use wayland: environment.sessionVariables.NIXOS_OZONE_WL = "1"; services = { xserver = { enable = true; displayManager.session = [ { manage = "desktop"; name = "hyprland"; start = '' bash ${./hypr/wrappedhl} & waitPID=$! ''; } ]; displayManager.gdm = { enable = true; wayland = true; }; }; dbus = { enable = true; implementation = "broker"; }; }; powerManagement = { enable = true; resumeCommands = '' ${pkgs.hyprlock}/bin/hyprlock -c /home/alice/.config/hypr/hyprlock.conf ''; }; environment.systemPackages = with pkgs; [ libsForQt5.qt5.qtwayland qt6.qtwayland ]; }