Browse Source
* Move the definition of the set of system packages to
* 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=15727nsd-state-dir
10 changed files with 188 additions and 250 deletions
-
5default.nix
-
150modules/config/system-path.nix
-
6modules/services/audio/pulseaudio.nix
-
16modules/services/misc/nix-daemon.nix
-
6modules/services/scheduling/cron.nix
-
5modules/services/scheduling/fcron.nix
-
50system/nixos-environment.nix
-
13system/options.nix
-
25system/system-options.nix
-
162system/system.nix
@ -0,0 +1,150 @@ |
|||
# This module defines the packages that appear in |
|||
# /var/run/current-system/sw. |
|||
|
|||
{pkgs, config, ...}: |
|||
|
|||
with pkgs.lib; |
|||
|
|||
let |
|||
|
|||
# NixOS installation/updating tools. |
|||
nixosTools = import ../../installer { |
|||
inherit pkgs config; |
|||
}; |
|||
|
|||
|
|||
systemPackages = |
|||
[ config.system.sbin.modprobe # must take precedence over module_init_tools |
|||
config.system.sbin.mount # must take precedence over util-linux |
|||
config.environment.nix |
|||
nixosTools.nixosInstall |
|||
nixosTools.nixosRebuild |
|||
nixosTools.nixosCheckout |
|||
nixosTools.nixosHardwareScan |
|||
nixosTools.nixosGenSeccureKeys |
|||
pkgs.acl |
|||
pkgs.attr |
|||
pkgs.bashInteractive # bash with ncurses support |
|||
pkgs.bzip2 |
|||
pkgs.coreutils |
|||
pkgs.cpio |
|||
pkgs.curl |
|||
pkgs.e2fsprogs |
|||
pkgs.findutils |
|||
pkgs.glibc # for ldd, getent |
|||
pkgs.glibcLocales |
|||
pkgs.gnugrep |
|||
pkgs.gnused |
|||
pkgs.gnutar |
|||
pkgs.grub |
|||
pkgs.gzip |
|||
pkgs.iputils |
|||
pkgs.less |
|||
pkgs.libcap |
|||
pkgs.lvm2 |
|||
pkgs.man |
|||
pkgs.mdadm |
|||
pkgs.module_init_tools |
|||
pkgs.nano |
|||
pkgs.ncurses |
|||
pkgs.netcat |
|||
pkgs.nettools |
|||
pkgs.ntp |
|||
pkgs.openssh |
|||
pkgs.pciutils |
|||
pkgs.perl |
|||
pkgs.procps |
|||
pkgs.pwdutils |
|||
pkgs.reiserfsprogs |
|||
pkgs.rsync |
|||
pkgs.seccure |
|||
pkgs.strace |
|||
pkgs.su |
|||
pkgs.sysklogd |
|||
pkgs.sysvtools |
|||
pkgs.time |
|||
pkgs.udev |
|||
pkgs.upstart |
|||
pkgs.usbutils |
|||
pkgs.utillinux |
|||
pkgs.wirelesstools |
|||
(import ../../helpers/info-wrapper.nix {inherit (pkgs) bash texinfo writeScriptBin;}) |
|||
] |
|||
++ pkgs.lib.optional config.services.bitlbee.enable pkgs.bitlbee |
|||
++ pkgs.lib.optional config.networking.defaultMailServer.directDelivery pkgs.ssmtp |
|||
++ config.environment.extraPackages |
|||
++ pkgs.lib.optional config.fonts.enableFontDir config.system.build.x11Fonts |
|||
|
|||
# NSS modules need to be in `systemPath' so that (i) the builder |
|||
# chroot gets to seem them, and (ii) applications can benefit from |
|||
# changes in the list of NSS modules at run-time, without requiring |
|||
# a reboot. |
|||
++ config.system.nssModules.list; |
|||
|
|||
|
|||
options = { |
|||
|
|||
environment = { |
|||
|
|||
systemPackages = mkOption { |
|||
default = systemPackages; |
|||
description = '' |
|||
The set of packages that appear in |
|||
/var/run/current-system/sw. These packages are |
|||
automatically available to all users, and are |
|||
automatically updated every time you rebuild the system |
|||
configuration. (The latter is the main difference with |
|||
installing them in the default profile, |
|||
<filename>/nix/var/nix/profiles/default</filename>. |
|||
''; |
|||
}; |
|||
|
|||
# !!! Obsolete. |
|||
extraPackages = mkOption { |
|||
default = []; |
|||
example = [pkgs.firefox pkgs.thunderbird]; |
|||
description = '' |
|||
This option allows you to add additional packages to the system |
|||
path. |
|||
''; |
|||
}; |
|||
|
|||
pathsToLink = mkOption { |
|||
default = ["/bin" "/sbin" "/lib" "/share/man" "/share/info" "/man" "/info"]; |
|||
example = ["/"]; |
|||
description = " |
|||
Lists directories to be symlinked in `/var/run/current-system/sw'. |
|||
"; |
|||
}; |
|||
|
|||
}; |
|||
|
|||
system = { |
|||
|
|||
path = mkOption { |
|||
default = config.environment.systemPackages; |
|||
description = '' |
|||
The packages you want in the boot environment. |
|||
''; |
|||
apply = list: pkgs.buildEnv { |
|||
name = "system-path"; |
|||
paths = list; |
|||
|
|||
# Note: We need `/lib' to be among `pathsToLink' for NSS modules |
|||
# to work. |
|||
inherit (config.environment) pathsToLink; |
|||
|
|||
ignoreCollisions = true; |
|||
}; |
|||
}; |
|||
|
|||
}; |
|||
|
|||
}; |
|||
|
|||
|
|||
in |
|||
|
|||
{ |
|||
require = [options]; |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue