Commit graph

146 commits

Author SHA1 Message Date
Ludovic Courtès
79ffaeb2e7 activate-configuration: Look for setuid executables in the default profile.
svn path=/nixos/trunk/; revision=11202
2008-03-19 12:34:39 +00:00
Ludovic Courtès
d1f29d328d Add support for `nss-mdns'.
Currently, the solution is a bit hackish since running applications
will not work after a `nixos-rebuild' because `libnss_mdns' is not
in their `LD_LIBRARY_PATH'.

svn path=/nixos/trunk/; revision=11162
2008-03-17 13:58:57 +00:00
Eelco Dolstra
52aed402db * Moved to Nixpkgs.
svn path=/nixos/trunk/; revision=11155
2008-03-17 10:51:09 +00:00
Ludovic Courtès
6354623143 Add known setuid programs to the path' variable passed to activate-configuration'.
This is really a hack since programs not known to `system.nix' will not be in the path
of `activate-configuration', which consequently creates empty `.real' files under
`/var/setuid-wrappers'.  I don't know what the best way to address this is: let admins
write `.real' files by hand?  Add a `setuidPackages' attribute, listing the names of
packages that contain the binaries listed in `setuidPrograms'?

svn path=/nixos/trunk/; revision=11153
2008-03-17 10:31:40 +00:00
Marc Weber
40d9d62879 added mkOption extraConfig for httpd apache service
( added \n in config concatenation as well )
added serviceProposal, examples see upstart-jobs/newProposal/*.nix
  enhancement: everything belonging to one job is within the same file 
  (was: upstart-jobs/default.nix, options.nix and the job file)
  drawback: options won't be included within the manual 
            (can be fixed see comments in options.nix)
  comment: looking at the funtion newProposalJobs maybe it's overkill? 
           Hope it pays off if we start having dozens of small different services..


svn path=/nixos/trunk/; revision=11141
2008-03-16 01:05:40 +00:00
Michael Raskin
6d07b2a545 Added seccureUser to default environment (it is the encryption tool I hope to use for configuration files), made checkConfigurationOptions on by default, added nixos-gen-seccure-keys to nixosTools
svn path=/nixos/trunk/; revision=10935
2008-03-03 23:30:49 +00:00
Michael Raskin
16a8462820 Changed FontDir to also handle TTF.
svn path=/nixos/trunk/; revision=10912
2008-03-02 18:46:57 +00:00
Ludovic Courtès
17d527a540 Fix typo related to BitlBee.
svn path=/nixos/trunk/; revision=10791
2008-02-20 22:46:53 +00:00
Ludovic Courtès
063fd9eeb6 Install BitlBee if enabled.
svn path=/nixos/trunk/; revision=10780
2008-02-20 13:18:41 +00:00
Ludovic Courtès
5122633592 Add support for Intel's 4965AGN firmware.
svn path=/nixos/trunk/; revision=10735
2008-02-18 16:50:08 +00:00
Eelco Dolstra
ce250ffb37 * Installation CD: include a lot of modules (SATA, PATA, Firewire,
USB, some SCSI controllers) in the initrd for mounting the CD.
* Add nix-hardware-scan to the system.
* Upstart: don't use the -v flag.
* Include the NixOS version in the ISO image filename.
* Include testdisk and ms-sys in the CD.
* Some bugfixes in the installer.

svn path=/nixos/trunk/; revision=10556
2008-02-08 15:59:15 +00:00
Eelco Dolstra
1f81bcae40 svn path=/nixos/trunk/; revision=10548 2008-02-07 14:39:32 +00:00
Eelco Dolstra
b510189674 svn path=/nixos/trunk/; revision=10545 2008-02-07 14:15:13 +00:00
Eelco Dolstra
707e515f82 * Option to enable support for the WIS GO7007.
svn path=/nixos/trunk/; revision=10491
2008-02-04 10:52:58 +00:00
Eelco Dolstra
2da50038e4 * Use aufs instead of unionfs, it seems to be more stable.
svn path=/nixos/trunk/; revision=10390
2008-01-29 18:53:15 +00:00
Michael Raskin
e5025996ca fontDir compatible with both trunk and (hopefully) stdenv-updates
svn path=/nixos/trunk/; revision=10293
2008-01-25 13:31:59 +00:00
Yury G. Kudryashov
e914d28638 Using default stdenv in fontdir.nix
svn path=/nixos/trunk/; revision=10289
2008-01-25 12:54:32 +00:00
Yury G. Kudryashov
3166d9f687 Made iwlwifi optional, with false default
svn path=/nixos/trunk/; revision=10288
2008-01-25 12:54:27 +00:00
Eelco Dolstra
49e8829053 * Use unionfs to provide a real Live CD, i.e., the files on the CD
appear writable (though all writes go to a tmpfs).  This allows you
  to run Nix operations on the Live CD.  However, we're not quite
  there yet since the CD doesn't have a valid Nix database.  So for
  instance a garbage collect will cause everything to be deleted,
  hanging the system.

svn path=/nixos/trunk/; revision=10276
2008-01-24 16:56:09 +00:00
Michael Raskin
7fa31be440 Tried to do offline install CD, not DVD. Failure, but some parts could be useful.
svn path=/nixos/trunk/; revision=10248
2008-01-22 17:55:57 +00:00
Eelco Dolstra
86484779c7 * Mount usbfs on /proc/bus/usb.
svn path=/nixos/trunk/; revision=10220
2008-01-18 15:18:32 +00:00
Michael Raskin
d69cc82771 Moved configuration check option into configuration.nix (environment.checkConfigurationOptions)
svn path=/nixos/trunk/; revision=10157
2008-01-15 16:05:51 +00:00
Eelco Dolstra
26e0f711a9 * Use the aggregator to combine the kernel modules tree with
externally-built modules so that (e.g.) "modprobe nvidia" Just
  Works.

svn path=/nixos/trunk/; revision=10129
2008-01-12 23:37:17 +00:00
Eelco Dolstra
cfed953b5f * Option to enable the Intel 3945 firmware. (It's enabled by
default since it doesn't seem to have the legal issues of
  the Intel 2200 firmware.)
* Firmware loader: don't write in /tmp.  Also a hack to quickly
  test new firmwares.
* Revert r10105 since the build fails if configuration.nix 
  is a symlink.  Anyway copying configuration.nix does not
  necessarily make sense since it can import other expressions,
  which would also have to be copied.  Perhaps a better 
  approach would be to write a serialisation of the config
  to a file (maybe with builtins.toXML).

svn path=/nixos/trunk/; revision=10127
2008-01-12 22:53:13 +00:00
Michael Raskin
99a2f550c0 Modifications to grub-menu-builder: copy default kernel and initrd to /boot/nixos-.. , limit menu size
svn path=/nixos/trunk/; revision=10106
2008-01-10 04:43:19 +00:00
Michael Raskin
f667e94752 Now configuration.nix is copied into shared.
svn path=/nixos/trunk/; revision=10105
2008-01-09 16:08:15 +00:00
Michael Raskin
5a29acf6a0 Added module aggregation, also changed non-root shell prompt colour to green
svn path=/nixos/trunk/; revision=10084
2008-01-06 18:45:13 +00:00
Eelco Dolstra
f4399a1883 * Option to set the Grub background image. To
get the background image to work, you may need
  to set NIXOS_INSTALL_GRUB=1 when calling
  nixos-rebuild to force Grub to be reinstalled
  with splashimage support.

svn path=/nixos/trunk/; revision=10071
2008-01-04 15:02:31 +00:00
Eelco Dolstra
5ec82632f2 * Use Nix 0.11.
svn path=/nixos/trunk/; revision=10048
2008-01-02 13:05:24 +00:00
Michael Raskin
ae6104ae59 Fixed a bit about child configurations, added an option to not run X job, but create it, and to export configuration files from it.
svn path=/nixos/trunk/; revision=9986
2007-12-31 08:52:59 +00:00
Michael Raskin
f81bebe2d7 Added possibility of building multiple configurations by one nixos-rebuild.
svn path=/nixos/trunk/; revision=9959
2007-12-20 11:36:30 +00:00
Michael Raskin
6733486ec8 Corrected fontDir builder; beginning of changes to allow configuration having multiple variaions in GRUB menu/
svn path=/nixos/trunk/; revision=9957
2007-12-20 04:36:30 +00:00
Michael Raskin
189a608cf5 Now copyKernels allows both /nix/store and /boot be on separate partitions (you need to specify where /boot is for this).
svn path=/nixos/trunk/; revision=9949
2007-12-16 18:56:36 +00:00
Yury G. Kudryashov
5cd638aad8 new option: paths to link to /var/run/current-system/sw
svn path=/nixos/trunk/; revision=9828
2007-12-01 20:44:27 +00:00
Eelco Dolstra
b880647870 * Options users.extraUsers and users.extraGroups to specify additional
users and groups that the system should create automatically.

svn path=/nixos/trunk/; revision=9705
2007-11-16 13:26:34 +00:00
Eelco Dolstra
f6fd10cbd8 * Support for system-wide distributed / multi-platform builds.
Just set nix.distributedBuilds to true and nix.buildMachines 
  to a list of machines that can perform Nix builds via SSH,
  and local builds will be forwarded appropriately.  So now
  any user can say something like

    nix-build /etc/nixos/nixpkgs/ --arg system '"powerpc-linux"' -A libxml2

  and the build for powerpc-linux will be forwarded to a machine 
  of that type.

svn path=/nixos/trunk/; revision=9696
2007-11-15 17:16:16 +00:00
Michael Raskin
de01f56b42 Corrected some SVN service glitches; added switchable Nix
svn path=/nixos/trunk/; revision=9662
2007-11-13 15:51:24 +00:00
Michael Raskin
7d94e2ed4d Removed bad characters in descriptions, changed system.nix checker invokation
svn path=/nixos/trunk/; revision=9620
2007-11-10 13:35:15 +00:00
Eelco Dolstra
2fc94b76fe * Eliminate all calls to config.get.
svn path=/nixos/trunk/; revision=9619
2007-11-09 18:49:45 +00:00
Eelco Dolstra
62c1f0ddcc * Converted the option declarations in options.nix to nested attribute
sets that match the hierarchical structure of the options.  So
  instead of

    {
      name = ["time" "timeZone"];
      default = "CET";
      example = "America/New_York";
      description = "The time zone used when displaying times and dates.";
    }

  we have

    time = {
      timeZone = {
        default = "CET";
        example = "America/New_York";
        description = "The time zone used when displaying times and dates.";
      };
    };

  And instead of `config.get ["time" "timeZone"]' you can now just say
  `config.time.timeZone'.  Furthermore, this option representation
  will allow option structures with repetition (such as in
  networking.interfaces or services.httpd.subservices) to be defined.

svn path=/nixos/trunk/; revision=9618
2007-11-09 18:12:23 +00:00
Eelco Dolstra
5bb4e343b4 * Configuration options networking.defaultMailServer to enable direct mail
delivery without a local mail server (via ssmtp).
* Add vimDiet to the CD, not the system path in general.

svn path=/nixos/trunk/; revision=9607
2007-11-08 18:15:12 +00:00
Marc Weber
89670079ab vimDiet and reiserfsprogs added to systemPathList
svn path=/nixos/trunk/; revision=9600
2007-11-07 22:00:05 +00:00
Eelco Dolstra
81c7e17e02 * An option nix.useChroot to enable chroot builds in NixOS.
svn path=/nixos/trunk/; revision=9583
2007-11-05 11:19:51 +00:00
Michael Raskin
5c08d306e5 Some more corrections to fontDir; now suitable as fontPath for Xvnc
svn path=/nixos/trunk/; revision=9410
2007-10-05 12:51:05 +00:00
Michael Raskin
9ce2dbf8d3 Corrected X11-fonts, now it is linked in /var/run/current-system
svn path=/nixos/trunk/; revision=9409
2007-10-05 07:45:56 +00:00
Michael Raskin
44d09afffb Added dir option to link all fonts into share.
svn path=/nixos/trunk/; revision=9407
2007-10-05 07:25:13 +00:00
Eelco Dolstra
c43dc7b013 * Allow Upstart's init to be upgraded in a running system.
svn path=/nixos/trunk/; revision=9375
2007-09-27 12:24:05 +00:00
Michael Raskin
51626b0b66 Added checking of unkonwn options in configuration.nix and a system-wide font set changer.
svn path=/nixos/trunk/; revision=9370
2007-09-25 19:00:20 +00:00
Eelco Dolstra
f2780fdc62 * Add a top-level default.nix for NixOS which has attributes useful
for building parts of the system.  E.g.

  $ nix-build /etc/nixos/nixos -A upstartJobs.xserver

  to build the Upstart job for the X server, or

  $ nix-build /etc/nixos/nixos -A kernel

  to build the NixOS kernel.

* /etc/profile.sh: if ~/.nix-defexpr doesn't exist yet, create it as a
  directory and add links to root's channels, /etc/nixos/nixos and
  /etc/nixos/install-source.nix (as "nixpkgs_sys").
  
* boot.useKernel -> boot.kernel.

svn path=/nixos/trunk/; revision=9334
2007-09-18 15:06:24 +00:00
Yury G. Kudryashov
867d814d27 Remove unneeded copy of lvm in initrd.
Something replaces symlinks in initrd with copies. Removed symlinks to lvm and
changed syntax (vgscan -> lvm vgscan).

svn path=/nixos/trunk/; revision=9233
2007-09-01 18:05:46 +00:00
Eelco Dolstra
2a4417d637 * make-etc / activate-configuration: allow /etc files to be installed
as regular files instead of symlinks to the store.
* Sudo configuration, enabled through security.sudo.enable (on by
  default).  The contents of the sudoers file is specified in
  security.sudo.configFile.  The default sudoers file allows members
  of the new "wheel" group to run any command.

svn path=/nixos/trunk/; revision=9138
2007-08-16 15:09:06 +00:00
Eelco Dolstra
ad22e587ab * nixos-rebuild: do a nix-pull on the Nixpkgs channel manifest. I.e., you
don't need to be subscribed to the Nixpkgs channel to get binary downloads.
  This is possible because nix-pull is now pretty fast.

svn path=/nixos/trunk/; revision=9133
2007-08-15 12:01:20 +00:00
Eelco Dolstra
2cfd8c9a3a * Work properly when lvm is disabled.
svn path=/nixos/trunk/; revision=8947
2007-07-05 14:19:48 +00:00
Yury G. Kudryashov
cd1023c50d * Added boot.initrd.lvm flag for use NixOS with LVM2 root partition.
* Added sis support for xserver.

svn path=/nixos/trunk/; revision=8924
2007-06-28 09:57:36 +00:00
Michael Raskin
58b29cd565 Added possibility to give configurations custom names.
svn path=/nixos/trunk/; revision=8915
2007-06-23 16:09:05 +00:00
Michael Raskin
f0d1570377 Added kernel selection parameter, boot.useKernel
svn path=/nixos/trunk/; revision=8914
2007-06-23 15:48:09 +00:00
Michael Raskin
0e92d41124 Added configuration.nix option to add entries into nix.conf .
svn path=/nixos/trunk/; revision=8910
2007-06-21 17:14:33 +00:00
Eelco Dolstra
c819d76ec7 * Option boot.extraGrubEntries to add arbitrary text to Grub's menu.lst.
svn path=/nixos/trunk/; revision=8883
2007-06-15 11:40:57 +00:00
Eelco Dolstra
29c5178bdf * Declarative specification of user accounts. Jobs can now specify a
list of user accounts that the job needs to run.  For instance, the
  SSH daemon job says:

    { name = "sshd";
      uid = (import ../system/ids.nix).uids.sshd;
      description = "SSH privilege separation user";
      home = "/var/empty";
    }

  The activation script creates the system users/groups and updates
  them as well.  So a change in the Nix expression can be realised in
  /etc/{group,passwd} by running nixos-rebuild.

svn path=/nixos/trunk/; revision=8846
2007-06-08 15:41:12 +00:00
Eelco Dolstra
4f5de40814 * Add sysvtools to the system path.
svn path=/nixos/trunk/; revision=8738
2007-05-23 14:29:34 +00:00
Eelco Dolstra
c1d072c17d * Added `time' to the system path.
svn path=/nixos/trunk/; revision=8600
2007-04-20 08:51:41 +00:00
Eelco Dolstra
3ab4e0f17f * Allow packages to be added to the system path like so:
environment = {
    extraPackages = pkgs: [
      pkgs.firefox
      pkgs.thunderbird
    ];
  };

  This approach is often actually nicer than adding to the default
  profile using nix-env, since it's declarative, and all packages
  declared here will be updated automatically when you run
  nixos-rebuild.

* Allow additional setuid programs to be specified in
  security.extraSetuidPrograms.

svn path=/nixos/trunk/; revision=8548
2007-04-07 21:44:26 +00:00
Eelco Dolstra
f10a95e88e * Refactoring: move stuff around.
svn path=/nixos/trunk/; revision=8506
2007-03-30 12:59:43 +00:00
Eelco Dolstra
bf92844f16 * Allow Upstart jobs to declare additional /etc files.
svn path=/nixos/trunk/; revision=8505
2007-03-30 12:55:09 +00:00
Eelco Dolstra
603e598a84 * Add wireless-tools to the system path.
svn path=/nixos/trunk/; revision=8471
2007-03-28 21:15:23 +00:00
Eelco Dolstra
be8bcebfe0 * Use /var/run/current-system/sw/bin/bash as the default shell for new
accounts.  Obviously we cannot put the store path of bash in
  /etc/passwd since it's too fragile (it could be garbage collected),
  hence this indirection.

svn path=/nixos/trunk/; revision=8383
2007-03-20 13:30:14 +00:00
Eelco Dolstra
c10fe148a3 * /var/run/current-system symlinks to the top-level path of the system
configuration now.
* /var/run/booted-system symlinks to the system configuration used at
  boot time.

svn path=/nixos/trunk/; revision=8381
2007-03-20 13:01:53 +00:00
Eelco Dolstra
9e9d6a4c62 * Use a bash built with ncurses support for logins.
svn path=/nixos/trunk/; revision=8376
2007-03-20 10:40:45 +00:00
Eelco Dolstra
8851530afb * Setting boot.localCommands for anything you want to execute before
Upstart is started.

svn path=/nixos/trunk/; revision=8229
2007-03-06 00:45:33 +00:00
Eelco Dolstra
8d731dacad * X session script:
- Set the desktop background to the image ~/.background-image.
  - Depending on services.xserver.sessionType, start an xterm or a
    gnome-terminal as the "desktop" :-)

* Upstart jobs can now declare extra packages to be added to the
  system path through the `extraPath' attribute.  For instance, the
  ALSA job adds alsa-utils, and the X server job adds lots of stuff
  depending on the X configuration (e.g., xrandr, gnome-terminal,
  twm).

* Create a cdrom/dvd symlink for SCSI sr? devices.

svn path=/nixos/trunk/; revision=8221
2007-03-06 00:07:00 +00:00
Eelco Dolstra
119df37858 * Generate a wrapper around modprobe that sets MODULE_DIR. This is
important for /proc/sys/kernel/modprobe, i.e., modprobing by the
  kernel.

svn path=/nixos/trunk/; revision=8164
2007-03-04 01:16:24 +00:00
Eelco Dolstra
ba56551986 * ALSA support: save/restore the volume settings, create device nodes
in /dev/snd.

svn path=/nixos/trunk/; revision=8124
2007-03-01 00:36:00 +00:00
Eelco Dolstra
31d91b4ec1 * Set build-max-jobs in the Nix configuration file from the NixOS
configuration file.

svn path=/nixos/trunk/; revision=8109
2007-02-28 16:58:35 +00:00
Eelco Dolstra
17cc5ecc47 * Add OpenSSH and pciutils to the boot environment.
svn path=/nixos/trunk/; revision=7918
2007-02-19 22:33:44 +00:00
Eelco Dolstra
582abdaae2 * Option boot.copyKernels to copy all kernels and initrd to
/boot/kernels.  This is necessary if /nix is on a different file
  system than /.  (And it will allow us to support a separate /boot
  partition too.)

svn path=/nixos/trunk/; revision=7887
2007-02-09 16:19:29 +00:00
Eelco Dolstra
8cf1eceb0a * Allow multiple file systems to be mounted in stage 1 (i.e., from the
initrd).  This is useful if /nix (which is necessary for stage 2) is
  on a different file system than /.

svn path=/nixos/trunk/; revision=7862
2007-02-06 16:53:36 +00:00
Eelco Dolstra
923348b490 * Provide a script "nixos-checkout" to replace the NixOS/Nixpkgs
sources in /etc/nixos with a Subversion checkout of those trees.
  This should be run after a successful installation if you want to
  keep NixOS up to date from Subversion.

svn path=/nixos/trunk/; revision=7859
2007-02-06 14:13:12 +00:00
Eelco Dolstra
08ad51690d * Merge the test and upgrade scripts into a program "nixos-rebuild"
which is included in the system path.

svn path=/nixos/trunk/; revision=7853
2007-02-06 13:09:25 +00:00
Eelco Dolstra
25684805d5 * nixos-installer -> nixos-install.
svn path=/nixos/trunk/; revision=7852
2007-02-06 10:46:36 +00:00
Eelco Dolstra
995b749f70 * Put a nix-pull manifest of the Nix store on the CD.
svn path=/nixos/trunk/; revision=7777
2007-01-23 15:08:00 +00:00
Eelco Dolstra
d197a0f2cc * Use the Perl version of paths-from-graphs everywhere.
svn path=/nixos/trunk/; revision=7774
2007-01-23 14:37:42 +00:00
Eelco Dolstra
668c146e33 * Doh! Make sure that we put *only* splash_helper in the initrd and
not all of splashutils, otherwise we get Glibc in the initrd.

svn path=/nixos/trunk/; revision=7771
2007-01-23 13:44:41 +00:00
Eelco Dolstra
cdb98f8418 * Option to disable the splash screen in the initrd.
svn path=/nixos/trunk/; revision=7755
2007-01-22 18:58:04 +00:00
Eelco Dolstra
9866132d81 * Generate the LDAP configuration automatically.
svn path=/nixos/trunk/; revision=7698
2007-01-16 16:09:43 +00:00
Eelco Dolstra
554ae9908b * Some slightly hacky LDAP support. The problem is that Glibc has to
be able to find the LDAP NSS module, which is normally installed in
  Glibc's prefix (under /lib/libnss_ldap...).  Of course, we can't do
  that; it wouldn't be pure.  As a workaround, we simply add nss_ldap
  to the LD_LIBRARY_PATH of the nscd daemon, which every other program
  uses for lookups.  So we don't have to put nss_ldap in the
  LD_LIBRARY_PATH of every program.

svn path=/nixos/trunk/; revision=7684
2007-01-15 17:19:41 +00:00
Eelco Dolstra
045d9fdc88 * Use /etc/profile into a separate file.
* Automatically set up a per-user profile in
  /nix/var/nix/profiles/per-user/$USER.
* Initialise ~/.nix-defexpr and ~/.nix-profile.

svn path=/nixos/trunk/; revision=7680
2007-01-15 14:43:56 +00:00
Eelco Dolstra
580f98f1ed * Make the set of setuid programs configurable.
* Make crontab setuid.

svn path=/nixos/trunk/; revision=7636
2007-01-11 16:29:23 +00:00
Eelco Dolstra
6b364875f9 * Enable setuid su.
svn path=/nixos/trunk/; revision=7634
2007-01-11 15:32:48 +00:00
Eelco Dolstra
c7c16f384a * Fixed some installer bugs.
svn path=/nixos/trunk/; revision=7629
2007-01-11 00:06:46 +00:00
Eelco Dolstra
866d87c60b * Start the cron daemon.
svn path=/nixos/trunk/; revision=7621
2007-01-10 17:09:00 +00:00
Eelco Dolstra
774a0a397c * Allow the root device to be specified by label.
svn path=/nixos/trunk/; revision=7612
2007-01-10 14:07:10 +00:00
Eelco Dolstra
cb10364838 * Use a diet udev in boot stage 1 to create the device nodes in /dev.
svn path=/nixos/trunk/; revision=7608
2007-01-10 12:42:28 +00:00
Eelco Dolstra
cbe4c2e0b8 * Installer: pull the manifest properly.
svn path=/nixos/trunk/; revision=7594
2007-01-09 21:19:06 +00:00
Eelco Dolstra
d4183887a8 * Add man to the initial path.
svn path=/nixos/trunk/; revision=7591
2007-01-09 17:27:26 +00:00
Eelco Dolstra
2148123b9c * Merge splash-themes.nix into the regular options infrastructure.
svn path=/nixos/trunk/; revision=7576
2007-01-08 22:41:41 +00:00
Eelco Dolstra
b6b5bafa22 * Refactoring.
svn path=/nixos/trunk/; revision=7533
2007-01-04 10:29:40 +00:00
Renamed from configuration/system.nix (Browse further)