{ config, pkgs, ... }: {
# x11
services.xserver.enable = true;
services.xserver = {
layout = "us";
xkbVariant = "";
};
# xdg portals
xdg.portal.enable = true;
xdg.portal.extraPortals = with pkgs; [
xdg-desktop-portal-wlr
];
# xdg mime
xdg.mime.enable = true;
xdg.mime.defaultApplications = {
"text/html" = "firefox.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"x-scheme-handler/about" = "firefox.desktop";
"x-scheme-handler/unknown" = "firefox.desktop";
# gnome
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# hyprland
programs.hyprland = {
enable = true;
package = pkgs.unstable.hyprland;
xwayland.enable = true;
# environment variables for hyprland
environment.sessionVariables = {
# hint electron apps to use wayland
NIXOS_OZONE_WL = "1";
}