nixos/ssh: use correct executable for grep in ssh-askpass-wrapper (#373746)
[NixPkgs.git] / nixos / modules / system / boot / systemd / dm-verity.nix
blobd800777558013a1bdea873cba2fc74d34a660cd6
1 { config, lib, ... }:
3 let
4   cfg = config.boot.initrd.systemd.dmVerity;
5 in
7   options = {
8     boot.initrd.systemd.dmVerity = {
9       enable = lib.mkEnableOption "dm-verity" // {
10         description = ''
11           Mount verity-protected block devices in the initrd.
13           Enabling this option allows to use `systemd-veritysetup` and
14           `systemd-veritysetup-generator` in the initrd.
15         '';
16       };
17     };
18   };
20   config = lib.mkIf cfg.enable {
21     assertions = [
22       {
23         assertion = config.boot.initrd.systemd.enable;
24         message = ''
25           'boot.initrd.systemd.dmVerity.enable' requires 'boot.initrd.systemd.enable' to be enabled.
26         '';
27       }
28     ];
30     boot.initrd = {
31       availableKernelModules = [
32         "dm_mod"
33         "dm_verity"
34       ];
36       # dm-verity needs additional udev rules from LVM to work.
37       services.lvm.enable = true;
39       # The additional targets and store paths allow users to integrate verity-protected devices
40       # through the systemd tooling.
41       systemd = {
42         additionalUpstreamUnits = [
43           "veritysetup-pre.target"
44           "veritysetup.target"
45           "remote-veritysetup.target"
46         ];
48         storePaths = [
49           "${config.boot.initrd.systemd.package}/lib/systemd/systemd-veritysetup"
50           "${config.boot.initrd.systemd.package}/lib/systemd/system-generators/systemd-veritysetup-generator"
51         ];
52       };
53     };
54   };
56   meta.maintainers = with lib.maintainers; [
57     msanft
58     nikstur
59     willibutz
60   ];