== The `build.ini` file
This file is where you can specify some of the very basics of BDisk building. It allows you to specify/define certain variables and settings used by the build process. It uses https://docs.python.org/3/library/configparser.html[ConfigParser^] for the parsing engine, and you can do some https://wiki.python.org/moin/ConfigParserExamples[more advanced^] things with it than I demonstrate in the default.

It's single-level, but divided into "sections". This is unfortunately a limitation of ConfigParser, but it should be easy enough to follow.

Blank lines are ignored, as well as any lines beginning with `#` and `;`. There are some restrictions and recommendations for some values, so be sure to note them when they occur. Variables referencing other values in the `build.ini` are allowed in the format of `${value}` if it's in the same section; otherwise, `${section:value}` can be used.

We'll go into more detail for each section below.

=== Example
 [bdisk]
 name = BDISK
 uxname = bdisk
 pname = BDisk
 ver =
 dev = A Developer
 email = dev@domain.tld
 desc = A rescue/restore live environment.
 uri = https://domain.tld
 root_password =
 user = yes
 [user]
 username = ${bdisk:uxname}
 name = Default user
 password = $$6$$t92Uvm1ETLocDb1D$$BvI0Sa6CSXxzIKBinIaJHb1gLJWheoXp7WzdideAJN46aChFu3hKg07QaIJNk4dfIJ2ry3tEfo3FRvstKWasg/
 [build]
 mirror = mirror.us.leaseweb.net
 mirrorproto = https
 mirrorpath = /archlinux/iso/latest/
 mirrorfile =
 mirrorchksum = ${mirrorpath}sha1sums.txt
 mirrorgpgsig =
 gpgkey = 7F2D434B9741E8AC
 gpgkeyserver =
 gpg = no
 dlpath = /var/tmp/${bdisk:uxname}
 chrootdir = /var/tmp/chroots
 basedir = /opt/dev/bdisk
 isodir = ${dlpath}/iso
 srcdir = ${dlpath}/src
 prepdir = ${dlpath}/temp
 archboot = ${prepdir}/${bdisk:name}
 mountpt = /mnt/${bdisk:uxname}
 multiarch = yes
 ipxe = no
 i_am_a_racecar = no
 [gpg]
 mygpgkey =
 mygpghome =
 [sync]
 http = no
 tftp = no
 git = no
 rsync = no
 [http]
 path = ${build:dlpath}/http
 user = http
 group = http
 [tftp]
 path = ${build:dlpath}/tftpboot
 user = root
 group = root
 [ipxe]
 iso = no
 uri = https://domain.tld
 ssldir = ${build:dlpath}/ssl
 ssl_ca = ${ssldir}/ca.crt
 ssl_cakey = ${ssldir}/ca.key
 ssl_crt = ${ssldir}/main.crt
 ssl_key = ${ssldir}/main.key
 [rsync]
 host =
 user =
 path =
 iso = no
