mirror of Team/StarlightOS at forge.starlightnet.work
1# Design Principles
2
31. **The user should be able to opt-out of all our tooling easily, and
4 be left with a fully functional configuration.**
5 The way we will do this is by having our tooling be a single import
6 away.
72. **Try to use existing tooling first**
8 Instead of trying to re-invent the wheel, try using existing
9 tooling as much as possible.
103. **The nixOS configuration *is* the state.**
11 Instead of maintaining the database to figure out the state of the
12 OS, we will read the existing nixOS configuration, i.e parse and
13 evalutate the flake. For this, we will need to build a program that
14 can evaluate nix, and then we will cache it all in easily readable
15 JSON. Kind of like what the nixos-cli does for NixOS options
16 caching.
174. **Be as quick to set up as possible.**
18 Similar to other projects, we want everything to be as quick and
19 easy as physically possible. As such, we wanna eventually have an
20 ISO that can be flashed for either aarch64 UEFI or amd64 UEFI
21 (later BIOS+GPT, too) that asks minimal questions and installs the
22 OS.
23
24> more TBD...