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
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
( 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
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
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
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
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
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