NixOps logo

NixOps

Declarative multi-cloud deployment for NixOS machines

NixOps lets you declaratively define, test, and deploy NixOS systems across AWS, Hetzner, GCE, VirtualBox, and libvirt, with plugin extensibility and separation of logical and physical configuration.

NixOps banner

Overview

Highlights

Declarative configuration ensures reproducible deployments
Local testing on VirtualBox or libvirtd before production
Multi‑cloud support for AWS, Hetzner, and GCE
Extensible plugin architecture for custom back‑ends

Pros

  • Strong integration with the NixOS ecosystem
  • Allows safe pre‑production testing
  • Supports several major cloud providers
  • Plugin system enables tailored extensions

Considerations

  • Low‑maintenance mode; not ideal for brand‑new projects
  • Limited to a small set of cloud providers
  • Requires familiarity with Nix language and tooling
  • Active development has shifted to the nixops4 rewrite

Managed products teams compare with

When teams consider NixOps, these hosted platforms usually appear on the same shortlist.

Ansible logo

Ansible

IT automation and configuration management tool using simple YAML playbooks and agentless execution

Chef logo

Chef

Policy-as-code configuration & compliance automation for hybrid infrastructure

Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.

Fit guide

Great for

  • Teams already using NixOS for their servers
  • Projects that need reproducible multi‑cloud deployments
  • Users who want to validate infrastructure locally
  • Organizations able to maintain custom plugins

Not ideal when

  • New projects starting without Nix experience
  • Teams that require a actively maintained toolchain
  • Deployments to cloud providers not listed above
  • Users looking for a turnkey, no‑code solution

How teams use it

Cross‑provider web service cluster

Deploy identical service definitions to AWS and Hetzner, ensuring consistent configuration across regions.

Pre‑production validation

Run the full deployment in VirtualBox to catch configuration errors before touching production clouds.

ARM image generation

Use NixOps cross‑compilation to build images for ARM devices alongside x86_64 builds.

Custom backend integration

Create a plugin that talks to a private cloud API, extending NixOps beyond the built‑in providers.

Tech snapshot

Python89%
Nix11%
Shell1%

Tags

virtualboxawsnixhetznerpythonnixopsgceclouddevopslibvirtdigialoceannixos

Frequently asked questions

Is NixOps still actively maintained?

It is in low‑maintenance mode; new development is happening in the nixops4 project.

Which cloud providers does NixOps support?

AWS, Hetzner, Google Compute Engine, and local hypervisors such as VirtualBox and libvirtd.

How can I test a deployment before production?

Use the built‑in testable feature to run the deployment on VirtualBox or libvirtd.

Can I add my own deployment backend?

Yes, NixOps provides a plugin infrastructure for custom back‑ends.

What is the recommended way to install the latest version?

Run `nix-shell -p nixopsUnstable` to get the bleeding‑edge build from nixpkgs.

Project at a glance

Active
Stars
2,100
Watchers
2,100
Forks
368
LicenseLGPL-3.0
Repo age14 years old
Last commit3 weeks ago
Primary languagePython

Last synced 2 hours ago