I’m trying to override bazel version in my flake but it still gives me the nixpkgs standard version. Any clue on what is going on or what I am doing wrong here?
#flake.nix
{
description = "My Bazel 7.6.1 devshell";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
};
outputs =
{ self, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
bazelVersion = "7.6.1";
newDistHash = "sha256-wRBtuT64pxmm4uHpMn9BsAO21/fp0E8gYFeZB3Wndg4=";
newBootstrapHash = "sha256-wRBtuT64pxmm4uHpMn9BsAO21/fp0E8gYFeZB3Wndg4=";
myOverlay = final: prev: {
bazel_7 = prev.bazel_7.overrideAttrs (old: rec {
version = bazelVersion;
src = prev.fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
hash = newDistHash;
};
passthru = old.passthru // {
bazelBootstrap = old.passthru.bazelBootstrap.overrideAttrs (boot: {
version = bazelVersion;
src = prev.fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel_nojdk-${version}-linux-x86_64";
hash = newBootstrapHash;
};
});
};
});
};
pkgs = import nixpkgs {
inherit system;
overlays = [ myOverlay ];
};
in
{
devShells.${system}.default = pkgs.mkShell {
packages = [
pkgs.bazel_7
];
};
};
}
Then in my shell:
$ nix develop
$ bazel version
bazel 7.4.1