{ lib, ... }:
let
  # {
  #   roles = {
  #     client = {
  #       machines = [
  #         "camina_machine"
  #         "vi_machine"
  #       ];
  #     };
  #     server = {
  #       machines = [ "vyr_machine" ];
  #     };
  #   };
  # }
  instanceOptions = lib.types.submodule {
    options.roles = lib.mkOption { type = lib.types.attrsOf machinesList; };
  };

  # {
  #   machines = [
  #     "camina_machine"
  #     "vi_machine"
  #     "vyr_machine"
  #   ];
  # }
  machinesList = lib.types.submodule {
    options.machines = lib.mkOption { type = lib.types.listOf lib.types.str; };
  };
in
{
  options.clan.inventory.services = lib.mkOption {
    type = lib.types.attrsOf (lib.types.attrsOf instanceOptions);
  };
}
