nixpkgs/nixos/modules/services/x11
Jan Tojnar 47afdc4627 nixos/gnome: enable platform integration for Qt
Qt links against GTK to be able to use native GTK file chooser
in GTK-oriented DEs. However, GTK expects a specific environment,
which means the application needs to be wrapped to prevent crashes
when file chooser is opened in some environments.

This patch bypasses the need for wrapping Qt applications with GTK-related
environment since the file chooser dialogue will now come from a separate
process (instantiated by the XDG desktop portal via D-Bus).

In the future, we could remove the GTK dependency from Qt to fix the crashes
on non-{GNOME,Pantheon} environments. Then, users would be able to choose
between non-native Qt dialogue or native one facilitated by XDG portals
(e.g. through setting `QT_QPA_PLATFORMTHEME` to either `qgnomeplatform`,
or `xdgdesktopportal`).

One disadvantage is adding a Qt dependency to GNOME, even for people
who might not use any Qt apps. But they can easily just add `qt5.enable = false;`
to their NixOS configuration.

The configuration is also presumably less battle tested than plain Qt
with its first-party GTK integration. But it is backed by Fedora
and used by Manjaro GNOME so it cannot be that bad.

Lastly, I worry about ABI compatibility of the platform modules
with apps installed from different Nixpkgs revision.
2021-08-29 04:23:34 +02:00
..
desktop-managers nixos/gnome: enable platform integration for Qt 2021-08-29 04:23:34 +02:00
display-managers nixos/sx: init 2021-08-22 13:44:29 -04:00
hardware xserver: Generate readable config indentation 2021-06-17 03:34:40 +02:00
window-managers nixos: Improve awesome wm example 2021-08-22 00:17:50 +03:00
clight.nix nixos/clight: fix config file generation 2021-01-11 13:01:19 -05:00
colord.nix nixos/systemd: Implement a packages option for tmpfiles 2020-07-18 00:03:47 +02:00
extra-layouts.nix treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
fractalart.nix
gdk-pixbuf.nix nixos/gdk-pixbuf.nix: don’t set GDK_PIXBUF_MODULE_FILE in cross 2020-05-07 14:39:42 -05:00
imwheel.nix nixos/services.imwheel: sleep 3s before restarting 2020-08-22 14:52:18 +02:00
picom.nix nixos/picom: add experimentalBackends option 2020-09-09 11:30:48 +02:00
redshift.nix nixos/redshift: add executable option 2020-09-30 17:00:38 -06:00
terminal-server.nix utillinux: rename to util-linux 2020-11-24 12:42:06 -05:00
unclutter-xfixes.nix
unclutter.nix nixos/unclutter: fix remaining typo 2020-02-14 01:28:03 +01:00
urserver.nix nixos/urserver: init 2020-08-09 12:33:37 -07:00
urxvtd.nix nixos/urxvtd: use new package name for rxvt-unicode 2020-02-13 09:33:58 +01:00
xautolock.nix nixos/xautolock: always run systemctl of the currently running systemd 2020-05-21 10:33:37 +02:00
xbanish.nix
xfs.conf
xfs.nix
xserver.nix fontconfig service: drop dpi option 2021-08-20 16:55:07 +00:00