# # This file defines a development shell containing: # - hardware synthesis and simulation tools # - riscv32 cross-compiling toolchain # # Enable this shell by calling 'nix-shell' in the same directory as this file. # let nixpkgs = fetchTarball "https://github.com/NixOS/nixpkgs/tarball/release-25.11"; pkgs = (import nixpkgs {}).pkgsCross.riscv32-embedded; in # callPackage is needed due to https://github.com/NixOS/nixpkgs/pull/126844 pkgs.pkgsStatic.callPackage ({ pkgs }: pkgs.mkShell { # these tools run on the build platform, but are configured to target the host platform nativeBuildInputs = with pkgs; [ pkg-config file ]; # libraries needed for the host platform buildInputs = with pkgs; [ zlib ]; # tools running on build platform and target the build platform depsBuildBuild = with pkgs; [ python3 gcc yosys sby nextpnr arachne-pnr icestorm z3 boolector yices iverilog verilator ]; }) {}