All checks were successful
Check flake syntax / flake-check (push) Successful in 4m30s
44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
# malobeo infrastructure
|
|
|
|
this repository contains nixos configurations of the digital malobeo infrastructure. it should be used to setup, test, build and deploy different hosts in a reproducible manner.
|
|
|
|
### deploying configuration
|
|
|
|
hosts are deployed automatically from master. The [hydra build server](https://hydra.dynamicdiscord.de/jobset/malobeo/infrastructure) will build new commits and on success, hosts will periodically pull those changes.
|
|
Big changes (like updating flake lock) could be commited to the staging branch first. [Hydra builds staging seperate](https://hydra.dynamicdiscord.de/jobset/malobeo/staging), and on success you can merge into master.
|
|
|
|
### deploy fresh host
|
|
if you want to deploy a completly new host refer to [docs](https://docs.malobeo.org/anleitung/create.html)
|
|
|
|
### testing configuration
|
|
|
|
refer to https://docs.malobeo.org/anleitung/microvm.html#testing-microvms-locally
|
|
|
|
## development
|
|
### requirements
|
|
we use flake based configurations for our hosts. if you want to build configurations on you own machine you have to enable flakes first by adding the following to your *configuration.nix* or *nix.conf*
|
|
``` nix
|
|
nix.extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
'';
|
|
```
|
|
|
|
More information about flakes can be found [here](https://nixos.wiki/wiki/Flakes)
|
|
|
|
### dev shell
|
|
a development shell with the correct environment can be created by running ```nix develop ```
|
|
|
|
If you're using direnv you can add flake support by following those steps: [link](https://nixos.wiki/wiki/Flakes#Direnv_integration)
|
|
|
|
### build a configuration
|
|
to build a configuration run the following command (replace ```<hostname>``` with the actual hostname):
|
|
|
|
``` shell
|
|
nix build .#nixosConfigurations.<hostname>.config.system.build.toplevel
|
|
```
|
|
|
|
### documentation
|
|
|
|
documentation is automatically build from master and can be found here: docs.malobeo.org
|
|
locally you can run documentation using ```nix run .#docs``` or ```nix run .#docsDev```
|