2023-09-07 18:39:21 +02:00
2025-08-03 02:25:57 +02:00
2026-01-09 16:28:44 +01:00
2025-12-24 14:27:47 +09:00
2025-12-31 03:42:26 +09:00
2025-08-21 14:21:39 +02:00
2024-08-04 04:35:25 +02:00
2024-08-04 01:19:22 +02:00
2024-08-14 17:25:55 +02:00
2025-05-31 14:25:33 +02:00
2026-01-13 19:59:43 +09:00
2025-12-02 01:40:54 +01:00
2024-08-04 01:45:20 +02:00
2025-12-22 04:08:30 +01:00

PVV NixOS config

This repository contains the NixOS configurations for Programvareverkstedet's server closet. In addition to machine configurations, it also contains a bunch of shared modules, packages, and more.

Warning

Please read Development - working on the PVV machines before making any changes, and Secret management and sops-nix before adding any credentials such as passwords, API tokens, etc. to the configuration.

Deploying to machines

Warning

Be careful to think about state when testing changes against the machines. Sometimes, a certain change can lead to irreversible changes to the data stored on the machine. An example would be a set of database migrations applied when testing a newer version of a service. Unless that service also comes with downwards migrations, you can not go back to the previous version without losing data.

To deploy the changes to a machine, you should first SSH into the machine, and clone the pvv-nixos-config repository unless you have already done so. After that, checkout the branch you want to deploy from, and rebuild:

# Run this while in the pvv-nixos-config directory
sudo nixos-rebuild switch --update-input nixpkgs --update-input nixpkgs-unstable --no-write-lock-file --refresh --flake .# --upgrade

This will rebuild the NixOS system on the current branch and switch the system configuration to reflect the new changes.

Note that unless you eventually merge the current changes into main, the machine will rebuild itself automatically and revert the changes on the next nightly rebuild (tends to happen when everybody is asleep).

Machine overview

Name Type Description
bekkalokk Physical Our main web host, webmail, wiki, idp, minecraft map, ...
bicep Virtual Database host, matrix, git mirrors, ...
bikkje Virtual Experimental login box
brzeczyszczykiewicz Physical Shared music player
georg Physical Shared music player
ildkule Virtual Logging and monitoring host, prometheus, grafana, ...
kommode Virtual Gitea + Gitea pages
lupine Physical Gitea CI/CD runners
shark Virtual Test host for authentication, absolutely horrendous
wenche Virtual Nix-builders, general purpose compute

Documentation

Description
Mirror of PVV's multimachine nixos setup
Readme 5.7 MiB
Languages
Nix 67.8%
PHP 27%
Python 4.6%
Just 0.6%