Commit Graph

3062 Commits

Author SHA1 Message Date
Mathijs Kwik 651686626f convert bbswitch job to systemd unit
dramatically speeds up my boot time because it was the last
service (for me) that depended on udev-settle.service

udev-settle isn't needed for modern system initialization but some
oldschool services (mdadm/lvm/cryptsetup) depend on it so they can
just enumerate devices instead of having to react to changes
dynamically. In NixOS these things are usually already taken care of
during stage 1 (early ramdisk) if you use them.
2013-08-25 13:58:09 +02:00
Lluís Batlle i Rossell 48cdd60e02 Fixing handling of parameters with spaces in torsocks/torify 2013-08-24 23:23:48 +02:00
Eelco Dolstra 9771f0c96c sshd: Support multiple host keys
The option services.openssh.hostKeys now allows specifying multiple
host keys.  The default value enables both a DSA and ECDSA key.
(Clients by default will use the ECDSA key, unless known_hosts already
has a DSA key for that host.)  To use only an ECDSA key, you can say:

  services.openssh.hostKeys =
    [ { path = "/etc/ssh/ssh_host_ecdsa_key";
        type = "ecdsa";
        bits = 521;
      }
    ];
2013-08-24 01:01:10 +02:00
Evgeny Egorochkin f8a6fa774e SSH daemon: change default key size for RSA, add alert for weak keys. 2013-08-23 14:50:14 +03:00
Rickard Nilsson f420726936 Add several missing uids and gids to modules/misc/ids.nix 2013-08-23 11:37:17 +02:00
Evgeny Egorochkin bfc75e73ae Update zip to zipAttrsWith since zip is obsolete. 2013-08-22 10:40:50 +03:00
Jaka Hudoklin 5894f26c81 Add statsd, simple daemon for easy stats aggregation 2013-08-21 11:52:25 +02:00
Eelco Dolstra eefe0786f9 nixos-help: Use xdg-open if available 2013-08-20 17:11:47 +02:00
Rickard Nilsson 1ff7584a30 networkmanager: Add option for appending DNS settings
If the option is enabled, the DNS servers from networking.nameservers
will be inserted in /etc/resolv.conf after the DNS servers that
NetworkManager receieves by DHCP, or that is configured manually
in the connection settings.
2013-08-20 13:36:01 +02:00
Rob Vermaas 71a21704dc Fix typoe in graphite module (cabon -> carbon). 2013-08-19 10:21:31 +02:00
Domen Kožar 6004b28af8 merge 2013-08-19 09:06:31 +02:00
Jaka Hudoklin 4628fd8434 graphite: Refactor options, serve with waitress 2013-08-19 04:22:46 +02:00
Bjørn Forsman d17d1636b1 Revert "Add /etc/ssl/certs/ca-certificates.crt symlink for Ubuntu compatibility"
This reverts commit 10133f0b5b.

See discussion at https://github.com/NixOS/nixos/pull/224
2013-08-18 17:46:07 +02:00
Bjørn Forsman 10133f0b5b Add /etc/ssl/certs/ca-certificates.crt symlink for Ubuntu compatibility
NixOS and Fedora uses .../ca-bundle.crt. Ubuntu uses
.../ca-certificates.crt. Add .../ca-certificates.crt symlink to be
compatible with Ubuntu.

Example use case: Bob has a ~/.msmtprc file that he brings over from
Ubuntu. It also works on NixOS.
2013-08-17 13:13:02 +02:00
Bjørn Forsman 7e7a153cd6 libvirtd-service: document that users in "libvirtd" group have access 2013-08-16 21:25:00 +02:00
Rickard Nilsson d1095e1bd4 Add libvirtd gid 2013-08-16 00:47:21 +02:00
Rickard Nilsson e36e979d38 networkmanager: Add option for overriding DNS settings
If the option is enabled, the DNS servers from networking.nameservers
will be inserted in /etc/resolv.con and override any DNS servers that
NetworkManager receieves by DHCP, or that is configured manually
in the connection settings.
2013-08-16 00:35:57 +02:00
Bjørn Forsman f7d11af98a libvirtd-service: give access to users in the "libvirtd" group
Currently only root has access. But with this patch all users in
"libvirtd" group will have access. This is similar to how it's done on
Ubuntu.

Also, add virtualisation.libvirtd.extraConfig option for further
customization of libvirtd.conf.
2013-08-15 21:50:16 +02:00
Eelco Dolstra 2dca8421f9 xfce: Add tango-icon-theme
The Rodent icon theme depends on ("inherits") Tango.
2013-08-15 18:02:55 +02:00
Eelco Dolstra e6fa5cd8f2 Fix mousepad 2013-08-15 16:37:53 +02:00
Eelco Dolstra 35e2bac069 Remove $mountPoint
I just don't see the reason for setting this globally, given that /mnt
is the default.
2013-08-15 13:22:41 +02:00
Eelco Dolstra b22e735d2b "with pkgs.lib.types; X" -> types.X 2013-08-15 13:21:49 +02:00
Marc Weber 2fcd1195e6 bash: change shell script option types from string to lines
installation-cd-base: export mountPoint=/mnt. This doesn't change the default behavior, but an explicit
mount point specification is cleaner.
2013-08-15 09:28:44 +03:00
Marc Weber d97ea69a81 systemd: check service.name.Type and service.name.Restart 2013-08-15 09:19:51 +03:00
aszlig 93923296a9
i3: Allow to pass a configuration file.
With this it's now possible to directly embed a configuration file
using `services.xserver.windowManager.i3.configFile = path`, which then
will be used instead of the one in the users home directory.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-08-14 17:33:06 +02:00
Eelco Dolstra 047b65dd68 Typo 2013-08-14 03:34:40 +02:00
Eelco Dolstra 5060160634 not-detected.nix: Enable all firmware
Note that since the configuration produced by nixos-hardware-scan
includes not-detected.nix, you get all firmware when following the
regular installation procedure.

Issue #87.
2013-08-14 03:32:28 +02:00
Eelco Dolstra 8db22f747d Enable the Debian firmware package on the installation CD
It's unfree but we already had such firmware on the CD so we're not
worse off.

Issue #87.
2013-08-14 03:29:16 +02:00
Eelco Dolstra 4bc73f3ece Use the Debian firmware package in more places 2013-08-14 03:27:02 +02:00
Eelco Dolstra 14315b81b1 Add /media and /run to the filesystems ignored by updatedb 2013-08-14 03:07:36 +02:00
Eelco Dolstra ce866184c6 Update the locate database using a systemd service
This makes it easier to update the database manually ("systemctl start
update-locatedb").

Also, use modern module syntax.
2013-08-14 02:58:55 +02:00
Eelco Dolstra fc2fc63f4c Use the Debian firmware package instead of the Intel-specific ones
The intel-*.nix modules are obsolete (since you can just say
‘hardware.enableAllFirmware = true’, or equivalently,
‘hardware.firmware = [ pkgs.firmwareLinuxNonfree ]’).  But we'll keep
them around for compatibility.
2013-08-14 02:31:43 +02:00
Evgeny Egorochkin 6246d75654 Unbreak iso_efi by feeding it a kernel that exists. 2013-08-12 21:42:45 +03:00
Jaka Hudoklin b244a47185 Add graphite, scalable realtime graphing service 2013-08-11 12:16:19 +02:00
Evgeny Egorochkin 51c84aadaa Merge pull request #213 from ivan/extraUsers-root
Document that extraUsers options apply to root
2013-08-10 22:14:10 -07:00
Evgeny Egorochkin f29068342a Merge pull request #212 from ivan/nix-conf-header
Describe where /etc/nix/nix.conf settings come from
2013-08-10 22:02:32 -07:00
Evgeny Egorochkin 15d3de2f7b Merge pull request #215 from ivan/nixos-rebuild-vvvvv
nixos-rebuild: support -vv, -vvv, -vvvv, and -vvvvv
2013-08-10 19:42:39 -07:00
Evgeny Egorochkin c5d8db945e Merge pull request #214 from ivan/typo-fix-1
Fix typos, especially those that end up in the NixOS manual
2013-08-10 19:34:38 -07:00
Ivan Kozik 425b0f0507 nixos-rebuild: support -vv, -vvv, -vvvv, and -vvvvv 2013-08-10 21:51:44 +00:00
Ivan Kozik 390fdb3e60 Fix typos, especially those that end up in the NixOS manual 2013-08-10 21:07:13 +00:00
Eelco Dolstra 5a676e463e Don't load nouveau and nvidiafb when using the proprietary nvidia driver 2013-08-09 18:45:45 +02:00
Ivan Kozik 2fc123f148 Document that extraUsers options apply to root 2013-08-09 01:28:21 +00:00
Ivan Kozik d6303b6068 Describe where /etc/nix/nix.conf settings come from 2013-08-09 00:51:45 +00:00
Evgeny Egorochkin 3b3dc83902 Speed up application start 2013-08-08 04:44:53 +03:00
Eelco Dolstra 4a83c97d3d Stage 1: Use modprobe from kmod instead of module-init-tools
The latter is obsolete.

http://hydra.nixos.org/build/5663799
2013-08-07 18:30:30 +02:00
Eelco Dolstra 168d48a5c9 nix-daemon: Run under the default nice level
Running at a low priority is generally bad since it runs the risk of
priority inversions, etc.  It's really the builders that should run
under a different priority (e.g. in their own cgroup).
2013-08-07 14:10:49 +02:00
Eelco Dolstra 5827261bef compiz: Disable
It doesn't currently work.
2013-08-07 14:10:49 +02:00
Evgeny Egorochkin e155187a8e Merge pull request #154 from MarcWeber/submit/x11-wacom-intuos5-fix
fix wacom hotplug and all Intuos 5 issues
2013-08-06 10:55:48 -07:00
Evgeny Egorochkin 35ac2ad9ca nixos-checkout: let it run without args again. 2013-08-06 19:04:21 +03:00
Evgeny Egorochkin 0bcabfa886 nixos-checkout: fix output if ran with no options, -h and --help. Other options will still trigger
mkdir output :(
2013-08-06 18:56:10 +03:00
Evgeny Egorochkin aa150f5aea KDE: fix config build when grub is used to generate boot menu, but isn't used as a loader. 2013-08-06 16:13:20 +03:00
Eelco Dolstra c7ed6322f6 Increase memory for the VirtualBox image generator 2013-08-05 14:52:37 +02:00
Jaka Hudoklin d0cb70cefb Add iodined, ip over dns daemon 2013-08-05 01:20:55 +02:00
Cillian de Róiste 41e04c9aff Merge branch 'supybot'
Conflicts:
	modules/misc/ids.nix
2013-08-04 03:59:18 +02:00
Cillian de Róiste 5b25c5a181 supybot.service: tidy up 2013-08-04 03:56:01 +02:00
Cillian de Róiste 6e093113fe Supybot service: failing to create stateDir in /var/lib 2013-08-04 00:18:44 +02:00
Vladimír Čunát ce54650b51 lightdm: remove unused reference to mesa drivers
I don't need them and llvm at all, for example.
2013-08-02 14:24:42 +02:00
aszlig 6ae87b81cc
qemu-vm: Add new option writableStoreUseTmpfs.
This is to use the VMs own disk image instead of a tmpfs in order to
avoid eating more memory. Of course, by default we still use the tmpfs
in order to not break existing VM tests.

I personally don't like the coding style of the option definition, but
in order to stay consistent, I followed the overall style in this file.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-08-01 02:10:13 +02:00
Cillian de Róiste 90554a03c7 Supybot/limnoria: add service module 2013-08-01 00:36:15 +02:00
Domen Kožar 37136e4adf Merge pull request #201 from garbas/networkmanager
openconnect and vpnc NetworkManager plugins added
2013-07-31 12:06:15 -07:00
Eelco Dolstra 39f67d9d38 Hide kernel pointers for unprivileged users via kptr_restrict 2013-07-31 16:11:04 +02:00
Martin Bravenboer 7bd50185ff Support Nix's mandatoryFeatures
Extend the buildMachines option to support specification of
supportedFeatures and mandatoryFeatures in order to support all
configuration options of the nix.machines file.
2013-07-31 15:49:35 +02:00
Eelco Dolstra 24a44c98d2 bash: Disable hashing of command lookups in interactive shells
This just confuses people when (say) using multiple profiles.
Performance benefits for interactive shells are likely to be very
small anyway.
2013-07-31 14:55:24 +02:00
Eelco Dolstra 57c35c94ca Use the qemu-kvm wrapper 2013-07-31 14:53:27 +02:00
Rob Vermaas 7a32f2d15a Fix node_modules references in uptime module. 2013-07-31 13:35:21 +02:00
Rob Vermaas 9cf0a41925 fail2ban: move /var/run/fail2ban creation to activation script to be able to restrict the write locations for the service properly, add configuration files to the restartTriggers. 2013-07-31 11:22:48 +02:00
Rickard Nilsson 3ca7d7b291 Add OpenSMTPD service option 2013-07-30 10:20:56 +02:00
Rob Vermaas 96be2d5a7d Fix ReadWriteDirectories for fail2ban, added /var/tmp. 2013-07-28 18:33:57 +02:00
aszlig 5a2390327d
nixos-rebuild: Allow to use --repair.
Unfortunately, the flag only works directly and without the daemon, so
this adds an extra variable $repair, to avoid the daemon. This is to
avoid to iterate through the $extraBuildFlags just to test whether
"--repair" exists.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-07-26 06:23:49 +02:00
Eelco Dolstra ef5e2be339 venus: Support https 2013-07-25 22:57:09 +02:00
Rob Vermaas 6adfb647ff Limit the capabilities of what fail2ban service can do. Taken from ArchLinux wiki. 2013-07-25 20:03:29 +02:00
Rob Vermaas 7e7392b8ad Limit the location where fail2ban service can write to (only /var/run/fail2ban). 2013-07-25 15:48:00 +02:00
Rob Vermaas c5f6a08750 Make fail2ban a normal systemd service in nixos module. 2013-07-25 15:40:20 +02:00
Rok Garbas 73284567cc venus service: using systemd timer instead of cronjob 2013-07-24 00:20:37 +02:00
Rok Garbas f9fbbb5d2f venus service better description 2013-07-23 23:04:55 +02:00
Rok Garbas 589b745fc6 new venus service 2013-07-23 22:42:12 +02:00
Eelco Dolstra 438b057eb3 Lower the default console log level
It used to be set to 7 (debug) so you get lots of crap on the console.
The new value of 4 is also what Ubuntu uses.  Red Hat uses 3.

A nice side effect is that it's more likely that the LUKS passphrase
prompt doesn't get clobbered by kernel log messages.
2013-07-23 22:18:25 +02:00
Eelco Dolstra 8dc09be07b Fix indentation / tabs 2013-07-23 22:18:25 +02:00
Rickard Nilsson 462e4255fa x11 session: Don't start pulseaudio if it already is running system-wide 2013-07-23 19:07:12 +02:00
Rickard Nilsson cd0da98b03 pulseaudio service: Use the configured pulseaudio package instead of the default. 2013-07-23 19:07:07 +02:00
Rob Vermaas 4a0f707f71 New kernel iso/system_tarball now use 3.10 in stead of 3.7, which had been removed. 2013-07-23 10:09:41 +02:00
Rob Vermaas 2cb25bd65c Revert "Only include /bin/sh (not all of /bin) in the chroot"
This reverts commit 883d310bac.
2013-07-23 10:00:54 +02:00
Rob Vermaas 7163babe84 Revert "Allow specifying packages whose closures should be in the chroot"
This reverts commit be3d498b18.
2013-07-23 10:00:43 +02:00
Bjørn Forsman 8d596006dd Ensure /var/log/journal permission bits are set
Ensure permission bits are (re)set on each system activation with
explicit chmod call.

mkdir -m MODE PATH will only set the permission bits if PATH is
*created*, which means users that have old NixOS versions will continue
to have the old 700 permissions on /var/log/journal until they chmod
manually. With this commit the permissions will be set to 755 on system
activation.
2013-07-22 20:09:50 +02:00
Bjørn Forsman 38a4d6d6d7 apcupsd-service: "UPS daemon" => "APC UPS daemon" description update
Sometimes systemd only prints the service description. Then it is nice
to know which UPS daemon we're dealing with.
2013-07-22 14:58:51 +02:00
Bjørn Forsman fe9ac2ca1c apcupsd-service: workaround for "A stop job is running for UPS daemon"
When apcupsd has initiated a shutdown, systemd always ends up waiting
for it to stop ("A stop job is running for UPS daemon"). This is weird,
because in the journal one can clearly see that apcupsd has received the
SIGTERM signal and has already quit (or so it seems). This reduces the
wait time from 90 seconds (default) to just 5. Then systemd kills it
with SIGKILL.
2013-07-22 14:57:28 +02:00
Bjørn Forsman 95e2006653 apcupsd-service: put UPS in hibernate mode when shutting down
This adds a special systemd service that calls "apcupsd --killpower"
(put UPS in hibernate mode) just before shutting down the system.
Without this command, the UPS will stay on until the battery is
completely empty.
2013-07-22 14:57:05 +02:00
Bjørn Forsman d6e5484e2b apcupsd-service: create missing /run/apcupsd/ directory
apcupsd complains about this missing directory when it is starting the
shutdown procedure.
2013-07-22 14:54:27 +02:00
Bjørn Forsman dc61694d01 apcupsd-service: add services.apcupsd.hooks option
Each attribute in this option should name an apcupsd event and the
string value it contains will be executed in a shell in response to that
event. See "man apccontrol" for the list of events and what they
represent.

Now it is easy to hook into the apcupsd event system:

  services.apcupsd.hooks = {
    onbattery  = ''# shell commands to run when the onbattery event is emitted'';
    doshutdown = ''# shell commands to notify that the computer is shutting down'';
  };
2013-07-22 14:19:21 +02:00
Peter Simons 6341a12587 modules/services/networking/dhcpcd.nix: add "extraConfig" option
This option allows administrators to add verbatim text to the generated
config file. I use this feature, for instance, to disable the default
route normally added by dhcpcd for certain interfaces.
2013-07-22 14:16:13 +02:00
Eelco Dolstra c52fd85990 Set permissions on /var/log/journal properly
This makes the system journal readable by users in the
systemd-journal, wheel and adm groups.  It also allows users to read
their own journals.

Note that this doesn't change the permissions of existing journals.
2013-07-19 21:18:44 +02:00
Eelco Dolstra bf21bbcf01 Mount /var and some other filesystems automatically in stage 1
Bad things happen if /var is mounted in a late stage.
2013-07-19 17:24:18 +02:00
Shea Levy 272d641f0c Documentation improvement
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-19 11:22:46 -04:00
Shea Levy be3d498b18 Allow specifying packages whose closures should be in the chroot
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-19 11:21:05 -04:00
Shea Levy 883d310bac Only include /bin/sh (not all of /bin) in the chroot
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-19 11:19:07 -04:00
Shea Levy 18de9f64ae Add uptime module
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-18 19:25:35 -04:00
mornfall b09a0a49a5 Merge pull request #204 from bjornfor/apcupsd-service
Add apcupsd service
2013-07-18 15:24:50 -07:00
Bjørn Forsman 44f1a8d8c7 Add apcupsd service
apcupsd is a daemon for controlling APC UPSes. It is very simple to
configure. If you have an USB based UPS, the default settings should be
useable without further adjustments:

  services.apcupsd.enable = true;

This will give you autodetection of USB UPSes, network access limited to
localhost (for security) and the shutdown sequence will be started when
the system when the battery level is below 50 percent, or when the UPS
has calculated that it has 5 minutes or less of remaining power-on time.

You can provide your own configuration file contents with this option:

  services.apcupsd.configText = "contents of apcupsd.conf";

Bug/annoyance 1: When apcupsd calls "wall" (on powerfail etc. events),
it prints an error message because stdout is not connected to a tty (it
is connected to the journal):

  wall: cannot get tty name: Inappropriate ioctl for device

The message still gets through though, to ctrl-alt-f[1-6] terminals.

Bug/annoyance 2: apcupsd tries to call "mail" (on powerfail etc.
events), and that fails because I'm not passing in any mail program at
the moment (because that would require more configuration options). A
solution to this would be to simply let the user fully configure the
apcupsd event handling logic in nix.
2013-07-17 21:23:09 +02:00
Eelco Dolstra 76160c6de7 Fix ISO generation
The volume label cannot be longer than 32 characters.
2013-07-17 19:34:06 +02:00
Eelco Dolstra cf8f646f34 Disable the trac test
It hasn't worked in ages.
2013-07-17 15:28:36 +02:00