NixOS/nixops
NixOS/nixops has 2,213 GitHub stars and 364 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 22:13 UTC. Last push 2025-12-28.
NixOps is a tool for deploying to NixOS machines in a network or cloud.
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalNixOps
[!Warning] NixOps is in low-maintenance mode and probably not suited for new projects. Use at your own risks.
[!Note] An experimental rewrite of NixOps is happening under https://github.com/nixops4/nixops4
NixOps is a tool for deploying to NixOS machines in a network or the cloud. Key features include:
- Declarative: NixOps determines and carries out actions necessary to realise a deployment configuration.
- Testable: Try your deployments on VirtualBox or libvirtd.
- Multi Cloud Support: Currently supports deployments to AWS, Hetzner, and GCE
- Separation of Concerns: Deployment descriptions are divided into logical and physical aspects. This makes it easy to separate parts that say what a machine should do from where they should do it.
- Extensible: NixOps is extensible through a plugin infrastructure which can be used to provide additional backends.
For more information, please refer to the NixOps manual.
Running
NixOps is included in nixpkgs and can be executed in a shell as follows:
$ nix-shell -p nixops
or for a bleeding edge version, including many fixes relative to the 1.7 series,
$ nix-shell -p nixopsUnstable
You may need access to a Nix remote builder if your system does not support the deployment's system builds directly. MacOS users may use a virtual machine with NixOS for this purpose.
It is also possible to use cross-compilation with NixOps, by setting nixpkgs.localSystem and nixpkgs.crossSystem. A mix of remote, emulated and cross builds is also possible; see this writeup on eno.space.
Building And Developing
Building The Nix Package
You can build the Nix package by simply invoking nix-build on the project root:
$ nix-build
Development Shell
shell.nix provides an environment with all dependencies required for working on NixOps. You can use nix-shell to
enter a shell suitable for working on NixOps which will contain all Python dependencies specified in pyproject.toml
$ nix-shell
Executing Tests
Inside the development shell the tests can be executed as follows:
$ pytest
Documentation
NixOps' documentation uses reStructuredText. When editing the docs, get a live-reloading, rendered version of the docs:
nixops$ ./live-docs.py
Serving on http://127.0.0.1:5500
and verify its lints before committing:
nixops$ lint-docs
Contributing
Contributions to the project are welcome in the form of GitHub PRs. Please consider the following guidelines before creating PRs:
- Please make sure to format your code using black.
- Please add type signatures using mypy.
- If you are planning to make any considerable changes, you should first present your plans in a GitHub issue so it can be discussed.
- If you are adding features, please also add reasonable tests.
License
Licensed under LGPL-3.0.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,798 starspublic-apis/public-apis
A collective list of free APIs
497,023 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
441,072 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,145 stars