{ mkShell, lib, wrapGAppsHook, desktop-file-utils, glib, appstream-glib
, blueprint-compiler, libadwaita, libportal, libportal-gtk, gtk, meson, ninja
, pkg-config }:

mkShell {
  packages = [
    gtk
    glib
    meson
    ninja
    pkg-config

    appstream-glib
    desktop-file-utils

    blueprint-compiler
  ] ++ (lib.optionals (lib.versionAtLeast gtk.version "4.0") [
    libadwaita
    libportal
    libportal-gtk
  ]);

  inputsFrom = [ gtk ];
}