From 0e4df9ea7453ea7b1fc19955696e2c3dd8551a55 Mon Sep 17 00:00:00 2001 From: matt1432 Date: Mon, 18 Mar 2024 19:04:09 -0400 Subject: [PATCH] feat(hyprland): use kde dialog instead of gtk's --- home/firefox/default.nix | 1 + modules/hyprland/default.nix | 20 ++++++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/home/firefox/default.nix b/home/firefox/default.nix index 76ffcdb..89b1859 100644 --- a/home/firefox/default.nix +++ b/home/firefox/default.nix @@ -38,6 +38,7 @@ in { "userChrome.tab.bottom_rounded_corner" = true; "userChrome.tab.bottom_rounded_corner.wave" = false; "userChrome.tab.bottom_rounded_corner.australis" = true; + "widget.use-xdg-desktop-portal.file-picker" = 1; # Open previous windows and tabs "browser.startup.page" = 3; diff --git a/modules/hyprland/default.nix b/modules/hyprland/default.nix index 2469960..ec55d43 100644 --- a/modules/hyprland/default.nix +++ b/modules/hyprland/default.nix @@ -18,7 +18,10 @@ in { ./security.nix ]; - environment.sessionVariables.NIXOS_OZONE_WL = "1"; + environment.sessionVariables = { + NIXOS_OZONE_WL = "1"; + GTK_USE_PORTAL = "1"; + }; environment.systemPackages = with pkgs; [ # Needed for hycov fork @@ -33,13 +36,22 @@ in { programs.hyprland = with hyprland.packages.${pkgs.system}; { enable = true; - package = default; + package = default.overrideAttrs (o: { + postFixup = '' + rm "$out/share/xdg-desktop-portal/hyprland-portals.conf" + + cat < "$out/share/xdg-desktop-portal/hyprland-portals.conf" + [preferred] + default=hyprland;gtk + org.freedesktop.impl.portal.FileChooser=kde + EOF + ''; + }); portalPackage = xdg-desktop-portal-hyprland; }; xdg.portal.extraPortals = [ - cfg.portalPackage - pkgs.xdg-desktop-portal-gtk + pkgs.xdg-desktop-portal-kde ]; # HOME-MANAGER CONFIG