summary refs log tree commit diff
path: root/pkgs/build-support/setup-hooks
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-07-24 00:36:12 +0200
committerJan Tojnar <jtojnar@gmail.com>2020-07-24 00:36:12 +0200
commit0be3b18d3e172549b25acf504d31daea541acc84 (patch)
treeeaaf605147ccf07236b156cf12ccaee2d023846f /pkgs/build-support/setup-hooks
parent49b89afcc22ba91265beddcbfd4b1fd5393c3512 (diff)
downloadnixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.tar
nixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.tar.gz
nixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.tar.bz2
nixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.tar.lz
nixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.tar.xz
nixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.tar.zst
nixpkgs-0be3b18d3e172549b25acf504d31daea541acc84.zip
wrapGAppsHook: add comments
Diffstat (limited to 'pkgs/build-support/setup-hooks')
-rw-r--r--pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix19
1 files changed, 18 insertions, 1 deletions
diff --git a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
index 50ef9b0f70d..5a87893d972 100644
--- a/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
+++ b/pkgs/build-support/setup-hooks/wrap-gapps-hook/default.nix
@@ -12,9 +12,26 @@
 }:
 
 makeSetupHook {
-  deps = lib.optional (!stdenv.isDarwin) dconf.lib ++ [
+  deps = lib.optionals (!stdenv.isDarwin) [
+    # It is highly probable that a program will use GSettings,
+    # at minimum through GTK file chooser dialogue.
+    # Let’s add a GIO module for “dconf” GSettings backend
+    # to avoid falling back to “memory” backend. This is
+    # required for GSettings-based settings to be persisted.
+    # Unfortunately, it also requires the user to have dconf
+    # D-Bus service enabled globally (e.g. through a NixOS module).
+    dconf.lib
+  ] ++ [
+    # TODO: remove this, packages should depend on GTK explicitly.
     gtk3
+
+    # librsvg provides a module for gdk-pixbuf to allow rendering
+    # SVG icons. Most icon themes are SVG-based and so are some
+    # graphics in GTK (e.g. cross for closing window in window title bar)
+    # so it is pretty much required for applications using GTK.
     librsvg
+
+    # We use the wrapProgram function.
     makeWrapper
   ];
   substitutions = {