41 lines
1.1 KiB
Nix
41 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
# Patch termfilechooser .portal to add Niri to UseIn
|
|
termfilechooser-niri = pkgs.xdg-desktop-portal-termfilechooser.overrideAttrs (old: {
|
|
postFixup =
|
|
(old.postFixup or "")
|
|
+ ''
|
|
substituteInPlace $out/share/xdg-desktop-portal/portals/termfilechooser.portal \
|
|
--replace-fail "wlroots;" "wlroots;Niri;"
|
|
'';
|
|
});
|
|
in {
|
|
xdg.portal = {
|
|
enable = true;
|
|
config = {
|
|
common = {
|
|
default = ["gnome" "gtk"];
|
|
"org.freedesktop.impl.portal.ScreenCast" = "gnome";
|
|
"org.freedesktop.impl.portal.Screenshot" = "gnome";
|
|
"org.freedesktop.impl.portal.RemoteDesktop" = "gnome";
|
|
"org.freedesktop.impl.portal.Secret" = ["gnome-keyring"];
|
|
"org.freedesktop.impl.portal.OpenURI" = "gtk";
|
|
# FileChooser covers both OpenFile and SaveFile use-cases
|
|
"org.freedesktop.impl.portal.FileChooser" = "termfilechooser";
|
|
};
|
|
};
|
|
extraPortals = [
|
|
pkgs.xdg-desktop-portal-gtk
|
|
pkgs.xdg-desktop-portal-gnome
|
|
termfilechooser-niri
|
|
];
|
|
};
|
|
|
|
environment.sessionVariables = {
|
|
NIX_XDG_DESKTOP_PORTAL_DIR = lib.mkForce null;
|
|
};
|
|
}
|