{
"id": "dev.ocbwoy3.dotsyncd.device",
"defs": {
"rig": {
"type": "object",
"required": [
"cpu",
"gpu",
"ram",
"disk",
"diskType"
],
"properties": {
"cpu": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The CPU model of the device"
},
"gpu": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The GPU model of the device"
},
"ram": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "The amount of RAM in the device (e.g. 16GB)"
},
"disk": {
"type": "string",
"maxLength": 30,
"minLength": 1,
"description": "The amount of space in / (in numBlocks*blockSize, e.g. 32767*1024)"
},
"diskType": {
"type": "string",
"maxLength": 20,
"minLength": 1,
"description": "The type of filesystem on / (e.g. ext4, btrfs)"
}
}
},
"main": {
"key": "any",
"type": "record",
"record": {
"type": "object",
"required": [
"name",
"rig",
"setup",
"createdAt",
"distro",
"configInUse"
],
"properties": {
"rig": {
"ref": "#rig",
"type": "ref",
"description": "The hardware specifications of the device"
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The name of the device (e.g. Gaming PC, Laptop)"
},
"setup": {
"ref": "#setup",
"type": "ref",
"description": "The software setup of the device"
},
"distro": {
"ref": "#distro",
"type": "ref",
"description": "The distro specifications of the device"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "The date and time when the device was added"
},
"configInUse": {
"type": "string",
"format": "uri",
"maxLength": 100,
"minLength": 1,
"description": "The config in use on the device"
}
}
}
},
"setup": {
"type": "object",
"required": [
"wm"
],
"properties": {
"wm": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The WM/DE used on the device derived from $XDG_CURRENT_DESKTOP (e.g. Hyprland)"
}
}
},
"distro": {
"type": "object",
"required": [
"name",
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The ID of the Linux distribution (e.g. nixos, gentoo)"
},
"name": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "The name of the Linux distribution (e.g. NixOS, Gentoo Linux)"
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "This record defines a device connected to dotsyncd"
}