saturnOS/README.md

33 lines
1.4 KiB
Markdown

# saturnOS
this is the basis of the saturnOS operating system ( sorry guix enjoyers )
to check for syntax errors, run `nix repl replEval.nix` and once inside the repl, run `imported` to
check for syntax errors
# Setup for not nixos
Install nix on your system following the instructions here:
https://nixos.org/download.html
Add the nixos 22.11 channel to your system, since we're basing on the latest stable branch for now.
`nix-channel --add https://nixos.org/channels/nixos-22.11 nixos`
Enable flakes, as we're using a flake for our build process.
```
mkdir -p ~/.config/nix
echo "experimental-features = nix-command flakes" >> ~/.config/nix/nix.conf
```
## Building and Running
We are using the [nixos-generators](https://github.com/nix-community/nixos-generators) package to help coordinate builds.
### VM
To build the VM:
`nix run github:nix-community/nixos-generators -- -c default.nix -f vm -o result/vm`
This will build the VM, and register the result in the `result/vm` symlink.
To run the VM, use `sudo result/vm/bin/run-qemu-vm`. (sudo can probably be avoided if you are in the KVM group... I think. TODO Lambda look this up)
You can combine the two steps with the following: `sudo $(nix run github:nix-community/nixos-generators -- -c default.nix -f vm -o result/vm)`
Or to build and run without registering a link (Good if you want a throw away VM which can be garbage collected): `sudo $(nix run github:nix-community/nixos-generators -- -c default.nix -f vm)`