diff --git a/aif.xsd b/aif.xsd
index 1cfd517..83c080d 100644
--- a/aif.xsd
+++ b/aif.xsd
@@ -80,7 +80,7 @@
+ value="(auto|((en|sl|wl|ww)(b[0-9]+|c[a-z0-9]|o[0-9]+(n.*(d.*)?)?|s[0-9]+(f.*)?([nd].*)?|x([A-Fa-f0-9]:){5}[A-Fa-f0-9]|(P.*)?p[0-9]+s[0-9]+(([fnd].*)|u.*)?)))"/>
@@ -89,7 +89,7 @@
-
+
@@ -123,13 +123,13 @@
-
+
-
+
@@ -147,8 +147,10 @@
-
+
+
+
+
@@ -162,19 +164,15 @@
-
-
-
-
-
-
-
-
+
+
+
+
@@ -196,7 +194,7 @@
-
+
@@ -216,7 +214,7 @@
-
+
@@ -232,6 +230,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -239,29 +273,41 @@
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
@@ -383,7 +429,7 @@
-
+
@@ -405,7 +451,7 @@
-
+
@@ -418,7 +464,7 @@
-
+
@@ -439,16 +485,16 @@
use="optional"/>
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -480,8 +526,10 @@
-
-
+
+
+
@@ -499,17 +547,11 @@
-
-
-
-
-
-
-
-
+
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
@@ -577,24 +623,20 @@
-
+
-
+
-
-
-
-
@@ -610,6 +652,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -629,15 +683,28 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -649,6 +716,7 @@
+
\ No newline at end of file
diff --git a/docs/examples/aif-sample-intermediate.json b/docs/examples/aif-sample-intermediate.json
deleted file mode 100644
index 26a2fa9..0000000
--- a/docs/examples/aif-sample-intermediate.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "boot": {
- "bootloader": "grub",
- "efi": true,
- "target": "/boot"
- },
- "disks": {
- "/dev/sda": {
- "fmt": "gpt",
- "parts": {
- "1": {
- "fstype": "8300",
- "start": "0%",
- "stop": "95%"
- },
- "2": {
- "fstype": "ef00",
- "start": "95%",
- "stop": "100%"
- }
- }
- },
- "/dev/sdb": {
- "fmt": "gpt",
- "parts": {
- "1": {
- "fstype": "8300",
- "start": "0%",
- "stop": "47%"
- },
- "2": {
- "fstype": "8300",
- "start": "47%",
- "stop": "95%"
- },
- "3": {
- "fstype": "8200",
- "start": "95%",
- "stop": "100%"
- }
- }
- }
- },
- "mounts": {
- "1": {
- "device": "/dev/sda1",
- "fstype": "ext4",
- "opts": "defaults",
- "target": "/mnt/aif"
- },
- "2": {
- "device": "/dev/sda2",
- "fstype": "vfat",
- "opts": "rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro",
- "target": "/mnt/aif/boot"
- },
- "3": {
- "device": "/dev/sdb1",
- "fstype": "ext4",
- "opts": "defaults",
- "target": "/mnt/aif/home"
- },
- "4": {
- "device": "/dev/sdb2",
- "fstype": "ext4",
- "opts": "defaults",
- "target": "/mnt/aif/mnt/data"
- },
- "5": {
- "device": "/dev/sdb3",
- "fstype": false,
- "opts": false,
- "target": "swap"
- }
- },
- "network": {
- "hostname": "aif.loc.lan",
- "ifaces": {
- "ens3": {
- "address": "auto",
- "gw": false,
- "proto": "ipv4",
- "resolvers": false
- },
- "ens4": {
- "address": "192.168.1.2/24",
- "gw": "192.168.1.1",
- "proto": "ipv4",
- "resolvers": [
- "4.2.2.1",
- "4.2.2.2"
- ]
- }
- }
- },
- "scripts": {
- "pkg": false,
- "post": {
- "1": {
- "auth": "digest",
- "password": "password",
- "realm": "realmname",
- "uri": "https://aif.square-r00t.net/sample-scripts/post/first.sh",
- "user": "test"
- }
- },
- "pre": false
- },
- "software": {
- "mirrors": [
- "http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch",
- "http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch",
- "http://arch.mirror.constant.com/$repo/os/$arch",
- "http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch",
- "http://arch.mirrors.pair.com/$repo/os/$arch",
- "http://mirror.yellowfiber.net/archlinux/$repo/os/$arch"
- ],
- "packages": {
- "openssh": "None"
- },
- "pkgr": false,
- "repos": {
- "community": {
- "enabled": true,
- "mirror": "file:///etc/pacman.d/mirrorlist",
- "siglevel": "default"
- },
- "community-testing": {
- "enabled": false,
- "mirror": "file:///etc/pacman.d/mirrorlist",
- "siglevel": "default"
- },
- "core": {
- "enabled": true,
- "mirror": "file:///etc/pacman.d/mirrorlist",
- "siglevel": "default"
- },
- "extra": {
- "enabled": true,
- "mirror": "file:///etc/pacman.d/mirrorlist",
- "siglevel": "default"
- },
- "multilib": {
- "enabled": true,
- "mirror": "file:///etc/pacman.d/mirrorlist",
- "siglevel": "default"
- },
- "multilib-testing": {
- "enabled": false,
- "mirror": "file:///etc/pacman.d/mirrorlist",
- "siglevel": "default"
- }
- }
- },
- "system": {
- "chrootpath": "/mnt/aif",
- "kbd": "US",
- "locale": "en_US.UTF-8",
- "reboot": true,
- "rootpass": "$6$aIK0xvxLa/9BTEDu$xFskR0cQcEi273I8dgUtyO7WjjhHUZOfyS6NemelPgfMJORxbjgI6QCW6wEcCh7NVA1qGDpS0Lyg9vDCaRnA9/",
- "services": {
- "sshd": true
- },
- "timezone": "UTC",
- "users": {
- "aifusr": {
- "comment": "A Test User",
- "gid": false,
- "group": false,
- "home": false,
- "password": "$6$arRyKn/VsusyJNQo$huX4aa1aJPzRMyyqeEw6IxC1KC1EKKJ8RXdQp6W68Yt7SVdHjwU/fEDvPb3xD3lUHOQ6ysLKWLkEXFNYxLpMf1",
- "sudo": true,
- "uid": false,
- "xgroups": {
- "users": {
- "create": false,
- "gid": false
- }
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/docs/examples/aif-sample-intermediate.json.txt b/docs/examples/aif-sample-intermediate.json.txt
deleted file mode 100644
index 7b4ff6b..0000000
--- a/docs/examples/aif-sample-intermediate.json.txt
+++ /dev/null
@@ -1,96 +0,0 @@
-{'boot': {'bootloader': 'grub', 'efi': True, 'target': '/boot'},
- 'disks': {'/dev/sda': {'fmt': 'gpt',
- 'parts': {1: {'fstype': '8300',
- 'start': '0%',
- 'stop': '95%'},
- 2: {'fstype': 'ef00',
- 'start': '95%',
- 'stop': '100%'}}},
- '/dev/sdb': {'fmt': 'gpt',
- 'parts': {1: {'fstype': '8300',
- 'start': '0%',
- 'stop': '47%'},
- 2: {'fstype': '8300',
- 'start': '47%',
- 'stop': '95%'},
- 3: {'fstype': '8200',
- 'start': '95%',
- 'stop': '100%'}}}},
- 'mounts': {1: {'device': '/dev/sda1',
- 'fstype': 'ext4',
- 'opts': 'defaults',
- 'target': '/mnt/aif'},
- 2: {'device': '/dev/sda2',
- 'fstype': 'vfat',
- 'opts': 'rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro',
- 'target': '/mnt/aif/boot'},
- 3: {'device': '/dev/sdb1',
- 'fstype': 'ext4',
- 'opts': 'defaults',
- 'target': '/mnt/aif/home'},
- 4: {'device': '/dev/sdb2',
- 'fstype': 'ext4',
- 'opts': 'defaults',
- 'target': '/mnt/aif/mnt/data'},
- 5: {'device': '/dev/sdb3',
- 'fstype': False,
- 'opts': False,
- 'target': 'swap'}},
- 'network': {'hostname': 'aif.loc.lan',
- 'ifaces': {'ens3': {'address': 'auto',
- 'gw': False,
- 'proto': 'ipv4',
- 'resolvers': False},
- 'ens4': {'address': '192.168.1.2/24',
- 'gw': '192.168.1.1',
- 'proto': 'ipv4',
- 'resolvers': ['4.2.2.1', '4.2.2.2']}}},
- 'scripts': {'pkg': False,
- 'post': {1: {'auth': 'digest',
- 'password': 'password',
- 'realm': 'realmname',
- 'uri': 'https://aif.square-r00t.net/sample-scripts/post/first.sh',
- 'user': 'test'}},
- 'pre': False},
- 'software': {'mirrors': ['http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch',
- 'http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch',
- 'http://arch.mirror.constant.com/$repo/os/$arch',
- 'http://mirror.vtti.vt.edu/archlinux/$repo/os/$arch',
- 'http://arch.mirrors.pair.com/$repo/os/$arch',
- 'http://mirror.yellowfiber.net/archlinux/$repo/os/$arch'],
- 'packages': {'openssh': None},
- 'pkgr': False,
- 'repos': {'community': {'enabled': True,
- 'mirror': 'file:///etc/pacman.d/mirrorlist',
- 'siglevel': 'default'},
- 'community-testing': {'enabled': False,
- 'mirror': 'file:///etc/pacman.d/mirrorlist',
- 'siglevel': 'default'},
- 'core': {'enabled': True,
- 'mirror': 'file:///etc/pacman.d/mirrorlist',
- 'siglevel': 'default'},
- 'extra': {'enabled': True,
- 'mirror': 'file:///etc/pacman.d/mirrorlist',
- 'siglevel': 'default'},
- 'multilib': {'enabled': True,
- 'mirror': 'file:///etc/pacman.d/mirrorlist',
- 'siglevel': 'default'},
- 'multilib-testing': {'enabled': False,
- 'mirror': 'file:///etc/pacman.d/mirrorlist',
- 'siglevel': 'default'}}},
- 'system': {'chrootpath': '/mnt/aif',
- 'kbd': 'US',
- 'locale': 'en_US.UTF-8',
- 'reboot': True,
- 'rootpass': '$6$aIK0xvxLa/9BTEDu$xFskR0cQcEi273I8dgUtyO7WjjhHUZOfyS6NemelPgfMJORxbjgI6QCW6wEcCh7NVA1qGDpS0Lyg9vDCaRnA9/',
- 'services': {'sshd': True},
- 'timezone': 'UTC',
- 'users': {'aifusr': {'comment': 'A Test User',
- 'gid': False,
- 'group': False,
- 'home': False,
- 'password': '$6$arRyKn/VsusyJNQo$huX4aa1aJPzRMyyqeEw6IxC1KC1EKKJ8RXdQp6W68Yt7SVdHjwU/fEDvPb3xD3lUHOQ6ysLKWLkEXFNYxLpMf1',
- 'sudo': True,
- 'uid': False,
- 'xgroups': {'users': {'create': False,
- 'gid': False}}}}}}
diff --git a/docs/examples/aif-secure.xml b/docs/examples/aif-secure.xml
deleted file mode 100644
index a9d3c2f..0000000
--- a/docs/examples/aif-secure.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- http://mirror.us.leaseweb.net/archlinux/$repo/os/$arch
- http://mirrors.advancedhosters.com/archlinux/$repo/os/$arch
- http://ftp.osuosl.org/pub/archlinux/$repo/os/$arch
- http://arch.mirrors.ionfish.org/$repo/os/$arch
- http://mirrors.gigenet.com/archlinux/$repo/os/$arch
- http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/examples/aif.xml b/docs/examples/aif.xml
index 23802ac..e0b730a 100644
--- a/docs/examples/aif.xml
+++ b/docs/examples/aif.xml
@@ -1,21 +1,26 @@
+ xsi:schemaLocation="http://aif-ng.io/aif.xsd"
+ version="0.2.0">
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ as .
+ Of course, a limitation of this is you cannot e.g. first assemble a LUKS volume, then an LVM
+ group, and then another LUKS volume - so plan accordingly and/or perform this in a script. -->
@@ -93,22 +98,31 @@
+
+ 1ns3cur3p4ssw0rd
+
en_US.UTF-8
-
-
+
+
+
+
+ $6$WtxZKOyaahvvWQRG$TUys60kQhF0ffBdnDSJVTA.PovwCOajjMz8HEHL2H0ZMi0bFpDTQvKA7BqzM3nA.ZMAUxNjpJP1dG/eA78Zgw0
+
+
-
+
+ sshd
+
@@ -130,17 +144,21 @@
http://mirror.jmu.edu/pub/archlinux/$repo/os/$arch
-
-
-
-
+ sed
+ python
+ perl
+ openssh
-
-
-
-
+
+
+
+
+
+
+
+