optional:
- QEMU - for VM
- OVMF - for VM with UEFI support
- nixfmt - for linting and formatting
Note
Depending on your local Nix installation, you may have to run some of the following commands with elevated privileges.
Clone the repo:
git clone https://github.com/liveboot/OS liveboot-os
cd liveboot-os
Important
It's very important to clone instead of downloading the source as-is.
Nix relies on information by Git, saved in the hidden .git folder.
This folder is missing on source code downloads.
./iso.sh
Building can take quite a while. Subsequent builds using the same packages are cached.
If you are regularly building Liveboot.org, you may notice your disk usage steadily going up. This happens because of old packages still residing in the Nix store. See section below.
./vm.sh [uefi]
Running the VM-script will attempt to build the ISO first, ensuring it's up-to-date.
By default, the VM will boot in legacy (BIOS) mode. You can optionally run it in UEFI mode. For the latter, sometimes the OVMF can't be found automatically. In that case, specify OVMF as an environment variable, containing the path pointing to OVMF.fd:
OVMF="/path/to/OVMF.fd" ./vm.sh uefi
We provide some helper scripts for typical housekeeping:
./lint.sh
./format.sh
This will bump the flake.lock file:
nix flake update
As usually lots of Nix store entries are invalidated, it's a good idea to clean up your local store afterwards:
nix-store --gc