machine containing a replica (minus the state) of the system
configuration. This is mostly useful for testing configuration
changes prior to doing an actual "nixos-rebuild switch" (or even
"nixos-rebuild test"). The VM can be started as follows:
$ nixos-rebuild build-vm
$ ./result/bin/run-*-vm
which starts a KVM/QEMU instance. Additional QEMU options can be
passed through the QEMU_OPTS environment variable
(e.g. QEMU_OPTS="-redir tcp:8080::80" to forward a host port to the
guest). The fileSystem attribute of the regular system
configuration is ignored (using mkOverride), because obviously we
can't allow the VM to access the host's block devices. Instead, at
startup the VM creates an empty disk image in ./<hostname>.qcow2 to
store the VM's root filesystem.
Building a VM in this way is efficient because the VM shares its Nix
store with the host (through a CIFS mount). However, because the
Nix store of the host is mounted read-only in the guest, you cannot
run Nix build actions inside the VM. Therefore the VM can only be
reconfigured by re-running "nixos-rebuild build-vm" on the host and
restarting the VM.
svn path=/nixos/trunk/; revision=16662
* Simplified the udev rules generation: merged nixRules into
services.udev.extraRules, and handle services.udev.extraRules using
services.udev.packages.
svn path=/nixos/trunk/; revision=16655
With these modifications, a user can configure a tomcat instance with web applications and web services by writing a service, such as:
...
services = {
tomcat = {
enable = true;
webapps = [ mypkgs.HelloWorldWebApplication ];
axis2 = {
enable = true;
services = [ mypkgs.HelloService mypkgs.HelloWorldService ];
};
};
};
svn path=/nixos/trunk/; revision=16619
gets rid of endless dhclient log messages such as
Jul 16 19:09:30 dutibo dhclient: DHCPDISCOVER on wmaster0 to 255.255.255.255 port 67 interval 19
Jul 16 19:09:30 dutibo dhclient: send_packet: Network is down
svn path=/nixos/branches/modular-nixos/; revision=16407
* Simplified the pre-start script of the network-interfaces module.
* Removed wireless support from the network-interfaces module. It
only worked for static WEP configurations anyway, and AFAIK nobody
used it.
svn path=/nixos/branches/modular-nixos/; revision=16406
jobs, e.g. (from the nscd job)
{ name = "nscd";
description = "Name Service Cache Daemon";
startOn = "startup";
stopOn = "shutdown";
environment = { LD_LIBRARY_PATH = nssModulesPath; };
preStart =
''
mkdir -m 0755 -p /var/run/nscd
mkdir -m 0755 -p /var/db/nscd
'';
exec = "${pkgs.glibc}/sbin/nscd -f ${./nscd.conf} -d 2> /dev/null";
};
The Upstart job is generated from this. The main goal is to provide
some abstraction from the Upstart syntax. For instance, this should
make it easier to upgrade to newer versions of Upstart, to switch to
an entirely different process management system (e.g. initng or
launchd), or to test a job independantly from Upstart. (However the
startOn and stopOn attributes are tied to Upstart's event model.)
svn path=/nixos/branches/modular-nixos/; revision=16376
It allows it to know whether `libnss-mdns' is available, which clients
can ask via the `IsNSSSupportAvailable' D-Bus method.
svn path=/nixos/branches/modular-nixos/; revision=16125
-> No longer install graphical packages if the xserver is disabled.
-> avoid duplication of "mkIf config.services.xserver.enable".
svn path=/nixos/branches/modular-nixos/; revision=16044
disabled. Other desktop/display/window manager modules should be
conditional on config.services.xserver.enable as well, but at least
they're disabled by default due to other options.
svn path=/nixos/branches/modular-nixos/; revision=16031
need some devices. In particular this fixes the "Cannot open
virtual console 7" errors in VirtualBox. (There's nothing special
about VirtualBox, but the different timing makes it more likely to
trigger this bug.)
svn path=/nixos/branches/modular-nixos/; revision=15836
previously failed to resolve the NTP server hostnames in its config
file, it will happily sit in a loop forever doing nothing.
svn path=/nixos/branches/modular-nixos/; revision=15830
start script. It's probably not necessary, but more importantly, it
can hang forever if the network is down. (Actually it will sit in a
loop waiting for UDP packets that will never arrive.) This causes
the NixOS reboot to hang, since Upstart can't kill jobs stuck in
their start script.
svn path=/nixos/branches/modular-nixos/; revision=15829
enabled as a session type. Since I'm lazy, provide it
unconditionally. Also have it include "common-console" to set
device ownership when logging in.
svn path=/nixos/branches/modular-nixos/; revision=15800
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
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
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=15727
those that run daemons) to modules/services. This probably broke
some things since there are a few relative paths in modules
(e.g. imports of system/ids.nix).
* Moved some PAM modules out of etc/pam.d to the directories of NixOS
modules that use them.
svn path=/nixos/branches/modular-nixos/; revision=15717