programs.criu: add nixos option for installing criu + kernel flags

This commit is contained in:
Herwig Hochleitner 2018-02-09 23:10:56 +01:00 committed by Herwig Hochleitner
parent 0b621321cd
commit 66080ae4d8
3 changed files with 44 additions and 0 deletions

View File

@ -75,6 +75,7 @@
./programs/cdemu.nix
./programs/chromium.nix
./programs/command-not-found/command-not-found.nix
./programs/criu.nix
./programs/dconf.nix
./programs/environment.nix
./programs/fish.nix

View File

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.programs.criu;
in {
options = {
programs.criu = {
enable = mkOption {
default = false;
description = ''
Install <command>criu</command> along with necessary kernel options.
'';
};
};
};
config = mkIf cfg.enable {
system.requiredKernelConfig = with config.lib.kernelConfig; [
(isYes "CHECKPOINT_RESTORE")
];
boot.kernel.features.criu = true;
environment.systemPackages = [ pkgs.criu ];
};
}

View File

@ -682,5 +682,22 @@ with stdenv.lib;
WW_MUTEX_SELFTEST? n
''}
${optionalString (features.criu or false) ''
EXPERT y
CHECKPOINT_RESTORE y
''}
${optionalString ((features.criu or false) && (features.criu_revert_expert or true))
# Revert some changes, introduced by EXPERT, when necessary for criu
''
RFKILL_INPUT? y
HID_PICOLCD_FB? y
HID_PICOLCD_BACKLIGHT? y
HID_PICOLCD_LCD? y
HID_PICOLCD_LEDS? y
HID_PICOLCD_CIR? y
DEBUG_MEMORY_INIT? y
''}
${extraConfig}
''