kernel_module_learn/flake.nix

42 lines
986 B
Nix
Raw Normal View History

2025-02-08 17:01:11 +01:00
{
description = "Environnement de développement pour des modules noyaux Linux";
inputs = {
nixpkgs.url = "nixpkgs";
2025-02-08 17:01:11 +01:00
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; };
2025-02-08 19:40:31 +01:00
linux = pkgs.linuxKernel.kernels.linux_zen;
2025-02-08 17:01:11 +01:00
in {
devShells = rec {
default = nixos;
nixos = pkgs.mkShell {
2025-02-08 19:40:31 +01:00
packages = [ linux.moduleBuildDependencies ];
2025-02-08 17:01:11 +01:00
2025-02-08 19:40:31 +01:00
LINUX_MODULES_FOLDER = "${linux.dev}/lib/modules/${linux.modDirVersion}";
2025-02-08 17:01:11 +01:00
shellHook = ''
2025-02-08 19:40:31 +01:00
echo "Current Linux Kernel used : ${linux.version}"
2025-02-08 17:01:11 +01:00
'';
};
other = pkgs.mkShell {
shellHook = ''
export LINUX_MODULES_FOLDER=/lib/modules/$(uname -r)
echo "Current Linux Kernel used : $(uname -r)"
'';
};
2025-02-08 17:01:11 +01:00
};
}
);
}