Files
c-libs/flake.nix

63 lines
1.5 KiB
Nix

{
description = "Some C Libs for recreational programming.";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
};
outputs = inputs @ {
self,
flake-parts,
...
}:
flake-parts.lib.mkFlake {inherit inputs;} (
top: {
imports = [];
flake = {
overlays.default = final: prev: {
c-libs = (final.callPackage ./nix/c-libs.nix {}).overrideAttrs {
enableShared = true;
};
};
};
systems = [
"x86_64-linux"
];
perSystem = {
self',
pkgs,
system,
...
}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
overlays = [self.overlays.default];
};
packages.default = pkgs.c-libs;
devShells.default = pkgs.mkShell {
packages = [
pkgs.asm-lsp
pkgs.cmake-language-server
pkgs.cmake-format
pkgs.clang-tools
pkgs.gdb
];
inputsFrom = [self'.packages.default];
shellHook = ''
export CMAKE_EXPORT_COMPILE_COMMANDS=ON
export BUILD_TESTING=ON
export MANPATH="${pkgs.man-pages-posix}/share/man:$MANPATH"
export MANPATH="${pkgs.man-pages}/share/man:$MANPATH"
'';
};
};
}
);
}