All available at: https://hdlfactory.com/bazel-registry/ if you are willing to use bazel.
.bazelversion
The other day, I was pondering whether to keep setting particular bazel version in projects. I even removed some, to see what would become of it.
Find the project page at: https://github.com/filmil/bazel_debian_rootfs
This is another piece of news in my quest for hermetic, ephemeral, and reproducible builds (“HER”). If you read my articles in the past months or so, you may have noticed that I am looking for good ways of creating completely hermetic, ephemeral, reproducible, but also practical builds.
This is a collection of links to interesting articles and knowledge sources about the Bazel build system that I found. I’m motivated to do this after spending considerable time developing a thing that already existed. Just because I was not following the “right” communities I basically wasted a lot of effort reinventing a wheel. Useful wheel, but reinventing nevertheless.
This is another piece of news in my quest for hermetic, ephemeral, and reproducible builds (“HER”). If you read my articles in the past months or so, you may have noticed that I am looking for good ways of creating completely hermetic, ephemeral, reproducible, but also practical builds.
Update 2025-10-19: I made a searchable index of modules available from my registry at https://www.hdlfactory.com/bazel-registry.
bazel_rules_bt
Find the project page at https://github.com/filmil/bazel_rules_bt
rules_nixpkgs use
This is a run-down of tips and tricks for the use of rules_nixpkgs, a rule set for bringing in nix packages for use in bazel.
Cross-posted from the original at https://github.com/filmil/bazel-rules-bid
Program your FPGA with a one-liner command. It’s a kind of magic.
ranlib
This is something seldom known, and a very sharp corner to cut yourself on. But you really want to know if you are using nix.
bazel rules for GHDL
I present to you https://github.com/filmil/bazel_rules_ghdl: a set of bazel rules for converting VHDL into Verilog.
bazel rules for a riscv64 bare metal rust compiler
This article assumes that you have bazel installed via the bazelisk method.
bazel installation via the bazelisk method
Here is how I install bazel. I use this installation method on all of my machines. I do not think it is practical to go about this any other way. It is implied in all of my writings about bazel.
bazel rules for a riscv64 bare metal GCC compiler
The repository https://github.com/filmil/bazel_rules_gcc_riscv64_baremetal contains bazel rules that can be used for a hermetic bare metal GCC cross-compiler for a 64-bit RISC-V machine, running in M-mode.
This short note defines the notions of hermetic, ephemeral and reproducible software build, as used in my writing.
If you are in a hurry, fast forward to https://github.com/filmil/bazel_local_nix
Perhaps obvious in retrospect, but it is not possible for a bazel build artifact to generate a named pipe in the filesystem.
I was a bit hard pressed to find all the proper work attribution. Please let me know if you have data to contribute.
bazel tips and tricks
Often needed little bits of bazel knowledge that I tend to forget.
python web app in bazel
cc_library rule in bazel
Adapted from the bazel-discuss mailing list.
make rule from rules_foreign_cc repository for bazel
The bazel build system has rules available to build C or C++ code from external repositories that use other more “conventional” build tools. By this I mean the usual suspects: GNU autotools, GNU make and cmake.