# Colmena: Yet another NixOS deployment tool

**URL:** https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506
**Category:** Announcements
**Created:** [February 13, 2021, 1:25am UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506 "2021-02-13T01:25:28Z")
**Posts on this page:** 7
**Page:** 2

<div class="post-metadata">

### Author: ![volth](https://discourse.nixos.org/user_avatar/discourse.nixos.org/volth/32/272_2.png) [@volth](https://discourse.nixos.org/u/volth)
#### Post date: [March 29, 2021, 9:44pm UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/21 "2021-03-29T21:44:03Z")

</div>

Interesting, that no one of dozen deployment tools introduced deployment-wide modules (of those nixos system closure would be submodule; there is already an example of that in `nixos-containers.nix`).  
That would not only reduce memory consumption of multi-machine evaluation, but also open a space for hyper-modules with options out of the scope of particular machine (and in some sense being like Helm of Nix world), allowing declarative configuration of

- VPN (or Tinc) network
- trust graphs (for RBAC or just for deployment keys for password-less SSH)
- distrubuted software which run on mix of dedicated machines and ephemeral containers
- etc

---

<div class="post-metadata">

### Author: ![aszlig](https://discourse.nixos.org/user_avatar/discourse.nixos.org/aszlig/32/78_2.png) [@aszlig](https://discourse.nixos.org/u/aszlig)
#### Post date: [March 30, 2021, 3:57am UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/22 "2021-03-30T03:57:23Z")

</div>

> [@volth](#):
>
> Interesting, that no one of dozen deployment tools introduced deployment-wide modules (of those nixos system closure would be submodule; there is already an example of that in `nixos-containers.nix` ).

This was implemented by @shlevy a while™ ago for NixOps although never got merged:

> <https://github.com/NixOS/nixops/pull/187>
>
> With the --modular-expressions flag, nixops will now treat the
> expressions as a …module, with machines and resources being evaluated as
> submodules. This allows defining deployment-level options/configuration,
> as well as reducing duplication between eval-machine-info.nix and
> eval-config.nix.
> 
> Machines are now defined as attributes in resources.machines, and the
> network.\\\* configuration are now in the top-level config namespace (so
> there's an enableRollback option, a description option, etc.). For
> convenience, the top-level configuration can be accessed as the
> 'deployment' argument to each module.
> 
> Depends on NixOS/nixpkgs#2540 (though deployments without the
> \--modular-expressions flag will work without it).
> 
> Fixes #78 (see issue for more details on motivation).

---

<div class="post-metadata">

### Author: ![Shados](https://discourse.nixos.org/user_avatar/discourse.nixos.org/shados/32/1390_2.png) [@Shados](https://discourse.nixos.org/u/Shados)
#### Post date: [June 1, 2021, 2:44pm UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/23 "2021-06-01T14:44:04Z")

</div>

I believe [nixus](https://github.com/Infinisil/nixus)’ multi-host abstraction modules are what you are looking for, at least for the latter part.

---

<div class="post-metadata">

### Author: ![Yajo](https://discourse.nixos.org/user_avatar/discourse.nixos.org/yajo/32/5602_2.png) [@Yajo](https://discourse.nixos.org/u/Yajo)
#### Post date: [July 11, 2022, 8:10am UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/24 "2022-07-11T08:10:21Z")

</div>

This gives a 404 error.

---

<div class="post-metadata">

### Author: ![ryantm](https://discourse.nixos.org/user_avatar/discourse.nixos.org/ryantm/32/900_2.png) [@ryantm](https://discourse.nixos.org/u/ryantm)
#### Post date: [July 12, 2022, 12:01am UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/25 "2022-07-12T00:01:10Z")

</div>

Thanks, I fixed the link!

---

<div class="post-metadata">

### Author: ![himura](https://discourse.nixos.org/user_avatar/discourse.nixos.org/himura/32/9842_2.png) [@himura](https://discourse.nixos.org/u/himura)
#### Post date: [June 27, 2023, 10:12am UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/26 "2023-06-27T10:12:33Z")

</div>

I’m just researching the NixOS ecosystem, and for me this tool looks essential. Why is it still not even it [Nix community projects · GitHub](https://github.com/nix-community) ?

---

<div class="post-metadata">

### Author: ![dschrempf](https://discourse.nixos.org/user_avatar/discourse.nixos.org/dschrempf/32/3651_2.png) [@dschrempf](https://discourse.nixos.org/u/dschrempf)
#### Post date: [June 27, 2023, 9:10pm UTC](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506/27 "2023-06-27T21:10:26Z")

</div>

I think this is a decision of the developer. To my knowledge, Nix community projects have shared ownership. A good resource of available Nix tools is [Awesome Nix | awesome-nix](https://nix-community.github.io/awesome-nix/).

[Previous page](https://discourse.nixos.org/t/colmena-yet-another-nixos-deployment-tool/11506.md?page=1)
