Commit graph

60 commits

Author SHA1 Message Date
Eelco Dolstra 89ef5c979b * New nixos-rebuild action: "nixos-rebuild build-vm" builds a virtual
machine containing a replica (minus the state) of the system
  configuration.  This is mostly useful for testing configuration
  changes prior to doing an actual "nixos-rebuild switch" (or even
  "nixos-rebuild test").  The VM can be started as follows:

  $ nixos-rebuild build-vm
  $ ./result/bin/run-*-vm

  which starts a KVM/QEMU instance.  Additional QEMU options can be
  passed through the QEMU_OPTS environment variable
  (e.g. QEMU_OPTS="-redir tcp:8080::80" to forward a host port to the
  guest).  The fileSystem attribute of the regular system
  configuration is ignored (using mkOverride), because obviously we
  can't allow the VM to access the host's block devices.  Instead, at
  startup the VM creates an empty disk image in ./<hostname>.qcow2 to
  store the VM's root filesystem.

  Building a VM in this way is efficient because the VM shares its Nix
  store with the host (through a CIFS mount).  However, because the
  Nix store of the host is mounted read-only in the guest, you cannot
  run Nix build actions inside the VM.  Therefore the VM can only be
  reconfigured by re-running "nixos-rebuild build-vm" on the host and
  restarting the VM.

svn path=/nixos/trunk/; revision=16662
2009-08-11 01:35:56 +00:00
Eelco Dolstra 02c119a104 * Workaround for hangs on x86_64.
svn path=/nixos/branches/modular-nixos/; revision=16590
2009-08-05 11:43:51 +00:00
Eelco Dolstra 7d3e2b15ef svn path=/nixos/branches/modular-nixos/; revision=16585 2009-08-04 16:09:07 +00:00
Eelco Dolstra f53c9d70ec * The lack of a newline at the end of "EnableSendFile Off" caused a
broken httpd.conf to be generated.  We should really have a merge
  function that appends newlines to every value of options like
  services.httpd.extraConfig.

svn path=/nixos/branches/modular-nixos/; revision=16404
2009-07-16 16:13:35 +00:00
Eelco Dolstra aa075f089e * Set the default gateway.
svn path=/nixos/branches/modular-nixos/; revision=16034
2009-06-24 12:16:06 +00:00
Eelco Dolstra 64d8af9677 svn path=/nixos/branches/modular-nixos/; revision=16024 2009-06-22 14:45:28 +00:00
Eelco Dolstra da77a6437f * qemu-vm.nix: automatically create and initialise the disk image if
it doesn't already exist.  Also set up some ad hoc port forwarding
  from the host to the guest.

svn path=/nixos/branches/modular-nixos/; revision=16012
2009-06-19 15:19:56 +00:00
Eelco Dolstra aa60f3e9a7 * sendfile() is broken over CIFS.
svn path=/nixos/branches/modular-nixos/; revision=16011
2009-06-19 14:30:56 +00:00
Eelco Dolstra 9460a30851 * Use the fileSystems option to mount the host filesystem. Also, it
seems that mount.cifs isn't actually needed (anymore?).

svn path=/nixos/branches/modular-nixos/; revision=16000
2009-06-18 16:47:00 +00:00
Eelco Dolstra 8179e5213f * A module for building KVM/QEMU virtual machines from a NixOS
configuration.  No virtual disk image is generated; the VM shares a
  Nix store with the host.  This makes it very fast to build new VMs.

svn path=/nixos/branches/modular-nixos/; revision=15999
2009-06-18 16:16:12 +00:00