nixpkgs/lib
Sander van der Burg 9c722e474d - Added nixos-build-vms command, which builds a virtual network from a network.nix expression (also used by nixos-deploy-network)
- Added a backdoor option to the interactive run-vms script. This allows me to intergrate the virtual network approach with Disnix
- Small documentation fixes

Some explanation:

The nixos-build-vms command line tool can be used to build a virtual network of a network.nix specification.
For example, a network configuration (network.nix) could look like this:

{
  test1 = 
    {pkgs, config, ...}:
 
    {
      services.openssh.enable = true;
      ...
    };

  test2 =
    {pkgs, config, ...}:
    
    {
      services.openssh.enable = true;
      services.xserver.enable = true;
    }

    ;
}

By typing the following instruction:

$ nixos-build-vms -n network.nix

a virtual network is built, which can be started by typing:

$ ./result/bin/run-vms

It is also possible to enable a backdoor. In this case *.socket files are stored in the current directory
which can be used by the end-user to invoke remote instruction on a VM in the network through a Unix
domain socket.

For example by building the network with the following instructions:

$ nixos-build-vms -n network.nix --use-backdoor

and launching the virtual network:

$ ./result/bin/run-vms

You can find two socket files in your current directory, namely: test1.socket and test2.socket.
These Unix domain sockets can be used to remotely administer the test1 and test2 machine
in the virtual network.

For example by running:

$ socat ./test1.socket stdio
ls /root

You can retrieve the contents of the /root directory of the virtual machine with identifier test1


svn path=/nixos/trunk/; revision=24410
2010-10-21 22:50:12 +00:00
..
test-driver test-driver: Add `startJob' method. 2010-10-10 22:37:45 +00:00
build-vms.nix - Added nixos-build-vms command, which builds a virtual network from a network.nix expression (also used by nixos-deploy-network) 2010-10-21 22:50:12 +00:00
eval-config.nix * Added an option to enable support for 32-bit binaries (such as Wine 2010-05-30 22:00:52 +00:00
from-env.nix adding two new options: 2010-04-28 14:55:26 +00:00
make-iso9660-image.nix * Modularise the building of the installation CD/DVD. The module 2009-06-05 13:35:27 +00:00
make-iso9660-image.sh svn path=/nixos/branches/boot-order/; revision=22367 2010-06-21 22:00:48 +00:00
make-squashfs.nix * A function for generating squashfs filesystem images. 2009-06-10 13:40:35 +00:00
make-system-tarball.nix First attempt at trying to get a tarball of a bootable nixos system. 2010-02-15 23:27:51 +00:00
make-system-tarball.sh First attempt at trying to get a tarball of a bootable nixos system. 2010-02-15 23:27:51 +00:00
qemu-flags.nix * The installer test lost the QEMU flags to set up the NIC to talk to 2010-05-27 12:20:37 +00:00
testing.nix * Require KVM. 2010-08-29 23:24:54 +00:00
unpack-theme.nix * helpers -> lib. 2009-05-29 14:46:27 +00:00
unpack-theme.sh * helpers -> lib. 2009-05-29 14:46:27 +00:00