24 lines
1.2 KiB
Markdown
24 lines
1.2 KiB
Markdown
# NixOS Docs
|
|
|
|
Nixos is a Linux distro tightly integrated with the Nix package manager. It is known for its declarative configuration, reproducibility, and powerful package management capabilities.
|
|
|
|
This is why we chose nixos
|
|
- enables us to ship OS components like drivers to the customer's computer
|
|
- reproducible
|
|
- able to roll back
|
|
|
|
# How we do updates
|
|
1. The user selects a version (commit/branch/tag) of the software they want to install
|
|
2. The repo is cloned to the local machine
|
|
3. the `installInfo.nix` is created and commited locally. It contains infos like the commit hash, branch, tag, timestamp etc. These are later available as environment variables `QITECH_OS...`
|
|
4. The `nixos-switch` command is run. After rebuilding & compiling the software the system reboots.
|
|
- The nixos-switch command does the following:
|
|
1. The system is built with the new configuration
|
|
2. The system is switched to the new configuration
|
|
3. The system is marked as "installed" with the new version
|
|
4. The system is set to boot into the new version
|
|
5. The computer automatically reboots into the new version of the OS + software.
|
|
|
|
# More Docs
|
|
- [Implementation Details](./details.md)
|
|
- [Fresh Installation Quick Start guide](./quick-start.md) |