xmclib/flake.nix

58 lines
1.6 KiB
Nix
Raw Normal View History

2024-10-17 18:46:38 +02:00
{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
outputs = {
self,
nixpkgs,
}: let
supportedSystems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
forEachSupportedSystem = f:
nixpkgs.lib.genAttrs supportedSystems (system:
f {
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
config.segger-jlink.acceptLicense = true;
config.permittedInsecurePackages = [
"segger-jlink-qt4-796s"
];
};
});
in {
devShells = forEachSupportedSystem ({pkgs}: {
default =
pkgs.mkShell.override
{
# Override stdenv in order to change compiler:
# stdenv = pkgs.clangStdenv;
# stdenv = pkgs.pkgsCross.arm-embedded.stdenv;
}
{
packages = with pkgs;
[
# pkgsCross.arm-embedded.stdenv.cc
# pkgsCross.arm-embedded.buildPackages.gdb
gcc-arm-embedded-13 # replaces above packages since gcc compiles libc in arm, not thumb2
2024-11-04 15:27:20 +01:00
glibc_multi
2024-10-17 18:46:38 +02:00
segger-jlink
killall
2024-11-09 18:22:51 +01:00
zip
2024-10-17 18:46:38 +02:00
clang-tools
cmake
codespell
conan
cppcheck
2024-11-30 20:44:43 +01:00
python312
2024-11-17 15:14:12 +01:00
python312Packages.compiledb # generates compile_commands.json for Makefiles
2024-11-30 20:44:43 +01:00
python312Packages.pyserial
2024-10-17 18:46:38 +02:00
]
++ (
if system == "aarch64-darwin"
then []
else [gdb]
);
};
});
};
}