27 lines
792 B
Nix
27 lines
792 B
Nix
|
|
{
|
||
|
|
description = "A Nix-flake-based C/C++ development environment";
|
||
|
|
|
||
|
|
inputs.nixpkgs.url =
|
||
|
|
"https://flakehub.com/f/NixOS/nixpkgs/0"; # stable Nixpkgs
|
||
|
|
|
||
|
|
outputs = { self, ... }@inputs:
|
||
|
|
|
||
|
|
let
|
||
|
|
supportedSystems =
|
||
|
|
[ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||
|
|
forEachSupportedSystem = f:
|
||
|
|
inputs.nixpkgs.lib.genAttrs supportedSystems
|
||
|
|
(system: f { pkgs = import inputs.nixpkgs { inherit system; }; });
|
||
|
|
in {
|
||
|
|
devShells = forEachSupportedSystem ({ pkgs }: {
|
||
|
|
default = pkgs.mkShell.override {
|
||
|
|
# stdenv = pkgs.clangStdenv;
|
||
|
|
} {
|
||
|
|
packages = with pkgs;
|
||
|
|
[ clang-tools clang cmake ]
|
||
|
|
++ (if system == "aarch64-darwin" then [ ] else [ gdb ]);
|
||
|
|
};
|
||
|
|
});
|
||
|
|
};
|
||
|
|
}
|