
Ansible
IT automation and configuration management tool using simple YAML playbooks and agentless execution
Discover top open-source software, updated regularly with real-world adoption signals.

Stateless Rust‑based NixOS deployment tool with parallel execution
Colmena provides a lightweight, stateless way to build and deploy NixOS configurations across many hosts, leveraging Rust for speed and supporting Nix Flakes, tags, and parallel operations.

Colmena is a lightweight, stateless deployment utility written in Rust that acts as a thin wrapper around core Nix commands such as nix-instantiate and . It targets NixOS hosts and can reuse existing NixOps or morph configurations with minimal changes, making it a natural drop‑in for teams already familiar with those tools.
nix-copy-closureThe tool builds the desired system configuration locally, then copies the resulting store paths to each target host in parallel, finally activating the new profile. It supports tag‑based host selection (--on @web), custom SSH options, and full integration with Nix Flakes via the outputs.colmenaHive attribute. Installation is straightforward through Nixpkgs (≥ 21.11), nix-shell, or a binary cache hosted on Cachix, allowing both stable and cutting‑edge versions to be used without manual compilation.
When teams consider Colmena, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Tag‑based rollout of web services
Deploys only hosts labeled with `web`, reducing downtime and simplifying staged releases.
Upgrade Nixpkgs across a data center
Rebuilds configurations with a pinned Nixpkgs version and activates them in parallel, ensuring consistent updates.
Container‑based NixOS testing with Flakes
Creates lightweight container nodes via `boot.isContainer` and activates them automatically for CI pipelines.
Remote profile synchronization
Copies missing store paths to remote machines and replaces unknown profiles safely, keeping all nodes aligned.
A working Nix installation with the Nix daemon enabled on the control machine and SSH access to target NixOS hosts.
Colmena is stateless and focuses on parallel deployment, acting as a thin wrapper around Nix commands, whereas NixOps maintains state and provides richer orchestration features.
Yes, define a `outputs.colmenaHive` attribute in your flake and use the standard `colmena` commands; the README includes a Flakes tutorial.
By default Colmena replaces unknown remote profiles during `apply`; this behavior can be disabled with `deployment.replaceUnknownProfiles = false`.
Project at a glance
ActiveLast synced 4 days ago