nixos: fixup device manager USB stuff
This commit is contained in:
parent
7ee13bad02
commit
ac43ed395e
|
@ -1,15 +1,14 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
let
|
||||||
|
mkEnableOption' = text: default:
|
||||||
|
lib.mkEnableOption text // {
|
||||||
|
inherit default;
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
|
||||||
{
|
options.hardware.genode.usb = {
|
||||||
options.hardware.genode.usb = let
|
|
||||||
mkEnableOption' = text: default:
|
|
||||||
lib.mkEnableOption text // {
|
|
||||||
inherit default;
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
|
|
||||||
enable = lib.mkEnableOption "USB driver";
|
enable = lib.mkEnableOption "USB driver";
|
||||||
storage.enable = lib.mkEnableOption "USB mass storage driver";
|
storage.enable = lib.mkEnableOption "USB mass storage driver";
|
||||||
|
|
||||||
|
@ -19,33 +18,13 @@ with lib;
|
||||||
ohciSupport = mkEnableOption' "OHCI support" true;
|
ohciSupport = mkEnableOption' "OHCI support" true;
|
||||||
uhciSupport = mkEnableOption' "UHCI support" false;
|
uhciSupport = mkEnableOption' "UHCI support" false;
|
||||||
xhciSupport = mkEnableOption' "XHCI support" true;
|
xhciSupport = mkEnableOption' "XHCI support" true;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = let
|
config = let
|
||||||
cfg = config.hardware.genode.usb;
|
cfg = config.hardware.genode.usb;
|
||||||
|
|
||||||
usbEris = lib.attrsets.mapAttrs (_: lib.getEris "bin") {
|
usbEris = lib.attrsets.mapAttrs (_: lib.getEris "bin") {
|
||||||
inherit (pkgs.genodePackages) part_block usb_block_drv usb_drv;
|
inherit (pkgs.genodePackages) part_block usb_block_drv usb_drv;
|
||||||
};
|
};
|
||||||
|
|
||||||
managerConfig = pkgs.writeText "usb_device_manager.dhall" ''
|
|
||||||
let Manager = ${pkgs.genodePackages.usb_device_manager.dhall}/package.dhall
|
|
||||||
|
|
||||||
in Manager.toChildAttributes
|
|
||||||
Manager::{
|
|
||||||
, part_block.binary = "${usbEris.part_block.cap}"
|
|
||||||
, usb_block.binary = "${usbEris.usb_block_drv.cap}"
|
|
||||||
, usb_driver =
|
|
||||||
{ binary = "${usbEris.usb_drv.cap}"
|
|
||||||
, bios_handoff = True
|
|
||||||
, ehci = True
|
|
||||||
, ohci = False
|
|
||||||
, uhci = False
|
|
||||||
, xhci = False
|
|
||||||
}
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in {
|
in {
|
||||||
|
|
||||||
hardware.genode.usb.enable = lib.mkDefault cfg.storage.enable;
|
hardware.genode.usb.enable = lib.mkDefault cfg.storage.enable;
|
||||||
|
|
Loading…
Reference in New Issue