Commit graph

19 commits

Author SHA1 Message Date
Eelco Dolstra 2892aed712 * lib/eval-config.nix: combined "configuration" and "extraModules"
into one argument "modules".
* release.nix: fixed the manual job.
* ISO generation: break an infinite recursion.  Don't know why this
  suddenly happens.  Probably because of the nixpkgs.config change,
  but I don't see why.  Maybe the option evaluation is too strict.

svn path=/nixos/trunk/; revision=16878
2009-08-27 11:57:43 +00:00
Eelco Dolstra 6f1b1aefde * Added an option `nixpkgs.config' that allows the Nixpkgs options to
be set from the NixOS configuration.  For instance, you can say

    nixpkgs.config.firefox.enableGeckoMediaPlayer = true;

    environment.systemPackages = [ pkgs.firefox ];

  but the more interesting application is to apply global overrides to
  Nixpkgs throughout NixOS, e.g.

    nixpkgs.config.packageOverrides = pkgs:
      { glibc = pkgs.glibc27;
        gcc = pkgs.gcc42;
      };

  would build the whole system with Glibc 2.7 and GCC 4.2.  (There are
  some issues with "useFromStdenv" in all-packages.nix that need to be
  fixed for packages in the stdenv bootstrap though.)

  The implementation of this option is kind of evil though due to the
  need to prevent a circularity between the evaluation of
  nixpkgs.config and the "pkgs" module argument.

svn path=/nixos/trunk/; revision=16866
2009-08-26 16:52:38 +00:00
Eelco Dolstra 4d72704d77 svn path=/nixos/trunk/; revision=16799 2009-08-21 09:11:33 +00:00
Eelco Dolstra f1035de47c * For the generation of manual / manpages, don't evaluate the option
declarations again (because we already have them).  This cuts
  evaluation time from 7.2s to 4.9s.

svn path=/nixos/trunk/; revision=16798
2009-08-21 09:08:55 +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 a9071b3283 svn path=/nixos/branches/modular-nixos/; revision=16592 2009-08-05 14:43:13 +00:00
Eelco Dolstra b56d08fc83 * Move the hardware modules back to the main modules tree. No need
for a separate tree.
  
* Pass the path of the modules tree to modules so that you don't have
  to write absolute paths, e.g. you can say

    require = [ "${modulesPath}/hardware/network/intel-3945abg.nix" ];

  instead of

    require = [ /etc/nixos/nixos/hardware/network/intel-3945abg.nix ];

  The latter is bad because it makes it hard to build from a different
  NixOS source tree.

svn path=/nixos/branches/modular-nixos/; revision=16350
2009-07-14 12:36:02 +00:00
Nicolas Pierron 284f0e7d26 Use "definitionsOf" & "fixableDeclarationsOf": Hide implementation details.
svn path=/nixos/branches/modular-nixos/; revision=16199
2009-07-06 23:25:12 +00:00
Nicolas Pierron 36bc4971ba Inline the require attribute and move the set into lib/check-config.nix.
svn path=/nixos/branches/modular-nixos/; revision=16194
2009-07-06 16:21:03 +00:00
Nicolas Pierron 26fcc601a6 Update function arguments to follow nixpkgs modification.
svn path=/nixos/branches/modular-nixos/; revision=16193
2009-07-06 16:20:58 +00:00
Eelco Dolstra cd1e4aefc1 * Break the cyclic dependency between the system derivation and
Grub's menu.lst.

svn path=/nixos/branches/modular-nixos/; revision=15931
2009-06-10 21:46:42 +00:00
Eelco Dolstra 27230eed8e * A function for generating squashfs filesystem images.
svn path=/nixos/branches/modular-nixos/; revision=15926
2009-06-10 13:40:35 +00:00
Eelco Dolstra 37edcf4fae * Provide an option to add more files to the ISO image.
svn path=/nixos/branches/modular-nixos/; revision=15903
2009-06-09 12:01:31 +00:00
Eelco Dolstra e4e408293e * Modularise the building of the installation CD/DVD. The module
iso-image.nix contains the minimal stuff necessary to build a
  bootable ISO image containing the given configuration.  The idea is
  that this can be customised by providing additional modules, e.g. to
  add extra packages to the image.

  The ISO image is exported in the configuration attribute
  system.build.isoImage.  So it can be built as follows:

  $ nix-build lib/eval-config.nix \
      --arg configuration 'import ./modules/installer/cd-dvd/iso-image.nix' \
      -A config.system.build.isoImage


svn path=/nixos/branches/modular-nixos/; revision=15871
2009-06-05 13:35:27 +00:00
Eelco Dolstra 02d26fc77d * Make eval-config.nix a bit more general to make it easier to build
other kinds of configurations (like the installation CD).

svn path=/nixos/branches/modular-nixos/; revision=15864
2009-06-05 13:19:39 +00:00
Eelco Dolstra 234c4340c2 * helpers -> lib.
svn path=/nixos/branches/modular-nixos/; revision=15797
2009-05-29 14:46:27 +00:00
Eelco Dolstra 107fc990a6 * More cleanup.
svn path=/nixos/branches/modular-nixos/; revision=15773
2009-05-28 16:20:08 +00:00
Eelco Dolstra c6c9304b95 * system/options.nix: gone :-)
svn path=/nixos/branches/modular-nixos/; revision=15772
2009-05-28 16:03:48 +00:00
Eelco Dolstra 5b7f7d2de1 * Move the config evaluation into a separate expression so that it can
be reused, e.g. for building the CD/DVD.

svn path=/nixos/branches/modular-nixos/; revision=15744
2009-05-27 09:16:56 +00:00