A simple multi-profile Nix-flake deployment tool for managing NixOS and non-NixOS systems.
deploy-rs is a deployment tool built for the Nix ecosystem that uses Nix flakes to manage and deploy system configurations across multiple servers. It solves the problem of safely and flexibly deploying NixOS and non-NixOS profiles to various users and nodes, with built-in rollback protection to prevent breaking changes.
System administrators and DevOps engineers using Nix and NixOS who need granular, multi-user deployment capabilities across server clusters.
Developers choose deploy-rs for its multi-profile design that enables independent deployments per user, its safety-focused magic rollback feature, and its deep integration with Nix flakes for declarative infrastructure management.
A simple multi-profile Nix-flake deploy tool.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Allows deploying independent profiles to any user, enabling non-root deployments and home-manager integration, as detailed in the Multi-profile section of the README.
Automatically detects and rolls back deployments that break connectivity, preventing unreachable systems, described in the Magic Rollback feature overview.
Built for Nix flakes with a fallback mode, providing a declarative configuration approach with working examples in the API section.
Includes deployChecks for nix flake check to validate deployment configurations, reducing errors early, as mentioned in the API usage.
Heavily dependent on Nix and flakes, making it unsuitable for teams not already using Nix, with limited support for other deployment paradigms.
Requires writing Nix code for deployment definitions, which can be more complex and error-prone than simpler configuration formats like YAML used in tools like Ansible.
Compared to mainstream tools, deploy-rs has a smaller ecosystem and fewer plugins for external services, relying primarily on SSH and Nix-based workflows.
deploy-rs is an open-source alternative to the following products:
NixOps is a tool for deploying NixOS configurations to multiple machines, both physical and virtual, providing infrastructure as code capabilities for NixOS environments.
morph is a tool for managing database schema migrations, allowing developers to apply version-controlled changes to database structures across different environments.