mes/flake.nix

58 lines
1.6 KiB
Nix
Raw Normal View History

2023-10-21 02:35:44 +00:00
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs";
utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, utils }:
let supportedSystems = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
in (utils.lib.eachSystem supportedSystems (system:
let
pkgs = import nixpkgs { inherit system; };
stage0Arch = {
"aarch64-linux" = "aarch64";
"i686-linux" = "x86";
"x86_64-linux" = "amd64";
}.${system} or (throw "Unsupported system: ${system}");
mesArch = {
"aarch64-linux" = "aarch64";
"i686-linux" = "x86";
"x86_64-linux" = "x86_64";
}.${system} or (throw "Unsupported system: ${system}");
2023-10-21 02:35:44 +00:00
in rec {
formatter = pkgs.nixfmt;
2023-10-22 02:12:00 +00:00
devShells.mes-m2 = pkgs.mkShellNoCC {
2023-10-21 02:35:44 +00:00
packages = with pkgs; [
minimal-bootstrap.kaem
minimal-bootstrap.mescc-tools
2023-11-05 20:21:06 +00:00
gdb
2023-10-21 02:35:44 +00:00
];
CC = "M2-Planet";
stage0_cpu = stage0Arch;
mes_cpu = mesArch;
2023-10-22 02:12:00 +00:00
shellHook = ''
export GUILE_LOAD_PATH=$PWD/mes/module:$PWD/module:${pkgs.minimal-bootstrap.mes.nyacc.guilePath}
'';
};
devShells.mes-guile = pkgs.mkShell {
packages = with pkgs; [
perl
guile
gnumake
minimal-bootstrap.mescc-tools
2023-11-05 20:21:06 +00:00
gdb
2023-10-22 02:12:00 +00:00
];
shellHook = ''
export GUILE_LOAD_PATH=$PWD/module:${pkgs.minimal-bootstrap.mes.nyacc.guilePath}
'';
2023-10-21 02:35:44 +00:00
};
2023-10-22 02:12:00 +00:00
devShells.default = devShells.mes-m2;
2023-10-21 02:35:44 +00:00
}));
}