perilus

RISC-V processor built with Chisel
git clone https://git.bradleygannon.com/perilus.git
Log | Files | Refs | Submodules | README

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 }