flake.nix (view raw)
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
{
description = "Circe Build Environment";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-26.05";
esp32-overlay.url = "github:mirrexagon/nixpkgs-esp-dev";
};
outputs =
{
self,
nixpkgs,
esp32-overlay,
...
}@inputs:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
pkgs-persephone = import nixpkgs {
overlays = [ esp32-overlay.overlays.default ];
inherit system;
config.permittedInsecurePackages = [ "python3.13-ecdsa-0.19.1" ];
};
aphrodite_shl = pkgs.mkShell {
name = "circe-tooling-env-aphrodite";
packages = with pkgs; [
ninja
meson
gcc
clang-tools
valgrind
bear
tokei
];
};
teiresia_shl = pkgs.mkShell {
name = "circe-tooling-env-teiresia";
packages = with pkgs; [
ninja
meson
pkgsCross.aarch64-multiplatform-musl.gcc
clang-tools
valgrind
bear
tokei
];
};
demeter_shl = pkgs.mkShell {
name = "circe-tooling-env-demeter";
packages = with pkgs; [
ninja
meson
pkgsCross.mips64el-linux-gnuabin32.gcc
clang-tools
valgrind
bear
tokei
];
};
persephone_shl = pkgs.mkShell {
name = "circe-tooling-env-persephone";
packages = with pkgs-persephone; [
ninja
meson
esp-idf-xtensa
qemu-esp32
clang-tools
valgrind
bear
tokei
];
};
in
{
devShells.${system} = {
default = aphrodite_shl;
teiresia = teiresia_shl;
demeter = demeter_shl;
persephone = persephone_shl;
};
};
}
|