nixops
NixOps is a declarative infrastructure-as-code tool for deploying NixOS machines across multiple cloud providers and on-premises environments. The project is in low-maintenance mode and explicitly not recommended for new projects; an experimental rewrite (NixOps4) is underway.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | NixOS/nixops |
| Owner | NixOS |
| Primary language | Python |
| License | LGPL-3.0 — OSI-approved |
| Stars | 2.2k |
| Forks | 365 |
| Open issues | 327 |
| Latest release | Unknown |
| Last updated | 2025-12-28 |
| Source | https://github.com/NixOS/nixops |
What nixops is
NixOps uses Nix language to describe declarative, reproducible deployments with separation of logical (what) and physical (where) configuration. It supports AWS, Hetzner, GCE, libvirt, and VirtualBox backends via a plugin architecture, with state management and multi-machine orchestration.
Get the nixops source
Clone the repository and explore it locally.
git clone https://github.com/NixOS/nixops.gitcd nixops# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires NixOS hosts or Nix toolchain for local builds; macOS users may need a NixOS VM as a remote builder.
- Plugin-based backend architecture means cloud provider support depends on maintained community or official plugins (nixops-aws, nixops-hetzner, etc.).
- State management is implicit; understand how NixOps tracks deployment state and handles rollbacks before adopting in production.
- Development dependencies (Python, pytest, mypy, black) must be present; use provided shell.nix for consistent dev environment.
- Extensive documentation in reStructuredText but marked as low-maintenance; expect slower response to issues or documentation updates.
When to avoid it — and what to weigh
- Starting new projects — The README explicitly states 'NixOps is in low-maintenance mode and probably not suited for new projects.' Use nixops4 (experimental rewrite) or alternative tools for greenfield work.
- Heterogeneous OS environments — Mixed deployments with CentOS, Ubuntu, Windows, or other non-NixOS machines. NixOps is designed around NixOS and its declarative model; managing diverse OSes requires different tooling.
- Rapid feature iteration needs — Active development of deployment features or frequent backend additions. Low-maintenance status and focus on experimental rewrite suggest slower uptake of new cloud features or bug fixes.
- Team unfamiliar with Nix — Steep learning curve for teams without Nix/NixOS experience. Deployment and debugging require understanding of Nix language, package management, and NixOS system model.
License & commercial use
Licensed under LGPL-3.0 (GNU Lesser General Public License v3.0), a copyleft license permitting commercial use under specific conditions (source code distribution, license propagation).
LGPL-3.0 permits commercial use of NixOps as a deployment tool, but any modifications or derivative works must be licensed under LGPL-3.0 or compatible. Linking NixOps as a library in proprietary software requires compliance review. Requires legal review for organizational use policies.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Moderate |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | High |
| DEV.co fit | Possible |
| Assessment confidence | High |
State files and cloud credentials must be protected (LGPL does not address security posture). No public security audit data provided. Nix's declarative model reduces configuration drift and aids auditability. Ensure remote builders (especially on macOS) are secured and trusted. Review plugin sources before enabling; untrusted plugins can execute arbitrary code during deployments.
Alternatives to consider
Terraform + Nixos-provisioners
Language-agnostic IaC with broader cloud support and active maintenance. Use Terraform for resource provisioning and NixOS provisioners for guest configuration.
Ansible + NixOS
Simpler learning curve, broader OS support, and active community. Combine Ansible playbooks with NixOS declarative configuration for heterogeneous environments.
Nixops4 (experimental rewrite)
Official modernization of NixOps addressing original limitations. Consider as a forward-looking alternative if stability acceptable for trial environments.
Build on nixops with DEV.co software developers
NixOps is mature but in low-maintenance mode and not recommended for new projects. Existing NixOS deployments can leverage its declarative model, but consider nixops4 (experimental) or Terraform/Ansible for new initiatives. Our DevOps team can help assess fit and migrate existing infrastructure.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
nixops FAQ
Is NixOps safe for production?
What cloud providers are supported?
Can I use NixOps without learning Nix?
How does state management work?
Software developers & web developers for hire
Need help beyond evaluating nixops? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source devops integrations — and maintain them long-term.
Evaluating NixOps for your infrastructure?
NixOps is mature but in low-maintenance mode and not recommended for new projects. Existing NixOS deployments can leverage its declarative model, but consider nixops4 (experimental) or Terraform/Ansible for new initiatives. Our DevOps team can help assess fit and migrate existing infrastructure.