31 lines
742 B
Nix
31 lines
742 B
Nix
{ config, lib, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
options.hardware.genode.ahci = {
|
|
enable = lib.mkEnableOption "AHCI (SATA) block driver";
|
|
atapiSupport = lib.mkEnableOption "ATAPI support";
|
|
};
|
|
|
|
config = let cfg = config.hardware.genode.ahci;
|
|
in {
|
|
|
|
hardware.genode.platform.policies = lib.optional cfg.enable
|
|
(builtins.toFile ("ahci.platform-policy.dhall") ''
|
|
let Sigil = env:DHALL_SIGIL
|
|
|
|
in Sigil.Init.Config.Policy::{
|
|
, service = "Platform"
|
|
, label = Sigil.Init.LabelSelector.prefix "drivers -> ahci"
|
|
, content =
|
|
[ Sigil.Prelude.XML.leaf
|
|
{ name = "pci", attributes = toMap { class = "AHCI" } }
|
|
]
|
|
}
|
|
'');
|
|
|
|
};
|
|
|
|
}
|