from udev rules. This is slightly tricky because udev has a
512-character limit on environment variables, so we create a symlink
tree to work around this.
svn path=/nixos/trunk/; revision=23822
init script. This removes the need for the `systemConfig' boot
parameter; `init=<stage-2-init>' is enough. However, the GRUB menu
builder still needs to add `systemConfig' to the kernel command line
for compatibility with old configurations.
svn path=/nixos/trunk/; revision=23775
* Moved some scriptlets to the appropriate modules.
* Put the scriptlet that sets the default path at the start, since it
never makes sense not to have it there. It no longer needs to be
declared as a dependency.
* If a scriptlet has no dependencies, it can be denoted as a plain
string (i.e., `noDepEntry' is not needed anymore).
svn path=/nixos/trunk/; revision=23762
like `build-vm', but boots using the regular boot loader (i.e. GRUB
1 or 2) rather than booting directly from the kernel/initrd. Thus
it allows testing of GRUB.
svn path=/nixos/trunk/; revision=23747
* Put /tmp and /var on the /ephemeral0, as it has much more
space than the root filesystem.
* Panic on stage 1 errors since they cannot be repaired anyway.
svn path=/nixos/trunk/; revision=23532
build hook uses this directory to store temporary GC roots. (It
creates it if it doesn't exist, but it's better to do it here as
well to ensure the right ownership and permissions.)
* Clear /nix/var/nix/gcroots/tmp and /nix/var/nix/temproots at boot
time.
svn path=/nixos/trunk/; revision=23417
suspending the machine, it also slowed down the graphics (specially 2D) quite a lot.
firefox flash, firefox scrolling was a pain.
I'll leave that up to the nixos user with the cfg.deviceSection.
svn path=/nixos/trunk/; revision=23407
Otherwise the sound card drivers may not have been loaded yet, and
restoring the mixer settings will fail. Also, since the ALSA job
itself will fail, it won't save the mixer settings on shutdown.
svn path=/nixos/trunk/; revision=23245
synaptics driver for all touchpads (unless the "dev" option is set).
* Get rid of some synaptics options: SHMConfig, Repeater (obsolete);
*Edge (usually auto-detected), Protocol (use auto-detect instead).
svn path=/nixos/trunk/; revision=23092
higher than 800x600 work.
* Add a "Monitor" statement to the "Screen" section, because otherwise
the Monitor section is ignored.
svn path=/nixos/trunk/; revision=23068
and enabled desktop manager (e.g. "kde" if KDE is enabled, and
"xterm" if nothing is explicitly enabled). This means that you
don't have to write
services.xserver.desktopManager.default = "kde4";
anymore in addition to
services.xserver.desktopManager.kde4.enable = true;
to make KDE the default desktop environment.
* Remove the "none + none" session type.
* Remove the "+ none" string at the end of session types. I.e. now
it's "kde", not "kde + none".
* In kdm, add coreutils to its SystemPath so that it can remove the
temporary directories in /tmp that it creates.
svn path=/nixos/trunk/; revision=23036
users don't have to write
services.xserver.displayManager.kdm.enable = true;
services.xserver.displayManager.slim.enable = false;
to enable kdm, but just
services.xserver.displayManager.kdm.enable = true;
svn path=/nixos/trunk/; revision=23033
root=... kernel command line parameter, instead of hard-coding it in
`fileSystems'. This is to allow CD-to-USB converters such as
UNetbootin to rewrite the kernel command line to the label or UUID
of the USB stick.
svn path=/nixos/trunk/; revision=23024
config.krb5.enable needs to be set as true.
Also use pam_ccreds to cache Kerberos credentials for offline logins.
svn path=/nixos/trunk/; revision=22986
Setting to the synaptics default speeds the speeds I like. I think we were having
defaults still from the time the values meant some different speeds.
The 'synclient' program now does not work, but the 'xinput' program (xorg.xinput)
can modify in runtime the touchpad settings too.
svn path=/nixos/trunk/; revision=22904
of DBus configuration directories. Thus packages with DBus
configuration files installed in the default profile will be found
automatically. (It would be nice to include $HOME/.nix-profile in
the session bus search path, but I don't think that's possible.)
svn path=/nixos/trunk/; revision=22737
we want to generate the GRUB menu without actually installing GRUB
(because Amazon supplies its own pv-grub), and each menu entry
requires "root (hd0)". For the first, allow boot.loader.grub.device
to be set to "nodev" to indicate that the GRUB menu should be
generated without installing GRUB. For the second, add an option
boot.loader.grub.extraPerEntryConfig to allow commands to be added
to each GRUB menu entry (in this case, "root (hd0)").
svn path=/nixos/trunk/; revision=22712
INFORMATION" SCSI command:
https://bugzilla.redhat.com/show_bug.cgi?id=609049
As a result, `cdrom_id' doesn't print
ID_CDROM_MEDIA_TRACK_COUNT_DATA, which in turn prevents the
/dev/disk/by-label symlinks from being created. We need these in
the NixOS installation CD, so use ID_CDROM_MEDIA in the
corresponding udev rules for now. This was the behaviour in udev <=
154. See also
http://www.spinics.net/lists/hotplug/msg03935.html
svn path=/nixos/trunk/; revision=22691
screws up the X server (CPU usage goes to 100%, switching virtual
consoles no longer works, etc.). TODO: we need some generic way to
mark jobs that shouldn't be started automatically.
svn path=/nixos/trunk/; revision=22608
${configDir}/system.conf. This is necessary to enable dbus to
reload its configuration on SIGHUP after a nixos-rebuild. (The
daemon cannot be restarted because then console-kit-daemon loses its
state.)
* Generate a proper /etc/dbus-1/session.conf.
svn path=/nixos/trunk/; revision=22572
by udev. The kernel can load governors on demand, but if they are
not loaded, HAL doesn't know about them and they don't show up in
the KDE System Settings.
svn path=/nixos/trunk/; revision=22567
cause restarting of jobs to hang indefinitely because the required
"start on" condition never triggers.
For instance, after "stop nfs-kernel-nfsd", "start nfs-kernel-nfsd"
will hang until we do "stop portmap; start portmap". This is due to
the "starting nfs-kernel-nfsd and started portmap" condition in
the nfs-kernel-mountd job. Apparently, because portmap is already
running, the condition "started portmap" never happens because no
event is emitted.
svn path=/nixos/trunk/; revision=22562
the ‘nfs-kernel-statd’ task.
* Work around an apparent bug in Upstart: the ‘mountall’ task cannot
be restarted because of the ‘starting mountall’ condition in the
statd task. So instead make ‘mountall’ depend on ‘started
nfs-kernel-statd’.
svn path=/nixos/trunk/; revision=22508
SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction.
http://sabnzbd.org/
svn path=/nixos/trunk/; revision=22446
comment was incorrect - when klogd is running, kernel messages no
longer appear on the serial port.
svn path=/nixos/branches/boot-order/; revision=22346
guest connect to a Unix domain socket on the host rather than the
other way around. The former is a QEMU feature (guestfwd to a
socket) while the latter requires a patch (which we can now get rid
of).
svn path=/nixos/branches/boot-order/; revision=22331
grub.cfg before the menu entries. (This could also be done using
`extraEntriesBeforeNixOS', but then you can't have entries *after*
the main entry anymore.)
* In the installer test, redirect GRUB output to the serial port.
svn path=/nixos/branches/boot-order/; revision=22300
current namespace). This prevents warnings about the aufs/tmpfs
mounts from the initrd used by the installation CD.
svn path=/nixos/branches/boot-order/; revision=22299
caching. This makes a huge performance difference (e.g. from 4 MB/s
`dd' throughput to 140 MB/s on the Hydra machines). As the QEMU
manual says: "Some block drivers perform badly with
‘cache=writethrough’, most notably, qcow2."
svn path=/nixos/branches/boot-order/; revision=22248
monitor the life of postfix)
Adding an assert to upstart jobs, so those with preStop will always need an exec or
script, otherwise the preStop will not be run.
svn path=/nixos/trunk/; revision=22225
shutdown. (Portmap and statd are needed during shutdown to unmount
NFS volumes but have open files in /var/run.)
* In the shutdown job, don't kill PIDs belonging to Upstart jobs that
are still running. If they don't stop on the "starting shutdown"
event, then they're needed during shutdown (such as portmap and
statd).
* NFS test: test whether the shutdown quickly unmounts NFS volumes
(i.e. whether portmap and statd are still running).
svn path=/nixos/branches/boot-order/; revision=22204
README (i.e. for the server: exportfs, mountd, statd, nfsd,
sm-notify; for the client: statd / sm-notify before mountall). This
is important to allow locking to work correctly.
svn path=/nixos/branches/boot-order/; revision=22196
When starting multiple VMs, some will have perfectly synchronised
clocks, while others will have their clocks run much slower (say, a
factor of 5).
svn path=/nixos/branches/boot-order/; revision=22195
a daemon (it just starts some kernel threads). In the post-stop
script, stop the kernel threads.
* exportfs: fix the createMountPoints option.
* Mount the nfsd filesystem on /proc/fs/nfsd because mountd prefers
this.
svn path=/nixos/branches/boot-order/; revision=22187
swapfiles cannot be unmounted or even remounted read-only.
* In the remount, pass `-t none' to get a more informative error
message if the filesystem is in use.
svn path=/nixos/branches/boot-order/; revision=22179
it allows the `mountall' task to start mounting filesystems as soon
as udev is running and devices become available (i.e. it doesn't
have to wait for all devices). This means that some jobs should
depend on "stopped udevtrigger" instead of "started udev".
svn path=/nixos/branches/boot-order/; revision=22167
during boot. Mountall ensures that these are done in the right
order. It's informed by udev about devices becoming available. It
emits some Upstart events upon reaching certain states, in
particular ‘local-filesystems’ after all local filesystems have been
mounted successfully, ‘remote-filesystems’ after all network
filesystems have been mounted, and ‘filesystem’ (sic) when all
filesystems have been mounted.
Currently, if a filesystem fails to mount or doesn't exist, then the
mingettys won't start and the boot will appear to hang. This is
because mountall doesn't emit an event for failing filesystems and
waits indefinitely for the filesystems to become available.
* The ‘filesystems’ and ‘swap’ Upstart jobs are gone. (Support for
encrypted swap devices is temporarily gone.)
* Generate a proper /etc/fstab from the ‘fileSystems’ and
‘swapDevices’ options.
svn path=/nixos/branches/boot-order/; revision=22148
`su'.
* The `usermod' from `shadow' allows setting a supplementary group
equal to the user's primary group, so the special hack for the
`nixbld' group is no longer needed.
* Removed /etc/default/passwd since it's not used by the new passwd.
The hash is configured in pam_unix.
* Move some values for `security.setuidPrograms' and
`security.pam.services' to the appropriate modules.
svn path=/nixos/trunk/; revision=22107
This ensures that they're gone by the time the shutdown job runs, so
it doesn't have to stop them itself.
* Don't respawn tasks, as it doesn't seem useful (if they fail they're
likely to fail again if they're restarted).
svn path=/nixos/trunk/; revision=22099
to use the standard (coreutils) tools.
* Use util-linux's `switch_root' to switch over to the target root
FS. It automatically moves over the /dev, /proc and /sys from stage
1, so stage 2 doesn't need to set them up again.
svn path=/nixos/trunk/; revision=22085
or Google Earth) on 64-bit NixOS on NVIDIA hardware. The 32-bit
OpenGL library is symlinked from /var/run/opengl-driver-32, which is
added to the LD_LIBRARY_PATH so that 32-bit binaries can find it.
svn path=/nixos/trunk/; revision=22062
interface name through the derived option networking.ifaces. This
makes it easier to get information about specific interfaces
(e.g. `nodes.router.config.networking.ifaces.eth2.ipAddress').
Really networking.interfaces should be an attribute set.
svn path=/nixos/trunk/; revision=21938
machine can now declare an option `virtualisation.vlans' that causes
it to have network interfaces connected to each listed virtual
network. For instance,
virtualisation.vlans = [ 1 2 ];
causes the machine to have two interfaces (in addition to eth0, used
by the test driver to control the machine): eth1 connected to
network 1 with IP address 192.168.1.<i>, and eth2 connected to
network 2 with address 192.168.2.<i> (where <i> is the index of the
machine in the `nodes' attribute set). On the other hand,
virtualisation.vlans = [ 2 ];
causes the machine to only have an eth1 connected to network 2 with
address 192.168.2.<i>. So each virtual network <n> is assigned the
IP range 192.168.<n>.0/24.
Each virtual network is implemented using a separate multicast
address on the host, so guests really cannot talk to networks to
which they are not connected.
* Added a simple NAT test to demonstrate this.
* Added an option `virtualisation.qemu.options' to specify QEMU
command-line options. Used to factor out some commonality between
the test driver script and the interactive test script.
svn path=/nixos/trunk/; revision=21928
Now both polkit-1 and old policykit are enabled. Packages that can use both will
be migrated to new polkit-1, than old one can be disabled.
svn path=/nixos/trunk/; revision=21776
requieres a patch in openssh that I just commited to nixpkgs)
Before this, in the shell spawned, backspace could not work over UTF-8 strings in the readline.
svn path=/nixos/trunk/; revision=21679
I made the system sw path include /etc/xdg - awesome looks for some file
in the XDG_CONFIG_DIRS, which in bashrc is set to point to the profiles/etc/xdg
svn path=/nixos/trunk/; revision=21675
because the bashrc already cares on that, even taking into account all the usual
nixos profiles.
As a side change, I changed a tab to spaces in bashrc.
svn path=/nixos/trunk/; revision=21439
I kept the defaults as they where, to avoid surprises.
(150 httpd processes simultaneously answering? Too much for my machines)
svn path=/nixos/trunk/; revision=21220
By default, they take the usual value of "50% of physical RAM".
As /dev/shm can be filled by anyone, and tmpfs does not trigger the OOM killer (and
can hang the machine due to a lack of RAM), I need to configure that down
in order to avoid crashes.
There is still left the /var/run/nscd tmpfs filesystem, also created with 50%
of the RAM, but at least not writeable by anyone. We could find a reasonable
low value for that, or allow configuration.
svn path=/nixos/trunk/; revision=21140
- Implemented initialScript option to configure database properties on first startup (such as granting permissions)
svn path=/nixos/trunk/; revision=21135
We could not start on 'filesystems', because filesystems is written as an upstart task.
Additionally, as upstart calls the postfix start/stop script and it does not act as a
daemon, we write it as a preStart/postStop job. Then we don't have monitoring or respawn,
but at least upstart does not get confused on its state.
svn path=/nixos/trunk/; revision=21061
"sshd" because changing it to "opensshd" causes breakage (like the
activation script saying "useradd: UID 2 is not unique."). Also,
OpenSSH requires it to be named "sshd", I think.
svn path=/nixos/trunk/; revision=20577
The file contents were taken as a file path. This resulted in a system with a totally broken /etc:
lrwxrwxrwx 1 root nixbld 51 22 feb 21:45 bashrc -> /nix/store/gh71a6w50cxrl4124kxfn24yi0b7aaka-useradd
lrwxrwxrwx 1 root nixbld 44 22 feb 21:45 nix.conf -> 192.168.1.4(rw,no_root_squash,no_all_squash)
lrwxrwxrwx 1 root nixbld 58 22 feb 21:45 inputrc -> /nix/store/1czhdj7q74dc556frqrh51jyshfsxhl3-bashrc-user.sh
lrwxrwxrwx 1 root nixbld 51 22 feb 21:45 nsswitch.conf -> /nix/store/qsgsli992hd1g8245d8am9izn9xmw90x-inputrc
lrwxrwxrwx 1 root nixbld 20 22 feb 21:45 exports -> /home/sheevaplugroot
Notice that the inputrc has strange contents. In my case, that disabled me to type 's' or 'i' (at least) in any new interactive shell.
If you notice, the 'exports' symlink should point to a store file, which contents had to look like:
/home/sheevaplugroot 192.168.1.4(rw,no_root_squash,no_all_squash)
This patch achieves this later behaviour rather than the former.
svn path=/nixos/trunk/; revision=20181
problems:
- It doesn't support filenames with spaces.
- It inserts a space after the filename when tab-completing in an
"svn" command.
- Many people find it annoying that tab-completion on commands like
"tar" only matches filenames with the "right" extension.
- Lluís reported bash apparently crashing on some tab completions.
We should probably make this optional, and maybe use a subset of the
bash_completion file in the bash distribution that works.
svn path=/nixos/trunk/; revision=20179
create an empty job `foo' if the condition is false. Instead use
`jobs = optionalAttrs condition { foo = { ... }; }'.
* Enable portmap automatically when using the NFS server or client.
svn path=/nixos/trunk/; revision=20178
that it can be restarted. Zabbix is kind of hard to monitor, so use
a trick with an open fifo to detect when it goes down.
svn path=/nixos/trunk/; revision=20039
What I want with this derivation is to allow the sheevaplug nixos to
build a tarball with all the needed files to boot. Then, this can be
unpacked into an SD card, or into a NFS/TFTP server, and then the
user can boot the system with help of the uboot console.
By now, I have only tried to build the tarball in a PC, in order
to develop the nix expressions quicker.
There is nothing written specialy for the Sheevaplug in all this,
by now.
svn path=/nixos/trunk/; revision=20035
and running. `pg_ctl status' merely checks whether PostgreSQL is
running, not whether it is already accepting connections. This
causes Upstart jobs that depend on PostgreSQL to fail.
svn path=/nixos/trunk/; revision=20024
replaced by `services.apache.phpOptions' (of type string).
* Allow Apache subservices to add to phpOptions.
* Set the TZ environment variable in Apache.
* Updated the Zabbix web interface.
svn path=/nixos/trunk/; revision=20023
bash: BASH_COMPLETION_DIR: readonly variable
bash: BASH_COMPLETION: readonly variable
And in the non-interactive shell, we get:
/nix/store/654xcqk8h2a409mxsnsbnj5c0cp9mjhm-bash-4.1-p2/etc/bash_completion: line 75: shopt: progcomp: invalid shell option name
svn path=/nixos/trunk/; revision=19809
its default behaviour is to stop the emulator (i.e. suspend the VM).
For automated tests, this is bad, because is makes the VM appear to
hang without any error message. The "werror=report" flag causes
QEMU to report the problem to the VM. As a side effect QEMU exits
very elegantly:
[ 2.308668] end_request: I/O error, dev vda, sector 534400
[ 2.309611] Buffer I/O error on device vda, logical block 66800
...
*** glibc detected *** /nix/store/yhngqrww53j0aw7z7v4bv948x5g5fc3d-qemu-kvm-0.12.1.2/bin/qemu-system-x86_64: double free or corruption (!prev): 0x08e3e040 ***
Aborted
So I guess we now depend on a bug in QEMU :-)
svn path=/nixos/trunk/; revision=19703
the current configuration don't match the running kernel. This
ensures that modprobe still works after a "nixos-rebuild switch" to
a configuration that has a different kernel version.
svn path=/nixos/trunk/; revision=19696
account of the VM. However, it doesn't work yet (the machine
doesn't boot properly and there is no console output). So use a
hard-coded password for now (very dangerous!).
svn path=/nixos/trunk/; revision=19589