{ config, pkgs, lib, ... }: with lib; let vmixLib = import ./../lib {inherit pkgs lib; }; args = { inherit config pkgs lib vmixLib; }; in { imports = [ (import ./networks args) (import ./vms args) ]; # only relax sandbox on hosts that actually define VM namespaces config.nix.settings.sandbox = mkIf (config.vmix.namespaces != {}) "relaxed"; options.vmix.namespaces = mkOption { type = types.attrsOf (types.submodule (import ./namespaceSubmoduleOptions.nix args)); default = {}; }; config.nixpkgs.overlays = [ (import ../overlay.nix) ]; }