Files
copnix/nixos/desktop/window-managers/hyprland.nix
T

41 lines
1.4 KiB
Nix

{ pkgs, ... }:
{
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
xdg.portal = {
enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-hyprland pkgs.xdg-desktop-portal-gtk ];
config = {
common = {
default = [ "hyprland" "gtk" ];
"org.freedesktop.portal.FileChooser" = [ "gtk" ];
"org.freedesktop.portal.Screenshot" = [ "hyprland" ];
"org.freedesktop.portal.ScreenCast" = [ "hyprland" ];
};
};
};
environment.etc."xdg/xdg-desktop-portal/portals/gtk.portal".text = ''
[portal]
DBusName=org.freedesktop.impl.portal.desktop.gtk
Interfaces=org.freedesktop.impl.portal.FileChooser;org.freedesktop.impl.portal.AppChooser;org.freedesktop.impl.portal.Print;org.freedesktop.impl.portal.Notification;org.freedesktop.impl.portal.Inhibit;org.freedesktop.impl.portal.Access;org.freedesktop.impl.portal.Account;org.freedesktop.impl.portal.Email;org.freedesktop.impl.portal.DynamicLauncher;org.freedesktop.impl.portal.Lockdown;org.freedesktop.impl.portal.Settings;org.freedesktop.impl.portal.Wallpaper;
UseIn=gnome;Hyprland
'';
security.polkit.enable = true;
services.gnome.gnome-keyring.enable = true;
environment.sessionVariables = {
XDG_DATA_DIRS = [
"/run/current-system/sw/share"
"/home/elars/.nix-profile/share"
];
GTK_USE_PORTAL = "1";
GSETTINGS_SCHEMA_DIR = "${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}/glib-2.0/schemas";
};
}