ysyx-workbench/npc/flake.nix

74 lines
2.2 KiB
Nix
Raw Normal View History

2024-08-14 09:01:37 +00:00
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
2024-09-06 06:56:10 +00:00
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.05";
2024-08-14 09:01:37 +00:00
nixpkgs-circt162.url = "github:NixOS/nixpkgs/7995cae3ad60e3d6931283d650d7f43d31aaa5c7";
nur-xin = {
url = "git+https://git.xinyang.life/xin/nur.git";
inputs.nixpkgs.follows = "nixpkgs";
};
flake-utils.url = "github:numtide/flake-utils";
sbt-derivation = {
url = "github:zaninime/sbt-derivation";
inputs.nixpkgs.follows = "nixpkgs";
};
2024-09-06 06:56:10 +00:00
am-kernels.url = "git+https://git.xinyang.life/xin/am-kernels.git?ref=dev";
2024-08-14 09:01:37 +00:00
};
2024-09-06 06:56:10 +00:00
outputs = { self, nixpkgs, nixpkgs-stable, flake-utils, nur-xin, nixpkgs-circt162, sbt-derivation, am-kernels }:
2024-08-14 09:01:37 +00:00
flake-utils.lib.eachDefaultSystem (system:
let
2024-09-06 06:56:10 +00:00
stablePkgs = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
overlays = [
];
};
2024-08-14 09:01:37 +00:00
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [
(self: super: {
nvboard = nur-xin.legacyPackages.${system}.nvboard;
mini-gdbstub = nur-xin.legacyPackages.${system}.mini-gdbstub;
})
];
};
in
{
packages = rec {
flow = pkgs.callPackage ./flow.nix {
inherit (sbt-derivation.lib) mkSbtDerivation;
};
flow-simlib = pkgs.callPackage ./flow-simlib.nix {
inherit flow;
};
};
2024-09-03 03:29:22 +00:00
devShells.default = pkgs.mkShell.override { stdenv = pkgs.ccacheStdenv; } {
nativeBuildInputs = with pkgs; [
cmake
ninja
flex
bison
nvboard
flow
espresso
bloop
coursier
sbt
2024-09-06 06:56:10 +00:00
gef
] ++ [stablePkgs.verilator];
2024-09-03 03:29:22 +00:00
CHISEL_FIRTOOL_PATH = "${nixpkgs-circt162.legacyPackages.${system}.circt}/bin";
2024-09-06 06:56:10 +00:00
NPC_IMAGES_PATH = "${am-kernels.packages.${system}.rv32Cross.am-kernels-npc}/share";
2024-09-03 03:29:22 +00:00
buildInputs = with pkgs; [
cli11
spdlog
mini-gdbstub
];
};
2024-08-14 09:01:37 +00:00
});
}