diff options
Diffstat (limited to 'modules/desktop/nixos/portals.nix')
| -rw-r--r-- | modules/desktop/nixos/portals.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/modules/desktop/nixos/portals.nix b/modules/desktop/nixos/portals.nix new file mode 100644 index 0000000..ff65868 --- /dev/null +++ b/modules/desktop/nixos/portals.nix @@ -0,0 +1,52 @@ +{ + pkgs, + lib, + config, + ... +}: let + useKdePortal = config.collinux.desktop.wm.sway.enable || config.collinux.desktop.wm.niri.enable; +in + lib.mkIf useKdePortal { + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + + config = { + common = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + + sway = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + + niri = { + default = [ + "kde" + "gtk" + ]; + "org.freedesktop.impl.portal.FileChooser" = ["kde"]; + }; + }; + + extraPortals = with pkgs; [ + kdePackages.xdg-desktop-portal-kde + xdg-desktop-portal-gtk + ]; + }; + + environment.sessionVariables = { + XDG_CURRENT_DESKTOP = "KDE"; + GTK_USE_PORTAL = "1"; + NIXOS_OZONE_WL = "1"; + MOZ_ENABLE_WAYLAND = "1"; + }; + } |
