Commit graph

526 commits

Author SHA1 Message Date
Thomas Strobel
66c73da5f9 Fix grub for "nodev" targets. 2015-04-18 19:22:25 +02:00
Eelco Dolstra
4466707ddf switch-to-configuration: Better error checking 2015-04-13 12:28:12 +02:00
Eelco Dolstra
a38f130126 Revert "Set stricter permissions on /nix/store"
This reverts commit 066758758e7c0768ff8da51d208cdae0f33b368c because
it breaks NixOS VM tests.
2015-04-07 15:10:41 +02:00
Nicolas B. Pierron
6de931a0f8 Merge rename.nix changes. 2015-04-03 23:12:12 +02:00
Eelco Dolstra
1c39a47ac8 Reload, don't restart, dbus.service
Many bus clients get hopelessly confused when dbus-daemon is
restarted. So let's not do that.

Of course, this is not ideal either, because we end up stuck with a
possibly outdated dbus-daemon. But that issue will become irrelevant
in the glorious kdbus-based future.

Hopefully this also gets rid of systemd getting stuck after
dbus-daemon is restarted:

Apr 01 15:37:50 mandark systemd[1]: Failed to register match for Disconnected message: Connection timed out
Apr 01 15:37:50 mandark systemd[1]: Looping too fast. Throttling execution a little.
Apr 01 15:37:51 mandark systemd[1]: Looping too fast. Throttling execution a little.
...
2015-04-01 16:57:16 +02:00
William A. Kennington III
113c6c8f6a nixos/initrd: Do a lazy library copy in hopes to save some space for replaced binaries 2015-03-29 21:53:25 -07:00
William A. Kennington III
6b3cf366d7 nixos/initrd: Allow overriding of binaries 2015-03-29 21:26:39 -07:00
William A. Kennington III
553105310a nixos/stage-1: Fix the initrd builder for shell scripts 2015-03-29 13:20:54 -07:00
William A. Kennington III
4868649f03 nixos/initrd: Generic library copying 2015-03-28 18:37:29 -07:00
Aristid Breitkreuz
1901f3fe77 fix initrd now that cryptsetup switched to libgcrypt 1.6 2015-03-28 23:59:19 +00:00
William A. Kennington III
8b3c7af358 Merge pull request #6981 from layus/systemd-escape-colon
nixos/systemd: Also escape ':' characters
2015-03-25 15:33:21 -07:00
William A. Kennington III
f2655e4fa0 makeInitrd: Support prepending other initrds 2015-03-25 14:14:46 -07:00
Guillaume Maudoux
6ca7fb8f73 nixos/systemd: Also escape ':' characters 2015-03-25 22:11:35 +01:00
Eelco Dolstra
224d0d5302 Set stricter permissions on /nix/store
The nixbld group doesn't need read permission, it only needs write and
execute permission.

(cherry picked from commit 066758758e7c0768ff8da51d208cdae0f33b368c)
2015-03-18 10:58:08 +01:00
Shea Levy
e4a06f35b1 nixos: Don't evaluate twice to get the value of config.nixpkgs 2015-03-12 23:42:57 +01:00
Eelco Dolstra
475df1a350 switch-to-configuration: Don't print already active target units
Since we restart all active target units (of which there are many),
it's hard to see the units that actually matter. So don't print that
we're starting target units that are already active.
2015-03-09 16:51:06 +01:00
Eelco Dolstra
a574065a81 nixos-rebuild: Add ‘dry-activate’ command
‘nixos-rebuild dry-activate’ builds the new configuration and then
prints what systemd services would be stopped, restarted etc. if the
configuration were actually activated. This could be extended later to
show other activation actions (like uids being deleted).

To prevent confusion, ‘nixos-rebuild dry-run’ has been renamed to
‘nixos-rebuild dry-build’.
2015-03-09 16:50:59 +01:00
Nikolay Amiantov
b802018482 stage-1: fix hibernation (close #6675)
Fixes #6617.
2015-03-07 13:00:08 +01:00
Joachim Fasting
d375550ead nixos: add a few missing type specifiers under boot.* 2015-02-28 09:19:23 +01:00
Thomas Strobel
c62e42e9c5 Enhance stage-1/2 scripts for better dealing with squashfs 2015-02-20 17:42:22 +01:00
Shea Levy
2fe3a3c203 Merge branch 'grub' of git://github.com/ts468/nixpkgs
Fix grubTarget on nodev installs
2015-02-20 07:47:06 -05:00
Shea Levy
3e44f99055 Fix grub 1 install 2015-02-19 19:33:17 -05:00
Thomas Strobel
c61ff9b51e Fix grubTarget on nodev installs 2015-02-16 20:19:44 +01:00
William A. Kennington III
1fddcd1e83 grub: Don't remove zfs support if contained in the default binary 2015-02-13 14:40:41 -08:00
Harald van Dijk
0fe9d58e4e stage-1-init: fix PID 1 shell
The PID 1 shell is executed as the last command in a sh invocation. Some
shells implicitly use exec for that, but the current busybox ash does not,
so the shell gets a wrong PID. Spell out the exec.
2015-02-13 10:20:29 +00:00
Domen Kožar
5a4614dc1f Add hid_lenovo to initrd kernel modules 2015-02-13 01:42:13 +01:00
William A. Kennington III
b556983eb7 nixos/system: Add xhci_pci as it is needed to detect host buses in the initrd for usb keyboards on the xhci bus and storage devices on the iso 2015-02-09 13:09:26 -08:00
Wout Mertens
8f42f33c45 stage-1-init: better warnings
- Suppress spurious LVM FD3 warning:
  See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=432986
- Warn when device doesn't come online
2015-02-09 21:53:51 +01:00
Shea Levy
24c0844cfb Fix grub on nodev installs 2015-02-08 22:31:14 -05:00
William A. Kennington III
2a0754ccbc Merge pull request #5994 from ts468/grub
Add 'target' parameter for GRUB installation chain
2015-02-08 14:18:13 -08:00
Jaka Hudoklin
769fb8a141 Merge pull request #5486 from matejc/fixgatewayd
systemd-journal-gatewayd: add systemd-journal group
2015-02-07 14:52:31 +00:00
Shea Levy
c45372f038 Merge commit 'cfb29ab882323d379aba20a95020c7c24f883eae'
Partial staging merge, including cc-wrapper fixes

Conflicts:
	pkgs/applications/audio/spotify/default.nix
	pkgs/build-support/cc-wrapper/default.nix
	pkgs/development/compilers/cryptol/1.8.x.nix
2015-02-02 21:14:28 -05:00
Bob van der Linden
a3d5f4f3ef nixos: gummiboot: change default to 1000 if boot.loader.timeout is null
When gummiboot.timeout == null, the menu will still be skipped.
When gummiboot.timeout == 0, the menu will also be skipped.
The only way to show the menu 'indefinitely' is to show it a long time.
2015-01-30 10:36:21 +01:00
Bob van der Linden
f93ba51469 nixos: loader: added generic config.boot.loader.timeout option
timeout options of grub and gummiboot will inherit the value of this
option by default.
2015-01-30 09:53:44 +01:00
Thomas Strobel
3767370866 Add target parameter to grub installation chain 2015-01-27 19:46:37 +01:00
Domen Kožar
cb7cd012df Merge pull request #5593 from abbradar/modprobe-fix
modprobe: wrap all of kmod
2015-01-24 07:11:16 +01:00
Peter Simons
ec6b82a0c2 Merge branch 'master' into staging. 2015-01-19 18:41:17 +01:00
wmertens
d3383e4879 Merge pull request #4394 from wmertens/patch-6
setup-etc.pl: Fail when symlink/rename fails
2015-01-19 12:39:41 +01:00
Longrin Wischnewski
4b0100774a systemd: extend checkUnitConfig with on-abnormal 2015-01-19 11:41:18 +01:00
Eelco Dolstra
efa8fc2b0a Paranoia 2015-01-15 18:37:55 +01:00
Eric Seidel
88eae46455 rename occurrences of gcc.gcc to gcc.cc 2015-01-14 20:47:49 -08:00
Luca Bruno
2beb43174f nixos-rebuild: use reload-or-restart for dbus. Closes #5767
Now that dbus reload has been moved before restarting units,
the reload may fail if dbus has been stopped before.
The reload-or-restart will reload dbus if it's active,
otherwise start it.
2015-01-14 16:08:47 +01:00
Nikolay Amiantov
2aaeacc579 nixos/modprobe: wrap all of kmod 2015-01-06 16:39:00 +03:00
Eelco Dolstra
e62cb5585d Merge pull request #5507 from DamienCassou/systemd-user-timers
Add systemd.user.timers
2014-12-30 15:40:43 +01:00
Damien Cassou
dcc93abe74 Add systemd.user.timers 2014-12-30 05:46:36 +01:00
Tobias Geerinckx-Rice
c64257b8e5 Fix user-facing typos (mainly in descriptions) 2014-12-30 03:31:03 +01:00
Shea Levy
9245516b46 gummiboot-builder.py: run nix with no build-users-group
During install, the bootloader script gets run inside a chroot after the
/etc/group bind-mount is unmounted. Since we're not doing any building,
this should be safe, but really nix should just not care if the group
does not exist when no build is needed.

Fixes #5494
2014-12-29 07:09:10 -05:00
Matej Cotman
9eb24c72ff systemd: fix permissions on /var/log/journal 2014-12-28 22:37:50 +01:00
Alexander Kjeldaas
da1f8578b0 Eradicate gzip -9 without -n 2014-12-28 13:45:27 +01:00
Eelco Dolstra
80a85541d5 Typo 2014-12-19 14:38:33 +01:00
Eelco Dolstra
5ad3a02938 Shut up a warning from udev
Issue #5260.
2014-12-19 14:37:50 +01:00
Eelco Dolstra
c812e45292 switch-to-configuration: Ignore slice units 2014-12-18 01:47:36 +01:00
Peter Simons
0f2b026bfe nixos/modules/system/boot/luksroot.nix: hyperlinkify an URL in the documentation 2014-12-15 16:31:18 +01:00
Eelco Dolstra
88412c865d Fix ANSI escape in warning messages
Seems to have been broken by accident in 7d1ddae58e.
2014-12-15 16:19:35 +01:00
Vladimír Čunát
3bcd3ed017 nixos: check resumeDevice is absolute path and document
Fixes #5219 after merging #4995.

(cherry picked from commit 0681d61c3730c686548df3af9a7dc1a59abaf371)
Signed-off-by: Domen Kožar <domen@dev.si>
2014-12-12 11:11:57 +01:00
Jaka Hudoklin
8bb6fdc4f9 nixos/systemd: ignore null environment options 2014-12-07 21:44:20 +01:00
Emery Hemingway
e69f876cca nixos: iPXE client for GRUB
fix bug in grub/install-grub.pl that would replace @bootRoot@ with an invalid string
2014-12-04 12:03:10 +01:00
William A. Kennington III
8a94c06595 nixos: Add network-pre.target and adjust firewall start ordering 2014-12-01 17:19:44 -08:00
William A. Kennington III
2b06a92c2a nixos/nfs: Fix dependency ordering 2014-12-01 17:19:44 -08:00
William A. Kennington III
1c04e69bce nixos/networking: Fix more harmless errors 2014-12-01 01:18:32 -08:00
William A. Kennington III
7ecb084b77 nixos/networking: More fixes 2014-11-29 22:35:03 -08:00
William A. Kennington III
1860ee27b0 nixos/networking: Fixes 2014-11-26 16:29:24 -08:00
William A. Kennington III
0626c1ecf0 nixos/systemd: ip-up and network-online targets should come after networkd-wait-online 2014-11-26 11:22:02 -08:00
William A. Kennington III
59f512ef7d nixos/network-interfaces: Provide a networkd implementation 2014-11-26 11:22:02 -08:00
William A. Kennington III
045132a9b0 systemd-network: Add assertions for user clarity 2014-11-26 11:22:02 -08:00
William A. Kennington III
a332c4eac5 systemd: Enable more network services 2014-11-26 11:22:02 -08:00
William A. Kennington III
08e74f2791 systemd: Add ability to define networks 2014-11-26 11:22:02 -08:00
Nikolay Amiantov
a2eb7ca23c stage-1: fix hibernation for device node symlinks
closes #4995
2014-11-15 21:44:37 +02:00
Eelco Dolstra
ca441636f1 Merge branch 'staging' 2014-11-14 16:00:23 +01:00
Vladimír Čunát
b4af993c3f Merge branch 'master' into staging
Conflicts (simple):
	pkgs/development/lisp-modules/clwrapper/setup-hook.sh
2014-11-14 14:28:23 +01:00
Rene Donner
8bd2f6bfc1 some typos 2014-11-14 13:05:55 +01:00
wmertens
5c19521c6e Merge pull request #4807 from wizeman/u/zfs-improvements
ZFS improvements
2014-11-13 10:26:30 +01:00
Shea Levy
ba7c80eefb Fix init= stage 1 test 2014-11-12 18:25:03 -05:00
Ricardo M. Correia
e9affb4274 nixos: Add system-wide option to set the hostid
The old boot.spl.hostid option was not working correctly due to an
upstream bug.

Instead, now we will create the /etc/hostid file so that all applications
(including the ZFS kernel modules, ZFS user-space applications and other
unrelated programs) pick-up the same system-wide host id. Note that glibc
(and by extension, the `hostid` program) also respect the host id configured in
/etc/hostid, if it exists.

The hostid option is now mandatory when using ZFS because otherwise, ZFS will
require you to force-import your ZFS pools if you want to use them, which is
undesirable because it disables some of the checks that ZFS does to make sure it
is safe to import a ZFS pool.

The /etc/hostid file must also exist when booting the initrd, before the SPL
kernel module is loaded, so that ZFS picks up the hostid correctly.

The complexity in creating the /etc/hostid file is due to having to
write the host ID as a 32-bit binary value, taking into account the
endianness of the machine, while using only shell commands and/or simple
utilities (to avoid exploding the size of the initrd).
2014-11-12 22:31:49 +01:00
Eelco Dolstra
c5a7ff0afd Fix /dev/root udev rule in the ISO 2014-11-11 23:48:31 +01:00
Eelco Dolstra
f33fa1b66b Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/development/libraries/boost/generic.nix
2014-11-11 23:48:08 +01:00
Luca Bruno
b77d166b17 nixos: move bcache udev rule in a new bcache.nix module 2014-11-10 22:19:43 +01:00
Luca Bruno
31df4f70af nixos: Add boot.initrd.extraUdevRulesCommands 2014-11-10 22:19:43 +01:00
Luca Bruno
6af0d6974f Merge branch 'master' into staging 2014-11-10 10:03:52 +01:00
Luca Bruno
510fba95e8 nixos-rebuild: reload dbus before starting other units. Closes #4546 2014-11-08 19:40:28 +01:00
Vladimír Čunát
52404a868d Merge recent master into staging
Nixpkgs Hydra: ?compare=1157272

TODO: port e22889064f

Conflicts:
	nixos/tests/gnome3_10.nix (auto-solved)
	pkgs/applications/video/aegisub/default.nix
	pkgs/development/libraries/boost/1.55.nix
2014-11-05 15:00:44 +01:00
Nikolay Amiantov
775f381a9e stage-1: add bcache support
This adds necessary udev rule into initrd to support autodetecting
bcache partitions in stage-1. It also fixes 'sh' path for the new
rule to work.
2014-11-02 19:03:50 +03:00
Vladimír Čunát
2cf17b0802 Merge recent master into staging
Hydra nixpkgs: ?compare=1156478
2014-10-23 17:40:41 +02:00
William A. Kennington III
f020a26164 nixos/systemd: Also escape \ characters 2014-10-19 16:34:53 -07:00
Vladimír Čunát
359dd3b8ac nixos: fix two pipefail problems
It failed since 3c6efec2c0, i.e. #4453.
Now it should "work" the same as before.
2014-10-19 19:29:28 +02:00
Domen Kožar
2fa662c957 systemd: replace @ when generating unit command name 2014-10-19 17:20:37 +02:00
Domen Kožar
0854836fd2 systemd: include name of the unit when generating nix store path 2014-10-19 15:49:55 +02:00
Eelco Dolstra
09dc132e04 Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/development/libraries/poppler/default.nix
2014-10-16 15:16:50 +02:00
Eelco Dolstra
058bf4ccc4 Create a udev rule for /dev/root
In the installation CD, this ensures that systemd will see a proper
udev node for /dev/root.

Fixes #4399.

Borrowed from

  http://lists.freedesktop.org/archives/systemd-devel/2014-July/020988.html
2014-10-10 17:18:04 +02:00
Eelco Dolstra
a85dcf4a00 Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/development/libraries/libav/default.nix
	pkgs/shells/bash/bash-4.2-patches.nix
	pkgs/stdenv/generic/default.nix
2014-10-07 00:09:37 +02:00
wmertens
36641d9e69 setup-etc.pl: Fail when symlink/rename fails
When atomicSymlink can't symlink or rename, it should return failure. This is then handled with `... or die` and `... or warn`
2014-10-06 08:00:11 +02:00
Eelco Dolstra
97220c973f Replace hasAttr/getAttr calls with the ? and . operators
For NixOS evaluation, this gives a ~21% reduction in the number of
values allocated and a ~4% speedup. It's also more readable.
2014-10-05 01:11:06 +02:00
Franz Pletz
30690d05bc Add cryptodisk support for Grub
Closes #4193
2014-09-24 21:48:55 +01:00
Eelco Dolstra
38d57b4a94 Merge pull request #4244 from abbradar/resume
Replace resumeDevice with autodetection of hibernation partition
2014-09-24 18:05:53 +02:00
Nikolay Amiantov
ba31749458 stage-1: Use udevadm instead of blkid 2014-09-24 20:00:51 +04:00
Nikolay Amiantov
18bd9917ed stage-1: autodetect resume swap partitions 2014-09-24 18:51:44 +04:00
William A. Kennington III
13ca3708b5 Fix #4236 2014-09-23 10:18:05 -07:00
Rickard Nilsson
5be23fe888 nixos/install-grub: Don't run GrubFs(/nix/store) if copyKernels is true 2014-09-23 14:34:44 +02:00
Eelco Dolstra
91ec6e0d90 Merge remote-tracking branch 'origin/master' into staging 2014-09-18 22:28:35 +02:00
William A. Kennington III
4d193b7262 systemd: Support reload scripts 2014-09-15 20:04:49 -07:00
Eelco Dolstra
152ae27aac Merge remote-tracking branch 'origin/systemd-216' into staging 2014-09-08 13:53:33 +02:00
Luca Bruno
dfa6f03ea3 Do not assert absolute path for nodev grub device. Closes #3996 2014-09-08 12:00:34 +02:00
Thomas Tuegel
53fa517176 Merge pull request #3961 from wkennington/master.grub
nixos/install-grub: Read correct mountpoints
2014-09-05 20:01:08 -05:00
Luca Bruno
718106e958 Fix initrd after recent busybox upgrades 2014-09-05 18:42:53 +02:00
William A. Kennington III
c6bd6d6d89 nixos/grub: Assert devices should be absolute paths 2014-09-04 10:31:39 -07:00
William A. Kennington III
f73f7ccc6e nixos/install-grub: Read correct mountpoints 2014-09-04 10:31:39 -07:00
Michael Raskin
1a0d437bf3 Merge pull request #3944 from joshcartwright/gummiboot-timeout-fix
gummiboot/builder: fix timeout setting when unset
2014-09-04 20:17:44 +04:00
William A. Kennington III
eee8fd89b3 nixos/install-grub: Correct store path for search 2014-09-03 10:01:00 -07:00
Josh Cartwright
626a666da5 gummiboot/builder: fix timeout setting when unset
The gummiboot-builder.py script is expecting the @timeout@ metavar to be
substituted for either an empty string (in the case where a user has
left the timeout unset) or the actual value set in the system
configuration.

However, the config.boot.loader.gummiboot.timeout option defaults to
'null', and due to the way pkgs.substituteAll works, the substitution
for '@timeout@' is _never_ set to the empty string.  This causes the
builder script to put a bogus line into /boot/loader/loader.conf:

   timeout @timeout@

Fix this by explicitly setting 'timeout' to the empty string when it's
unset in the system configuration.

Signed-off-by: Josh Cartwright <joshc@eso.teric.us>
2014-09-03 05:36:45 +02:00
William A. Kennington III
ccc758f414 nixos/install-grub: Fix typo 2014-09-02 18:56:53 -07:00
William A. Kennington III
961e9867b3 nixos/generate-config: Only add store search path when kernels are not copied 2014-09-02 09:16:13 -07:00
William A. Kennington III
9467937639 nixos/install-grub: Only check for /nix to be the mountPoint for the store 2014-09-02 09:16:13 -07:00
William A. Kennington III
61908bdd80 nixos/install-grub: Always copy kernels for different devices 2014-09-02 09:16:13 -07:00
William A. Kennington III
01ab1d57a3 nixos/install-grub: Detect nested btrfs subvolumes 2014-09-02 09:16:13 -07:00
William A. Kennington III
0b66483c9a nixos/install-grub: Store path should be /nix/store not /nix 2014-09-02 09:16:13 -07:00
William A. Kennington III
36614ff3e2 Revert "Revert "Merge pull request #2449 from wkennington/master.grub""
This reverts commit 94205f5f21.

Conflicts:
	nixos/modules/system/boot/loader/grub/install-grub.pl
2014-09-02 09:16:13 -07:00
Eelco Dolstra
3d821c068a Merge remote-tracking branch 'origin/master' into systemd-216 2014-09-02 14:43:27 +02:00
Michael Raskin
fa55a99701 Load EHCI befor OHCI and UHCI; from patch by Mathnerd314 2014-09-02 02:12:46 +04:00
Longrin Wischnewski
196c6260be grub: fix grub merge error 2014-08-31 12:29:13 +02:00
Michael Raskin
94205f5f21 Revert "Merge pull request #2449 from wkennington/master.grub"
This reverts commit 469f22d717, reversing
changes made to 0078bc5d8f.

Conflicts:
	nixos/modules/installer/tools/nixos-generate-config.pl
	nixos/modules/system/boot/loader/grub/install-grub.pl
	nixos/release.nix
	nixos/tests/installer.nix

I tried to keep apparently-safe code in conflicts.
2014-08-31 12:58:37 +04:00
Nicolas B. Pierron
a5d6219897 Merge pull request #3864 from nbp/useless-submodules
Remove useless use of undocumented submodules.
2014-08-30 18:21:17 +02:00
William A. Kennington III
7d16a429f0 nixos/install-grub: Fix Indentation 2014-08-29 12:19:13 -07:00
Nicolas Pierron
8c19690d99 Remove useless use of optionSet. 2014-08-29 18:43:03 +02:00
William A. Kennington III
cf7f7a5107 nixos/install-grub: Check /boot against /nix/store instead of /nix 2014-08-28 13:35:37 -07:00
William A. Kennington III
0f6079d999 nixos/grub: Fix spacing and correct subvolume detection 2014-08-28 13:35:36 -07:00
William A. Kennington III
4f096c044f nixos/grub: Simplify detection of labels / uuids for provided device names 2014-08-28 13:35:36 -07:00
William A. Kennington III
c02bc3a9de nixos/grub: Fix regex for getting subvolume name in btrfs 2014-08-28 13:35:36 -07:00
William A. Kennington III
3bf22679b3 nixos/grub: Kernels don't need to be copied if we can read the nix store 2014-08-28 13:35:36 -07:00
William A. Kennington III
87d5e457fe nixos/grub: Grub detection is much simpler using subvol show 2014-08-28 13:35:36 -07:00
William A. Kennington III
d4a9645ef0 nixos/grub: Needs mount so add utillinux to bin 2014-08-28 13:35:35 -07:00
William A. Kennington III
8329d12b79 grub: Change fsIdentifier to str from string 2014-08-28 13:35:35 -07:00
William A. Kennington III
769d2dc6bf nixos/grub: Catch errors from command execution 2014-08-28 13:35:35 -07:00
William A. Kennington III
d4e2040099 nixos/grub: Refactor install-grub.pl and correct perl syntax 2014-08-28 13:35:35 -07:00
William A. Kennington III
99b4792554 nixos/grub: Refactor perl script to remove the Switch module 2014-08-28 13:35:35 -07:00
William A. Kennington III
525acb4d4f nixos/grub: Fix typo 2014-08-28 13:35:35 -07:00
William A. Kennington III
70c11772a6 nixos/grub: Fix some silly perl struct accesses 2014-08-28 13:35:35 -07:00
William A. Kennington III
a6e6c85f06 grub: Add support for detecting btrfs subvolumes 2014-08-28 13:35:35 -07:00
William A. Kennington III
fba9f641a8 grub: Add support for forcing devices to be identified with labels or UUIDs 2014-08-28 13:35:35 -07:00
William A. Kennington III
c5bdb469ce Update the grub configuration script to handle more complex filesystem layouts including full zfs / and /boot 2014-08-28 13:35:35 -07:00
William A. Kennington III
02ab48d0ee Enable grub zfsSupport if zfs is built into the initrd 2014-08-28 13:35:34 -07:00
William A. Kennington III
3c6e2fbba9 Add optional zfsSupport to the nixos grub configuration 2014-08-28 13:35:34 -07:00
William A. Kennington III
4f832b5217 Revert "grub: Allow setting the boot root explicitly"
This reverts commit e4630c1d41.
2014-08-28 13:35:34 -07:00
Shea Levy
4061c18c98 Revert "grub: removed orphaned mkOption configurationName"
The configurationName option value is still used by NixOS, this removal
breaks grub users.

This reverts commit bd811d32b4.
2014-08-27 03:26:40 -04:00
Eelco Dolstra
f6b4214567 /dev/sda1 -> "/dev/sda1"
Otherwise Nix might try to copy /dev/sda1 under certain circumstances
:-)
2014-08-26 19:30:45 +02:00
Joachim Schiele
bd811d32b4 grub: removed orphaned mkOption configurationName 2014-08-26 19:14:47 +02:00
aszlig
4a4c051a95
nixos: Remove modprobe.d/nixos.conf from initrd.
For example in VM tests, this causes firmware to be included in the
initrd. So until we have a better fix for adding early-stage module
options, I'll remove this.

Fixes a regression introduced by 0aa2c1d and closes #3764.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-08-24 18:19:56 +02:00
Eelco Dolstra
c23bf4ec74 systemd: Update to 216 2014-08-23 23:28:03 +02:00
Michael Raskin
0d95c5c647 Merge pull request #3553 from vcunat/p/keyboards
initrd.availableKernelModules: add support for keyboards
2014-08-23 12:49:04 +04:00
Michael Raskin
4a56121d8e Merge pull request #3505 from Shados/fix-initrd-modprobe
initrd: Fixed to include/use modprobe config files
2014-08-23 12:46:28 +04:00
Eelco Dolstra
a7a08188bf Containers: Don't remount / 2014-08-18 17:14:43 +02:00
Eelco Dolstra
7c4591d010 Don't barf if /var/log doesn't support ACLs
http://hydra.nixos.org/build/13462892
2014-08-18 14:21:45 +02:00
Eelco Dolstra
785ed2b528 Don't silently ignore errors from the activation script 2014-08-15 02:14:34 +02:00
Vladimír Čunát
02cb604fd6 initrd.availableKernelModules: add support for keyboards
As explained in #2169, some keyboards need special drivers,
so these are always added, both on installation and normal systems.
2014-08-12 20:00:01 +02:00
Alexei Robyn
0aa2c1dc46 initrd: Fixed to include/use modprobe config files 2014-08-09 22:14:52 +10:00
Peter Simons
9226fbf56a Merge remote-tracking branch 'origin/master' into staging. 2014-08-08 09:51:01 +02:00
Eelco Dolstra
0d3b3bd01b systemd: Use the default log target ("journal-or-kmsg")
This ensures that early systemd messages end up in the journal (via
the kmsg buffer).
2014-08-06 14:15:12 +02:00
William A. Kennington III
beddd36c95 nixos/stage-1: Don't check resilient filesystems 2014-08-05 21:06:51 +02:00
Peter Simons
2d326e5032 Merge remote-tracking branch 'origin/master' into staging.
Conflicts:
	pkgs/desktops/e18/enlightenment.nix
2014-08-04 16:51:47 +02:00
Eelco Dolstra
549855113b modprobe.nix: Use modern environment.etc syntax 2014-07-31 22:09:51 +02:00
Emery Hemingway
63d259df32 nixos: tmp on tmpfs option
/tmp cleaning is done by systemd rather than stage-2-init
enableEmergencyMode moved from systemd to seperate module
new option to mount tmp on tmpfs
new option to enable additional units shipped with systemd
2014-07-30 16:19:26 +02:00
Eelco Dolstra
39a6750362 Shut up a warning in stage 2 2014-07-30 16:07:09 +02:00
Eelco Dolstra
e68b0c7f5f Mount unionfs-fuse filesystems using the normal fileSystems option 2014-07-30 16:04:15 +02:00
Eelco Dolstra
d45dcf348e Really fix NixOS/nixos#287 2014-07-30 16:04:15 +02:00
Eelco Dolstra
b7c543136a Move CIFS support into a separate module 2014-07-30 12:39:35 +02:00
Eelco Dolstra
9956b97b2f Check for systemd environment variables that are too long
Issue #3403. For the case of $PATH being too long, we could call
buildEnv automatically.
2014-07-30 10:28:05 +02:00
Eelco Dolstra
cb7b871bd6 initrd: Include filesystem support for /nix, /var etc. 2014-07-28 22:31:18 +02:00
Eelco Dolstra
f64d84698e Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/applications/audio/espeak/edit.nix
	pkgs/applications/audio/lmms/default.nix
	pkgs/desktops/e18/enlightenment.nix
	pkgs/games/exult/default.nix
	pkgs/os-specific/linux/alsa-plugins/default.nix
2014-07-28 11:30:49 +02:00
Eelco Dolstra
7c480ad896 setup-etc.pl: Keep track of copied files
We now track copied files in /etc/.clean. This is important, because
otherwise files that are removed from environment.etc will not
actually be removed from the file system. In particular, changing
users.extraUsers.<user>.openssh.authorizedKeys.keys to an empty list
would not cause /etc/ssh/authorized_keys.d/<user> to be removed, which
was a security issue.
2014-07-25 14:29:08 +02:00
Eelco Dolstra
7f410ef923 Merge remote-tracking branch 'origin/master' into staging
Conflicts:
	pkgs/misc/vim-plugins/default.nix
2014-07-22 11:00:00 +02:00
Eelco Dolstra
1a1442db74 Don't restart systemd-journal-flush
It only needs to be started during boot. Starting it at other times
shouldn't hurt, except that if systemd-journald is restarting at the
same time, the latter might not have a SIGUSR1 signal handler
installed yet, so it might be killed by systemd-journal-flush. (At
least that's my theory about the dead systemd-journald instances in
the build farm...)
2014-07-17 21:01:25 +02:00
Eelco Dolstra
ff97b7dbe6 Merge remote-tracking branch 'origin/master' into staging 2014-07-14 17:04:55 +02:00
Eelco Dolstra
3b2609deec Don't restart systemd-remount-fs
It's only needed during early boot (in fact, it's probably not needed
at all on NixOS). Restarting it is expensive because it does a sync()
of the root file system.
2014-07-11 23:34:58 +02:00
Eelco Dolstra
40f7b0f9df Another attempt to eradicate ensureDir
See c556a6ea46.
2014-06-30 14:56:10 +02:00
Paul Colomiets
11e25f1a3e Implement per-user socket units 2014-06-20 17:41:14 -04:00
Evgeny Egorochkin
b415876bdb systemd service: fix issues with escaping when unit name contains '-'
systemd escaping rules translate this into a string containing '\'
which is treated by some code paths as quoted, and by others as unquoted
causing the affected units to fail.
2014-06-11 04:08:13 +03:00
lethalman
f5aeae49ef Merge pull request #2837 from lethalman/security
Add system.replaceRuntimeDependencies to quickly replace system dependencies
2014-06-09 15:42:59 +02:00
Luca Bruno
66ddb1c322 Add system.replaceRuntimeDependencies to quickly replace system dependencies 2014-06-06 21:17:31 +02:00
Eelco Dolstra
906aa9ccb1 Make pseudo-filesystems show up as "tmpfs" etc. rather than "none" in df 2014-06-05 13:39:17 +02:00
Shea Levy
57ed344917 Fix /run/keys permissions 2014-05-27 17:22:25 -04:00
Eelco Dolstra
c54eb79063 Don't kill unionfs-fuse during shutdown
Killing the daemon backing /nix/store prevents a clean shutdown.  See
http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons/
2014-05-21 15:55:50 +02:00
Eelco Dolstra
5e364503d5 NixOS ISO: Don't use a unionfs for /
We don't need a unionfs on /, we only need a tmpfs.
2014-05-21 15:55:50 +02:00
Eelco Dolstra
d4ccfe3f6b Don't create /media
It's obsolete - udisks2 uses /run/media/<username>.
2014-05-21 15:55:49 +02:00
Eelco Dolstra
bddd10d75c switch-to-configuration: Don't restart instances of user@.service
Restarting user@ instances is bad because it causes all user services
(such as ssh-agent.service) to be restarted. Maybe one day we can have
switch-to-configuration restart user units in a fine-grained way, but
for now we should just ignore user systemd instances.

Backport: 14.04
2014-05-20 11:12:56 +02:00
Emery Hemingway
c96d5fe170 nixos: f2fs filesystem module support (close #2085) 2014-05-11 13:53:26 +02:00
Eelco Dolstra
c06786759c /var/run -> /run 2014-05-09 00:52:02 +02:00
Eelco Dolstra
5bfe944907 Don't run hwclock if /dev/rtc doesn't exist
E.g. on EC2 instances.

Backport: 14.04
2014-05-05 16:47:51 +02:00
Eelco Dolstra
bac68f9747 switch-to-configuration: Honour RefuseManualStop
This prevents spurious errors about systemd-tmpfiles-setup.service.

Backport: 14.04
2014-05-05 16:46:58 +02:00
Shea Levy
e4630c1d41 grub: Allow setting the boot root explicitly
If /boot is a btrfs subvolume, it will be on a different device than /
but not be at the root from grub's perspective. This should be fixed in
a nicer way by #2449, but that can't go into 14.04.
2014-05-01 10:56:55 -04:00
Eelco Dolstra
728d3476ba systemd: Require some more kernel features 2014-04-30 13:53:12 +02:00
Eelco Dolstra
9bb209a3bd gummiboot: Automatically disable GRUB 2014-04-30 11:47:18 +02:00
Eelco Dolstra
d621300665 Revert "Don't mount /sys/fs/fuse/connections and /sys/kernel/config"
This reverts commit 6eaced3582. Doesn't
work very well, e.g. if you actually have the FUSE module loaded. And
in any case it's already fixed in NixOps.
2014-04-28 09:19:01 +02:00
Eelco Dolstra
56b4b841ae switch-to-configuration: Use old systemctl to stop units
Otherwise, when switching from systemd 203 to 212, you get errors like:

  Failed to stop remote-fs.target: Bad message
  Failed to stop systemd-udevd-control.socket: Bad message
  ...
2014-04-28 08:28:44 +02:00
Eelco Dolstra
6eaced3582 Don't mount /sys/fs/fuse/connections and /sys/kernel/config
These fail to mount if you don't have the appropriate kernel support,
and this confuses NixOps' ‘check’ command. We should teach NixOps not
to complain about non-essential mount points, but in the meantime it's
better to turn them off.
2014-04-28 08:16:27 +02:00
Eelco Dolstra
37e6e08cde switch-to-configuration: Use systemctl's --no-legend flag 2014-04-25 17:42:09 +02:00
Eelco Dolstra
da444ff26f Turn assertion about oneshot services into a warning 2014-04-22 23:53:21 +02:00
Shea Levy
7d1ddae58e nixos: evaluate assertions at toplevel, not at systemPackages
Fixes #2340
2014-04-22 14:09:02 -04:00
Eelco Dolstra
fa3826dcf4 Ignore *.wants in systemd.packages for now 2014-04-22 17:38:53 +02:00
Shea Levy
2a4282c811 Revert "Merge branch 'dbus-switch-to-configuration'"
This seems to have combined badly with the systemd upgrade, we'll revert
for now and revisit after the 14.04 branch.

This reverts commit ad80532881, reversing
changes made to 1c5d3c7883.
2014-04-21 18:30:05 -04:00
Oliver Charles
ad80532881 Merge branch 'dbus-switch-to-configuration' 2014-04-21 13:09:14 +01:00
Shea Levy
1c5d3c7883 Merge branch 'modulesfix' of git://github.com/kirelagin/nixpkgs
ohci_pci is required in initrd since kernel 3.11
2014-04-21 07:51:31 -04:00
Kirill Elagin
ca7978a09d ohci_pci is required in initrd since kernel 3.11 2014-04-21 15:42:05 +04:00
Oliver Charles
42ae633445 Merge branch 'master' into dbus-switch-to-configuration
Conflicts:
	nixos/modules/system/activation/switch-to-configuration.pl
2014-04-20 19:17:05 +01:00
Eelco Dolstra
cf53152902 Fix GRUB 2 example
Fixes #1891.
2014-04-20 19:41:15 +02:00
Eelco Dolstra
82535e0f8f switch-to-configuration: Check overrides.conf for X-* options 2014-04-19 14:28:33 +02:00
Eelco Dolstra
b03a2f9e90 Set personality when running a 32-bit container on a 64-bit host 2014-04-19 13:14:51 +02:00
Eelco Dolstra
9f1c9404da Put /var/setuid-wrappers on a tmpfs
This allows all other filesystems to be mounted without the suid
option.
2014-04-19 12:40:09 +02:00
Eelco Dolstra
2a64b0a91b Shut up warning about resolv.conf missing 2014-04-19 12:34:59 +02:00
Mathijs Kwik
bf841cd892 Revert "systemd: oneshot units should be allowed to restart on failure/abort"
This reverts commit c1e638abb6.

As pointed out by wkennington, upstream disallows all cases as of v207
2014-04-18 21:42:22 +02:00
Eelco Dolstra
febb15f722 systemd: Enable keeping backlight / rfkill state across reboots 2014-04-18 19:37:15 +02:00
Eelco Dolstra
313c38d5f1 switch-to-configuration: Handle systemctl output change 2014-04-18 19:04:45 +02:00
Eelco Dolstra
48d90cf3b6 Revert "Put /nix/var/nix/{temproots,userpool} on a tmpfs"
This reverts commit dd49094a25. Nix
barfs if /nix/var/nix/temproots is a symlink :-(
2014-04-18 18:37:07 +02:00
Eelco Dolstra
1e540af43b Fix broken upstream user unit symlinks 2014-04-18 17:38:06 +02:00
Eelco Dolstra
dd49094a25 Put /nix/var/nix/{temproots,userpool} on a tmpfs 2014-04-18 16:56:20 +02:00
Eelco Dolstra
c13cede19d Remove long-obsolete /nix/var/nix/chroots directory 2014-04-18 16:50:37 +02:00
Eelco Dolstra
21573af9fb Containers: Use /etc/resolv.conf supplied by the host
This used to work with systemd-nspawn 203, because it bind-mounted
/etc/resolv.conf (so openresolv couldn't overwrite it). Now it's just
copied, so we need some special handling.
2014-04-18 16:48:11 +02:00
Eelco Dolstra
359935a1ef kmod-static-nodes: Drop superfluous wantedBy 2014-04-18 14:51:18 +02:00
Eelco Dolstra
64b968f81f Remove debug line 2014-04-18 02:31:10 +02:00
Eelco Dolstra
12f06ae499 Doh 2014-04-18 01:36:43 +02:00
Eelco Dolstra
e34a1589fe Add support for user units
With ‘systemd.user.units’ and ‘systemd.user.services’, you can specify
units used by per-user systemd instances.  For example,

  systemd.user.services.foo =
    { description = "foo";
      wantedBy = [ "default.target" ];
      serviceConfig.ExecStart = "${pkgs.foo}/bin/foo";
    };

declares a unit ‘foo.service’ that gets started automatically when the
user systemd instance starts, and is stopped when the user systemd
instance stops.

Note that there is at most one systemd instance per user: it's created
when a user logs in and there is no systemd instance for that user
yet, and it's removed when the user fully logs out (i.e. has no
sessions anymore). So if you're simultaneously logged in via X11 and a
virtual console, you get only one copy of foo.
2014-04-18 00:38:40 +02:00
Eelco Dolstra
073351a5cf Refactor unit option declarations
This gets rid of some duplication.
2014-04-17 23:35:05 +02:00
Eelco Dolstra
2ad6933a22 Remove special handling of systemd-journal-gatewayd 2014-04-17 19:05:29 +02:00
Eelco Dolstra
179acfb664 Allow upstream systemd units to be extended
If you define a unit, and either systemd or a package in
systemd.packages already provides that unit, then we now generate a
file /etc/systemd/system/<unit>.d/overrides.conf. This makes it
possible to use upstream units, while allowing them to be customised
from the NixOS configuration. For instance, the module nix-daemon.nix
now uses the units provided by the Nix package. And all unit
definitions that duplicated upstream systemd units are finally gone.

This makes the baseUnit option unnecessary, so I've removed it.
2014-04-17 18:52:31 +02:00
Eelco Dolstra
560a1103ad Add option ‘systemd.tmpfiles.rules’
This allows specifying rules for systemd-tmpfiles.

Also, enable systemd-tmpfiles-clean.timer so that stuff is cleaned up
automatically 15 minutes after boot and every day, *if* you have the
appropriate cleanup rules (which we don't have by default).
2014-04-17 16:14:56 +02:00
Eelco Dolstra
bb9304e280 Remove creation of /tmp/.ICE-unix
This is now done by tmpfiles.
2014-04-17 16:14:56 +02:00
Mathijs Kwik
c1e638abb6 systemd: oneshot units should be allowed to restart on failure/abort 2014-04-17 15:20:39 +02:00
Eelco Dolstra
7ea51b1c6c Enable kmod-static-nodes.service
This creates static device nodes such as /dev/fuse or
/dev/snd/seq. The kernel modules for these devices will be loaded on
demand when the device node is opened.
2014-04-17 14:35:05 +02:00
Eelco Dolstra
317a81ada2 Enable systemd-tmpfiles 2014-04-17 13:23:06 +02:00
Eelco Dolstra
518f710547 Fix module loading in systemd-udevd 2014-04-17 12:26:12 +02:00
Eelco Dolstra
89155dbc01 systemd: Enable user systemd instances 2014-04-17 12:03:04 +02:00
Eelco Dolstra
e8af68d2dc Make machinectl work 2014-04-16 10:48:14 +02:00
Eelco Dolstra
566a5c33e8 Set MODULE_DIR in systemd-load-modules.service 2014-04-16 10:43:33 +02:00
William A. Kennington III
85e9ad1b2f stage1: Systemd libraries were renamed 2014-04-16 01:49:42 +02:00
Eelco Dolstra
2fc520d699 Simplify assertion 2014-04-16 01:08:14 +02:00
William A. Kennington III
eda854d50f systemd: Add an assertion to guarantee oneshot units do not have restart set
This prevents insidious errors once systemd begins handling the unit. If
the unit is loaded at boot, any errors of this nature are logged to the
console before the journal service is running. This makes it very hard
to diagnose the issue. Therefore, this assertion helps guarantee the
mistake is not made.
2014-04-16 01:05:56 +02:00
William A. Kennington III
6ff2521974 upstart: Oneshot rules should always have Restart=no 2014-04-16 01:04:52 +02:00
Eelco Dolstra
ee9c068b0c systemd: Update to 212
Note that systemd no longer depends on dbus, so we're rid of the
cyclic dependency problem between systemd and dbus.

This commit incorporates from wkennington's systemd branch
(203dcff45002a63f6be75c65f1017021318cc839,
1f842558a95947261ece66f707bfa24faf5a9d88).
2014-04-16 00:59:26 +02:00
William A. Kennington III
d2ee6e6a24 stage 1: Remove scsi_wait_scan as it is not supported after kernel 3.7 2014-04-15 14:59:39 +02:00
Eelco Dolstra
29027fd1e1 Rewrite ‘with pkgs.lib’ -> ‘with lib’
Using pkgs.lib on the spine of module evaluation is problematic
because the pkgs argument depends on the result of module
evaluation. To prevent an infinite recursion, pkgs and some of the
modules are evaluated twice, which is inefficient. Using ‘with lib’
prevents this problem.
2014-04-14 16:26:48 +02:00
Eelco Dolstra
d2155649af Merge branch 'containers'
Fixes #2105.
2014-04-10 15:55:51 +02:00
aszlig
9d8a8126e9
systemd: Add support for path units.
This allows to define systemd.path(5) units, for example like this:

{
  systemd = let
    description = "Set Key Permissions for xyz.key";
  in {
    paths.set-key-perms = {
      inherit description;
      before = [ "network.target" ];
      wantedBy = [ "multi-user.target" ];
      pathConfig.PathChanged = "/run/keys/xyz.key";
    };

    services.set-key-perms = {
      inherit description;
      serviceConfig.Type = "oneshot";
      script = "chown myspecialkeyuser /run/keys/xyz.key";
    };
  };
}

The example here is actually useful in order to set permissions for the
NixOps keys target to ensure those permisisons aren't reset whenever the
key file is reuploaded.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-03-31 12:33:25 +02:00
Shea Levy
77181be713 Set /run/keys ownership based on numerical ids
See comments on 4ab5646417
2014-03-19 05:18:24 -04:00
Eelco Dolstra
7d8fea797a Run hwclock --hctosys to initialize the system time 2014-03-18 23:14:34 +01:00
Eelco Dolstra
08095f97ce Typo 2014-03-18 22:40:39 +01:00
Eelco Dolstra
511b86d22d Add an option to reload rather than restart changed units 2014-03-17 15:02:53 +01:00
Eelco Dolstra
f9e2af1e8b switch-to-configuration: Don't require /etc/NIXOS
Check /etc/os-release if /etc/NIXOS doesn't exist.
2014-03-17 14:16:10 +01:00
Eelco Dolstra
f13bd41384 switch-to-configuration: Restart sockets.target 2014-03-17 14:10:48 +01:00
mornfall
fe995cdedc Merge pull request #1775 from thoughtpolice/duo_unix
Duo Security module and uid/gid support for /etc files
2014-03-16 23:06:01 +01:00
Shea Levy
0c12dd3ded Merge branch 'pkgs/systemd/journald_http_gateway' of git://github.com/offlinehacker/nixpkgs
systemd: python support & journal http gateway

Conflicts:
	nixos/modules/misc/ids.nix
2014-03-14 19:16:59 -04:00
Shea Levy
59a060523e Don't override the baseUnit's PATH by default 2014-03-12 20:03:14 -04:00
Eelco Dolstra
e1984f029d autovt@.service really has to be a symlink 2014-03-13 00:19:10 +01:00