flake.nix (1502B)
1 { 2 description = "A RISC-V RV32I processor written with Chisel as a learning exercise"; 3 4 inputs = { 5 stable-pkgs.url = "github:nixos/nixpkgs?ref=nixos-26.05"; 6 unstable-pkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; 7 }; 8 9 outputs = 10 { 11 self, 12 stable-pkgs, 13 unstable-pkgs, 14 }: 15 let 16 system = "x86_64-linux"; 17 stable = import stable-pkgs { 18 inherit system; 19 }; 20 unstable = import unstable-pkgs { 21 inherit system; 22 }; 23 libInputs = with stable; [ 24 stdenv.cc.cc.lib 25 libGL 26 libxkbcommon 27 wayland 28 libx11 29 libxcursor 30 libxrandr 31 libxi 32 libxcb 33 ]; 34 lib-path = with stable; lib.makeLibraryPath libInputs; 35 in 36 { 37 devShells.${system}.default = stable.mkShellNoCC { 38 packages = with stable; [ 39 act 40 bundler 41 cargo 42 clippy 43 coursier 44 gcc 45 git 46 gnumake 47 jdk21 48 just 49 llvm 50 metals 51 pkgsCross.riscv64-embedded.binutils 52 pkgsCross.riscv64-embedded.gcc 53 ruby 54 rust-analyzer 55 rustc 56 rustfmt 57 sbt 58 surfer 59 typst 60 unstable.sail-riscv 61 uv 62 verilator 63 zenity 64 ]; 65 66 shellHook = '' 67 export BUNDLE_FROZEN=1 68 export "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${lib-path}" 69 ''; 70 }; 71 }; 72 }