minishell/flake.nix

59 lines
1.6 KiB
Nix

{
description = "Flake utils demo";
inputs.nixpkgs.url = "github:nixos/nixpkgs";
inputs.flake-utils.url = "github:numtide/flake-utils";
inputs.generic_c.url = "github:Maix0/generic_c";
# inputs.c_formatter_42.url = "github:Maix0/c_formatter_42-flake";
# inputs.rust-overlay.url = "github:oxalica/rust-overlay";
outputs = {
self,
nixpkgs,
flake-utils,
generic_c,
# c_formatter_42,
# rust-overlay,
}:
flake-utils.lib.eachDefaultSystem (
system: let
pkgs = nixpkgs.legacyPackages.${system};
/*
import nixpkgs {
inherit system;
overlays = [
(import rust-overlay)
(final: prev: {
clang-analyzer = prev.clang-analyzer.override {
clang = final.llvmPackages_18.clang;
llvmPackages = final.llvmPackages_18;
};
})
];
};
*/
in {
devShell = pkgs.mkShell {
packages = with pkgs;
[
clang-analyzer
clang
gnumake
generic_c.packages.${system}.default
# c_formatter_42.packages.${system}.default
llvmPackages.bintools
# norminette
# tokei
# coreutils
#];
]
++ (
if system == "x86_64-linux"
then [valgrind valgrind.dev]
else []
);
#ASAN_OPTIONS = "strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1";
};
}
);
}