diff --git a/shells/default.nix b/shells/default.nix index 5c8d6ab2..a4317d52 100644 --- a/shells/default.nix +++ b/shells/default.nix @@ -3,6 +3,7 @@ with pkgs; { flatpak = callPackage ./flatpak.nix { }; gnu = callPackage ./gnu.nix { }; + gnome = callPackage ./gnome.nix { }; hugo = callPackage ./hugo.nix { }; rust = callPackage ./rust.nix { }; tic-80 = callPackage ./tic-80.nix { }; diff --git a/shells/gnome.nix b/shells/gnome.nix new file mode 100644 index 00000000..5e7c3514 --- /dev/null +++ b/shells/gnome.nix @@ -0,0 +1,25 @@ +# 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, meson, ninja, gtk4, libadwaita, gjs, pkg-config, rustPlatform, nodePackages }: + +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. + + # When Rust and GTK go together... + rustPlatform.cargo + rustPlatform.rustc + + # Creating desktop applications with JavaScript without Electron! + nodePackages.typescript + gjs + ]; +}