Commit Graph

57 Commits

Author SHA1 Message Date
Sander van der Burg
51d66f647a Fixed nixos-build-vms to use the new test driver. Backdoor option does not work anymore though. I have to look for another solution
svn path=/nixos/trunk/; revision=25591
2011-01-16 21:57:09 +00:00
Evgeny Egorochkin
d8ad975a1f nixos-checkout: add support for git svn. Patch by Florian Friesdorf.
svn path=/nixos/trunk/; revision=25349
2011-01-02 22:13:56 +00:00
Tobias Hammerschmidt
ddc6f84d9c updated broadcom wl driver
svn path=/nixos/trunk/; revision=25334
2011-01-02 11:05:46 +00:00
Sander van der Burg
09c30053a2 Also pass the location of NixOS as argument to the deployment expression
svn path=/nixos/trunk/; revision=25275
2010-12-24 16:42:31 +00:00
Eelco Dolstra
ba459a0bf3 * Fix the broken installer (http://hydra.nixos.org/build/811980). The
hardware scan was generating a hardware.nix containing
  "pkgs.linuxPackages" without having "pkgs" in scope.  Also, it
  shouldn't define boot.kernelPackages.

svn path=/nixos/trunk/; revision=25192
2010-12-18 17:56:04 +00:00
Eelco Dolstra
37a9ffffb0 * Provide a default hostname and deployment target equal to the
attribute name of the machine in the model.  This allows
  networking.hostName and deployment.targetHost to be omitted for
  typical networks.

svn path=/nixos/trunk/; revision=25125
2010-12-14 13:36:54 +00:00
Tobias Hammerschmidt
05c25d3fb2 check for broadcom wireless driver - patch by Vladimír Čunát
svn path=/nixos/trunk/; revision=25045
2010-12-09 19:08:33 +00:00
Sander van der Burg
c318bd097e Fixed the --no-out-link option
svn path=/nixos/trunk/; revision=25034
2010-12-08 14:30:55 +00:00
Sander van der Burg
11d2cd78e0 - deployment.targetHost is now used for connecting to remote hosts instead of deployment.hostname. This makes more sense.
- fixed error in the manual (nixos-deploy-network => nixos-build-vms)


svn path=/nixos/trunk/; revision=25031
2010-12-07 20:13:50 +00:00
Sander van der Burg
755c30c7a2 - nixos-deploy-network no longer uses an infrastructure model => use nixpkgs.system and deployment.hostname instead
- implemented --no-out-link option so that invoking these tools from scripts leave no garbage behind
- some misc. cleanups


svn path=/nixos/trunk/; revision=25019
2010-12-06 22:02:37 +00:00
Eelco Dolstra
651a38019d * nixos-deploy-network: build the deploy script locally as an
optimisation and workaround for Nix/210.

svn path=/nixos/trunk/; revision=24956
2010-12-02 18:09:53 +00:00
Eelco Dolstra
e97a3d9cb6 * Fix incorrect path to switch-to-configuration.
svn path=/nixos/trunk/; revision=24955
2010-12-02 17:22:24 +00:00
Nicolas Pierron
30943d2dc0 Fix nixos-option, accept long arguments.
svn path=/nixos/trunk/; revision=24631
2010-11-09 18:42:59 +00:00
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
Sander van der Burg
936e4e73d7 Modified the nixos-deploy-network script to use a 2PC-like approach illustrated in the Disnix HotSWUp paper for system configurations
svn path=/nixos/trunk/; revision=24352
2010-10-18 19:47:46 +00:00
Sander van der Burg
122e125d6b Added the nixos-deploy-network tool. With this tool you can write a network of NixOS configurations, e.g.:
{
  test1 = {pkgs, config, ...}:
    {
       # NixOS config of machine test1
       ...
    };

  test2 = {pkgs, config, ...}:
    {
       # NixOS config of machine test2
       ...
    };
}

And an infrastructure expression, e.g:

{
  test1 = {
    hostName = "test1.example.org";
    system = "i686-linux";
  };
  test2 = {
    hostName = "test2.example.org";
    system = "x86_64-linux";
  };
}

And by executing:

nixos-deploy-network -n network.nix -i infrastructure.nix

The system configurations in the network expression are built, transferred to the machines in the network and finally activated. 


svn path=/nixos/trunk/; revision=24146
2010-10-07 14:30:52 +00:00
Rob Vermaas
7468ad50e0 nixos-option.sh: fix typo
svn path=/nixos/trunk/; revision=24015
2010-10-01 06:31:27 +00:00
Nicolas Pierron
567f37f3e4 Export tools which may be useful for users that want to switch to NixOS
without using a live CD.

svn path=/nixos/trunk/; revision=23939
2010-09-26 13:39:16 +00:00
Nicolas Pierron
62c9591d0b Fix usage message (-description) and honor $NIXOS instead of $NIXOS_PATH.
svn path=/nixos/trunk/; revision=23937
2010-09-26 08:43:55 +00:00
Nicolas Pierron
7ea957fd3d Add --install option for nixos-option which is used to handle options of
the target system (when installing) and also to generate a template
configuration file for users.

svn path=/nixos/trunk/; revision=23923
2010-09-25 22:29:50 +00:00
Nicolas Pierron
c18fe31160 Make nixos-hardware-scan adding a profile to the generated configuration
file.

svn path=/nixos/trunk/; revision=23918
2010-09-25 09:33:13 +00:00
Nicolas Pierron
cf103b8d4d Add 2 index file to define the default case for detected and not-detected
devices.  These are used to replace hand made listings in the basic
installation CD.

The configuration file, which is generated by nixos-hardware-scan, enables
not-detected devices by default.

svn path=/nixos/trunk/; revision=23911
2010-09-25 09:32:37 +00:00
Eelco Dolstra
c1295661c4 * Added a command `nixos-rebuild build-vm-with-bootloader'. This is
like `build-vm', but boots using the regular boot loader (i.e. GRUB
  1 or 2) rather than booting directly from the kernel/initrd.  Thus
  it allows testing of GRUB.

svn path=/nixos/trunk/; revision=23747
2010-09-13 12:34:58 +00:00
Nicolas Pierron
1f69bc4b9d Remove deprecated notation in tools.nix.
svn path=/nixos/trunk/; revision=23630
2010-09-03 19:10:54 +00:00
Nicolas Pierron
9e04f67b3d Add nixos-option tool to investigate option details on the cmd-line.
svn path=/nixos/trunk/; revision=23629
2010-09-03 19:10:50 +00:00
Eelco Dolstra
f1dde44ac1 * Added an action `nixos-rebuild pull' to just pull the Nixpkgs
channel manifest and exit.  Useful if you don't want to use
  nix-channel.

svn path=/nixos/trunk/; revision=22601
2010-07-14 14:18:27 +00:00
Lluís Batlle i Rossell
41cc6ecdbb Trying to make the nixos-bootstrap-archive (nixos-minimal-archive in other places named) to have an
hydra build product for easy tarball download.


svn path=/nixos/trunk/; revision=22440
2010-07-01 17:54:03 +00:00
Marc Weber
ce642f0cc2 nixos-rebuild: accept both: -jn and -j n
svn path=/nixos/trunk/; revision=21410
2010-04-28 19:52:03 +00:00
Yury G. Kudryashov
a30637aba5 Really use nix-worker in nixos-rebuild
svn path=/nixos/trunk/; revision=21307
2010-04-25 18:26:51 +00:00
Eelco Dolstra
1065e86642 * In nixos-rebuild, build config.environment.nix before trying nixFallback or nixUnstable.
svn path=/nixos/trunk/; revision=20376
2010-03-04 14:38:53 +00:00
Eelco Dolstra
dbc03fbf68 * nixos-install: copy /etc/nsswitch.conf to the chroot. This seems
necessary to have it use /etc/hosts.

svn path=/nixos/trunk/; revision=19905
2010-02-10 14:31:46 +00:00
Eelco Dolstra
6a06118f85 * Use the build flags given on the command line while building Nix.
svn path=/nixos/trunk/; revision=19799
2010-02-03 22:49:50 +00:00
Eelco Dolstra
1a0bb65901 * Added a regression test for whether the Nixpkgs channel works. This
is done by instantiating a webserver that simulates nixos.org.
  Using nix-push we create a channel that contains some stuff (namely
  the GNU Hello source tarball and the rlwrap program).  This was a
  bit tricky because nix-push requires a writable Nix store.  Using
  AUFS this is possible, but not on recent Linux kernels (AUFS1 over
  CIFS fails).

svn path=/nixos/trunk/; revision=19327
2010-01-10 01:26:01 +00:00
Eelco Dolstra
34341d810a * Remove a debug line.
svn path=/nixos/trunk/; revision=19285
2010-01-07 13:53:09 +00:00
Eelco Dolstra
8ebde1ea8a * Add the modules for all block devices.
svn path=/nixos/trunk/; revision=19271
2010-01-06 20:09:53 +00:00
Marc Weber
4378018164 nixos-rebuild: allow passing --fallback
replacing if .. fi by case .. esac

svn path=/nixos/trunk/; revision=19186
2010-01-03 13:36:23 +00:00
Marc Weber
181f4bee26 fix nixos-intall(2). Now the configuration is built correctly.
Passing --arg configuration does no longer work!

svn path=/nixos/trunk/; revision=18983
2009-12-15 23:26:55 +00:00
Marc Weber
4b5864666e * refactoring kvm test and bootstrapping image.
expose makeInfo (used by test now)
  expose config hack
* Adding tests to release.nix
* fixes
* removing dependency on perl

refactoring details:
Move all configuration modules used by the NixOS installation test script
into one directory.

svn path=/nixos/trunk/; revision=18982
2009-12-15 23:26:52 +00:00
Eelco Dolstra
a612fd0d5e * Obsoleted boot.initrd.extraKernelModules (use
boot.initrd.kernelModules instead).

svn path=/nixos/trunk/; revision=18969
2009-12-15 14:05:01 +00:00
Marc Weber
401fd84ae1 kvm installation test update + NixOS installation archive
You can run the kvm nixos installation test by:
  nix-build --no-out-link tests/test-nixos-install-from-cd.nix
It boots the installed system.
It still fails sshd isn't started (yet)

adding nixos-bootstrapping-archive:
You can install NixOS easily using any live cd now.
See README-BOOTSTRAP-NIXOS

svn path=/nixos/trunk/; revision=18950
2009-12-15 06:37:32 +00:00
Eelco Dolstra
f26080c5f4 * Clean up the nixos-rebuild output a bit.
svn path=/nixos/trunk/; revision=18859
2009-12-09 18:23:48 +00:00
Marc Weber
fceadcbef7 --redo -> --fast
svn path=/nixos/trunk/; revision=17839
2009-10-15 23:39:57 +00:00
Marc Weber
f3472f7163 new nixos-rebuild shortcut for --no-fetch --no-nix-build --show-trace called --redo
svn path=/nixos/trunk/; revision=17813
2009-10-14 23:56:11 +00:00
Nicolas Pierron
2e34baba3b Rename environment.extraPackages to environment.systemPackages.
svn path=/nixos/trunk/; revision=17705
2009-10-07 17:14:25 +00:00
Nicolas Pierron
a07e90d6f3 Update the documentation:
* Change the module syntax of the example to follow Eelco's suggestions.

* Add a section "Building your own NixOS CD", which explain how to replace
configuration.nix by the configuration file of a live CD/DVD.

* Fix "Testing the installer" and "Testing the initrd" to fit the location
of derivations.

svn path=/nixos/trunk/; revision=17105
2009-09-13 22:13:19 +00:00
Nicolas Pierron
923f58794a Add --rollback option to nixos-rebuild.
svn path=/nixos/trunk/; revision=16771
2009-08-19 15:04:19 +00:00
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
32bb5b2d0f * Bring back the options to enable/disable the Intel firmwares.
svn path=/nixos/branches/modular-nixos/; revision=16574
2009-08-04 08:50:02 +00:00
Eelco Dolstra
383370f782 * Don't create a temporary file in $HOME.
svn path=/nixos/branches/modular-nixos/; revision=16561
2009-08-03 12:44:45 +00:00
Eelco Dolstra
6802a75076 * nixos-rebuild: replaced some environment variables with options
(e.g. --install-grub instead of $NIXOS_INSTALL_GRUB).  Also support
  some nix-build options (e.g. --show-trace and -j).

svn path=/nixos/branches/modular-nixos/; revision=16560
2009-08-03 12:36:15 +00:00