Commit graph

245 commits

Author SHA1 Message Date
Rob Vermaas
704e56667a added nixos modules to perform simple backup scheduling for directories, postgresql and mysql database dumps
svn path=/nixos/trunk/; revision=17690
2009-10-07 11:55:36 +00:00
Rob Vermaas
0e2c160e2e added privoxy nixos module
svn path=/nixos/trunk/; revision=17646
2009-10-05 15:11:32 +00:00
Nicolas Pierron
7568587e88 Add a renaming module. This module introduce the rename function to
fetch definitions of oldest options and to add them inside the new option.

Properties are still valid and will not be affected by the renaming. e.g:

with: rename alias "foo.bar" to "baz.quz"
and with the following module:

{
  foo.bar = (mkOverride 10 {}) 42;
  baz.quz = 21;
}

the result of baz.quz would be 42 because the priority is still working
after the renaming.

svn path=/nixos/trunk/; revision=17484
2009-09-28 18:26:13 +00:00
Lluís Batlle i Rossell
75f6cd20da Making modular my previous changes for armv5tel. I updated the way to use
grub. Its options are no more inside 'boot', but inside 'boot.loader.grub'.
I added a new bootloader configuration for nixos, generationsDir. It creates
/boot/default/{init,initrd,kernel,system} symlinks, and the same for the generations
in /boot/system-$gen/{init,initrd,kernel,system}.

I can program the u-boot loader to load /boot/default files always, and have
a minimal nixos boot loader installer functionality. Additionally, I can refer
to the other system generations easily, with a simple 'ls' in /boot.

svn path=/nixos/trunk/; revision=17460
2009-09-27 21:51:37 +00:00
Eelco Dolstra
69f68c319d * A module for the old PolicyKit.
svn path=/nixos/trunk/; revision=17433
2009-09-25 23:06:38 +00:00
Eelco Dolstra
3e5912833d * For consistency with Nixpkgs.
svn path=/nixos/trunk/; revision=17427
2009-09-25 20:12:35 +00:00
Michael Raskin
de555c3705 Reduce size of iso-minimal-fresh-kernel and make it easier to install offline
svn path=/nixos/trunk/; revision=17301
2009-09-20 15:07:19 +00:00
Lluís Batlle i Rossell
4670b1318a Adding support for the rt73 usb wifi nic firmware loading.
svn path=/nixos/trunk/; revision=17264
2009-09-18 20:49:12 +00:00
Rob Vermaas
44f99c64d4 * added ddclient module to allow synchronization of machine's ip address with dynamic dns provider
svn path=/nixos/trunk/; revision=17180
2009-09-16 11:22:45 +00:00
Rob Vermaas
9587192c68 * added uptimed module
svn path=/nixos/trunk/; revision=17173
2009-09-16 07:48:47 +00:00
Eelco Dolstra
bc95e0fdf9 * Simplified the X server directory structure: x11/xserver/* -> x11/.
svn path=/nixos/trunk/; revision=17005
2009-09-10 12:50:58 +00:00
Eelco Dolstra
6920f43f1c Refactoring of the X server module:
* Modularised the xorg.conf generation.  For instance, the Wacom and
  Synaptics support has been moved into separate modules.  The
  contents of xorg.conf is defined by the option
  services.xserver.config, and various other options for specific
  sections (e.g. services.xserver.serverLayoutSection).

* displayManager.job.env: made this an attribute set.

* tcpEnable -> enableTCP for naming consistency.

* defaultDepth can be set to 0 to leave it undefined (needed for the
  vmware driver).

* Removed some options that seem obsolete or are now the default
  (e.g. RenderAccel, AllowGLXWithComposite).

* Removed services.xserver.package.  This can now be done using
  nixpkgs.config.packageOverrides.

svn path=/nixos/trunk/; revision=17004
2009-09-10 12:37:33 +00:00
Eelco Dolstra
331bee12a4 * Fold the functionality of guest-users.nix into users-groups.nix by
adding an attribute "password" that defines the default password for
  an account.  The default (null, as opposed to the empty string)
  means not to set a password.

svn path=/nixos/trunk/; revision=16937
2009-09-02 17:35:24 +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
8e6ad840f2 * Modularised the xinetd service. tftp has been factored out into a
separate module, which just declares a configuration value that
  causes the xinetd module to add it to xinetd.conf.  Also Nixified
  the service declarations to abstract over the inetd implementation.
  
* Renamed the services.xinetd.tftpd options to services.tftpd.  The
  fact that the tftpd module uses xinetd is an implementation detail.

* xinetd: use -dontfork to let Upstart monitor it, and use -syslog to
  get error messages at startup.

svn path=/nixos/trunk/; revision=16803
2009-08-21 13:05:45 +00:00
Lluís Batlle i Rossell
f250f69ee8 Adding xinetd with a possible tftpd server.
svn path=/nixos/trunk/; revision=16784
2009-08-19 20:20:51 +00:00
Eelco Dolstra
7ab616f659 * Added support for ConsoleKit.
* Let ConsoleKit track the current logins instead of pam_console.
  Udev now takes care of setting the device permissions to the active
  user.  This works much better, since pam_console wouldn't apply
  permissions to new (hot-plugged) devices.  Also, the udev+ConsoleKit
  approach supports user switching.  (We don't have that for X yet,
  but it already works for logins on virtual consoles: if you switch
  between different users on differents VCs with Alt+Fn, the device
  ownership will be changed automatically.)

svn path=/nixos/trunk/; revision=16743
2009-08-17 01:16:38 +00:00
Eelco Dolstra
dc093b57dd * Updates to the udev service: support persistant CD-ROM / network
interface names, use udev's own firmware loader, and dropped the
  sndMode option (udev puts all audio devices in the "audio" group, so
  users can be added to that group if necessary).

svn path=/nixos/trunk/; revision=16692
2009-08-11 21:16:15 +00:00
Eelco Dolstra
167ccdd537 * Move the firmware loader into a separate module.
* services.udev.addFirmware -> hardware.firmware.

svn path=/nixos/trunk/; revision=16657
2009-08-10 19:27:15 +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
f0f5434eaa * Add an option to enable the firewall. It should eventually be
enabled by default.

svn path=/nixos/branches/modular-nixos/; revision=16464
2009-07-26 21:27:35 +00:00
Eelco Dolstra
d591559609 * A simple module for running wpa_supplicant.
svn path=/nixos/branches/modular-nixos/; revision=16409
2009-07-16 21:08:32 +00:00
Eelco Dolstra
118418ba31 * Refactoring the Upstart module. Got rid of job.extraEtc, it's
redundant now (modules can just define environment.etc).

svn path=/nixos/branches/modular-nixos/; revision=16367
2009-07-15 09:06:36 +00:00
Michael Raskin
35011ade4e Adding back passthru functionality
svn path=/nixos/branches/modular-nixos/; revision=16237
2009-07-08 09:10:48 +00:00
Eelco Dolstra
0d5ea86748 * Merge some stuff from the trunk.
svn path=/nixos/branches/modular-nixos/; revision=16051
2009-06-26 11:36:38 +00:00
Nicolas Pierron
6cee6e9d87 Replace special rule by a module-list.mask file which enumerates all
patterns matching the files which should not figure in module-list.nix.

svn path=/nixos/branches/modular-nixos/; revision=15941
2009-06-11 17:59:47 +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
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
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
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
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
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
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
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
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
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
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
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