awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
microvm-nix avatar

microvm-nix/microvm.nix

0
View on GitHub↗

Microvm.nix

microvm.nix is a declarative virtual machine manager and orchestrator for defining, building, and managing isolated guest environments using Nix. It functions as a virtual machine image builder that transforms system specifications into bootable disk images and runner scripts.

The project provides a hypervisor abstraction layer, enabling the deployment of guest images across multiple virtualization backends through a unified configuration. It includes specialized tools for PCI hardware passthrough, granting virtual machines direct access to physical host USB and PCI devices.

The framework covers a broad range of virtualization capabilities, including virtual network orchestration with support for bridging and port forwarding, and guest storage management using writable store overlays and shared host directories. It also supports cross-architecture emulation and binary translation for executing foreign binaries on different CPU architectures.

Lifecycle management is integrated with systemd to automate virtual machine startup and updates, with support for remote configuration activation via SSH.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
microvm-nix.github.io/microvm.nix
↗

Features

  • Virtual Machine Provisioning - Allows for the reproducible and automated provisioning of virtual machines using declarative Nix configurations.
  • Virtual Machine Managers - Provides a declarative framework for creating, configuring, and managing the lifecycle of virtual machine instances via Nix.
  • VM Construction - Creates isolated guest environments using a declarative configuration system and high-performance hypervisors.
  • Machine Specifications - Enables defining guest hardware and system configurations as code for automated deployment.
  • Virtual Storage Managers - Manages the allocation of virtual disk volumes, shared directories, and storage pools for guest machines.
  • Guest Disk Configuration - Provides declarative configuration for guest root disks and stateful block storage devices.
  • VM Lifecycle Orchestration - Provides a system for managing the lifecycle, networking, and storage of virtual machines via reproducible configuration files.
  • Virtual Machine Builders - Transforms declarative system specifications into bootable disk images and runner scripts.
  • Virtual Machine Deployment - Configures virtual machines to launch automatically during the host system boot process.
  • Virtual Machine Lifecycle Management - Integrates with systemd to automate the creation and execution of virtual machines as system services.
  • Host-Guest Mounts - Maps host directories into virtual machine filesystems for seamless and persistent file access.
  • Bootable Image Building - Creates bootable disk images and runner scripts from declarative configurations for use on various hypervisors.
  • Guest Host Filesystem Sharing - Implements mechanisms for sharing directory trees between the host operating system and guest virtual machines.
  • Store Sharing - Mounts a host directory into the environment to decrease image size and eliminate redundant build steps.
  • Operating System Virtualization - Executes isolated guest operating systems by defining runner packages and hypervisor configurations.
  • Virtualization Networking - Manages communication between hosts and isolated virtual machines using bridges, port forwarding, and routed networking.
  • Hypervisor Backend Integrations - Allows users to select the underlying virtualization engine used to run the guest machine.
  • Virtual Machine Image Construction - Builds lightweight virtual machines from specified sources and stores references for automated updates.
  • VM Host Environment Configuration - Configures the necessary host-side state directories, network interfaces, and filesystems to support virtual machine execution.
  • Instance Rebuild from Image - Rebuilds virtual machine instances from updated source references and restarts them to apply configuration changes.
  • Hypervisor Abstractions - Provides a hypervisor abstraction layer to execute machine images across different virtualization backends.
  • Application Configuration Activation - Updates running virtual machines by verifying hostnames and executing configuration switches over SSH.
  • Automated Update Management - Automates the fetching and application of latest system builds from remote caches to update running VMs.
  • Configuration Activation - Updates running virtual machines by transferring system derivations and executing configuration switches over SSH.
  • Remote VM Rebuilding - Provides a unified workflow to build and activate updated system configurations on remote virtual machine hosts via SSH.
  • SSH Deployment Tools - Transfers system derivations to a remote host for building and activates configurations via SSH.
  • Network Port Forwarding - Forwards traffic from the host to the guest using user-networking or host-level address translation.
  • Public Interface Forwarding - Redirects traffic from the host public interface to private IP addresses of internal virtual machines.
  • Service Port Forwarding - Sets up port forwarding to expose services running inside the virtual machine to the host.
  • Virtual Network Bridging - Links multiple virtual Ethernet interfaces to a central host bridge to enable communication between isolated network environments.
  • Binary Translation Layers - Executes foreign binaries within a virtual machine by utilizing binary translation layers and emulation shares.
  • Writable Store Overlays - Implements read-only system images with writable overlays and shared host directories for persistent guest storage.
  • USB and PCI Passthroughs - Connects both PCI and USB devices from the host system directly to the virtual machine for hardware access.
  • Hardware Resource Allocation - Allocates CPU cores, RAM, and network interfaces to define the hardware specifications of a virtual machine.
  • Layered Package Overlays - Supports mounting writable overlays on read-only system stores to allow package modifications in guests.
  • Multi-Architecture Emulators - Runs guest operating systems on CPU architectures different from the host using compatible hypervisor emulation.
  • VirtioFS Shared Directories - Utilizes VirtioFS to map host directories to the guest for efficient and high-performance data exchange.
  • Disk Layout Specifications - Defines the boot disk filesystem type and attaches additional virtual disk images to the machine.
  • Network Bridges - Provides virtual network bridges to connect guest interfaces to physical host networks.
  • Hardware Passthrough - Maps physical PCI and USB devices directly into guest environments for high-performance hardware access.
  • Adapter Configurations - Defines virtual network adapters to control how a virtual machine connects to the host or external networks.
  • Cross-Architecture Virtualization - Enables running guest systems and binaries on different CPU architectures than the host through hypervisor emulation.
  • PCI Device Passthroughs - Binds physical PCI devices to host drivers to grant direct hardware access from within a virtual machine.
  • Writable Store Overlays - Mounts a writable overlay on the read-only Nix store to allow building derivations inside the guest.
  • Network Address Translation - Maps internal virtual machine subnets to an external interface to provide internet access through a gateway.
  • Writable Directory Centralizations - Provides a writable layer over the system store to enable package modifications within a guest session.
  • Virtual Machine Management Tools - Provides a command-line tool for the imperative creation, update, and listing of virtual machines.
  • Virtualization Tools - Framework for NixOS-based MicroVMs.
2,682 stars·211 forks·Nix·MIT·23 views

Star history

Star history chart for microvm-nix/microvm.nixStar history chart for microvm-nix/microvm.nix

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Microvm.nix

These projects share indexed features with Microvm.nix. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • lima-vm/limalima-vm avatar

    lima-vm/lima

    21,320View on GitHub↗

    Lima is a virtualization engine designed to provision and manage lightweight Linux, macOS, and FreeBSD virtual machines. It functions as a comprehensive virtual machine manager that leverages native hypervisors and system emulation to provide isolated environments for container development, cross-architecture testing, and secure sandboxing. The project distinguishes itself through its template-driven provisioning system, which allows users to define and automate environment configurations via local files or remote URL schemes. It integrates deeply with host systems by providing automated file

    Gocontainerdmacosqemu
    View on GitHub↗21,320
  • canonical/multipasscanonical avatar

    canonical/multipass

    9,146View on GitHub↗

    Multipass is a virtual machine lifecycle controller and manager designed to create and orchestrate lightweight Ubuntu instances on a local workstation. It functions as a cross-platform hypervisor wrapper that provides a local cloud development environment for simulating cloud deployments. The system utilizes a hypervisor-abstraction layer and driver-based backend resolution to manage virtual machines across different host operating systems using native virtualization backends. It enables the simulation of cloud instance behavior through the injection of cloud-init metadata and initialization

    C++cloudcontainerhyper-v
    View on GitHub↗9,146
  • virt-manager/virt-managervirt-manager avatar

    virt-manager/virt-manager

    3,035View on GitHub↗

    virt-manager is a graphical management interface for configuring hypervisors, virtual machine instances, and containers via the libvirt API. It provides a desktop environment for managing KVM-based virtualization on Linux hosts, acting as a centralized controller for both local and remote hypervisors. The project distinguishes itself through integrated management of the surrounding virtualization infrastructure. It includes dedicated interfaces for virtual network administration to connect guests to physical hardware and virtual storage management for organizing disk volumes into logical pool

    Python
    View on GitHub↗3,035
  • hashicorp/vagranthashicorp avatar

    hashicorp/vagrant

    27,154View on GitHub↗

    Vagrant is a virtual machine environment manager and infrastructure as code tool used to create and configure consistent development environments. It acts as a virtual machine provisioner and hypervisor abstraction layer, allowing users to define machine specifications and automate software installation on guest systems via declarative configuration files. The project enables cross-hypervisor orchestration by decoupling the command interface from specific virtualization backends. It ensures environment consistency through the distribution of pre-configured machine images and the orchestration

    Rubyautomationrubyvagrant
    View on GitHub↗27,154
Compare all 30 related projects→

Frequently asked questions

What does microvm-nix/microvm.nix do?

microvm.nix is a declarative virtual machine manager and orchestrator for defining, building, and managing isolated guest environments using Nix. It functions as a virtual machine image builder that transforms system specifications into bootable disk images and runner scripts.

What are the main features of microvm-nix/microvm.nix?

The main features of microvm-nix/microvm.nix are: Virtual Machine Provisioning, Virtual Machine Managers, VM Construction, Machine Specifications, Virtual Storage Managers, Guest Disk Configuration, VM Lifecycle Orchestration, Virtual Machine Builders.

Which projects share features with microvm-nix/microvm.nix?

Projects with overlapping indexed features include: lima-vm/lima — Lima is a virtualization engine designed to provision and manage lightweight Linux, macOS, and FreeBSD virtual… canonical/multipass — Multipass is a virtual machine lifecycle controller and manager designed to create and orchestrate lightweight Ubuntu… virt-manager/virt-manager — virt-manager is a graphical management interface for configuring hypervisors, virtual machine instances, and… hashicorp/vagrant — Vagrant is a virtual machine environment manager and infrastructure as code tool used to create and configure… cloud-hypervisor/cloud-hypervisor — Cloud Hypervisor is a Rust-based hypervisor and KVM virtual machine monitor designed to execute 64-bit guest operating… dockur/macos — This project provides a containerized environment for running a full macOS desktop operating system. It utilizes a…