blob: 38f4c5428231228b40e8fd926c9cee94ea989f69 [file] [log] [blame]
{
description = "NuttX : devShell flake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
documentation.url = "path:./doc/";
};
outputs =
{
self,
nixpkgs,
flake-utils,
documentation,
...
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = import nixpkgs { inherit system; };
in
{
# Default devShell
devShells.default = pkgs.mkShell {
buildInputs = [
# Build tools
pkgs.cmake
pkgs.ninja
pkgs.gnumake
pkgs.clang-tools
# ARM toolchain
pkgs.gcc-arm-embedded
# NuttX dependencies
pkgs.automake
pkgs.bison
pkgs.flex
pkgs.genromfs
pkgs.gettext
pkgs.gperf
pkgs.kconfig-frontends
pkgs.libelf
pkgs.expat.dev
pkgs.gmp.dev
pkgs.isl
pkgs.libmpc
pkgs.mpfr.dev
pkgs.ncurses.dev
pkgs.zlib
pkgs.python313Packages.kconfiglib
];
shellHook = ''
export CMAKE_EXPORT_COMPILE_COMMANDS=ON
echo "Welcome to NuttX devShell"
'';
};
# Documentation devShell
devShells.docs = documentation.devShells.${system}.default;
}
);
}