{ pkgs, lib, inputs, ... }: with lib; let hyprPluginPkgs = inputs.hyprland-plugins.packages.${pkgs.system}; hypr-plugin-dir = pkgs.symlinkJoin { name = "hyrpland-plugins"; paths = with hyprPluginPkgs; [ hyprbars ]; }; in { programs.hyprland = { enable = true; package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; }; environment.sessionVariables = { HYPR_PLUGIN_DIR = hypr-plugin-dir; }; xdg.portal = { enable = true; xdgOpenUsePortal = true; extraPortals = with pkgs; [ kdePackages.xdg-desktop-portal-kde xdg-desktop-portal-gtk xdg-desktop-portal-wlr ]; config = { hyprland = { default = [ "hyprland" "gtk" ]; # "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; "org.freedesktop.impl.portal.FileChooser" = [ "kde" ]; }; }; }; # Optional, hint electron apps to use wayland: # environment.sessionVariables.NIXOS_OZONE_WL = "1"; # Enable the KDE Plasma Desktop Environment. services.displayManager.sddm.enable = true; services.desktopManager.plasma6.enable = true; services.displayManager.sddm.settings = { Autologin = { Session = "plasma.desktop"; User = "kyren"; }; }; # Enable the X11 windowing system. # You can disable this if you're only using the Wayland session. services.xserver.enable = true; # Configure keymap in X11 services.xserver.xkb = { layout = "us"; variant = ""; }; }