Commit graph

8856 commits

Author SHA1 Message Date
Maximilian Bosch
6f72b63601
nixos/nixos-option: don't abort in case of evaluation errors
When running e.g. `nixos-option boot.kernelPackages` I get an output
like this on the current unstable channel (18.09pre144959.be1461fc0ab):

```
$ nixos-option boot.kernelPackages
Value:
*exit 1*
```

This is fairly counter-intuitive as I have no clue what might went
wrong. `strace` delivers an output like this:

```
read(3, "error: Package \342\200\230cryptodev-linu"..., 128) = 128
read(3, "ux/cryptodev/default.nix:22 is m"..., 128) = 128
read(3, "lowBroken = true; }\nin configura"..., 128) = 128
read(3, "you can add\n  { allowBroken = tr"..., 128) = 128
read(3, "n)\n", 128)                    = 3
read(3, "", 128)                        = 0
```

`nixos-option` evaluates the system config using `nix-instantiate` which
might break when the evaluation fails (e.g. due to broken or unfree
packages that are prohibited to evaluate by default). The script aborts
due to the shebang `@shell@ -e`.

In order to ensure that no unexpected
behavior occurs due to removing `-e` from the interpreter the easiest
way to work around this was to wrap `nix-instantiate` in `evalNix()`
with a `set +e`. The function checks the success of the evaluation with
`$?` in the end. Additionally `evalNix` shouldn't break, if one
evaluation (e.g. the values that contain a package set by default) to
return additional information like a description.

With the change `nixos-option boot.kernelPackages` delivers the
following output for me:

```
Value:
error: Package ‘cryptodev-linux-1.9-4.14.52’ in /nix/store/47z2s8cwppymmgzw6n7pbcashikyk5jk-nixos/nixos/pkgs/os-specific/linux/cryptodev/default.nix:22 is marked as broken, refusing to evaluate.

Default:
{ __unfix__ = <LAMBDA>; acpi_call = <CODE>; amdgpu-pro = <CODE>; ati_drivers_x11 = <CODE>; batman_adv = <CODE>; bbswitch = <CODE>; bcc = <CODE>; beegfs-module = <CODE>; blcr = <CODE>; broadcom_sta = <CODE>; callPackage = <CODE>; cpupower = <CODE>; cryptodev = <CODE>; dpdk = <CODE>; e1000e = <CODE>; ena = <CODE>; evdi = <CODE>; exfat-nofuse = <CODE>; extend = <CODE>; facetimehd = <CODE>; fusionio-vsl = <CODE>; hyperv-daemons = <CODE>; ixgbevf = <CODE>; jool = <CODE>; kernel = <CODE>; lttng-modules = <CODE>; mba6x_bl = <CODE>; mwprocapture = <CODE>; mxu11x0 = <CODE>; ndiswrapper = <CODE>; netatop = <CODE>; nvidiaPackages = <CODE>; nvidia_x11 = <CODE>; nvidia_x11_beta = <CODE>; nvidia_x11_legacy304 = <CODE>; nvidia_x11_legacy340 = <CODE>; nvidiabl = <CODE>; odp-dpdk = <CODE>; openafs = <CODE>; openafs_1_8 = <CODE>; perf = <CODE>; phc-intel = <CODE>; pktgen = <CODE>; ply = <CODE>; prl-tools = <CODE>; recurseForDerivations = true; rtl8192eu = <CODE>; rtl8723bs = <CODE>; rtl8812au = <CODE>; rtl8814au = <CODE>; rtlwifi_new = <CODE>; sch_cake = <CODE>; spl = <CODE>; splLegacyCrypto = <CODE>; splStable = <CODE>; splUnstable = <CODE>; stdenv = <CODE>; sysdig = <CODE>; systemtap = <CODE>; tbs = <CODE>; tmon = <CODE>; tp_smapi = <CODE>; usbip = <CODE>; v4l2loopback = <CODE>; v86d = <CODE>; vhba = <CODE>; virtualbox = <CODE>; virtualboxGuestAdditions = <CODE>; wireguard = <CODE>; x86_energy_perf_policy = <CODE>; zfs = <CODE>; zfsLegacyCrypto = <CODE>; zfsStable = <CODE>; zfsUnstable = <CODE>; }

Example:
{ _type = "literalExample"; text = "pkgs.linuxPackages_2_6_25"; }

Description:

"This option allows you to override the Linux kernel used by\nNixOS. Since things like external kernel module packages are\ntied to the kernel you're using, it also overrides those.\nThis option is a function that takes Nixpkgs as an argument\n(as a convenience), and returns an attribute set containing at\nthe very least an attribute <varname>kernel</varname>.\nAdditional attributes may be needed depending on your\nconfiguration. For instance, if you use the NVIDIA X driver,\nthen it also needs to contain an attribute\n<varname>nvidia_x11</varname>.\n"

Declared by:
  "/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/nixos/modules/system/boot/kernel.nix"

Defined by:
  "/home/ma27/Projects/nixos-config/system/boot.nix"
```
2018-07-12 00:37:01 +02:00
Graham Christensen
96305ca6f2
Merge pull request #43094 from grahamc/fix-quagga-docs
quagga module: Use a deep merge via imports instead of the shallow merge
2018-07-06 17:47:05 -04:00
Graham Christensen
48d292e8a1
networking: Fix timeout when lo has aliased IPs
With a config like

    {
      networking.interfaces."lo".ip4 = [
        { address = "10.8.8.8"; prefixLength = 32; }
      ];
    }

a nixos-rebuild switch would take a long time, and you'd see:

    $ systemctl list-jobs
       JOB UNIT                                TYPE  STATE
    734400 network-interfaces.target           start waiting
    734450 sys-subsystem-net-devices-lo.device start running
    734449 network-link-lo.service             start waiting

and:

    systemd[1]: sys-subsystem-net-devices-lo.device: Job sys-subsystem-net-devices-lo.device/star>
    systemd[1]: sys-subsystem-net-devices-lo.device: Job sys-subsystem-net-devices-lo.device/star>
    systemd[1]: Timed out waiting for device sys-subsystem-net-devices-lo.device.

This removes the device dependency for `lo` and fixes this bug.

Closes #7227
2018-07-06 15:38:52 -04:00
Peter Hoeg
f2d9f3ab85
Merge pull request #43097 from peterhoeg/m/pipewire
pipewire (nixos): add socket activation support
2018-07-06 15:26:39 +08:00
Peter Hoeg
139a6b4106 pipewire (nixos): add support for socket activation 2018-07-06 12:03:24 +08:00
Matthew Bauer
2b4d7221a9
Merge pull request #42569 from spacefrogg/nscd-fix
resolvconf.conf: Remove forced NSCD service restart
2018-07-05 22:16:02 -04:00
Graham Christensen
078925c954
quagga module: Use a deep merge via imports instead of the shallow merge
The deep merge caused all the options to be unset when generating docs, unless quagga was enabled.

Using imports, instead, properly allows the documentation to be generated.
2018-07-05 22:11:29 -04:00
Matthew Bauer
a92472fae1
Merge pull request #42724 from yshui/libinput-button
libinput: add button to scrollMethod
2018-07-05 22:10:26 -04:00
Yegor Timoshenko
1bb95d8409
Merge pull request #42775 from mkaito/oauth2_proxy-virtualHosts
oauth2_proxy: add nginx vhost module
2018-07-05 22:15:50 +03:00
Silvan Mosberger
59b3ce2894
Merge pull request #42398 from Ma27/make-autorandr-target-configurable
nixos/autorandr: make default target in systemd service configurable
2018-07-05 15:10:22 +02:00
Maximilian Bosch
8325996621
nixos/autorandr: make default target in systemd service configurable
The `.service` file defining the `systemd` unit for `autorandr.service`
which is bundled with the package itself uses `--default default` in the
`ExecStart` section. This can be an issue when having multiple layouts
(e.g. `default` as workstation layout I mostly work on and `mobile` when
I go somewhere else).

When the service gets restarted and `--default` can't be applied,
however the current layout can't be detected (e.g. when working with an
unknown beamer) the service silently fails with a message like this:

```
Jun 22 18:44:46 hauptshuhle autorandr[3168]: /nix/store/h83b72ffm68nm8fyjnppljchp456a94r-xrandr-1.5.0/bin/xrandr: ca>
Jun 22 18:44:46 hauptshuhle autorandr[3168]: Failed to apply profile 'default' (line 718):
Jun 22 18:44:46 hauptshuhle autorandr[3168]:   Command failed: /nix/store/h83b72ffm68nm8fyjnppljchp456a94r-xrandr-1.>
```

As discussed in the IRC (see https://botbot.me/freenode/nixos/2018-07-05/?msg=101791455&page=6)
it's a bad long-term solution in terms of maintenance to manually patch
the service file bundled with the derivation, instead the service shall
be configured declaratively. Additionally this makes possible overrides
from the user-space way easier.

The `udev` rule (in `$out/etc/udev/rules.d`) won't' be affected, it
simply runs `systemctl start autorandr.service` when e.g. a new display
is added, so now `udev` communicates with the NixOS systemd unit.
2018-07-05 14:39:08 +02:00
Ingo Blechschmidt
c97b1a44d1 supplicant: Fix tiny typo in the documentation 2018-07-04 00:14:45 +02:00
Silvan Mosberger
bdac6ac4b2
Merge pull request #42860 from ldesgoui/fix-murmur-service
murmur service: prevent silent launch failure by waiting until network is available
2018-07-03 17:34:07 +02:00
Silvan Mosberger
59dd0e6c69
Merge pull request #41222 from gnidorah/firewall
nixos/firewall: per-interface port options
2018-07-03 17:21:55 +02:00
Jörg Thalheim
ed20918278
Merge pull request #42896 from sorki/gpsd_nowait
nixos/gpsd-service: add services.gpsd.nowait option
2018-07-03 13:56:06 +01:00
Jörg Thalheim
32e982448d gpsd: use optionalString 2018-07-03 13:55:27 +01:00
Jörg Thalheim
73245552b7
Merge pull request #42898 from aespinosa/kerberos
nixos/kerberos: update binary folder pointer
2018-07-03 13:41:46 +01:00
Jörg Thalheim
54da29274f
Merge pull request #42269 from Baughn/zfs
zfs: Improve import handling
2018-07-03 13:23:09 +01:00
Allan Espinosa
da994fb64e nixos/kerberos: update binary folder pointer
${pkg.tcp_wrappers}/sbin does not exist anymore.
2018-07-02 20:15:11 -04:00
Joachim F
3ea5b15c20
Merge pull request #42845 from ivanbrennan/nixos-sudo-describe-rules-precedence
nixos/security.sudo: Document ordering of extraRules
2018-07-02 23:55:56 +00:00
Richard Marko
57ed52d61f nixos/gpsd-service: add services.gpsd.nowait option 2018-07-03 00:40:57 +02:00
Svein Ove Aas
cfd8c4ee88 zfs: Improve import handling 2018-07-02 21:14:45 +01:00
aszlig
6e4711727e
nixos/hadoop: Replace users.extra{Users,Groups}
In fff5923686 all occurences of
users.extraUsers and users.extraGroups have been changed tree-wide to
users.users and users.group. In the meantime the hadoop modules were
introduced via #41381 (060a98e9f4).

Unfortunately those modules still use users.extraUsers, which has been
renamed a long time ago (14321ae243, about
three years from now), so let's actually rename it accordingly as well.

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @matthewbauer, @aespinosa
2018-07-02 18:05:33 +02:00
Jörg Thalheim
8cf4a4725c
Merge pull request #41823 from Chiiruno/dev/meguca
meguca: 2018-05-26 -> 2018-06-11
2018-07-02 15:35:42 +01:00
Michael Raskin
b43c4d8b75
Merge pull request #42798 from flokli/users-users
tree-wide: users.extraUsers -> users.users, users.extraGroups -> users.groups
2018-07-02 11:23:10 +00:00
ldesgoui
16a46139d3 murmur: prevent silent launch failure 2018-07-02 05:30:43 +02:00
ivanbrennan
d08967a3a8
nixos/security.sudo: describe extraRules order
The order of sudoers entries is significant. The man page for sudoers(5)
notes:

  Where there are multiple matches, the last match is used (which is not
  necessarily the most specific match).

This module adds a rule for group "wheel" matching all commands. If you
wanted to add a more specific rule allowing members of the "wheel" group
to run command `foo` without a password, you'd need to use mkAfter to
ensure your rule comes after the more general rule.

  extraRules = lib.mkAfter [
    {
      groups = [ "wheel" ];
      commands = [
        {
          command = "${pkgs.foo}/bin/foo";
          options = [ "NOPASSWD" "SETENV" ];
        }
      ]
    }
  ];

Otherwise, when configuration options are merged, if the general rule
ends up after the specific rule, it will dictate the behavior even when
running the `foo` command.
2018-07-01 15:50:51 -04:00
Jörg Thalheim
6e54e9253a iwd: set statedir to /var/lib/iwd 2018-07-01 10:59:35 +01:00
Matthew Bauer
060a98e9f4
Merge pull request #41381 from aespinosa/hadoop-modules
nixos/hadoop: add hadoop module (hdfs, yarn)
2018-06-30 18:33:03 -04:00
Silvan Mosberger
d74419ee3e
nixos/fwupd: Fix meta 2018-06-30 15:49:44 +02:00
adisbladis
dd608f80db
Merge pull request #42709 from jollheef/master
hostapd: use WPA2 instead of WPA1 by default
2018-06-30 21:44:19 +08:00
Mikhail Klementev
d8f6ca1afa hostapd: use WPA2 instead of WPA1 by default 2018-06-30 11:33:11 +00:00
Allan Espinosa
0c10b2baa6 nixos/hadoop: add hadoop module (hdfs, yarn) 2018-06-29 23:14:02 -04:00
Florian Klink
fff5923686 nixos/modules: users.(extraUsers|extraGroup->users|group) 2018-06-30 03:02:58 +02:00
Florian Klink
0868aa76f6 nixos-generate-config.pl: users.extraUsers-> users.users 2018-06-30 02:26:47 +02:00
Florian Klink
bd228c05b1 nixos/modules/installer: users.extraUsers -> users.users 2018-06-30 02:26:14 +02:00
spacefrogg
37c999228b openafs_1_8: init at 1.8.0 (#41889)
- Introduce new "server" output holding the server binaries
 - Adapt tsmbac.patch to new build environment
 - Adapt openafs nixos server module accordingly
 - Update upstream CellServDB: 2017-03-14 -> 2018-05-14
 - Introduce package attributes to refer to the openafs packages to use for
   server, programs and kernel module
2018-06-30 00:34:35 +02:00
Okina Matara
4b91c2428b meguca: 2018-05-26 -> 2018-06-10 2018-06-29 15:56:33 -05:00
Benjamin Staffin
dca7e24a11
networkmanager: Expand dns description, integrate with other services (#41898)
Rather than special-casing the dns options in networkmanager.nix, use
the module system to let unbound and systemd-resolved contribute to
the newtorkmanager config.
2018-06-29 13:41:46 -04:00
Michishige Kaito
2fec848254 fixup! oauth2_proxy: add nginx vhost module 2018-06-29 16:23:24 +01:00
Michishige Kaito
4a72999c75 oauth2_proxy: add nginx vhost module 2018-06-29 15:36:03 +01:00
Matthew Bauer
e4e2ba6507
Merge pull request #42655 from yesbox/zerotier_module
zerotier module: interface names changed; fix no dhcp
2018-06-28 22:26:10 -04:00
Matthew Bauer
4a611a2ecf
Merge pull request #41635 from spacefrogg/dbus-nss-fix
dbus: Add NSS modules path to dbus system bus service
2018-06-28 22:14:37 -04:00
Matthew Bauer
be3a8c4bdb
Merge pull request #41799 from pacien/patch-4
cgit: Parametrise cgit subdirectory
2018-06-28 22:13:42 -04:00
Matthew Bauer
e0cd8fc91a
Merge pull request #42394 from netixx/add-freeradius-modules
freeradius : added service to module-list
2018-06-28 22:09:46 -04:00
Matthew Bauer
dfd90df391
Merge pull request #41343 from jerith666/restic-s3
restic: add s3CredentialsFile option
2018-06-28 20:43:41 -04:00
Matthew Bauer
50edf59e1b
Merge pull request #41430 from Tomahna/bloop
Bloop: Init 1.0.0-M11
2018-06-28 20:42:41 -04:00
Matthew Bauer
76d1e13b7a
Merge pull request #41444 from dasJ/tt-rss
nixos/tt-rss: Support plugins and themes
2018-06-28 20:40:09 -04:00
Yuxuan Shui
a8ff4a073f nixos/libinput: add button to scrollMethod
Close #17840
2018-06-28 12:15:00 +01:00
Frank Doepper
c5da007af5 nixos/zfs: load encryption keys for all pools (#41846)
fixes #41838

At the moment it works fine for "file://" keys, but does not work for
dataPools with "prompt" keys, because the passphrase cannot be entered
(yet).
2018-06-28 11:04:30 +01:00