Native Proxmox Backup Server packaging for NixOS: looking for testers

I’ve been running Proxmox Backup Server the official way for years and got bored, so I packaged it natively for NixOS: AWildLeon/nixos-pbs. No Debian container, no dpkg shims. Just a regular Nix derivation.

What it is

A proper rustPlatform.buildRustPackage derivation built from upstream Proxmox git sources, wrapped in a buildFHSEnv to satisfy PBS’s hardcoded Debian-style paths. Same pattern nixpkgs uses for Steam. The web UI assets are pulled from the official .deb archives and assembled at build time, with sections that don’t make sense on NixOS (APT updates, xterm.js shell, disk/ZFS/network management, reboot buttons) trimmed out.

On top of the package there’s a NixOS module (services.proxmox-backup-server) with declarative datastores, prune/verify/sync jobs, agenix-compatible TLS cert support, and PAM integration. Prebuilt binaries are on Cachix.

Current status

The package builds and I have two testers running it. The end goal is nixpkgs, but before filing a PR I want more eyes on it. I may have overlooked things, and some areas are explicitly untested:

  • General real-world backup/restore/sync/GC workloads

  • PAM / authentication beyond basic root@pam

  • Tape drives: pmt, pmtx, sg-tape-cmd are included but completely untested

If you’re willing to kick the tires on any of the above, please report back. There are tracking issues on the repo for each area.

Repo: GitHub - AWildLeon/nixos-pbs: Proxmox Backup Server on NixOS (Experimental) · GitHub

2 Likes

Thank you for sharing! You can get eyes on it as a Nixpkgs pull request. I can see it includes some tests; that’s great! Why not make a PR?

I don’t want to get this merged without more testing.

I’ll rebuild my two PBS systems when I have some time (and it’s not 35°C / 95°F in my computer room).

Backups are critical infrastructure, if they fail a lot can go wrong.

Better no package in nixpkgs than a broken one, hence no PR yet.

Since it modifies the UI slightly, I’ve also reached out to Proxmox via email.

I don’t want a Mozilla/Debian situation in nixpkgs: Mozilla threatened Debian with trademark action over their Firefox branding, which forced Debian to ship their browser as “Iceweasel” for years.

I’d rather get trademark clarity upfront than have nixpkgs suddenly forced to rename or pull the package.

My current list for a PR is:

  • Wait on Proxmox bec of the Trademark / Logo Usage.
  • Use it myself (in prod) (I’d never PR something i wouldnt use myself).
  • Someone has tested the Tape feature (or else i’d remove it in the UI; I dont like untested code…)

It won’t get merged if the pull request is in draft state.