Files
nixos-config/system/programs/xdg.nix
T

39 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;
};
}