{ pkgs, inputs, ... }: let dbus-hyprland-environment = pkgs.writeTextFile { name = "dbus-hyprland-environment"; destination = "/bin/dbus-hyprland-environment"; executable = true; text = '' dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=hyprland systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr systemctl --user start pipewire wireplumber pipewire-media-session xdg-desktop-portal xdg-desktop-portal-hyprland ''; }; in { imports = [./greetd.nix]; environment = { systemPackages = with pkgs; [ dbus-hyprland-environment wayland glib grim slurp satty wl-clipboard wlr-randr swayidle swaylock-effects hyprpicker swww ]; sessionVariables = { GBM_BACKEND = "nvidia-drm"; __GL_GSYNC_ALLOWED = "0"; __GL_VRR_ALLOWED = "0"; WLR_DRM_NO_ATOMIC = "1"; XDG_SESSION_TYPE = "wayland"; __GLX_VENDOR_LIBRARY_NAME = "nvidia"; _JAVA_AWT_WM_NONREPARENTING = "1"; QT_QPA_PLATFORM = "wayland"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; GDK_BACKEND = "wayland"; WLR_NO_HARDWARE_CURSORS = "1"; MOZ_ENABLE_WAYLAND = "1"; WLR_BACKEND = "vulkan"; WLR_RENDERER = "vulkan"; XCURSOR_SIZE = "24"; NIXOS_OZONE_WL = "1"; EDITOR = "hx"; TERMINAL = "wezterm"; }; etc."greetd/environments".text = '' Hyprland ''; }; services.dbus.enable = true; xdg.portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gtk inputs.hyprland.packages.${system}.xdg-desktop-portal-hyprland ]; config = { common.default = "*"; }; }; }