Merge pull request #234231 from bobby285271/add/xdg-desktop-portal-xapp

xdg-desktop-portal-xapp: init at 1.0.0
This commit is contained in:
Bobby Rong 2023-05-28 10:52:30 +08:00 committed by GitHub
commit 838dad5de9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 74 additions and 0 deletions

View file

@ -20,6 +20,8 @@
## Other Notable Changes {#sec-release-23.11-notable-changes}
- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.
- `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts.<name>.listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details.

View file

@ -187,6 +187,15 @@ in
xdg.mime.enable = true;
xdg.icons.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = [
pkgs.xdg-desktop-portal-xapp
(pkgs.xdg-desktop-portal-gtk.override {
# Do not build portals that we already have.
buildPortalsInGnome = false;
})
];
# Override GSettings schemas
environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-overrides}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";

View file

@ -0,0 +1,61 @@
{ stdenv
, lib
, fetchFromGitHub
, meson
, ninja
, pkg-config
, python3
, wrapGAppsHook
, cinnamon
, glib
, gsettings-desktop-schemas
, gtk3
, mate
, xdg-desktop-portal
}:
stdenv.mkDerivation rec {
pname = "xdg-desktop-portal-xapp";
version = "1.0.0";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "xdg-desktop-portal-xapp";
rev = version;
hash = "sha256-oXV4u/w4MWhKHf5vNbUNcyEJpKVFWcyEs1HEqo6eCyU=";
};
nativeBuildInputs = [
meson
ninja
pkg-config
python3
wrapGAppsHook
];
buildInputs = [
cinnamon.cinnamon-desktop # org.cinnamon.desktop.background
glib
gsettings-desktop-schemas # org.gnome.system.location
gtk3
mate.mate-desktop # org.mate.background
xdg-desktop-portal
];
mesonFlags = [
"-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user"
];
postPatch = ''
chmod +x data/meson_install_schemas.py
patchShebangs data/meson_install_schemas.py
'';
meta = with lib; {
description = "Backend implementation for xdg-desktop-portal for Cinnamon, MATE, Xfce";
homepage = "https://github.com/linuxmint/xdg-desktop-portal-xapp";
maintainers = teams.cinnamon.members;
platforms = platforms.linux;
license = licenses.lgpl21Plus;
};
}

View file

@ -35426,6 +35426,8 @@ with pkgs;
xdg-desktop-portal-wlr = callPackage ../development/libraries/xdg-desktop-portal-wlr { };
xdg-desktop-portal-xapp = callPackage ../development/libraries/xdg-desktop-portal-xapp { };
xdg-user-dirs = callPackage ../tools/X11/xdg-user-dirs { };
xdg-utils = callPackage ../tools/X11/xdg-utils {