Demo: https://youtu.be/w0T0ENAbXOU
New features:
-------------------
* `.py` support for profiles, meaning `.json` and `.py` support for profiles such as `desktop` is now supported.
* Correctly identifies btrfs and installs the tools and runs `mkinitcpio` to package a working bootloader
* Added some new `Installer()` helper functions: `set_locale`, `set_hostname`, `genfstab` - `add_bootloader` no longer takes a partition either, as it has to be given earlier in the stages for mounting to make reason.
Minor changes/fixes:
---------------------------
* cache directory is no longer `~/archinstall`, it's now `~/.cache/archinstall` to not confuse the importer of Python.
* Cleaned up the `guided.py` example, to first ask for user input, then proceed to installation. Also added a little warning before wiping.
* Corrected some confusion in `PARTUUID` vs `UUID`
* Fixed `sys_command` since `which` stopped working, now uses `os.environ['PATH']` to find binaries.
* Added symlinks to `./examples` and `./profiles` to trick/get setuptools to import the data correctly, since [this issue](https://stackoverflow.com/questions/31787983/data-files-differences-between-pip-and-setuptools/62792591#62792591) is a huge pain in the ass.
* Fixed the correct order of mounting `/boot` vs calling `bootctl --path=/boot install`, we were installing bootloader before the `/boot` mount was there.
Pre-built binary
--------------------
`archinstall-v2.0.3-1-x86_64.tar.gz` is built using `nuitka3 --standalone archinstall` and simply contain the `.dist` folder from that result as well as the `./examples`. Can be executed as is - or packaged with `PKGBUILD` to produce `archinstall-v2.0.3-1-x86_64.pkg.tar.xz` which is also included here. Steps to reproduce can also be done by running [make.sh](https://github.com/Torxed/archinstall/blob/master/make.sh).