diff --git a/nixos/modules/services/x11/desktop-managers/lxqt.nix b/nixos/modules/services/x11/desktop-managers/lxqt.nix index 1bc6c906c47..3c912d72611 100644 --- a/nixos/modules/services/x11/desktop-managers/lxqt.nix +++ b/nixos/modules/services/x11/desktop-managers/lxqt.nix @@ -62,6 +62,9 @@ in services.gvfs.enable = true; services.upower.enable = config.powerManagement.enable; + + xdg.portal.enable = true; + xdg.portal.extraPortals = [ pkgs.lxqt.xdg-desktop-portal-lxqt ]; }; } diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix index 5404c0c7753..c3f996552f2 100644 --- a/pkgs/desktops/lxqt/default.nix +++ b/pkgs/desktops/lxqt/default.nix @@ -49,6 +49,7 @@ let screengrab = callPackage ./screengrab {}; qlipper = callPackage ./qlipper {}; lxqt-archiver = callPackage ./lxqt-archiver {}; + xdg-desktop-portal-lxqt = callPackage ./xdg-desktop-portal-lxqt {}; preRequisitePackages = [ libsForQt5.kwindowsystem # provides some QT5 plugins needed by lxqt-panel diff --git a/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix new file mode 100644 index 00000000000..bda71c00e62 --- /dev/null +++ b/pkgs/desktops/lxqt/xdg-desktop-portal-lxqt/default.nix @@ -0,0 +1,41 @@ +{ lib +, mkDerivation +, fetchFromGitHub +, cmake +, kwindowsystem +, libfm-qt +, qtx11extras +, lxqtUpdateScript +}: + +mkDerivation rec { + pname = "xdg-desktop-portal-lxqt"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "lxqt"; + repo = pname; + rev = version; + sha256 = "15wld2p07sbf2i2qv86ljm479q0nr9r65wavmabmn3fkzkz5vlgf"; + }; + + nativeBuildInputs = [ + cmake + ]; + + buildInputs = [ + kwindowsystem + libfm-qt + qtx11extras + ]; + + passthru.updateScript = lxqtUpdateScript { inherit pname version src; }; + + meta = with lib; { + homepage = "https://github.com/lxqt/xdg-desktop-portal-lxqt"; + description = "Backend implementation for xdg-desktop-portal that is using Qt/KF5/libfm-qt"; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ romildo ]; + }; +}