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
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
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
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
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
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
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
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
- 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
/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
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
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
* 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