{ pkgs ? import {} }: let install_opt_deps = true; libraries = with pkgs; [ webkitgtk_4_1 gtk3 cairo gdk-pixbuf glib dbus openssl librsvg ]; in pkgs.mkShell { packages = with pkgs; [ gcc glib.dev pango openssl pkg-config clang-tools gnumake ] ++ (if install_opt_deps then [ dbus gtk3 libsoup_3 webkitgtk_4_1 librsvg nodejs_22 pnpm cargo rustc rustup ] else []); RUST_SRC_PATH = if install_opt_deps then "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}" else ''''; shellHook = if install_opt_deps then '' export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath libraries}:$LD_LIBRARY_PATH export XDG_DATA_DIRS=${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}:$XDG_DATA_DIRS '' else ''''; }