mirror of Team/StarlightOS at forge.starlightnet.work
at main 113 lines 3.8 kB view raw view rendered
1# Starlight OS 2 3*name, and the entire README for that matter, is temporary* 4 5An operating system based on nixOS aimed at reviving your old hardware 6as homeservers or Network-Attached-Storage (NAS), without locking you 7into one distribution. 8 9## What's different? 10 11Many distributions designed for this purpose are corporate-controlled 12and in a tight ecosystem. This makes it more difficult to migrate out 13of, difficult to peek inside of and understand the system. 14Additionally, it complicates porting new software, as it often 15requires writing platform-specific template and metadata files. Many 16of these projects also don't support ARM64 outside of Raspberry Pi 17images. 18 19To solve all of the above, we are aiming to create one of these 20operating systems, except it leverages all the existing nixOS 21infrastructure, while also adding in some more modern tooling, and 22custom tooling of our own. 23 24We will also allow configurations to be synced between devices by the 25use of `git`. 26 27For managing nixOS generations, as well as the user's changes, 28we present upcoming changes in a "queue", 29showing all changes done since the last rebuild. 30 31The mechanism for adding things to the nixOS configuration without 32manually writing it out into a file is still being investigated. We 33are leaning towards a CLI that takes expresions like 34`services.sharkey.enable true` that then spits out a 35`services/sharkey/sharkey.nix` with contents: 36 37```nix 38{ 39 services.sharkey = { 40 enable = true; 41 } 42} 43``` 44 45From there, changing any settings would be `cli services.sharkey.port 46= 8080` which would edit the file such that it spits out: 47 48```nix 49{ 50 service.sharkey = { 51 enable = true; 52 port = 8080; 53 } 54} 55``` 56 57> NOTE: I have not actually checked those are valid settings, they are 58> just an example. 59 60### Non-Commercial 61 62Unlike other projects, we are aiming to be non-commercial. The OS 63won't ever cost a dime, we won't add features that cost money to use 64nor will we paywall any existing features. 65 66You are of course free to [support 67us](https://liberapay.com/Starlight-Network) but this does not in any 68way alter the experience of using this OS. 69 70## Goals and non-goals 71 72We want to create something that has all the power of nix under the 73hood, while offering usability and user-friendliness akin to other 74projects in this space. At the same time, we want to leave the user 75with a fully working nixOS configuration that doesn't require our 76tooling to continue functioning. 77 78We do not want to create a commercial product, and we do not aim to be 79the most comprehensive GUI tooling on earth either. 80 81## Opinionated 82 83We make some opinionated changes for the base operating system, like 84for example: 85- [Fish](https://fishshell.com) as the default shell. 86- Make use of systemd *heavily*, basically as much as we can. We want 87 a lot of this tooling to be centralized there, as to make it easier 88 to work with. 89- Ship [nixos-cli](https://github.com/nix-community/nixos-cli) instead 90 of the traditional `nixos-install` and co. 91 92## Project Status 93 94The project is currently in its early stages. We are figuring out the 95structure we want to use, writing a basic installation script, and 96planning how the CLI and GUI will work. 97 98If you want to contribute, here are some things we are going to work 99on soon, that we would accept contributions on: 100 101- CLI (probably written in `go`) 102- flake structure for installed OS 103 - i.e how we want to organize the flake into i.e hosts, services 104 and so on. 105- Naming for this project (see issues tab) 106 107## License 108 109Our code is licensed under the 110[Opinionated Queer License v1.3](https://oql.avris.it/license/v1.3.md?c=Starlight%20Network%7Chttps%3A%2F%2Fstarlightnet.work) 111 112This license only applies to our own code, not external dependencies. 113Check licenses accordingly.