mitchellh/nixos-config is a personal NixOS system configuration repository that demonstrates a hybrid development workflow combining macOS as the host operating system with NixOS running in a virtual machine for development work.
The repository addresses the challenge of balancing preferences across operating systems: leveraging macOS's application ecosystem, hardware reliability, and native software while using Linux for development tasks. The approach runs NixOS in a VM on Apple Silicon or Intel Macs, with the host handling graphical applications like browsers and mail clients while the VM handles editors, compilation, databases, and other development tools. The setup uses shared clipboard functionality and optional shared folders for accessing host downloads, with web applications in the VM accessible via the VM's IP address.
This configuration suits developers who want to maintain a macOS-based workflow while preferring a Linux development environment, particularly those already invested in Apple's ecosystem and hardware. The repository explicitly does not position itself as a turnkey solution or learning resource for Nix beginners; adopters must already understand NixOS fundamentals before attempting to use or adapt these configurations. The maintainer prioritizes having a working configuration over optimization and does not claim expertise in Nix or NixOS, viewing the setup as a practical solution rather than a reference implementation.
The project receives occasional updates and suggestions from the community but maintains a selective approach to integration. Development activity reflects a pragmatic stance toward maintenance, with the maintainer addressing questions about the workflow's viability while remaining open to improvements without committing to implement all proposals. The repository includes configurations for both VMware Fusion and UTM, indicating ongoing support for multiple virtualization platforms on Apple Silicon systems.