diff --git a/nixos-modules/hardware/default.nix b/nixos-modules/hardware/default.nix index c91cf0c..069c5dc 100644 --- a/nixos-modules/hardware/default.nix +++ b/nixos-modules/hardware/default.nix @@ -121,23 +121,25 @@ with lib; ''; }; - genode.core.children.device_manager = { - package = pkgs.genodePackages.device_manager; - configFile = pkgs.writeText "device_manager.dhall" '' - let Sigil = env:DHALL_SIGIL + genode.core.children.device_manager = lib.mkIf + (config.hardware.genode.ahci.enable + || config.hardware.genode.usb.enable) { + package = pkgs.genodePackages.device_manager; + configFile = pkgs.writeText "device_manager.dhall" '' + let Sigil = env:DHALL_SIGIL - in λ(cap : Text) → - Sigil.Init.Child.flat - ( (${managerConfig}).device_manager - ⫽ { binary = cap - , resources = Sigil.Init.Resources::{ - , caps = 256 - , ram = Sigil.units.MiB 8 - } - } - ) - ''; - }; + in λ(cap : Text) → + Sigil.Init.Child.flat + ( (${managerConfig}).device_manager + ⫽ { binary = cap + , resources = Sigil.Init.Resources::{ + , caps = 256 + , ram = Sigil.units.MiB 8 + } + } + ) + ''; + }; genode.core.children.drivers = { package = pkgs.genodePackages.init; diff --git a/tests/tor.nix b/tests/tor.nix new file mode 100644 index 0000000..9f92084 --- /dev/null +++ b/tests/tor.nix @@ -0,0 +1,28 @@ +{ + name = "tor"; + machine = { config, lib, pkgs, ... }: { + # imports = [ ../nixos-modules/systemd.nix ]; + + # genode.core.storeBackend = "fs"; + # hardware.genode.usb.enable = true; + # hardware.genode.usb.storage.enable = true; + + services.tor = { + enable = true; + client.enable = false; + extraConfig = '' + Log [general,net,config,fs]debug stdout + ''; + relay = { + enable = true; + port = 80; + role = "relay"; + bridgeTransports = [ ]; + }; + }; + systemd.services.tor.genode = { + enable = true; + ramQuota = 300; + }; + }; +}