Install NixOS everywhere via SSH with a single command, automating disk partitioning, formatting, and system configuration.
nixos-anywhere is a command-line tool that automates the remote installation of NixOS via SSH. It solves the problem of time-consuming and complex manual setups by allowing users to pre-configure disk partitioning, system settings, and software installations, then deploy everything with a single command. This is particularly useful for provisioning new machines or repurposing old ones across different environments.
System administrators, DevOps engineers, and NixOS users who need to deploy NixOS consistently across multiple machines, especially in remote or heterogeneous environments like cloud servers, bare metal, or local networks.
Developers choose nixos-anywhere for its ability to fully automate NixOS installations via SSH, eliminating manual steps and ensuring reproducible deployments. Its integration with tools like disko for disk management and support for kexec booting make it a versatile solution for remote provisioning.
Install NixOS everywhere via SSH [maintainers=@Mic92 @Lassulus @phaer @Enzime @a-kenji]
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables unattended installations via SSH, eliminating the need for physical access, as emphasized in the remote SSH installation feature.
Uses the disko tool to handle partitioning and formatting, automating complex disk setup tasks described in the overview.
Works on cloud, bare metal, and local servers, providing flexibility for diverse provisioning needs as highlighted in the README.
Allows storing and reusing Nix configurations to create identical servers, supporting the tool's philosophy of automation and reproducibility.
Primarily supports x86-64; other architectures require custom kexec images, as noted in the prerequisites, adding extra steps and complexity.
Does not support wifi networks and requires custom setup for VPNs, limiting its use in some network environments without additional configuration.
Completely overwrites the target machine, making it unsuitable for production servers or data-preserving operations, as explicitly warned in the README.