summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2023-06-22 14:49:31 +0300
committerArtturin <Artturin@artturin.com>2023-06-28 22:33:40 +0300
commit9999bf7a21105486d44b759f56fd1a05fb312d9e (patch)
tree4d0b0bed1f00ef09918079d24d1c64b797c7e268
parent08285c3efb441d273ae25316c26414f8bfd01540 (diff)
downloadnixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.tar
nixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.tar.gz
nixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.tar.bz2
nixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.tar.lz
nixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.tar.xz
nixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.tar.zst
nixpkgs-9999bf7a21105486d44b759f56fd1a05fb312d9e.zip
treewide: gobject-introspection from buildInputs to nativeBuildInputs
gobject-introspection should be in nativeBuildInputs for cross to work
properly (so propagations and hook work properly)
-rw-r--r--pkgs/applications/audio/hushboard/default.nix2
-rw-r--r--pkgs/applications/audio/lyrebird/default.nix4
-rw-r--r--pkgs/applications/audio/rhythmbox/default.nix2
-rw-r--r--pkgs/applications/audio/soundconverter/default.nix2
-rw-r--r--pkgs/applications/audio/tauon/default.nix2
-rw-r--r--pkgs/applications/editors/apostrophe/default.nix4
-rw-r--r--pkgs/applications/editors/gnome-inform7/default.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix3
-rw-r--r--pkgs/applications/file-managers/portfolio-filemanager/default.nix1
-rw-r--r--pkgs/applications/graphics/komikku/default.nix1
-rw-r--r--pkgs/applications/graphics/ocrfeeder/default.nix2
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix9
-rw-r--r--pkgs/applications/misc/auto-multiple-choice/default.nix2
-rw-r--r--pkgs/applications/misc/caerbannog/default.nix1
-rw-r--r--pkgs/applications/misc/cobang/default.nix2
-rw-r--r--pkgs/applications/misc/confy/default.nix2
-rw-r--r--pkgs/applications/misc/dialect/default.nix1
-rw-r--r--pkgs/applications/misc/gramps/default.nix4
-rw-r--r--pkgs/applications/misc/markets/default.nix4
-rw-r--r--pkgs/applications/misc/nwg-drawer/default.nix4
-rw-r--r--pkgs/applications/misc/redshift/default.nix2
-rw-r--r--pkgs/applications/misc/shipments/default.nix2
-rw-r--r--pkgs/applications/misc/siglo/default.nix2
-rw-r--r--pkgs/applications/misc/skytemple/default.nix1
-rw-r--r--pkgs/applications/misc/sticky/default.nix1
-rw-r--r--pkgs/applications/misc/swaysettings/default.nix2
-rw-r--r--pkgs/applications/misc/tuhi/default.nix3
-rw-r--r--pkgs/applications/misc/variety/default.nix1
-rw-r--r--pkgs/applications/misc/workrave/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/gajim/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gotktrix/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/mailnag/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix5
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix2
-rw-r--r--pkgs/applications/office/bookworm/default.nix2
-rw-r--r--pkgs/applications/office/foliate/default.nix3
-rw-r--r--pkgs/applications/video/entangle/default.nix2
-rw-r--r--pkgs/applications/video/flowblade/default.nix2
-rw-r--r--pkgs/applications/video/recapp/default.nix2
-rw-r--r--pkgs/applications/video/xplayer/default.nix2
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix3
-rw-r--r--pkgs/applications/window-managers/i3/pystatus.nix6
-rw-r--r--pkgs/build-support/rust/default-crate-overrides.nix4
-rw-r--r--pkgs/desktops/cinnamon/bulky/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-desktop/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-menus/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/cjs/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/muffin/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix2
-rw-r--r--pkgs/desktops/cinnamon/xapp/default.nix2
-rw-r--r--pkgs/desktops/deepin/go-package/go-gir-generator/default.nix2
-rw-r--r--pkgs/desktops/gnome/apps/gnome-music/default.nix1
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/mutter/43/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix1
-rw-r--r--pkgs/development/libraries/aravis/default.nix3
-rw-r--r--pkgs/development/libraries/arrow-glib/default.nix2
-rw-r--r--pkgs/development/libraries/geis/default.nix4
-rw-r--r--pkgs/development/libraries/geoclue/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix1
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix1
-rw-r--r--pkgs/development/libraries/keybinder/default.nix4
-rw-r--r--pkgs/development/libraries/lasso/default.nix2
-rw-r--r--pkgs/development/libraries/liblangtag/default.nix4
-rw-r--r--pkgs/development/libraries/libmx/default.nix3
-rw-r--r--pkgs/development/libraries/libunique/3.x.nix4
-rw-r--r--pkgs/development/libraries/osm-gps-map/default.nix4
-rw-r--r--pkgs/development/python-modules/gaphas/default.nix2
-rw-r--r--pkgs/development/python-modules/gtimelog/default.nix4
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix3
-rw-r--r--pkgs/development/python-modules/skytemple-ssb-debugger/default.nix2
-rw-r--r--pkgs/development/ruby-modules/gem-config/default.nix4
-rw-r--r--pkgs/games/gscrabble/default.nix4
-rw-r--r--pkgs/games/gshogi/default.nix3
-rw-r--r--pkgs/games/jumpnbump/default.nix4
-rw-r--r--pkgs/games/minecraft/default.nix3
-rw-r--r--pkgs/os-specific/linux/tiscamera/default.nix2
-rw-r--r--pkgs/servers/imgproxy/default.nix4
-rw-r--r--pkgs/tools/audio/headset-charge-indicator/default.nix3
-rw-r--r--pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus/default.nix2
-rw-r--r--pkgs/tools/misc/clipster/default.nix3
-rw-r--r--pkgs/tools/misc/ldmtool/default.nix4
-rw-r--r--pkgs/tools/misc/rmlint/default.nix2
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix1
-rw-r--r--pkgs/tools/networking/networkmanager/dmenu/default.nix3
-rw-r--r--pkgs/tools/networking/whatip/default.nix2
-rw-r--r--pkgs/tools/security/gencfsm/default.nix2
-rw-r--r--pkgs/tools/system/gkraken/default.nix1
-rw-r--r--pkgs/tools/text/textpieces/default.nix2
100 files changed, 117 insertions, 132 deletions
diff --git a/pkgs/applications/audio/hushboard/default.nix b/pkgs/applications/audio/hushboard/default.nix
index e9d88d1f236..f0fde190db9 100644
--- a/pkgs/applications/audio/hushboard/default.nix
+++ b/pkgs/applications/audio/hushboard/default.nix
@@ -26,10 +26,10 @@ buildPythonApplication {
 
   nativeBuildInputs = [
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     gtk3
     libappindicator
     libpulseaudio
diff --git a/pkgs/applications/audio/lyrebird/default.nix b/pkgs/applications/audio/lyrebird/default.nix
index 055662ce743..888087afb79 100644
--- a/pkgs/applications/audio/lyrebird/default.nix
+++ b/pkgs/applications/audio/lyrebird/default.nix
@@ -34,9 +34,9 @@ python3Packages.buildPythonApplication rec {
 
   propagatedBuildInputs = with python3Packages; [ toml pygobject3 ];
 
-  nativeBuildInputs = [ wrapGAppsHook ];
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
 
-  buildInputs = [ gtk3 gobject-introspection sox ];
+  buildInputs = [ gtk3 sox ];
 
   dontWrapGApps = true;
   makeWrapperArgs = [
diff --git a/pkgs/applications/audio/rhythmbox/default.nix b/pkgs/applications/audio/rhythmbox/default.nix
index 9cd6b0d9ae0..394ccc3b723 100644
--- a/pkgs/applications/audio/rhythmbox/default.nix
+++ b/pkgs/applications/audio/rhythmbox/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
     itstool
     wrapGAppsHook
     desktop-file-utils
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -72,7 +73,6 @@ stdenv.mkDerivation rec {
     brasero
     grilo
 
-    gobject-introspection
     python3.pkgs.pygobject3
 
     gst_all_1.gstreamer
diff --git a/pkgs/applications/audio/soundconverter/default.nix b/pkgs/applications/audio/soundconverter/default.nix
index 208d50a2773..bc7a6ea5a1f 100644
--- a/pkgs/applications/audio/soundconverter/default.nix
+++ b/pkgs/applications/audio/soundconverter/default.nix
@@ -17,7 +17,6 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     gtk3
     fdk-aac-encoder
-    gobject-introspection
     gst_all_1.gst-libav
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -28,6 +27,7 @@ python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [
     intltool
     wrapGAppsHook
+    gobject-introspection
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix
index 43724953eea..18e0cfe257f 100644
--- a/pkgs/applications/audio/tauon/default.nix
+++ b/pkgs/applications/audio/tauon/default.nix
@@ -70,11 +70,11 @@ stdenv.mkDerivation (finalAttrs: {
   nativeBuildInputs = [
     pkg-config
     python3Packages.wrapPython
+    gobject-introspection
   ];
 
   buildInputs = [
     flac
-    gobject-introspection
     gtk3
     libappindicator
     libnotify
diff --git a/pkgs/applications/editors/apostrophe/default.nix b/pkgs/applications/editors/apostrophe/default.nix
index 674b2733080..00bb6dea325 100644
--- a/pkgs/applications/editors/apostrophe/default.nix
+++ b/pkgs/applications/editors/apostrophe/default.nix
@@ -24,9 +24,9 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ meson ninja pkg-config desktop-file-utils
-    appstream-glib wrapGAppsHook sassc ];
+    appstream-glib wrapGAppsHook sassc gobject-introspection ];
 
-  buildInputs = [ glib pythonEnv gobject-introspection gtk3
+  buildInputs = [ glib pythonEnv gtk3
     gnome.adwaita-icon-theme webkitgtk gspell texlive
     glib-networking libhandy ];
 
diff --git a/pkgs/applications/editors/gnome-inform7/default.nix b/pkgs/applications/editors/gnome-inform7/default.nix
index 509eee06e2b..3b73e0843d9 100644
--- a/pkgs/applications/editors/gnome-inform7/default.nix
+++ b/pkgs/applications/editors/gnome-inform7/default.nix
@@ -23,10 +23,10 @@ let
       docbook2x
       docbook-xsl-nons
       wrapGAppsHook
+      gobject-introspection
     ];
     buildInputs = [
       gtk3
-      gobject-introspection
       vala gtk-doc
     ];
   });
@@ -50,10 +50,10 @@ let
       python3
       glib
       wrapGAppsHook
+      gobject-introspection
     ];
     buildInputs = [
       gtk3
-      gobject-introspection
       vala
       gtk-doc
       gst_all_1.gstreamer
diff --git a/pkgs/applications/editors/vim/plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 5c489d6d2ab..f4102f70f93 100644
--- a/pkgs/applications/editors/vim/plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -1052,9 +1052,8 @@ self: super: {
       svedbackend = stdenv.mkDerivation {
         name = "svedbackend-${super.sved.name}";
         inherit (super.sved) src;
-        nativeBuildInputs = [ wrapGAppsHook ];
+        nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
         buildInputs = [
-          gobject-introspection
           glib
           (python3.withPackages (ps: with ps; [ pygobject3 pynvim dbus-python ]))
         ];
diff --git a/pkgs/applications/file-managers/portfolio-filemanager/default.nix b/pkgs/applications/file-managers/portfolio-filemanager/default.nix
index e0b9954e1f5..dabf1302693 100644
--- a/pkgs/applications/file-managers/portfolio-filemanager/default.nix
+++ b/pkgs/applications/file-managers/portfolio-filemanager/default.nix
@@ -49,7 +49,6 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     glib
     gtk3
-    gobject-introspection
     libhandy
     librsvg
   ];
diff --git a/pkgs/applications/graphics/komikku/default.nix b/pkgs/applications/graphics/komikku/default.nix
index 8676883628c..97b18ba0654 100644
--- a/pkgs/applications/graphics/komikku/default.nix
+++ b/pkgs/applications/graphics/komikku/default.nix
@@ -47,7 +47,6 @@ python3.pkgs.buildPythonApplication rec {
     libadwaita
     libnotify
     webkitgtk_6_0
-    gobject-introspection
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/graphics/ocrfeeder/default.nix b/pkgs/applications/graphics/ocrfeeder/default.nix
index 9e516f21106..1c473d2c41f 100644
--- a/pkgs/applications/graphics/ocrfeeder/default.nix
+++ b/pkgs/applications/graphics/ocrfeeder/default.nix
@@ -31,11 +31,11 @@ stdenv.mkDerivation rec {
     intltool
     itstool
     libxml2
+    gobject-introspection
   ];
 
   buildInputs = [
     gtk3
-    gobject-introspection
     goocanvas2
     gtkspell3
     isocodes
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index b283a6d4083..490a89b30b8 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -26,6 +26,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
   nativeBuildInputs = [
     file
     intltool
+    gobject-introspection
   ];
 
   # Package has no generally usable unit tests.
@@ -37,13 +38,9 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     $out/bin/rapid-photo-downloader --detailed-version
   '';
 
-  # NOTE: Without gobject-introspection in buildInputs and strictDeps = false,
-  #       launching fails with:
-  #       "Namespace [Notify / GExiv2 / GUdev] not available"
   buildInputs = [
     gdk-pixbuf
     gexiv2
-    gobject-introspection
     gst_all_1.gst-libav
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -54,6 +51,10 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
     udisks
   ];
 
+  # NOTE: Check if strictDeps can be renabled
+  # at the time of writing this the dependency easygui fails to build
+  #       launching fails with:
+  #       "Namespace [Notify / GExiv2 / GUdev] not available"
   strictDeps = false;
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/applications/misc/auto-multiple-choice/default.nix b/pkgs/applications/misc/auto-multiple-choice/default.nix
index d811540e589..ef91009391b 100644
--- a/pkgs/applications/misc/auto-multiple-choice/default.nix
+++ b/pkgs/applications/misc/auto-multiple-choice/default.nix
@@ -99,6 +99,7 @@ stdenv.mkDerivation (finalAttrs: rec {
     pkg-config
     makeWrapper
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -106,7 +107,6 @@ stdenv.mkDerivation (finalAttrs: rec {
     cairo.dev
     dblatex
     gnumake
-    gobject-introspection
     graphicsmagick
     gsettings-desktop-schemas
     gtk3
diff --git a/pkgs/applications/misc/caerbannog/default.nix b/pkgs/applications/misc/caerbannog/default.nix
index 833ecd32788..2825b371e06 100644
--- a/pkgs/applications/misc/caerbannog/default.nix
+++ b/pkgs/applications/misc/caerbannog/default.nix
@@ -38,7 +38,6 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     gtk3
     atk
-    gobject-introspection
     libhandy
     libnotify
     pango
diff --git a/pkgs/applications/misc/cobang/default.nix b/pkgs/applications/misc/cobang/default.nix
index a1430a8b5e3..d8f8932fd73 100644
--- a/pkgs/applications/misc/cobang/default.nix
+++ b/pkgs/applications/misc/cobang/default.nix
@@ -59,8 +59,6 @@ buildPythonApplication rec {
   buildInputs = [
     atk
     gdk-pixbuf
-    # Needed to detect namespaces
-    gobject-introspection
     gst-plugins-good
     libhandy
     networkmanager
diff --git a/pkgs/applications/misc/confy/default.nix b/pkgs/applications/misc/confy/default.nix
index b015d7059ed..e073248404e 100644
--- a/pkgs/applications/misc/confy/default.nix
+++ b/pkgs/applications/misc/confy/default.nix
@@ -29,10 +29,10 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     gtk3
     libhandy
     libnotify
diff --git a/pkgs/applications/misc/dialect/default.nix b/pkgs/applications/misc/dialect/default.nix
index 8c04161844b..ebfbfedf53d 100644
--- a/pkgs/applications/misc/dialect/default.nix
+++ b/pkgs/applications/misc/dialect/default.nix
@@ -45,7 +45,6 @@ python3.pkgs.buildPythonApplication rec {
   buildInputs = [
     gtk4
     glib
-    gobject-introspection
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     libsoup_3
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 9424ceeee51..173afec4aa6 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -12,8 +12,8 @@ in buildPythonApplication rec {
   version = "5.1.4";
   pname = "gramps";
 
-  nativeBuildInputs = [ wrapGAppsHook intltool gettext ];
-  buildInputs = [ gtk3 gobject-introspection pango gexiv2 ]
+  nativeBuildInputs = [ wrapGAppsHook intltool gettext gobject-introspection ];
+  buildInputs = [ gtk3 pango gexiv2 ]
     # Map support
     ++ lib.optionals enableOSM [ osm-gps-map glib-networking ]
     # Graphviz support
diff --git a/pkgs/applications/misc/markets/default.nix b/pkgs/applications/misc/markets/default.nix
index ccf56da05a2..436891482f1 100644
--- a/pkgs/applications/misc/markets/default.nix
+++ b/pkgs/applications/misc/markets/default.nix
@@ -17,10 +17,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils glib gtk3 meson ninja pkg-config python3 vala
-    wrapGAppsHook
+    wrapGAppsHook gobject-introspection
   ];
   buildInputs = [
-    glib glib-networking gobject-introspection gtk3 json-glib libgee libhandy
+    glib glib-networking gtk3 json-glib libgee libhandy
     libsoup
   ];
 
diff --git a/pkgs/applications/misc/nwg-drawer/default.nix b/pkgs/applications/misc/nwg-drawer/default.nix
index 23edd6e2742..ad2850910cb 100644
--- a/pkgs/applications/misc/nwg-drawer/default.nix
+++ b/pkgs/applications/misc/nwg-drawer/default.nix
@@ -22,8 +22,8 @@ buildGoModule rec {
 
   vendorHash = "sha256-RehZ86XuFs1kbm9V3cgPz1SPG3izK7/6fHQjPTHOYZs=";
 
-  buildInputs = [ cairo gobject-introspection gtk3 gtk-layer-shell ];
-  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
+  buildInputs = [ cairo gtk3 gtk-layer-shell ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook gobject-introspection ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/redshift/default.nix b/pkgs/applications/misc/redshift/default.nix
index 10bb6a78270..70d30ea054e 100644
--- a/pkgs/applications/misc/redshift/default.nix
+++ b/pkgs/applications/misc/redshift/default.nix
@@ -33,6 +33,7 @@ let
         pkg-config
         wrapGAppsHook
         wrapPython
+        gobject-introspection
       ];
 
       configureFlags = [
@@ -47,7 +48,6 @@ let
       ];
 
       buildInputs = [
-        gobject-introspection
         gtk3
         python
       ] ++ lib.optional  withRandr        libxcb
diff --git a/pkgs/applications/misc/shipments/default.nix b/pkgs/applications/misc/shipments/default.nix
index 5b1332a91d7..947c8f15b0b 100644
--- a/pkgs/applications/misc/shipments/default.nix
+++ b/pkgs/applications/misc/shipments/default.nix
@@ -27,10 +27,10 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     gtk3
     libhandy
     (python3.withPackages (ps: with ps; [
diff --git a/pkgs/applications/misc/siglo/default.nix b/pkgs/applications/misc/siglo/default.nix
index ad849bf6992..ee28b2fcb55 100644
--- a/pkgs/applications/misc/siglo/default.nix
+++ b/pkgs/applications/misc/siglo/default.nix
@@ -40,12 +40,12 @@ stdenv.mkDerivation rec {
     python3
     desktop-file-utils
     gtk3
+    gobject-introspection
   ];
 
   buildInputs = [
     gtk3
     python3.pkgs.gatt
-    gobject-introspection
   ];
 
   pythonPath = with python3.pkgs; [
diff --git a/pkgs/applications/misc/skytemple/default.nix b/pkgs/applications/misc/skytemple/default.nix
index c1a77d634d3..d347bb3af57 100644
--- a/pkgs/applications/misc/skytemple/default.nix
+++ b/pkgs/applications/misc/skytemple/default.nix
@@ -20,7 +20,6 @@ python3Packages.buildPythonApplication rec {
   };
 
   buildInputs = [
-    gobject-introspection
     gtk3
     gtksourceview4
     # webkitgkt is used for rendering interactive statistics graph which
diff --git a/pkgs/applications/misc/sticky/default.nix b/pkgs/applications/misc/sticky/default.nix
index f8581135bb5..0d1026f053f 100644
--- a/pkgs/applications/misc/sticky/default.nix
+++ b/pkgs/applications/misc/sticky/default.nix
@@ -33,7 +33,6 @@ python3.pkgs.buildPythonApplication rec {
 
   buildInputs = [
     glib
-    gobject-introspection
     cinnamon.xapp
     gspell
   ];
diff --git a/pkgs/applications/misc/swaysettings/default.nix b/pkgs/applications/misc/swaysettings/default.nix
index ce5672337be..babd312d3ed 100644
--- a/pkgs/applications/misc/swaysettings/default.nix
+++ b/pkgs/applications/misc/swaysettings/default.nix
@@ -46,13 +46,13 @@ stdenv.mkDerivation rec {
     python3
     vala
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
     accountsservice
     dbus
     glib
-    gobject-introspection
     gsettings-desktop-schemas
     gtk-layer-shell
     gtk3
diff --git a/pkgs/applications/misc/tuhi/default.nix b/pkgs/applications/misc/tuhi/default.nix
index 641723016a8..1b26f455649 100644
--- a/pkgs/applications/misc/tuhi/default.nix
+++ b/pkgs/applications/misc/tuhi/default.nix
@@ -34,9 +34,10 @@ python3Packages.buildPythonApplication rec {
     pkg-config meson ninja
     appstream-glib desktop-file-utils
     wrapGAppsHook
+    gobject-introspection
   ];
   buildInputs = [
-    gtk3 gobject-introspection
+    gtk3
     glib
   ];
   nativeCheckInputs = with python3Packages; [ flake8 pytest ];
diff --git a/pkgs/applications/misc/variety/default.nix b/pkgs/applications/misc/variety/default.nix
index da6d7b48696..db6ab6d6a90 100644
--- a/pkgs/applications/misc/variety/default.nix
+++ b/pkgs/applications/misc/variety/default.nix
@@ -38,7 +38,6 @@ python3.pkgs.buildPythonApplication rec {
 
   buildInputs = [
     gexiv2
-    gobject-introspection
     gtk3
     hicolor-icon-theme
     libnotify
diff --git a/pkgs/applications/misc/workrave/default.nix b/pkgs/applications/misc/workrave/default.nix
index a7a8e1321ca..1f837cecc64 100644
--- a/pkgs/applications/misc/workrave/default.nix
+++ b/pkgs/applications/misc/workrave/default.nix
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
     pkg-config
     wrapGAppsHook
     jinja2
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -62,7 +63,6 @@ stdenv.mkDerivation rec {
     libSM
     libXScrnSaver
     libXtst
-    gobject-introspection
     glib
     glibmm
     gtkmm3
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index 89f02114f42..0508b4a19ef 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -28,7 +28,6 @@ python3.pkgs.buildPythonApplication rec {
 
   buildInputs = with gst_all_1; [
     glib-networking
-    gobject-introspection
     gst-libav
     gst-plugins-base
     gst-plugins-ugly
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 7d296e417bd..d4e8bf191db 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -46,11 +46,11 @@ stdenv.mkDerivation rec {
     pkg-config
     wrapGAppsHook
     gettext
+    gobject-introspection
   ];
 
   buildInputs = [
     qrencode
-    gobject-introspection
     glib
     glib-networking # required for TLS support
     libadwaita
diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix
index bc3269721b7..04fa3ea9b1e 100644
--- a/pkgs/applications/networking/instant-messengers/gajim/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix
@@ -32,7 +32,7 @@ python3.pkgs.buildPythonApplication rec {
   format = "pyproject";
 
   buildInputs = [
-    gobject-introspection gtk3 gnome.adwaita-icon-theme
+    gtk3 gnome.adwaita-icon-theme
     gtksourceview4
     glib-networking
   ] ++ lib.optionals enableJingle [ farstream gstreamer gst-plugins-base gst-libav gst-plugins-good libnice ]
@@ -42,7 +42,7 @@ python3.pkgs.buildPythonApplication rec {
     ++ lib.optional enableAppIndicator libappindicator-gtk3;
 
   nativeBuildInputs = [
-    gettext wrapGAppsHook
+    gettext wrapGAppsHook gobject-introspection
   ];
 
   dontWrapGApps = true;
diff --git a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
index e71d5c020fe..df75f7192bf 100644
--- a/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gotktrix/default.nix
@@ -23,10 +23,9 @@ buildGoModule rec {
   buildInputs = [
     gtk4
     glib
-    gobject-introspection
   ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config gobject-introspection ];
 
   # Checking requires a working display
   doCheck = false;
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/pkgs/applications/networking/instant-messengers/mikutter/default.nix
index ffc2eea5b86..b34ed84d044 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mikutter/default.nix
@@ -78,12 +78,11 @@ with mikutterPaths; stdenv.mkDerivation rec {
     sha256 = "05253nz4i1lmnq6czj48qdab2ny4vx2mznj6nsn2l1m2z6zqkwk3";
   };
 
-  nativeBuildInputs = [ copyDesktopItems wrapGAppsHook ]
+  nativeBuildInputs = [ copyDesktopItems wrapGAppsHook gobject-introspection ]
     ++ lib.optionals stdenv.isDarwin [ libicns ];
   buildInputs = [
     atk
     gtk2
-    gobject-introspection
     libnotify
     which # some plugins use it at runtime
     wrappedRuby
diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix
index 47c448c9b32..4f6b3015cf3 100644
--- a/pkgs/applications/networking/mailreaders/mailnag/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix
@@ -41,13 +41,13 @@ python3Packages.buildPythonApplication rec {
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-bad
-    gobject-introspection
     libsecret
   ] ++ pluginsDeps;
 
   nativeBuildInputs = [
     gettext
     wrapGAppsHook
+    gobject-introspection
     # To later add plugins to
     xorg.lndir
   ];
diff --git a/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix b/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix
index 1def97bd62d..bb758565eb8 100644
--- a/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix
+++ b/pkgs/applications/networking/mailreaders/mailnag/goa-plugin.nix
@@ -16,8 +16,11 @@ python3Packages.buildPythonPackage rec {
     sha256 = "0bij6cy96nhq7xzslx0fnhmiac629h0x4wgy67k4i4npwqw10680";
   };
 
-  buildInputs = [
+  nativeBuildInputs = [
     gobject-introspection
+  ];
+
+  buildInputs = [
     gnome-online-accounts
   ];
 
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index 68e2bec7ccc..bca6c566b74 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
     python3Packages.wrapPython
     intltool
     pkg-config
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -49,7 +50,6 @@ stdenv.mkDerivation rec {
     libpeas
     gsettings-desktop-schemas
     json-glib
-    gobject-introspection
     libsecret
     glib-networking
     libnotify
diff --git a/pkgs/applications/office/bookworm/default.nix b/pkgs/applications/office/bookworm/default.nix
index c30b9ede2bb..621fce9e457 100644
--- a/pkgs/applications/office/bookworm/default.nix
+++ b/pkgs/applications/office/bookworm/default.nix
@@ -44,13 +44,13 @@ stdenv.mkDerivation rec {
     pkg-config
     vala
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
     appstream
     desktop-file-utils
     glib
-    gobject-introspection
     gtk3
     html2text
     libgee
diff --git a/pkgs/applications/office/foliate/default.nix b/pkgs/applications/office/foliate/default.nix
index a2d0d73f790..294121b32ec 100644
--- a/pkgs/applications/office/foliate/default.nix
+++ b/pkgs/applications/office/foliate/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-Pr2YA2MHXD4W7lyCxGAVLKyoZarZ8t92RSkWle3LNuc=";
   };
 
-  nativeBuildInputs = [ meson ninja python3 wrapGAppsHook ];
+  nativeBuildInputs = [ meson ninja python3 wrapGAppsHook gobject-introspection ];
 
   postPatch = ''
     patchShebangs build-aux/meson/postinstall.py
@@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
     gtk3
     webkitgtk
     desktop-file-utils
-    gobject-introspection
     gsettings-desktop-schemas
   ];
 
diff --git a/pkgs/applications/video/entangle/default.nix b/pkgs/applications/video/entangle/default.nix
index b163fc2aa60..daf56c17445 100644
--- a/pkgs/applications/video/entangle/default.nix
+++ b/pkgs/applications/video/entangle/default.nix
@@ -70,6 +70,7 @@ stdenv.mkDerivation rec {
     python3 # for build scripts
     pkgconf
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -79,7 +80,6 @@ stdenv.mkDerivation rec {
     elfutils
     gexiv2
     glib
-    gobject-introspection
     gst-plugins-base
     gstreamer
     gtk3
diff --git a/pkgs/applications/video/flowblade/default.nix b/pkgs/applications/video/flowblade/default.nix
index 2e50dfa1218..844a878fd8c 100644
--- a/pkgs/applications/video/flowblade/default.nix
+++ b/pkgs/applications/video/flowblade/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    ffmpeg frei0r sox gtk3 gobject-introspection ladspaPlugins
+    ffmpeg frei0r sox gtk3 ladspaPlugins
     (python3.withPackages (ps: with ps; [ mlt pygobject3 dbus-python numpy pillow ]))
   ];
 
diff --git a/pkgs/applications/video/recapp/default.nix b/pkgs/applications/video/recapp/default.nix
index 7ec88af821e..1e644ff9f41 100644
--- a/pkgs/applications/video/recapp/default.nix
+++ b/pkgs/applications/video/recapp/default.nix
@@ -44,12 +44,12 @@ python3.pkgs.buildPythonApplication rec {
     ninja
     pkg-config
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
     libnotify
     librsvg
-    gobject-introspection
     gtk3
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
diff --git a/pkgs/applications/video/xplayer/default.nix b/pkgs/applications/video/xplayer/default.nix
index 56ba7957a5a..20a9772021a 100644
--- a/pkgs/applications/video/xplayer/default.nix
+++ b/pkgs/applications/video/xplayer/default.nix
@@ -67,13 +67,13 @@ stdenv.mkDerivation rec {
     itstool
     pkg-config
     yelp-tools
+    gobject-introspection
   ];
 
   buildInputs = [
     clutter-gst
     clutter-gtk
     glib
-    gobject-introspection
     gst-plugins-bad
     gst-plugins-base
     gst-plugins-good
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index b19f17275ad..3c377d011bd 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
     xmlto docbook_xml_dtd_45
     docbook_xsl findXMLCatalogs
     asciidoctor
+    gobject-introspection
   ];
 
   outputs = [ "out" "doc" ];
@@ -59,7 +60,7 @@ stdenv.mkDerivation rec {
   FONTCONFIG_FILE = toString fontsConf;
 
   propagatedUserEnvPkgs = [ hicolor-icon-theme ];
-  buildInputs = [ cairo librsvg dbus gdk-pixbuf gobject-introspection
+  buildInputs = [ cairo librsvg dbus gdk-pixbuf
                   git luaEnv libpthreadstubs libstartup_notification
                   libxdg_basedir lua nettools pango xcb-util-cursor
                   xorg.libXau xorg.libXdmcp xorg.libxcb xorg.libxshmfence
diff --git a/pkgs/applications/window-managers/i3/pystatus.nix b/pkgs/applications/window-managers/i3/pystatus.nix
index 3472c760428..73136980aa9 100644
--- a/pkgs/applications/window-managers/i3/pystatus.nix
+++ b/pkgs/applications/window-managers/i3/pystatus.nix
@@ -19,7 +19,11 @@ python3Packages.buildPythonApplication rec {
     sha256 = "18ygvkl92yr69kxsym57k1mc90asdxpz4b943i61qr0s4fc5n4mq";
   };
 
-  buildInputs = [ libpulseaudio libnotify gobject-introspection ];
+  nativeBuildInputs = [
+    gobject-introspection
+  ];
+
+  buildInputs = [ libpulseaudio libnotify ];
 
   propagatedBuildInputs = with python3Packages; [
     keyring colour netifaces psutil basiciw pygobject3
diff --git a/pkgs/build-support/rust/default-crate-overrides.nix b/pkgs/build-support/rust/default-crate-overrides.nix
index e4db2c8a057..f04eeeaa9bf 100644
--- a/pkgs/build-support/rust/default-crate-overrides.nix
+++ b/pkgs/build-support/rust/default-crate-overrides.nix
@@ -193,8 +193,8 @@ in
   };
 
   graphene-sys = attrs: {
-    nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ graphene gobject-introspection ];
+    nativeBuildInputs = [ pkg-config gobject-introspection ];
+    buildInputs = [ graphene ];
   };
 
   nettle-sys = attrs: {
diff --git a/pkgs/desktops/cinnamon/bulky/default.nix b/pkgs/desktops/cinnamon/bulky/default.nix
index 9b4a7bf6b5f..4863e0d4e1b 100644
--- a/pkgs/desktops/cinnamon/bulky/default.nix
+++ b/pkgs/desktops/cinnamon/bulky/default.nix
@@ -26,11 +26,11 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     gsettings-desktop-schemas
     gettext
+    gobject-introspection
   ];
 
   buildInputs = [
     (python3.withPackages (p: with p; [ pygobject3 magic setproctitle ]))
-    gobject-introspection
     gsettings-desktop-schemas
     gtk3
     glib
diff --git a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
index 5e736ea1fdc..e42e5a6069b 100644
--- a/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-desktop/default.nix
@@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
     xorg.libxkbfile
     xorg.libXext
     xorg.libXrandr
-    gobject-introspection
   ];
 
   nativeBuildInputs = [
@@ -51,6 +50,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     intltool
     pkg-config
+    gobject-introspection
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
index 1b5dbeb8d08..444a6877866 100644
--- a/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-menus/default.nix
@@ -22,7 +22,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    gobject-introspection
   ];
 
   nativeBuildInputs = [
@@ -30,6 +29,7 @@ stdenv.mkDerivation rec {
     ninja
     wrapGAppsHook
     pkg-config
+    gobject-introspection
   ];
 
   meta = with lib; {
diff --git a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
index c4cd8d9db02..195fff4a243 100644
--- a/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
+++ b/pkgs/desktops/cinnamon/cinnamon-screensaver/default.nix
@@ -48,11 +48,11 @@ stdenv.mkDerivation rec {
     libtool
     meson
     ninja
+    gobject-introspection
   ];
 
   buildInputs = [
     # from meson.build
-    gobject-introspection
     gtk3
     glib
 
diff --git a/pkgs/desktops/cinnamon/cjs/default.nix b/pkgs/desktops/cinnamon/cjs/default.nix
index 0c07b46822a..681d6afd4ea 100644
--- a/pkgs/desktops/cinnamon/cjs/default.nix
+++ b/pkgs/desktops/cinnamon/cjs/default.nix
@@ -33,10 +33,10 @@ stdenv.mkDerivation rec {
     pkg-config
     which # for locale detection
     libxml2 # for xml-stripblanks
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     cairo
     readline
     spidermonkey_102
diff --git a/pkgs/desktops/cinnamon/muffin/default.nix b/pkgs/desktops/cinnamon/muffin/default.nix
index 20a350cb525..b36948ecbb5 100644
--- a/pkgs/desktops/cinnamon/muffin/default.nix
+++ b/pkgs/desktops/cinnamon/muffin/default.nix
@@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
     python3
     wrapGAppsHook
     xorgserver # for cvt command
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -69,7 +70,6 @@ stdenv.mkDerivation rec {
     cinnamon-desktop
     dbus
     glib
-    gobject-introspection
     gtk3
     libcanberra
     libdrm
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index 18b2aff557f..cc43fe4d538 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -49,7 +49,6 @@ stdenv.mkDerivation rec {
     libexif
     exempi
     gvfs
-    gobject-introspection
     libgsf
   ];
 
@@ -60,6 +59,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook
     intltool
     shared-mime-info
+    gobject-introspection
   ];
 
   mesonFlags = [
diff --git a/pkgs/desktops/cinnamon/xapp/default.nix b/pkgs/desktops/cinnamon/xapp/default.nix
index 7139dce15c7..5b38d0662ea 100644
--- a/pkgs/desktops/cinnamon/xapp/default.nix
+++ b/pkgs/desktops/cinnamon/xapp/default.nix
@@ -44,10 +44,10 @@ stdenv.mkDerivation rec {
     python3
     vala
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     (python3.withPackages (ps: with ps; [
       pygobject3
       setproctitle # mate applet
diff --git a/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix b/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix
index 7f377d2a6e7..eecdbeb990b 100644
--- a/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix
+++ b/pkgs/desktops/deepin/go-package/go-gir-generator/default.nix
@@ -21,11 +21,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config
     go
+    gobject-introspection
   ];
 
   buildInputs = [
     libgudev
-    gobject-introspection
   ];
 
   makeFlags = [
diff --git a/pkgs/desktops/gnome/apps/gnome-music/default.nix b/pkgs/desktops/gnome/apps/gnome-music/default.nix
index d66efad0728..5c5aba52704 100644
--- a/pkgs/desktops/gnome/apps/gnome-music/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-music/default.nix
@@ -58,7 +58,6 @@ python3.pkgs.buildPythonApplication rec {
     glib
     libmediaart
     gnome-online-accounts
-    gobject-introspection
     gdk-pixbuf
     python3
     grilo
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index 528f44ae66d..afaca17fb6a 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -120,6 +120,7 @@ stdenv.mkDerivation rec {
     desktop-file-utils
     libxslt.bin
     asciidoc
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -153,7 +154,6 @@ stdenv.mkDerivation rec {
     ibus
     gnome-desktop
     gnome-settings-daemon
-    gobject-introspection
     mesa
 
     # recording
diff --git a/pkgs/desktops/gnome/core/mutter/43/default.nix b/pkgs/desktops/gnome/core/mutter/43/default.nix
index 9f029419b2d..8e948150524 100644
--- a/pkgs/desktops/gnome/core/mutter/43/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/43/default.nix
@@ -102,6 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
     wrapGAppsHook
     gi-docgen
     xorgserver
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -110,7 +111,6 @@ stdenv.mkDerivation (finalAttrs: {
     glib
     gnome-desktop
     gnome-settings-daemon
-    gobject-introspection
     gsettings-desktop-schemas
     gtk3
     libcanberra
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index c502eefa352..0ca34f70ee1 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -108,6 +108,7 @@ stdenv.mkDerivation (finalAttrs: {
     wrapGAppsHook4
     gi-docgen
     xorgserver
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -116,7 +117,6 @@ stdenv.mkDerivation (finalAttrs: {
     glib
     gnome-desktop
     gnome-settings-daemon
-    gobject-introspection
     gsettings-desktop-schemas
     atk
     fribidi
diff --git a/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix b/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix
index 835fa31dd29..1b09d4da0ef 100644
--- a/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix
+++ b/pkgs/desktops/gnome/extensions/gnome-browser-connector/default.nix
@@ -32,7 +32,6 @@ buildPythonApplication rec {
 
   buildInputs = [
     gnome.gnome-shell
-    gobject-introspection # for Gio typelib
   ];
 
   pythonPath = [
diff --git a/pkgs/development/libraries/aravis/default.nix b/pkgs/development/libraries/aravis/default.nix
index d5096a951a0..23c56a6706b 100644
--- a/pkgs/development/libraries/aravis/default.nix
+++ b/pkgs/development/libraries/aravis/default.nix
@@ -45,10 +45,11 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     gi-docgen
+    gobject-introspection
   ] ++ lib.optional enableViewer wrapGAppsHook;
 
   buildInputs =
-    [ glib libxml2 gobject-introspection ]
+    [ glib libxml2 ]
     ++ lib.optional enableUsb libusb1
     ++ lib.optionals (enableViewer || enableGstPlugin) (with gst_all_1; [ gstreamer gst-plugins-base (gst-plugins-good.override { gtkSupport = true; }) gst-plugins-bad ])
     ++ lib.optionals (enableViewer) [ gtk3 ];
diff --git a/pkgs/development/libraries/arrow-glib/default.nix b/pkgs/development/libraries/arrow-glib/default.nix
index 9c396f89d11..2e283d3c52e 100644
--- a/pkgs/development/libraries/arrow-glib/default.nix
+++ b/pkgs/development/libraries/arrow-glib/default.nix
@@ -18,12 +18,12 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
+    gobject-introspection
   ];
 
   buildInputs = [
     arrow-cpp
     glib
-    gobject-introspection
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
index fad65d7dd4c..17ef806ec9a 100644
--- a/pkgs/development/libraries/geis/default.nix
+++ b/pkgs/development/libraries/geis/default.nix
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
   pythonPath = with python3Packages;
     [ pygobject3  ];
 
-  nativeBuildInputs = [ pkg-config wrapGAppsHook python3Packages.wrapPython];
-  buildInputs = [ atk dbus evemu frame gdk-pixbuf gobject-introspection grail
+  nativeBuildInputs = [ pkg-config wrapGAppsHook python3Packages.wrapPython gobject-introspection ];
+  buildInputs = [ atk dbus evemu frame gdk-pixbuf grail
     gtk3 xorg.libX11 xorg.libXext xorg.libXi xorg.libXtst pango python3Packages.python xorgserver
   ];
 
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index 4bad33000c0..c2bf28d7104 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -65,7 +65,6 @@ stdenv.mkDerivation rec {
     json-glib
     libsoup_3
     avahi
-    gobject-introspection
   ] ++ lib.optionals withDemoAgent [
     libnotify gdk-pixbuf
   ] ++ lib.optionals (!stdenv.isDarwin) [
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index ccfbd892a97..bb63210254b 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -141,7 +141,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gobject-introspection
     gst-plugins-base
     orc
     json-glib
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 5c70b225e52..fa4dbe7e426 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -77,7 +77,6 @@ stdenv.mkDerivation (finalAttrs: {
   ];
 
   buildInputs = [
-    gobject-introspection
     graphene
     orc
     libtheora
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index e6c9d2222d1..94b5c7f1b50 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -64,7 +64,6 @@ stdenv.mkDerivation (finalAttrs: {
 
   buildInputs = [
     bash-completion
-    gobject-introspection
   ] ++ lib.optionals stdenv.isLinux [
     libcap
     libunwind
diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix
index 8837a0a0e93..fa3c41ec2cb 100644
--- a/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/pkgs/development/libraries/gstreamer/devtools/default.nix
@@ -46,7 +46,6 @@ stdenv.mkDerivation rec {
     cairo
     python3
     json-glib
-    gobject-introspection
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index e5f8ed02061..bdeb7e04707 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     bash-completion
     libxml2
-    gobject-introspection
     gst-devtools
     python3
   ];
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index 2fe745e0329..939dc06e202 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -41,7 +41,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gst-plugins-base
     gst-plugins-bad
-    gobject-introspection
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index e4318ebe619..2efbf85d47c 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-elL6DZtzCwAtoyGZYP0jAma6tHPks2KAtrziWtBENGU=";
   };
 
-  nativeBuildInputs = [ pkg-config autoconf automake ];
+  nativeBuildInputs = [ pkg-config autoconf automake gobject-introspection ];
 
   buildInputs = [
     libtool gnome.gnome-common gtk-doc gtk2
-    lua gobject-introspection
+    lua
   ];
 
   configureFlags = [ "--disable-python" ];
diff --git a/pkgs/development/libraries/lasso/default.nix b/pkgs/development/libraries/lasso/default.nix
index 70bd3d384de..e3f91c3d827 100644
--- a/pkgs/development/libraries/lasso/default.nix
+++ b/pkgs/development/libraries/lasso/default.nix
@@ -27,11 +27,11 @@ stdenv.mkDerivation rec {
     autoreconfHook
     pkg-config
     python3
+    gobject-introspection
   ];
 
   buildInputs = [
     glib
-    gobject-introspection
     gtk-doc
     libtool
     libxml2
diff --git a/pkgs/development/libraries/liblangtag/default.nix b/pkgs/development/libraries/liblangtag/default.nix
index 5ba2ecc5d6b..efd914ca7b1 100644
--- a/pkgs/development/libraries/liblangtag/default.nix
+++ b/pkgs/development/libraries/liblangtag/default.nix
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
       (stdenv.hostPlatform.libc == "glibc")
       "--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias";
 
-  buildInputs = [ gettext glib libxml2 gobject-introspection gnome-common ];
-  nativeBuildInputs = [ autoreconfHook gtk-doc gettext pkg-config unzip ];
+  buildInputs = [ gettext glib libxml2 gnome-common ];
+  nativeBuildInputs = [ autoreconfHook gtk-doc gettext pkg-config unzip gobject-introspection ];
 
   meta = with lib; {
     description = "An interface library to access tags for identifying languages";
diff --git a/pkgs/development/libraries/libmx/default.nix b/pkgs/development/libraries/libmx/default.nix
index 6cff9e3f03a..23cb0061805 100644
--- a/pkgs/development/libraries/libmx/default.nix
+++ b/pkgs/development/libraries/libmx/default.nix
@@ -33,10 +33,9 @@ stdenv.mkDerivation rec {
 
   configureScript = "sh autogen.sh";
 
-  nativeBuildInputs = [ pkg-config automake autoconf intltool ];
+  nativeBuildInputs = [ pkg-config automake autoconf intltool gobject-introspection ];
   buildInputs = [
     libtool
-    gobject-introspection glib
     gtk2 gtk-doc clutter clutter-gtk
   ];
 
diff --git a/pkgs/development/libraries/libunique/3.x.nix b/pkgs/development/libraries/libunique/3.x.nix
index 086ca28676b..780ae7418dd 100644
--- a/pkgs/development/libraries/libunique/3.x.nix
+++ b/pkgs/development/libraries/libunique/3.x.nix
@@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "0f70lkw66v9cj72q0iw1s2546r6bwwcd8idcm3621fg2fgh2rw58";
   };
 
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ dbus dbus-glib gtk3 gobject-introspection gtk-doc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ];
+  nativeBuildInputs = [ pkg-config gobject-introspection ];
+  buildInputs = [ dbus dbus-glib gtk3 gtk-doc docbook_xml_dtd_45 docbook_xsl libxslt libxml2 ];
 
   meta = {
     homepage = "https://wiki.gnome.org/Attic/LibUnique";
diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix
index 79bc2421dc9..9fa4bf10f47 100644
--- a/pkgs/development/libraries/osm-gps-map/default.nix
+++ b/pkgs/development/libraries/osm-gps-map/default.nix
@@ -11,10 +11,10 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "doc" ];
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config gobject-introspection ];
 
   buildInputs = [
-    cairo glib gobject-introspection
+    cairo glib
     gnome.gnome-common gtk3 gnome.libsoup
   ];
 
diff --git a/pkgs/development/python-modules/gaphas/default.nix b/pkgs/development/python-modules/gaphas/default.nix
index 20553c482b0..f644c989892 100644
--- a/pkgs/development/python-modules/gaphas/default.nix
+++ b/pkgs/development/python-modules/gaphas/default.nix
@@ -24,10 +24,10 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     poetry-core
+    gobject-introspection
   ];
 
   buildInputs = [
-    gobject-introspection
     gtk3
   ];
 
diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/development/python-modules/gtimelog/default.nix
index 532481fbeeb..0d00eaa22dd 100644
--- a/pkgs/development/python-modules/gtimelog/default.nix
+++ b/pkgs/development/python-modules/gtimelog/default.nix
@@ -15,9 +15,9 @@ buildPythonPackage rec {
     sha256 = "0qv2kv7vc3qqlzxsisgg31cmrkkqgnmxspbj10c5fhdmwzzwi0i9";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper gobject-introspection ];
   buildInputs = [
-    glibcLocales gobject-introspection gtk3 libsoup libsecret
+    glibcLocales gtk3 libsoup libsecret
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index b35d6ec4a0a..5bb82e3fe67 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -117,6 +117,8 @@ buildPythonPackage rec {
     pybind11
     setuptools-scm
     numpy
+  ] ++ lib.optionals enableGtk3 [
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -127,7 +129,6 @@ buildPythonPackage rec {
     ghostscript
   ] ++ lib.optionals enableGtk3 [
     cairo
-    gobject-introspection
     gtk3
   ] ++ lib.optionals enableTk [
     libX11
diff --git a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
index 26479aacdad..6f05b7324c8 100644
--- a/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
+++ b/pkgs/development/python-modules/skytemple-ssb-debugger/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     hash = "sha256-/LBz0PCQI3QOAmOZk6Jynqi/+NN0w8gbY/S3YckRZ68=";
   };
 
-  buildInputs = [ gobject-introspection gtk3 gtksourceview4 ];
+  buildInputs = [ gtk3 gtksourceview4 ];
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
   propagatedBuildInputs = [
     nest-asyncio
diff --git a/pkgs/development/ruby-modules/gem-config/default.nix b/pkgs/development/ruby-modules/gem-config/default.nix
index a9eb1f96ab8..85af181698c 100644
--- a/pkgs/development/ruby-modules/gem-config/default.nix
+++ b/pkgs/development/ruby-modules/gem-config/default.nix
@@ -239,9 +239,9 @@ in
   };
 
   gio2 = attrs: {
-    nativeBuildInputs = [ pkg-config ]
+    nativeBuildInputs = [ pkg-config gobject-introspection ]
       ++ lib.optionals stdenv.isDarwin [ DarwinTools ];
-    buildInputs = [ gtk2 pcre pcre2 gobject-introspection ] ++ lib.optionals stdenv.isLinux [ util-linux libselinux libsepol ];
+    buildInputs = [ gtk2 pcre pcre2 ] ++ lib.optionals stdenv.isLinux [ util-linux libselinux libsepol ];
   };
 
   gitlab-markup = attrs: { meta.priority = 1; };
diff --git a/pkgs/games/gscrabble/default.nix b/pkgs/games/gscrabble/default.nix
index b21cdadac1e..28e2a58b0d0 100644
--- a/pkgs/games/gscrabble/default.nix
+++ b/pkgs/games/gscrabble/default.nix
@@ -15,11 +15,11 @@ buildPythonApplication {
 
   doCheck = false;
 
-  nativeBuildInputs = [ wrapGAppsHook ];
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
 
   buildInputs = with gst_all_1; [
     gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
-    gnome.adwaita-icon-theme gtk3 gobject-introspection
+    gnome.adwaita-icon-theme gtk3
   ];
 
   propagatedBuildInputs = with python3Packages; [ gst-python pygobject3 ];
diff --git a/pkgs/games/gshogi/default.nix b/pkgs/games/gshogi/default.nix
index 4b674ac129d..77eab7918b9 100644
--- a/pkgs/games/gshogi/default.nix
+++ b/pkgs/games/gshogi/default.nix
@@ -21,10 +21,9 @@ python3.pkgs.buildPythonApplication rec {
 
   buildInputs = [
     gtk3
-    gobject-introspection
   ];
 
-  nativeBuildInputs = [ wrapGAppsHook ];
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
 
   propagatedBuildInputs = with python3.pkgs; [
     pygobject3
diff --git a/pkgs/games/jumpnbump/default.nix b/pkgs/games/jumpnbump/default.nix
index b502b4f1396..193d4dc0b58 100644
--- a/pkgs/games/jumpnbump/default.nix
+++ b/pkgs/games/jumpnbump/default.nix
@@ -27,8 +27,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  nativeBuildInputs = [ python3Packages.wrapPython wrapGAppsHook ];
-  buildInputs = [ SDL2 SDL2_mixer SDL2_net gtk3 gobject-introspection ];
+  nativeBuildInputs = [ python3Packages.wrapPython wrapGAppsHook gobject-introspection ];
+  buildInputs = [ SDL2 SDL2_mixer SDL2_net gtk3 ];
 
   postInstall = ''
     make -C menu PREFIX=$out all install
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index a8e883acae3..3009eb0b9a0 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -100,8 +100,7 @@ stdenv.mkDerivation rec {
     sha256 = "0w8z21ml79kblv20wh5lz037g130pxkgs8ll9s3bi94zn2pbrhim";
   };
 
-  nativeBuildInputs = [ makeWrapper wrapGAppsHook copyDesktopItems ];
-  buildInputs = [ gobject-introspection ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook copyDesktopItems gobject-introspection ];
 
   sourceRoot = ".";
 
diff --git a/pkgs/os-specific/linux/tiscamera/default.nix b/pkgs/os-specific/linux/tiscamera/default.nix
index 5ef0b0b0ea7..ce59cea368b 100644
--- a/pkgs/os-specific/linux/tiscamera/default.nix
+++ b/pkgs/os-specific/linux/tiscamera/default.nix
@@ -60,6 +60,7 @@ stdenv.mkDerivation rec {
     cmake
     pkg-config
     wrapGAppsHook
+    gobject-introspection
   ] ++ lib.optionals withDoc [
     sphinx
     graphviz
@@ -81,7 +82,6 @@ stdenv.mkDerivation rec {
     pcre
     zstd
     glib
-    gobject-introspection
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix
index 68bcd61293d..f87c503ab07 100644
--- a/pkgs/servers/imgproxy/default.nix
+++ b/pkgs/servers/imgproxy/default.nix
@@ -14,9 +14,9 @@ buildGoModule rec {
 
   vendorHash = "sha256-5o1i88v+1UGYXP2SzyM6seyidrj1Z3Q64w/gi07xf4w=";
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [ pkg-config gobject-introspection ];
 
-  buildInputs = [ gobject-introspection vips ]
+  buildInputs = [ vips ]
     ++ lib.optionals stdenv.isDarwin [ libunwind ];
 
   preBuild = ''
diff --git a/pkgs/tools/audio/headset-charge-indicator/default.nix b/pkgs/tools/audio/headset-charge-indicator/default.nix
index f771fd47a75..bed9c415c83 100644
--- a/pkgs/tools/audio/headset-charge-indicator/default.nix
+++ b/pkgs/tools/audio/headset-charge-indicator/default.nix
@@ -14,13 +14,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-eaAbqeFY+B3CcKJywC3vaRsWZNQENTbALc7L7uW0W6U=";
   };
 
-  nativeBuildInputs = [ wrapGAppsHook ];
+  nativeBuildInputs = [ wrapGAppsHook gobject-introspection ];
 
   buildInputs = [
     (python3.withPackages (ps: with ps; [ pygobject3 ]))
     headsetcontrol
     gtk3
-    gobject-introspection
     libayatana-appindicator
   ];
 
diff --git a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
index 09a5362ae40..299dd0e1385 100644
--- a/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
+++ b/pkgs/tools/inputmethods/fcitx5/fcitx5-gtk.nix
@@ -45,7 +45,6 @@ stdenv.mkDerivation rec {
     gtk3
     gtk4
     fmt
-    gobject-introspection
     fcitx5
     pcre
     libuuid
@@ -64,6 +63,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     extra-cmake-modules
+    gobject-introspection
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/inputmethods/ibus/default.nix b/pkgs/tools/inputmethods/ibus/default.nix
index 140ca8c86ea..8395db62cfd 100644
--- a/pkgs/tools/inputmethods/ibus/default.nix
+++ b/pkgs/tools/inputmethods/ibus/default.nix
@@ -126,6 +126,7 @@ stdenv.mkDerivation rec {
     vala
     wrapGAppsHook
     dbus-launch
+    gobject-introspection
   ];
 
   propagatedBuildInputs = [
@@ -137,7 +138,6 @@ stdenv.mkDerivation rec {
     systemd
     dconf
     gdk-pixbuf
-    gobject-introspection
     python3.pkgs.pygobject3 # for pygobject overrides
     gtk2
     gtk3
diff --git a/pkgs/tools/misc/clipster/default.nix b/pkgs/tools/misc/clipster/default.nix
index e8bbb9540a1..e6efabb5b33 100644
--- a/pkgs/tools/misc/clipster/default.nix
+++ b/pkgs/tools/misc/clipster/default.nix
@@ -14,7 +14,8 @@ stdenv.mkDerivation  rec {
 
   pythonEnv = python3.withPackages(ps: with ps; [ pygobject3 ]);
 
-  buildInputs =  [ pythonEnv gtk3 libwnck gobject-introspection wrapGAppsHook ];
+  nativeBuildInputs = [ gobject-introspection ];
+  buildInputs =  [ pythonEnv gtk3 libwnck wrapGAppsHook ];
 
   installPhase = ''
     sed -i 's/python/python3/g' clipster
diff --git a/pkgs/tools/misc/ldmtool/default.nix b/pkgs/tools/misc/ldmtool/default.nix
index 45cd9638238..51e3a77d8d6 100644
--- a/pkgs/tools/misc/ldmtool/default.nix
+++ b/pkgs/tools/misc/ldmtool/default.nix
@@ -31,9 +31,9 @@ stdenv.mkDerivation rec {
 
   configureScript = "sh autogen.sh";
 
-  nativeBuildInputs = [ pkg-config autoconf automake ];
+  nativeBuildInputs = [ pkg-config autoconf automake gobject-introspection ];
   buildInputs = [ gtk-doc lvm2 libxslt.bin
-    libtool readline gobject-introspection json-glib libuuid
+    libtool readline json-glib libuuid
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/rmlint/default.nix b/pkgs/tools/misc/rmlint/default.nix
index e3969d01eec..57d3aa8e882 100644
--- a/pkgs/tools/misc/rmlint/default.nix
+++ b/pkgs/tools/misc/rmlint/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals withGui [
     makeWrapper
     wrapGAppsHook
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -52,7 +53,6 @@ stdenv.mkDerivation rec {
     util-linux
   ] ++ lib.optionals withGui [
     cairo
-    gobject-introspection
     gtksourceview3
     pango
     polkit
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index aafdfe07ff9..2fd99f1a8ab 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib udev libusb1 cups
     python3Packages.python
-    libnotify gobject-introspection gdk-pixbuf pango atk packagekit
+    libnotify gdk-pixbuf pango atk packagekit
     libsecret
   ];
 
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     intltool pkg-config
     xmlto libxml2 docbook_xml_dtd_412 docbook_xsl desktop-file-utils
     python3Packages.wrapPython
-    wrapGAppsHook autoreconfHook
+    wrapGAppsHook autoreconfHook gobject-introspection
   ];
 
   pythonPath = with python3Packages; requiredPythonModules [ pycups pycurl dbus-python pygobject3 requests pycairo pysmbc ];
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index a5cdc383f9a..b18561bca00 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -135,7 +135,6 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gobject-introspection
     systemd
     libselinux
     audit
diff --git a/pkgs/tools/networking/networkmanager/dmenu/default.nix b/pkgs/tools/networking/networkmanager/dmenu/default.nix
index 741c7349433..ef55538140b 100644
--- a/pkgs/tools/networking/networkmanager/dmenu/default.nix
+++ b/pkgs/tools/networking/networkmanager/dmenu/default.nix
@@ -13,7 +13,8 @@ in stdenv.mkDerivation rec {
     sha256 = "sha256-btwiKxmb1xDtPSTOIvpHJDQ5SY1gnBWlKnYOzzSLDEY=";
   };
 
-  buildInputs = [ glib python pygobject3 gobject-introspection networkmanager python3Packages.wrapPython ];
+  nativeBuildInputs = [ gobject-introspection ];
+  buildInputs = [ glib python pygobject3 networkmanager python3Packages.wrapPython ];
 
   dontBuild = true;
 
diff --git a/pkgs/tools/networking/whatip/default.nix b/pkgs/tools/networking/whatip/default.nix
index 735936a4da4..08979e71e35 100644
--- a/pkgs/tools/networking/whatip/default.nix
+++ b/pkgs/tools/networking/whatip/default.nix
@@ -37,6 +37,7 @@ python3.pkgs.buildPythonApplication rec {
     wrapGAppsHook4
     appstream-glib
     desktop-file-utils
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -44,7 +45,6 @@ python3.pkgs.buildPythonApplication rec {
     gtk4
     librsvg
     libadwaita
-    gobject-introspection
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/gencfsm/default.nix b/pkgs/tools/security/gencfsm/default.nix
index 4cf5338ca2e..33f6297905e 100644
--- a/pkgs/tools/security/gencfsm/default.nix
+++ b/pkgs/tools/security/gencfsm/default.nix
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     pkg-config
     vala
     wrapGAppsHook
+    gobject-introspection
   ];
   buildInputs = [
     glib
@@ -29,7 +30,6 @@ stdenv.mkDerivation rec {
     libgee
     xorg.libSM
     xorg.libICE
-    gobject-introspection
     libsecret
   ];
 
diff --git a/pkgs/tools/system/gkraken/default.nix b/pkgs/tools/system/gkraken/default.nix
index b5bb7fd03c1..f37a21db79f 100644
--- a/pkgs/tools/system/gkraken/default.nix
+++ b/pkgs/tools/system/gkraken/default.nix
@@ -42,7 +42,6 @@ python3Packages.buildPythonApplication rec {
   ];
 
   buildInputs = [
-    gobject-introspection
     glib
     gtk3
     libnotify
diff --git a/pkgs/tools/text/textpieces/default.nix b/pkgs/tools/text/textpieces/default.nix
index 7b20083a80b..e1efac34597 100644
--- a/pkgs/tools/text/textpieces/default.nix
+++ b/pkgs/tools/text/textpieces/default.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
     wrapGAppsHook4
     appstream-glib
     desktop-file-utils
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -52,7 +53,6 @@ stdenv.mkDerivation rec {
     libgee
     json-glib
     gtksourceview5
-    gobject-introspection
   ];
 
   runtimeDependencies = [