aboutsummaryrefslogtreecommitdiff
path: root/devShells/apo.nix
blob: dd8b772a3499f90d0c05aa74c2bbf92c0c52c129 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
  system,
  nixpkgs,
  default,
  c,
}: let
  pkgs = nixpkgs.legacyPackages.${system};
  riscvPkgs = import nixpkgs.outPath {
    localSystem = system;
    crossSystem = {
      config = "riscv32-none-elf";
      libc = "newlib-nano";
      gcc = {
        arch = "rv32i";
      };
    };
  };
  mipsPkgs = import nixpkgs.outPath {
    localSystem = system;
    crossSystem = {
      config = "mips-none-elf";
      libc = "newlib-nano";
    };
  };
in
  pkgs.buildPackages.mkShell {
    packages = with pkgs; [
      qtrvsim
      riscvPkgs.buildPackages.gcc
      mipsPkgs.buildPackages.gcc
    ];
    inputsFrom = [default c];
    meta.platforms = nixpkgs.lib.platforms.linux;
  }