# The usual development shell of GNOME-related projects. It isn't really # complete, it is more of a list of common applications for these types of # projects. # # These include toolkits for C, Rust, and GNOME JavaScript. { mkShell , cmake , meson , ninja , gtk4 , libadwaita , gjs , pkg-config , blueprint-compiler , desktop-file-utils , librsvg , gdk-pixbuf , gst_all_1 , gettext , glib , appstream-glib , json-glib , gobject-introspection , glib-networking , glib-testing , libsoup_3 , nodePackages # Rust , cargo , rustc }: mkShell { packages = [ meson # Their build system of choice. ninja # Their other build system of choice. cmake # Their other meta-build system of choice. pkg-config # That librarian in the background. gtk4 # The star of the show. libadwaita # The co-star of the show. # Common development inputs. desktop-file-utils librsvg gdk-pixbuf gst_all_1.gst-devtools gst_all_1.gst-libav gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-ugly gst_all_1.gstreamer gettext glib appstream-glib json-glib gobject-introspection glib-networking glib-testing libsoup_3 # When Rust and GTK go together... cargo rustc # Creating desktop applications with JavaScript without Electron! nodePackages.typescript gjs # The new Blueprint language. blueprint-compiler ]; inputsFrom = [ gjs gtk4 gobject-introspection ]; }