= NixOS Nix is and means multiple things – there is: - `Nix` the language - `Nix` the package-manager - `NixOS` the distribution - `Nix` the german slang for "nichts" There are some offical guides to NixOS that you can find on [nixos.org](https://nixos.org/learn.html), an other source of information is the unoffical user [wiki](https://nixos.wiki/) and for a general introduction you can look at [zero-to-nix](https://zero-to-nix.com/). == NixOS @ c3voc Our Nix configuration lives at https://forgejo.c3voc.de/voc/cm/src/branch/master/nixos and one three [[docs:configuration_managment]] tools in use, scoped for all new data center related systems. Each NixOS managed host has a set of default options (`flake.nix`, `outputs.colmena.default`) and all host specific options, which should be placed under `hosts//`. You need to have the nix packet manager installed on your local system. We use `colemena` to deploy configs to our `nix`-based hosts. == Frequent tasks === Deploy a new version of $software on $host To get a shell with colmena installed run in this directory: nix develop … TBD === Deploy a host To get a shell with colmena installed run in this directory: nix develop To deploy a specific host simply run colmena apply switch --on "" When you are on a non `x86_64-linux` platform you want to use a nix remote builder. In case you don't have a remote-builder available you can do `--build-on-target` to use the target machine as builder.