Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/schema.json
diff options
context:
space:
mode:
authorLiam McNair <Liammcnair@outlook.com>2022-01-07 09:44:54 +0000
committerGitHub <noreply@github.com>2022-01-07 09:44:54 +0000
commit762cea1da8d3dcba7da257668cb694a00dc8774e (patch)
treee36f2dcb1cd5dc5b93719a6dc2ae2cf5e44cad8c /schema.json
parentb63cf7cb155f043cb3c95ecf6873eed810e414ec (diff)
Created config schema (#727)
* Created config schema * Tweaked the schema to suit v2.3.0+ Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
Diffstat (limited to 'schema.json')
-rw-r--r--schema.json164
1 files changed, 164 insertions, 0 deletions
diff --git a/schema.json b/schema.json
new file mode 100644
index 00000000..98a25abd
--- /dev/null
+++ b/schema.json
@@ -0,0 +1,164 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
+ "title": "Archinstall Config",
+ "description": "A schema for the archinstall command config, more info over at https://archinstall.readthedocs.io/installing/guided.html#options-for-config",
+ "type": "object",
+ "properties": {
+ "audio": {
+ "description": "Audioserver to be installed",
+ "type": "string",
+ "enum": [
+ "pipewire",
+ "pulseaudio",
+ "none"
+ ]
+ },
+ "bootloader": {
+ "description": "Bootloader to be installed",
+ "type": "string",
+ "enum": [
+ "systemd-bootctl",
+ "grub-install",
+ "efistub"
+ ]
+ },
+ "custom-commands": {
+ "description": "Custom commands to be run post install",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "gfx_driver": {
+ "description": "Graphics Drivers to install if a desktop profile is used, ignored otherwise.",
+ "type": "string",
+ "enum": [
+ "VMware / VirtualBox (open-source)",
+ "Nvidia",
+ "Intel (open-source)",
+ "AMD / ATI (open-source)",
+ "All open-source (default)"
+ ]
+ },
+ "harddrives": {
+ "description": "Path of device to be used",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "hostname": {
+ "description": "Hostname of machine after installation",
+ "type": "string"
+ },
+ "kernels": {
+ "description": "List of kernels to install eg: linux, linux-lts, linux-zen etc",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "linux",
+ "linux-lts",
+ "linux-zen",
+ "linux-hardened"
+ ]
+ }
+ },
+ "keyboard-language": {
+ "description": "eg: us, de, de-latin1 etc",
+ "type": "string"
+ },
+ "mirror-region": {
+ "description": "By default, it will autodetect the best region. Enter a region or a dictionary of regions and mirrors to use specific ones",
+ "type": "object"
+ },
+ "nic": {
+ "description": "Choose between NetworkManager, manual configuration, use systemd-networkd from the ISO or no configuration",
+ "type": "object",
+ "properties": {
+ "NetworkManager": {
+ "description": "<boolean>",
+ "type": "boolean"
+ },
+ "interface-name": {
+ "address": "ip address",
+ "subnet": "255.255.255.0",
+ "gateway": "ip address",
+ "dns": "ip address"
+ },
+ "nic": "Copy ISO network configuration to installation",
+ "nic": {}
+ }
+ },
+ "ntp": {
+ "description": "Set to true to set-up ntp post install",
+ "type": "boolean"
+ },
+ "packages": {
+ "description": "List of packages to install post-installation",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "profile": {
+ "description": "Profiles are present in profiles/, use the name of a profile to install it",
+ "type": "string",
+ "enum": [
+ "awesome",
+ "budgie",
+ "cinnamon",
+ "cutefish",
+ "deepin",
+ "desktop",
+ "enlightenment",
+ "gnome",
+ "i3",
+ "kde",
+ "lxqt",
+ "mate",
+ "minimal",
+ "server",
+ "sway",
+ "xfce4",
+ "xorg"
+ ]
+ },
+ "services": {
+ "description": "Services to enable post-installation",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "sys-encoding": {
+ "description": "Set to change system encoding post-install, ignored if --advanced flag is not passed",
+ "type": "string"
+ },
+ "sys-language": {
+ "description": "Set to change system language post-install, ignored if --advanced flag is not passed",
+ "type": "string"
+ },
+ "timezone": {
+ "description": "Timezone eg: UTC, Asia/Kolkata etc.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "bootloader",
+ "kernels",
+ "mirror-region",
+ ],
+ "anyOf": [
+ {
+ "required": [
+ "!root-password"
+ ]
+ },
+ {
+ "required": [
+ "!superusers"
+ ]
+ }
+ ]
+}