Commit graph

2158 commits

Author SHA1 Message Date
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 a4fa62aaf0 * The fileSystems option shouldn't have a default.
svn path=/nixos/branches/modular-nixos/; revision=15867
2009-06-05 13:30:30 +00:00
Eelco Dolstra d6617f0d5e svn path=/nixos/branches/modular-nixos/; revision=15866 2009-06-05 13:24:23 +00:00
Eelco Dolstra dc8cbffe31 * Revert r15862, as the "host" package in system-path.nix (or any other
package) can be overriden by setting environment.systemPackages in
  /etc/nixos/configuration.nix: it shouldn't be special-cased.

svn path=/nixos/branches/modular-nixos/; revision=15863
2009-06-05 12:57:44 +00:00
Michael Raskin 7e2574c4fd Let host be overriden with a better ISC Bind version if the latter is installed
svn path=/nixos/branches/modular-nixos/; revision=15862
2009-06-05 12:44:32 +00:00
Eelco Dolstra 5bcfbcac88 * We lost the "host" command somewhere.
svn path=/nixos/branches/modular-nixos/; revision=15861
2009-06-05 12:39:37 +00:00
Eelco Dolstra 021c65da98 * Quick hack in the X server job: wait until udev is running, since we
need some devices.  In particular this fixes the "Cannot open
  virtual console 7" errors in VirtualBox.  (There's nothing special
  about VirtualBox, but the different timing makes it more likely to
  trigger this bug.)

svn path=/nixos/branches/modular-nixos/; revision=15836
2009-06-03 08:14:54 +00:00
Eelco Dolstra 116306c8dc * Restart ntpd when we get a new DHCP lease. Without this, if ntpd
previously failed to resolve the NTP server hostnames in its config
  file, it will happily sit in a loop forever doing nothing.

svn path=/nixos/branches/modular-nixos/; revision=15830
2009-06-02 19:42:31 +00:00
Eelco Dolstra 674d63e212 * Don't do a separate "ntp -q -g" to reset the system time in the ntp
start script.  It's probably not necessary, but more importantly, it
  can hang forever if the network is down.  (Actually it will sit in a
  loop waiting for UDP packets that will never arrive.)  This causes
  the NixOS reboot to hang, since Upstart can't kill jobs stuck in
  their start script.

svn path=/nixos/branches/modular-nixos/; revision=15829
2009-06-02 19:40:14 +00:00
Eelco Dolstra 720d51179e * kdm needs the "kde" PAM module, but you only get it when KDE is
enabled as a session type.  Since I'm lazy, provide it
  unconditionally.  Also have it include "common-console" to set
  device ownership when logging in.

svn path=/nixos/branches/modular-nixos/; revision=15800
2009-05-29 14:57:31 +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 dba1d48b78 * Move the uid/gid mappings into a module. This allows other modules
to use it through config.ids.{uids,gids} rather than `import
  relative-path/ids.nix'.

svn path=/nixos/branches/modular-nixos/; revision=15796
2009-05-29 14:25:56 +00:00
Eelco Dolstra c4f50d85cb * Moved the last modules to modules/.
svn path=/nixos/branches/modular-nixos/; revision=15795
2009-05-29 14:11:02 +00:00
Eelco Dolstra 82254ce466 * Doh.
svn path=/nixos/branches/modular-nixos/; revision=15794
2009-05-29 13:30:28 +00:00
Eelco Dolstra ca0038b9b0 svn path=/nixos/branches/modular-nixos/; revision=15793 2009-05-29 13:30:12 +00:00
Eelco Dolstra 81d8c2e1c8 * Move the info wrapper into a module.
svn path=/nixos/branches/modular-nixos/; revision=15792
2009-05-29 13:29:49 +00:00
Eelco Dolstra 548fb6a1a5 * Move the optional parts of the system path to the appropriate
modules.

svn path=/nixos/branches/modular-nixos/; revision=15791
2009-05-29 13:15:31 +00:00
Eelco Dolstra 0da38f14f5 * Forgot to commit.
svn path=/nixos/branches/modular-nixos/; revision=15789
2009-05-29 12:43:29 +00:00
Eelco Dolstra f36643b6c2 * Move the installer tools to modules/installer/tools.
svn path=/nixos/branches/modular-nixos/; revision=15788
2009-05-29 12:41:29 +00:00
Eelco Dolstra df96e5c456 * Move nixos-checkout into its own module.
svn path=/nixos/branches/modular-nixos/; revision=15787
2009-05-29 12:24:48 +00:00
Eelco Dolstra 19e0f46b0e * One down, three to go.
svn path=/nixos/branches/modular-nixos/; revision=15784
2009-05-29 10:04:04 +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 fc9111fadf * Move various system initialisation tasks (e.g. mounting filesystems,
initialising network interfaces, etc.) to modules/tasks.  This
  follows the Upstart terminology: a service is a job that doesn't
  usually terminate (e.g. a daemon), while a task is a job that does
  some work and then exits.

svn path=/nixos/branches/modular-nixos/; revision=15771
2009-05-28 15:03:05 +00:00
Eelco Dolstra e86b066625 * That wasn't quite right.
svn path=/nixos/branches/modular-nixos/; revision=15770
2009-05-28 14:57:31 +00:00
Eelco Dolstra fdbe09e914 * Moved the guest-users.nix module to modules/config. Clearing the
passwords is now done in an activation scriptlet rather than an
  Upstart job (not tested).  BTW, we should get rid of this module and
  add support to the users-groups.nix module for creating accounts
  with an empty password.

svn path=/nixos/branches/modular-nixos/; revision=15769
2009-05-28 14:37:30 +00:00
Eelco Dolstra 29611e49fd * More cleanup.
svn path=/nixos/branches/modular-nixos/; revision=15768
2009-05-28 13:36:38 +00:00
Eelco Dolstra 3c84d56273 * Move the /etc generation to modules/system/etc.
svn path=/nixos/branches/modular-nixos/; revision=15767
2009-05-28 13:17:56 +00:00
Eelco Dolstra 14f1c81822 * Move PAM configuration to modules/security/pam.nix.
svn path=/nixos/branches/modular-nixos/; revision=15766
2009-05-28 13:10:02 +00:00
Eelco Dolstra de7aae5d5e * Move the generation of /etc/nix.machines to the nix-daemon module.
svn path=/nixos/branches/modular-nixos/; revision=15765
2009-05-28 12:56:56 +00:00
Eelco Dolstra e4716ce3ef * Move global networking data (/etc/services, /etc/protocols,
/etc/rpc, /etc/hosts) to modules/config/networking.nix.

svn path=/nixos/branches/modular-nixos/; revision=15764
2009-05-28 12:43:54 +00:00
Eelco Dolstra ec55562ec3 * Move the configuration of the pwdutils (passwd, useradd etc.) to
modules/programs/pwdutils.
* Renamed config.system.shell to config.users.defaultUserShell and
  updated the description to make clear it has to be a non-store
  path.

svn path=/nixos/branches/modular-nixos/; revision=15761
2009-05-28 12:24:56 +00:00
Eelco Dolstra 421dcc35c5 * Moved the Bash configuration to modules/programs/bash.
svn path=/nixos/branches/modular-nixos/; revision=15759
2009-05-28 12:06:54 +00:00
Eelco Dolstra 3badebea95 * Move /etc/issue to the mingetty module.
svn path=/nixos/branches/modular-nixos/; revision=15758
2009-05-28 11:34:46 +00:00
Eelco Dolstra 2d7beac377 * New directory modules/programs that contains system-wide
configuration for specific programs.  For instance, ssh.nix provides
  the configuration for the SSH client; ssmtp.nix provides the
  configuration for the `ssmtp' MTA.

svn path=/nixos/branches/modular-nixos/; revision=15757
2009-05-27 23:59:14 +00:00
Eelco Dolstra 05a08adf91 * Move the dhclient exit hooks file to the dhclient module, where it
belongs.

svn path=/nixos/branches/modular-nixos/; revision=15755
2009-05-27 23:30:29 +00:00
Eelco Dolstra 3c6ae39a0d * Refactoring: moved some options out of system/options.nix (almost
empty now), do more of bashrc.sh declaratively, and moved nsswitch
  generation to modules/config/nsswitch.nix.

svn path=/nixos/branches/modular-nixos/; revision=15754
2009-05-27 23:14:38 +00:00
Nicolas Pierron e6ae383b9b Add a temporary work-around to be able to use non-us keyboard layout.
xkbcomp does not look inside the directory specified with the option -xkbdir.

svn path=/nixos/branches/modular-nixos/; revision=15752
2009-05-27 20:27:59 +00:00
Nicolas Pierron b022f2e95a Generate the module-list.nix which index all valid modules.
Non-valid modules are commented inside the generated list.

Move module paths which are not the module directory into the legacy.nix file.

svn path=/nixos/branches/modular-nixos/; revision=15751
2009-05-27 20:27:54 +00:00
Nicolas Pierron 054528b28d Move hardware modules outside of the module directory because these are modules which should be imported only when you need to support some of them.
svn path=/nixos/branches/modular-nixos/; revision=15750
2009-05-27 20:27:46 +00:00
Eelco Dolstra c3fb0387b4 * Moved the expressions for generating Upstart jobs.
svn path=/nixos/branches/modular-nixos/; revision=15748
2009-05-27 10:32:30 +00:00
Eelco Dolstra 700a1f8f21 * Move the modulesTree and modprobe options to the kernel.nix module.
svn path=/nixos/branches/modular-nixos/; revision=15747
2009-05-27 09:57:30 +00:00
Eelco Dolstra 690416cf1a * Move initrd-related options to the appropriate module.
svn path=/nixos/branches/modular-nixos/; revision=15746
2009-05-27 09:46:50 +00:00
Eelco Dolstra 68c3132f46 * Move the activation scripts to the appropriate module.
svn path=/nixos/branches/modular-nixos/; revision=15745
2009-05-27 09:40:55 +00:00
Eelco Dolstra cfa218a26b * Move the list of modules into a separate file. This file could be
generated by some find/grep hackery as Nicolas suggested.

svn path=/nixos/branches/modular-nixos/; revision=15743
2009-05-27 09:09:17 +00:00
Eelco Dolstra 98cce35041 * Turn the top-level derivation of a NixOS configuration ("system")
into a NixOS module (modules/system/activation/top-level.nix -
  couldn't think of a better name).  The top-level derivation is
  returned in config.system.build.system.
* Inlined system.sh in top-level.nix so that we don't have to pass
  everything through environment variables.

svn path=/nixos/branches/modular-nixos/; revision=15740
2009-05-27 09:00:45 +00:00
Eelco Dolstra 7ac0b3aaea * Make modules/system/boot/stage-1.nix a proper module that exports
the initial ramdisk as config.system.build.bootStage1.

svn path=/nixos/branches/modular-nixos/; revision=15739
2009-05-27 08:14:06 +00:00
Nicolas Pierron 47f70fda2f Fix fullDepEntry location in setuid-wrappers.nix.
svn path=/nixos/branches/modular-nixos/; revision=15733
2009-05-26 14:10:20 +00:00
Eelco Dolstra 60b3f95ad8 * Move the definition of the set of system packages to
modules/config/system-path.nix.  system/system.nix is now almost
  empty.
* Removed the cleanStart option - it should be possible to get the
  same functionality by overriding config.system.path (or defining
  config.system.systemPackages with a higher priority - don't know if
  that works though).

svn path=/nixos/branches/modular-nixos/; revision=15727
2009-05-25 17:41:03 +00:00
Eelco Dolstra c96f0d75f0 * Move the setuid wrappers activation scriptlet to
modules/security/setuid-wrappers.nix.
* Removed the "path" activation scriptlet.  The partial ordering was
  underspecified (there was nothing ensuring that it came near the end
  of the activation script), and it wasn't needed in any case.

svn path=/nixos/branches/modular-nixos/; revision=15726
2009-05-25 15:36:57 +00:00
Eelco Dolstra 278b15d840 * More moving.
svn path=/nixos/branches/modular-nixos/; revision=15725
2009-05-25 14:19:33 +00:00
Eelco Dolstra 6e066c8e1d * Idem.
svn path=/nixos/branches/modular-nixos/; revision=15724
2009-05-25 13:55:36 +00:00
Eelco Dolstra a65aae0140 * Moved more modules.
svn path=/nixos/branches/modular-nixos/; revision=15722
2009-05-25 13:42:46 +00:00
Eelco Dolstra f1fb3b45cf * No camelCase in filenames. Also pluralise the *-manager directories
for consistency.

svn path=/nixos/branches/modular-nixos/; revision=15719
2009-05-25 09:02:29 +00:00
Eelco Dolstra 5ebdee3577 * Continued refactoring the tree: moved most Upstart jobs (namely
those that run daemons) to modules/services.  This probably broke
  some things since there are a few relative paths in modules
  (e.g. imports of system/ids.nix).
* Moved some PAM modules out of etc/pam.d to the directories of NixOS
  modules that use them.

svn path=/nixos/branches/modular-nixos/; revision=15717
2009-05-24 23:13:23 +00:00
Eelco Dolstra c0209d000a svn path=/nixos/branches/modular-nixos/; revision=15703 2009-05-24 18:49:10 +00:00
Eelco Dolstra c66094a310 * Filenames should generally be in lowercase.
svn path=/nixos/branches/modular-nixos/; revision=15702
2009-05-24 18:36:32 +00:00
Eelco Dolstra be85fd2500 * "hardware" belongs in the NixOS tree, not in the configurations
tree.  (The configurations tree is not for general use.)

svn path=/nixos/branches/modular-nixos/; revision=15672
2009-05-20 10:44:50 +00:00