Release Notes

Release 0.4.0 (2023/05/14)

  • Flake evaluation is now actually pure by default. To enable impure expressions, pass --impure.
  • --reboot is added to trigger a reboot and wait for the node to come back up.
  • The target user is no longer explicitly set when deployment.targetUser is null (#91).
  • In apply-local, we now only escalate privileges during activation (#85).
  • Impure overlays are no longer imported by default if a path is specified in meta.nixpkgs (#39)
  • GC roots are now created right after the builds are complete, as opposed to after activation.
  • The meta.allowApplyAll option has been added. If set to false, deployments without a node filter (--on) are disallowed (#95).
  • The --no-substitutes option under the apply subcommand has been renamed to --no-substitute (#59).
  • The meta.nodeSpecialArgs option has been added. It allows specifying node-specific specialArgs passed to NixOS modules (#100).
  • The repl subcommand has been added. It allows you to start an interactive REPL with access to the complete node configurations.
  • The default goal for colmena apply is now boot if --reboot is specified, and switch otherwise (#113).
  • Post-activation keys are now uploaded after the reboot if --reboot is specified (#113).
  • Flake-enabled deployments now use the new SSH store protocol (ssh-ng://).

Release 0.3.2 (2022/09/29)

Release 0.3.1 (2022/08/18)

  • Fixed: Streaming evaluation fails for node names containing periods (#92)
  • Fixed: Streaming evaluation fails in non-flake deployments with relative paths (#107)
  • Fixed: colmena apply-local returning non-zero exit code when successful (#111)

Release 0.3.0 (2022/04/27)

  • Remote builds are now supported (#33).
  • Streaming evaluation powered by nix-eval-jobs is now available as an experimental feature (--evaluator streaming).
  • Colmena can now run on macOS to deploy to NixOS hosts using remote building.
  • It's now possible to configure output colorization via the CLI and environment variables. Colmena follows the clicolors standard.
  • A systemd unit (${name}-key.service) is now created for each secret file deployed using deployment.keys (#48).
  • Node enumeration is now faster if you do not filter against tags with --on @tag-name.
  • The main deployment logic has been rewritten to be cleaner and easier to follow.
  • There are now end-to-end tests to ensure that the development branch is actually functional as a whole at all times.

Release 0.2.2 (2022/03/08)

This bugfix release fixes NixOS detection so apply-local works with the latest changes in nixos-unstable (#63). Additionally, --no-keys was fixed in apply-local.

Release 0.2.1 (2022/01/26)

This bugfix release fixes the issue (#50) where sandboxed documentation builds fail when using the unstable Nixpkgs channel.

Release 0.2.0 (2021/11/18)

This is release 0.2.0, the first stable release of Colmena!

Colmena is a simple, stateless NixOS deployment tool modeled after NixOps and morph, built from the ground up to support parallel deployments.

This release contains the following features:

  • Node Tagging
  • Local Deployment
  • Secrets
  • Ad Hoc Evaluation
  • Nix Flakes Support
  • Parallelism

We now have a User Manual at containing tutorials, sample configurations as well as a complete listing of supported deployment options.