{"repo":"DBCDK/morph","free":true,"listed":false,"github":"https://github.com/DBCDK/morph","clone":"git clone https://github.com/DBCDK/morph.git","description":"NixOS deployment tool","language":"Go","stars":1052,"topics":["nix","nixos","devops","deployment","renovate-enabled","platform"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"morph Morph is a tool for managing existing NixOS hosts - basically a fancy wrapper around nix-build , nix copy , nix-env , /nix/store/.../bin/switch-to-configuration , scp and more. Morph supports updating multiple hosts in a row, and with support for health checks makes it fairly safe to do so. Notable features multi host support health checks no state Installation and prerequisites Morph requires nix (at least v2), ssh and scp to be available on $PATH . It should work on any modern Linux distribution, but NixOS is the only one we test on. Pre-built binaries are not provided, since we install morph through an overlay. The easiest way to get morph up and running is to fork this repository and run nix-build , which should result in a store path containing the morph binary. Consider checking out a specific tag, or at least pin the version of morph you're using somehow. Using morph All commands support a --help flag; morph --help as of v1.0.0: Notably, morph deploy requires a . The switch-action must be one of dry-activate , test , switch or boot corresponding to nixos-rebuild arguments of the same name. Refer to the NixOS manual for a detailed description of switch-actions. For help on this and other commands, run morph --help . Example deployments can be found in the examples directory, and built as follows: The result path is written twice, which is a bit silly, but the reason is that only the result path is written to stdout, and everything else (including nix-build output)","default_branch":null,"files":null,"tree":[],"storefront":"/r/DBCDK","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/DBCDK/morph/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}