# archiso-valhalla Creates `.iso` files or PXE boot assets for setting up Arch Linux. ## Usage This project is meant to be used on Arch Linux. However, configuration files are provided to use it on any Linux system (or WSL) with [Nix] installed. ### Requirements #### Arch Linux If you are using Arch Linux, make sure that the `archiso` package is installed on your system: ```sh sudo pacman -Syu archiso ``` #### Nix On any other Linux system with Nix installed, use `nix` to automatically set up a development shell with the necessary tools installed: ```sh nix develop ``` ### Creating a `.iso` To create a `.iso` file for installing Arch Linux, run the following command: ```sh ./scripts/build.sh ``` The script accepts all additional arguments which are accepted by the `mkarchiso` command. Running this script will generate a `.iso` file in a new folder called `out`. This `.iso` file can be used for installing Arch Linux. ### Updating This project also contains scripts for updating the files in case Arch Linux's `releng` template (the `archiso` template used by this project) changed. Said scripts are described briefly in the following chapters. #### Show Diff Show the differences between this `archiso` configuration and Arch Linux's `releng` template by running the following command: ```sh ./scripts/show-diff.sh ``` #### Update the Patch To update the patch containing the differences between Arch Linux's `releng` template and this `archiso` configuration, run this command: ```sh ./scripts/update-patch.sh ``` #### Update the Project In case Arch Linux did major changes to the `releng` template, it might make sense to replicate these in this `archiso` configuration. The following command will try to do so using the patch located at `./scripts/valhalla.patch`: ```sh ./scripts/update.sh ``` [Nix]: https://nixos.org