···11+# Build and VM testing Guide
22+33+> This assumes you have both `nix` installed as well as flakes
44+> enabled. The `nixos` CLI is a requirement, too, unless you know how
55+> to use the default NixOS utilities to do the equivalent job.
66+77+The installer can currently be built using the `nixos` CLI as such:
88+99+```sh
1010+nixos apply .#installer --vm
1111+```
1212+1313+It will then tell you where it output the binary for the VM to.
1414+1515+You can then run the VM like this:
1616+1717+```sh
1818+# create a qcow2 disk image first
1919+qemu-img create -f qcow root.qcow2 20G
2020+2121+# run the VM with QEMU
2222+QEMU_KERNEL_PARAMS=console=ttyS0 QEMU_OPTS="-hdd $PWD/root.qcow2" /nix/store/z5i5851bkl0i3mpssdabzrv4mrlzql5h-nixos-vm/bin/run-slos-vm -nographic
2323+```
2424+2525+You will have to replace our `/nix/store` path with the path that
2626+`nixos apply` told you.
2727+2828+Please note that you may have to replace `$PWD/root.qcow2` with the
2929+full path to your disk image.
3030+3131+You should then have it booting in your terminal.
+24
docs/design.md
···11+# Design Principles
22+33+1. **The user should be able to opt-out of all our tooling easily, and
44+ be left with a fully functional configuration.**
55+ The way we will do this is by having our tooling be a single import
66+ away.
77+2. **Try to use existing tooling first**
88+ Instead of trying to re-invent the wheel, try using existing
99+ tooling as much as possible
1010+3. **The nixOS configuration *is* the state.**
1111+ Instead of maintaining the database to figure out the state of the
1212+ OS, we will read the existing nixOS configuration, i.e parse and
1313+ evalutate the flake. For this, we will need to build a program that
1414+ can evaluate nix, and then we will cache it all in easily readable
1515+ JSON. Kind of like what the nixos-cli does for NixOS options
1616+ caching.
1717+4. **Be as quick to set up as possible.**
1818+ Similar to other projects, we want everything to be as quick and
1919+ easy as physically possible. As such, we wanna eventually have an
2020+ ISO that can be flashed for either aarch64 UEFI or amd64 UEFI
2121+ (later BIOS+GPT, too) that asks minimal questions and installs the
2222+ OS.
2323+2424+> more TBD...