22 分•作者: bwm•8 天前
大家好!很高兴推出 machine0,一个易于创建、配置和快照持久化 NixOS(和 Ubuntu)虚拟机的命令行工具。
您可以将 machine0 视为一个现代化的 VPS 提供商。虚拟机将保持运行状态,除非被关闭(拥有 99.99% 的可用性),它们拥有静态 IP 和 HTTPS 端点,提供 1-60 个 vCPU,最高 240GB RAM,并可选配 GPU。该 CLI 提供了管理生命周期、快照以及使用 Nix flakes 或 Ansible playbooks 配置虚拟机的命令。虚拟机按使用时长计费。
machine0 的独特之处在于它对 NixOS 提供了头等支持!简而言之,NixOS 允许您将整个操作系统定义为代码(类似于 Terraform,但用于 Linux)。一个 flake 声明您的系统状态(软件包、服务、防火墙规则、用户等),并通过锁定文件固定所有依赖项。给定相同的 flake.nix 和 flake.lock,`nixos-rebuild switch` 始终会生成完全相同的系统。
NixOS 生态系统已经成熟,并且 flakes 非常强大:在系统层面,您可以定义软件包、`/etc` 目录的内容、防火墙规则、用户和组等。在用户层面,您可以定义您的 shell、别名、tmux 和 vim 配置。将整个环境定义为代码,可以轻松审计已安装的内容以及系统的配置方式。您可以通过回滚最后一个提交来恢复到之前的状态。代理可以为您编写代码,并在一次性的 machine0 虚拟机上进行测试。
如果您想立即开始,以下命令将帮助您入门:
```bash
npm install -g @machine0/cli
machine0 new my-vm --image nixos-25-11 # 创建一个新的 nixos 虚拟机
machine0 provision my-vm ./flake#my-profile # 使用 nix flake 进行配置
machine0 ssh my-vm # SSH 登录
machine0 stop my-vm # 停止虚拟机
machine0 images new my-vm my-snapshot # 创建一个快照
machine0 new my-clone --image my-snapshot # 从快照创建新虚拟机
```
- 通过 Claude Code 进行安装 + NixOS 配置演示:[https://www.youtube.com/watch?v=RT8N0_e3Vfg](https://www.youtube.com/watch?v=RT8N0_e3Vfg)
- 文档:[https://docs.machine0.io/introduction/overview](https://docs.machine0.io/introduction/overview)
- machine0 NixOS flakes:[https://github.com/fdmtl/machine0-nixos](https://github.com/fdmtl/machine0-nixos)
如果您习惯使用虚拟机,或者想了解 NixOS 的热门之处,我们非常欢迎您尝试 machine0!