sigil/nixos-modules/lib/uplinks-option.nix

30 lines
862 B
Nix

{ lib }:
with lib;
mkOption {
default = { };
type = with types;
attrsOf (submodule {
options = {
driver = mkOption { type = types.enum [ "ipxe" "virtio" ]; };
platformPolicy = mkOption {
type = types.path;
default = builtins.toFile "driver.policy.dhall" ''
let Genode = env:DHALL_GENODE
in λ(driverName : Text)
Genode.Init.Config.Policy::{
, service = "Platform"
, label = Genode.Init.LabelSelector.prefix driverName
, content =
[ Genode.Prelude.XML.leaf
{ name = "pci", attributes = toMap { class = "ETHERNET" } }
]
}
'';
};
verbose = lib.mkEnableOption "verbose driver logging";
};
});
}