diff --git a/modules/programs/blcr.nix b/modules/programs/blcr.nix index c80f46d642e3..d1cc40585bb7 100644 --- a/modules/programs/blcr.nix +++ b/modules/programs/blcr.nix @@ -3,15 +3,7 @@ let inherit (pkgs.lib) mkOption mkIf; cfg = config.environment.blcr; - kernelPkgs = config.boot.kernelPackages; - blcrPkg = kernelPkgs.blcr; - - insmod = "${pkgs.module_init_tools}/sbin/insmod"; - rmmod = "${pkgs.module_init_tools}/sbin/rmmod"; - - modulesDir = "${blcrPkg}/lib/modules/${kernelPkgs.kernel.version}"; - blcr_imports_ko = "${modulesDir}/blcr_imports.ko"; - blcr_ko = "${modulesDir}/blcr.ko"; + blcrPkg = config.boot.kernelPackages.blcr; in { @@ -23,35 +15,13 @@ in description = "Wheter to enable support for the BLCR checkpointing tool."; }; - - environment.blcr.autorun = mkOption { - default = true; - description = - "Whether to load BLCR kernel modules automatically at boot."; - }; }; - ###### implementation config = mkIf cfg.enable { + boot.kernelModules = [ "blcr" "blcr_imports" ]; + boot.extraModulePackages = [ blcrPkg ]; environment.systemPackages = [ blcrPkg ]; - - jobs.blcr = { - name = "blcr"; - description = "Loads BLCR kernel modules"; - task = true; - - startOn = if cfg.autorun then "started udev" else null; - - preStart = '' - ${insmod} ${blcr_imports_ko} - ${insmod} ${blcr_ko} - ''; - postStop = '' - ${rmmod} ${blcr_ko} - ${rmmod} ${blcr_imports_ko} - ''; - }; }; }