NixOS

From CSCWiki
Revision as of 20:42, 1 September 2026 by K95ma (talk | contribs) (+)
Jump to navigation Jump to search

We're trying to explore different options for running services, and NixOS on Proxmox containers is one of them. Here's how it is supposed to work:

  • Malleable: it should be relatively easy to modify an existing service config, update software version, and migrate one software to another, as everything are written in Nix configuration files.
  • Recoverable: NixOS keeps old copies of the system, which can be reverted if we see any immediate issues.
  • Discoverable: Services are located in one canonical, centralized location. This reduces the time needed to find the specific config for a specific software, and also makes it easy for someone to know what services are running.
  • Replicable: As NixOS service configuration files are written in a human readable format, anyone wishing to use the "normal" way to configure their service should be able to understand how to setup their service in a similar way.
  • Trackable: Easy to manage and track changes using Git, maybe even with CI.

Setting up a Proxmox VM

If there isn't a template already, use https://hydra.nixos.org/job/nixos/release-25.05/nixos.proxmoxLXC.x86_64-linux (replace 25.05 with the latest release)

Use "Create CT", add a SSH public key, and use the vmbr0 bridge. Start the container and look at its IP on the network tab. You should then be able to SSH into the container with a command like:

ssh -J [WatIAM]@neotame.csclub.uwaterloo.ca root@129.97.[ACT.UAL]