# 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)`