kernel_module_learn/flake.nix

41 lines
999 B
Nix

{
description = "Environnement de développement pour des modules noyaux Linux";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
nixpkgs,
flake-utils,
...
}: flake-utils.lib.eachSystem flake-utils.lib.allSystems (system:
let
pkgs = import nixpkgs { inherit system; };
linux = pkgs.linuxKernel.kernels.linux_zen;
in {
devShells = rec {
default = nixos;
nixos = pkgs.mkShell {
packages = [ linux.moduleBuildDependencies ];
LINUX_MODULES_FOLDER = "${linux.dev}/lib/modules/${linux.modDirVersion}";
shellHook = ''
echo "Current Linux Kernel used : ${linux.version}"
'';
};
other = pkgs.mkShell {
shellHook = ''
export LINUX_MODULES_FOLDER=/lib/modules/$(uname -r)
echo "Current Linux Kernel used : $(uname -r)"
'';
};
};
}
);
}