1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-12-03 19:15:39 +00:00
nixpkgs/nixos/modules/services
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
..
admin nixos/meshcentral: init module 2021-07-29 11:42:42 +02:00
amqp nixos/rabbitmq: use port type 2021-06-18 17:26:27 +02:00
audio nixos/navidrome: init module and test 2021-08-17 10:32:25 -07:00
backup Merge pull request #133716 from misuzu/syncoid-permissions 2021-08-18 08:18:56 +02:00
blockchain/ethereum nixos/geth: Change default to snap sync 2021-08-03 09:13:02 -04:00
cluster kubernetes: fix flaky test and run tests as group 2021-08-16 14:59:58 +01:00
computing nixos/services/foldingathome: Add an option to set the "nice level" (#122864) 2021-05-18 18:44:52 +02:00
continuous-integration github-runner: Allow configuring the package to use (#134661) 2021-08-24 11:23:39 +02:00
databases Merge pull request #131545 from NickCao/influxdb2 2021-08-09 10:34:53 -07:00
desktops pipewire: updated JSON configs 2021-08-06 16:50:56 +03:00
development treewide: Port type adaptations 2021-08-11 00:45:08 +02:00
display-managers
editors nixos/infinoted: use port type 2021-06-18 17:32:03 +02:00
games nixos/terraria: adapt option types 2021-05-30 14:38:18 +02:00
hardware sane: Add support for the unfree Fujitsu ScanSnap drivers 2021-08-01 13:45:46 +02:00
logging nixos/promtail: Set TimeoutStopSec=10 2021-04-28 21:02:11 +02:00
mail nixos/postfixadmin: fix eval & pin to PHP 7.4 2021-08-24 23:50:31 +02:00
misc Merge pull request #135891 from Ma27/mautrix-telegram-perm-startup 2021-08-29 00:06:06 +02:00
monitoring nixos/grafana: start systemd service after database 2021-08-26 07:06:59 +09:00
network-filesystems nixos/litestream: init 2021-07-30 17:41:54 +02:00
networking Merge pull request #128189 from c0deaddict/feature/nats-service 2021-08-20 22:00:59 +02:00
printing
scheduling nixos/atd: prefer 'install' over 'mkdir/chmod/chown' 2021-05-01 15:16:19 +02:00
search
security nixos/hockeypuck: Add service for hockeypuck 2021-07-19 07:33:01 +02:00
system {uptimed,nixos/uptimed}: switch to /var/lib/ and fix perms 2021-07-31 01:05:44 +03:00
torrent deluge-1_x: Remove older version of Deluge (#134448) 2021-08-19 09:18:18 +02:00
ttys nixos/agetty: allow overriding the login program 2021-07-19 16:02:46 -07:00
video Merge pull request #123045 from kira-bruneau/replay-sorcery 2021-08-03 07:44:35 +02:00
wayland nixos: reduce pam files rebuilds on updates 2021-08-20 23:43:30 +02:00
web-apps nixos/nextcloud: remove invalid --database-table-prefix option 2021-08-27 20:21:25 +02:00
web-servers nixos/httpd: add none option to logFormat 2021-08-22 10:17:28 +02:00
x11 nixos/gnome: enable platform integration for Qt 2021-08-29 04:23:34 +02:00