{ pkgs ? import { } , additionalBuildInputs ? [ ] , platforms ? [ "x86_64-linux" "aarch64-darwin" ] }: with pkgs; mkShell rec { inherit platforms; nativeBuildInputs = [ # Build Deps pkg-config openssl # Build Tools # TODO: Add prettier and prettier-plugin-jinja-template sqlx-cli ] ++ lib.optionals pkgs.stdenv.isDarwin [ # Additional darwin specific inputs can be set here pkgs.darwin.apple_sdk.frameworks.SystemConfiguration ]; buildInputs = [ sqlite ] ++ additionalBuildInputs; LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs; DATABASE_URL = "sqlite://.cache/data"; # This is only used by the sqlx-cli CACHE_DIR = "./.cache"; # The default is a system path, not suitable for dev environments DIST_DIR = "./dist"; # This is currently the default, but the dev shell should override it anyway }