1.2 KiB
1.2 KiB
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
- The user selects a version (commit/branch/tag) of the software they want to install
- The repo is cloned to the local machine
- the
installInfo.nixis created and commited locally. It contains infos like the commit hash, branch, tag, timestamp etc. These are later available as environment variablesQITECH_OS... - The
nixos-switchcommand is run. After rebuilding & compiling the software the system reboots.- The nixos-switch command does the following:
- The system is built with the new configuration
- The system is switched to the new configuration
- The system is marked as "installed" with the new version
- The system is set to boot into the new version
- The computer automatically reboots into the new version of the OS + software.