comejv opened a new pull request, #16763: URL: https://github.com/apache/nuttx/pull/16763
# Add Nix flake for reproducible development environment This pull request introduces a Nix flake (`flake.nix` and `flake.lock`) to provide a reproducible development shell for NuttX using Nix and flakes. ## Summary - Adds a `devShell` with all required build tools and dependencies for NuttX, including CMake, Ninja, GNU Make, clang-tools, ARM toolchain, and other utilities (automake, bison, flex, genromfs, gettext, gperf, kconfig-frontends, libelf, expat, gmp, isl, libmpc, mpfr, ncurses, zlib, kconfiglib). - Uses `flake-utils` to support multiple platforms. - Sets up a shell hook to enable CMake compile commands and provide a welcome message. - Based on `nixpkgs` `nixos-unstable` for up-to-date packages. **Purpose:** This change simplifies onboarding and ensures a consistent build environment across contributors. By pinning dependencies, it reduces "works on my machine" issues and makes it easier for new developers to get started with NuttX. **References:** - Nix Flakes documentation: https://nixos.wiki/wiki/Flakes - Dependencies gathered from `tools/configure.sh` ## Impact - **Users:** No impact on runtime or target builds; this only affects developer tooling. - **Build Process:** Developers can now use `nix develop` to enter a fully provisioned shell with all necessary dependencies. - **Documentation:** Usage instructions can be added to the repository documentation if desired. - **Compatibility:** The flake is designed to work on all major platforms supported by Nix. ## Testing - Verified by running `nix develop` and building NuttX on `x86_64-linux` with `cmake` and `make` (NixOS unstable, GCC ARM toolchain). - Confirmed that all required tools are available in the shell and that the build completes successfully. - No changes to target firmware or runtime behavior. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org