NixThePlanet allows users to run classic medieval operating systems, including macOS Ventura, Windows 3.0, and Windows 2.2, using a single Nix command. Inspired by projects like OSX-KVM and WFVM, it leverages Nix's declarative approach for reproducible and reliable virtual machine creation. The flake exports functions to create and run virtual machines, employing TCL Expect and Tesseract OCR for robust installer automation, and includes a robust CI process to verify image integrity.
This project distinguishes itself through its use of TCL Expect and Tesseract OCR for installer automation, aiming for greater reliability than sleep-based methods. It offers flexible NixOS module integration for system configuration and includes a comprehensive CI process ensuring image consistency. The makeDarwinImage function allows for customization of VM disk sizes, and the project provides dedicated builders for multiple operating systems, including older versions of Windows.
- Operating System Support: Runs macOS Ventura, Windows 3.0, Windows 3.11 (ForWorkgroups), and DOS 6.22.
- Command-Line Launch: Provides simple
nix runcommands for launching each operating system. - NixOS Integration: Offers a NixOS module for enabling and configuring macOS Ventura as a system service.
- Customizable Disk Size: The
makeDarwinImagefunction allows users to specify the disk size of the virtual machine image. - DOS/Win3.x Support: Includes builders and
runScriptfunctionality for building and running DOS 6.22, Windows 3.0, and Windows 3.11 images. - Automated CI: The project includes a CI process that rebuilds the macOS image on every change to ensure reliability.
- Post-Install Scripting: Allows users to run arbitrary commands after the installation of Windows operating systems.
NixThePlanet appears to be an actively maintained project with recent commits and a clear structure. The inclusion of a robust CI process and detailed documentation suggests a focus on reliability and usability. The project's reliance on established tools like Nix and QEMU indicates a solid foundation. However, the reliance on the macOS installer download within the Nix sandbox may introduce some variability depending on download speeds and availability.
NixThePlanet benefits developers and enthusiasts who need to run legacy operating systems in a controlled and reproducible environment. It simplifies the process of creating and deploying virtual machines with macOS, older Windows versions, and DOS using the Nix package manager. The project's emphasis on automation and testability ensures consistent results and eases the management of diverse operating system environments.