{ pkgs }: rec { vivado = import ./eda/vivado.nix { inherit pkgs; }; nmigen = pkgs.callPackage ./eda/nmigen.nix { }; nmigen-boards = pkgs.callPackage ./eda/nmigen-boards.nix { inherit nmigen; }; nmigen-stdio = pkgs.callPackage ./eda/nmigen-stdio.nix { inherit nmigen; }; nmigen-soc = pkgs.callPackage ./eda/nmigen-soc.nix { inherit nmigen; }; scala-spinalhdl = pkgs.callPackage ./eda/scala-spinalhdl.nix {}; jtagtap = pkgs.callPackage ./cores/jtagtap.nix { inherit nmigen; }; minerva = pkgs.callPackage ./cores/minerva.nix { inherit nmigen; inherit jtagtap; }; vexriscv-small = pkgs.callPackage ./cores/vexriscv.nix { inherit scala-spinalhdl; name = "vexriscv-small"; scalaToRun = "vexriscv.demo.GenSmallAndProductive"; }; litex = pkgs.callPackage ./cores/litex.nix { inherit nmigen; }; litedram = pkgs.callPackage ./cores/litedram.nix { inherit litex; }; heavycomps = pkgs.callPackage ./heavycomps.nix { inherit nmigen; inherit nmigen-stdio; inherit nmigen-soc; }; binutils-riscv32 = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv32"; }; gcc-riscv32 = pkgs.callPackage ./compilers/gcc.nix { platform = "riscv32"; platform-binutils = binutils-riscv32; }; binutils-riscv64 = pkgs.callPackage ./compilers/binutils.nix { platform = "riscv64"; }; gcc-riscv64 = pkgs.callPackage ./compilers/gcc.nix { platform = "riscv64"; platform-binutils = binutils-riscv64; }; rust-riscv32i-crates = pkgs.callPackage ./compilers/rust-riscv32i-crates.nix { }; fw-helloworld = pkgs.callPackage ./firmware/testing { inherit rust-riscv32i-crates binutils-riscv32; }; }