diff --git a/shells/default.nix b/shells/default.nix index 8284ff52..13160a68 100644 --- a/shells/default.nix +++ b/shells/default.nix @@ -7,6 +7,8 @@ with pkgs; { nix = callPackage ./nix.nix { }; guile = callPackage ./guile.nix { }; guile3 = callPackage ./guile.nix { guile = guile_3_0; }; + gtk3 = callPackage ./gtk.nix { gtk = gtk3; libportal-gtk = libportal-gtk3; }; + gtk4 = callPackage ./gtk.nix { gtk = gtk4; wrapGAppsHook = wrapGAppsHook4; libportal-gtk = libportal-gtk4; }; hugo = callPackage ./hugo.nix { }; rust = callPackage ./rust.nix { }; tic-80 = callPackage ./tic-80.nix { }; diff --git a/shells/gtk.nix b/shells/gtk.nix new file mode 100644 index 00000000..89b53de8 --- /dev/null +++ b/shells/gtk.nix @@ -0,0 +1,30 @@ +{ mkShell +, wrapGAppsHook +, desktop-file-utils +, glib +, appstream-glib +, blueprint-compiler +, libadwaita +, libportal +, libportal-gtk +, gtk +}: + +mkShell { + packages = [ + # Most of the build inputs are from `gtk` package. And since build + # environment of the following packages is brought with `nix develop`, we + # don't need to list much of the common build systems like Meson. + wrapGAppsHook + gtk + + glib + appstream-glib + desktop-file-utils + + blueprint-compiler + libadwaita + libportal + libportal-gtk + ]; +}