| # This is a nix-shell for use with the nix package manager. | |
| # If you have nix installed, you may simply run `nix-shell` | |
| # in this repo, and have all dependencies ready in the new shell. | |
| { pkgs ? import <nixpkgs> {} }: | |
| let | |
| verible_used_stdenv = pkgs.stdenv; | |
| #verible_used_stdenv = pkgs.gcc15Stdenv; | |
| #verible_used_stdenv = pkgs.clang19Stdenv; | |
| in | |
| verible_used_stdenv.mkDerivation { | |
| name = "verible-build-environment"; | |
| buildInputs = with pkgs; | |
| [ | |
| bazel_7 | |
| git | |
| # For scripts used inside bzl rules and tests | |
| gnused | |
| # To run error-log-analyzer | |
| python3 | |
| python3Packages.mdutils | |
| ripgrep | |
| # To manually run export_json_examples | |
| python3Packages.anytree | |
| # For using --//bazel:use_local_flex_bison if desired | |
| flex | |
| bison | |
| # To build vscode vsix package | |
| nodejs | |
| # Ease development | |
| lcov # coverage html generation. | |
| bazel-buildtools # buildifier | |
| llvmPackages_21.clang-tools # for clang-tidy | |
| llvmPackages_18.clang-tools # for clang-format | |
| ]; | |
| shellHook = '' | |
| # clang tidy: use latest. | |
| export CLANG_TIDY=${pkgs.llvmPackages_21.clang-tools}/bin/clang-tidy | |
| # Last version that current github CI supports. | |
| export CLANG_FORMAT=${pkgs.llvmPackages_18.clang-tools}/bin/clang-format | |
| ''; | |
| } |