Compare commits

...

1676 Commits

Author SHA1 Message Date
Franz Pletz
87497dee46 firefox: updated common.nix to support ffx64 (18.09) 2018-12-18 01:28:09 +01:00
Andreas Rammhold
87c912c613 firefox: 63.0.3 -> 64.0
See #51863.

(cherry picked from commit ccd160023c)
2018-12-18 01:28:09 +01:00
Andreas Rammhold
1dbf649c91 firefox: updated common.nix to support ffx64
See #51863.

(cherry picked from commit 783dc61f68)
2018-12-18 01:28:07 +01:00
Pavel Goran
19fb949471 nixos/mysql: support package=mysql57
(cherry picked from commit 21e9c35f5f)

Fixes #25418.
2018-12-18 00:50:56 +01:00
Pascal Bach
4f69b3ced6 youtube-dl: 2018.11.18 -> 2018.12.17
(cherry picked from commit 28e9a1eef1)
2018-12-18 00:10:15 +01:00
Franz Pletz
fa3dabe232 youtubeDL: 2018.11.07 -> 2018.11.18
(cherry picked from commit c826315257)
2018-12-18 00:10:14 +01:00
Jörg Thalheim
76ac1b6f30 go_1_11: update outdated meta.branch
(cherry picked from commit a4f37346e7)
2018-12-17 19:31:11 +01:00
Benjamin Herr
3e10c5bf26 go: 1.11.2 -> 1.11.4
(cherry picked from commit ce2d980be8)
2018-12-17 19:30:26 +01:00
Jaka Hudoklin
41f74251b9 go_1_11: 1.11 -> 1.11.2f
fixes #50180

(cherry picked from commit 734bd4ca54)
2018-12-17 19:30:19 +01:00
Benjamin Herr
d0c3afbf50 go_1_10: 1.10.3 -> 1.10.7
(cherry picked from commit 3cb3a24ce9)
2018-12-17 19:29:30 +01:00
Franz Pletz
8eaff5a744 postgresql: branch 9.3 is not maintained anymore
See https://www.postgresql.org/support/versioning/.

(cherry picked from commit 61bd0e851e)
2018-12-17 16:38:41 +01:00
R. RyanTM
eeb072c21e graphicsmagick: 1.3.30 -> 1.3.31
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/graphicsmagick/versions

(cherry picked from commit 6d7e94aa1e)
2018-12-17 16:37:25 +01:00
taku0
f9954722c6 thunderbird-bin: 60.3.2 -> 60.3.3
(cherry picked from commit f9d6dcecd7)
2018-12-17 16:37:25 +01:00
taku0
2eae458684 thunderbird: 60.3.2 -> 60.3.3
(cherry picked from commit 5698d7888e)
2018-12-17 16:37:25 +01:00
Shea Levy
a580755f64 haskell generic builder: Add flag to allow inconsistent dependencies.
(cherry picked from commit 30fb5b0dcf)
2018-12-17 09:26:48 -05:00
Tim Steinbach
82d26ac69b linux: 4.19.9 -> 4.19.10
(cherry picked from commit ed5920e6ad35d86d0bed03749b90af3d67092602)
2018-12-17 09:19:58 -05:00
Tim Steinbach
5bfaa294ea linux: 4.14.88 -> 4.14.89
(cherry picked from commit 56fcbb2f7882445d77bd5ba60bd11f22f743c540)
2018-12-17 09:19:58 -05:00
Tim Steinbach
3758dc9f3d linux: 4.9.145 -> 4.9.146
(cherry picked from commit 2e749ccd868d3cf38e61aa6e98a2641cf8dad432)
2018-12-17 09:19:57 -05:00
Linus Heckemann
c106bb5092 Merge pull request #52435 from primeos/signal-desktop-backport
[18.09] signal-desktop backport
2018-12-17 15:16:43 +01:00
Michael Weiss
a136eba3de signal-desktop: 1.18.0 -> 1.18.1
(cherry picked from commit b3fb2d5c1c)
2018-12-17 14:58:23 +01:00
Michael Weiss
613042f247 signal-desktop: 1.17.3 -> 1.18.0
(cherry picked from commit a6167c3311)
2018-12-17 14:58:23 +01:00
Michael Weiss
a3317be35f signal-desktop: 1.17.2 -> 1.17.3
(cherry picked from commit e075748769)
2018-12-17 14:58:22 +01:00
Franz Pletz
b9d7b24d2c libssh: 0.7.6 -> 0.7.7
Bugfix release for the 0.7 branch to fix regressions from the security
fixes.

See https://www.libssh.org/2018/10/29/libssh-0-8-5-and-libssh-0-7-7/.
2018-12-17 02:19:07 +01:00
Mario Rodas
600c6c66ec libvncserver: add CVE-2018-7225 patch
(cherry picked from commit 03fddb139e)
2018-12-17 02:04:59 +01:00
Franz Pletz
1b0da4da0f prosody: 0.10.2 -> 0.10.3 2018-12-17 01:15:42 +01:00
Florian Klink
bb0a7fc892 Merge pull request #52410 from flokli/18.09-gitlab-11.5.4
[18.09] gitlab: 11.5.1 -> 11.5.4
2018-12-17 00:42:24 +01:00
Florian Klink
3adcfd4199 gitlab: run test with 4096 bits if on 64bit, else the the maximum for 32bit
(cherry picked from commit c788367edaf5fa8ac24e60d127851a360fe2c134)
2018-12-16 23:57:30 +01:00
Florian Klink
2a91e6b1a1 gitlab-ee: 11.5.1 -> 11.5.4
(cherry picked from commit 0a87bdecd554dafd0ac6dbd5a41fc14129afbba7)
2018-12-16 23:57:30 +01:00
Florian Klink
d40c6b224e gitlab-ce: 11.5.1 -> 11.5.4
(cherry picked from commit 88fc01b0e6d03d77c4b028a2c8d20c722e28566c)
2018-12-16 23:57:29 +01:00
Jörg Thalheim
f0b6661d19 Merge pull request #52043 from worldofpeace/vscode/backport
vscode backports
2018-12-16 22:15:08 +00:00
R. RyanTM
2b0b12223f nsd: 4.1.25 -> 4.1.26
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/nsd/versions
2018-12-16 20:01:08 +01:00
R. RyanTM
81dfe93af2 nsd: 4.1.24 -> 4.1.25
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/nsd/versions
2018-12-16 20:00:54 +01:00
R. RyanTM
de9cec4809 cryptsetup: 2.0.5 -> 2.0.6
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/cryptsetup/versions

(cherry picked from commit 7f61a7814e)
2018-12-16 18:44:48 +01:00
R. RyanTM
aa6d82d9f5 cryptsetup: 2.0.4 -> 2.0.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/cryptsetup/versions

(cherry picked from commit f3545ef3c8)
2018-12-16 18:44:48 +01:00
Maximilian Bosch
7a01e146cb nixos/nextcloud: add basic module documentation and warn about current upgrading issues
Part of #49783. NextCloud tracks in its `config.php` the application's
state which makes it hard for the module to modify configurations during
upgrades.

It will take time until the issue is properly fixed, therefore we
decided to warn about this in the manual.

This PR addresses two things:

* Adding a basic example for nextcloud. I figured it to be helpful to
  add some basic usage instructions when adding a new manual entry.
  Advanced documentation may follow later.

  For now this document actively links to the service options, so users
  are guided to the remaining options that can be helpful in certain
  cases.

* Add a warning about upgrades and manual changes in
  `/var/lib/nextcloud`. This will be fixed in the future, but it's
  definetely helpful to document the current issues in the manual (as
  proposed in https://github.com/NixOS/nixpkgs/issues/49783#issuecomment-439691127).

(cherry picked from commit 216a954540)
2018-12-16 16:00:45 +01:00
Florian Klink
bf91596709 nextcloud: 14.0.4 -> 15.0.0
(cherry picked from commit 66060d3bb0)
2018-12-16 15:01:58 +01:00
Maximilian Bosch
e32ea11241 Merge pull request #52355 from flokli/18.09-nextcloud-client-2.5.1
[18.09] nextcloud-client: 2.3.3 -> 2.5.1
2018-12-16 14:32:03 +01:00
Florian Klink
893cf309d1 nextcloud-client: 2.5.0 -> 2.5.1
(cherry picked from commit f5c9ceaf43)
2018-12-16 13:38:18 +01:00
Maximilian Bosch
1fb886d9cf nextcloud-client: 2.3.3 -> 2.5.0 (#50463)
Updates to the latest version of the desktop client available. Tested
the config migration from `nextcloud-client` 2.3.3 with a Nextcloud
14.0.3 instance (hosted using `services.nextcloud`).

Additionally the derivation required the following changes:

* Dropped `Qt5Sql` patch: this has been fixed upstream and isn't needed
  anymore (furthermore their CMake structure has changed and the patch
  wouldn't apply anymore on 2.5.0).

* Moved to a new upstream repository (nextcloud/desktop), kept
  `fetchgit` to properly fetch submodules.

* Added OpenSSL 1.1 integration: `libsync` (the syncing provided by this
  package) requires 1.1, furthermore the linking flags had to be fixed
  manually by passing `NIX_LDFLAGS` to the derivation.

Furthermore I moved the support for a Gnome3 keyring into its own
wrapper to avoid a full rebuild of the package whenever you alter
`withGnomeKeyring` in an override expressions.

It's still possible to enable keyring (now without recompile) like this:

```
nextcloud-client.override { withGnomeKeyring = true; }
```

To override the derivation itself you now have to use
`nextcloud-client-unwrapped`:

```
nextcloud-client-unwrapped.overrideAttrs (old: {
   src = yoursrc;
})
```

(cherry picked from commit e75f922e91)
2018-12-16 13:38:18 +01:00
Will Dietz
d683610bda sqlite: 3.25.3 -> 3.26.0
(cherry picked from commit 2d7c6d088e)
2018-12-15 22:12:11 +00:00
Vladimír Čunát
e48c8832ed Merge branch 'staging-18.09' into release-18.09 2018-12-15 11:26:29 +01:00
Rickard Nilsson
345993c57c mosquitto: 1.5.3 -> 1.5.4
Remove patch that has been merged upstrem.

(cherry picked from commit 2473754ad2)
2018-12-15 08:51:12 +01:00
Rickard Nilsson
61d76f8881 nixos/nm-setup-hostsdir: RemainAfterExist -> RemainAfterExit
(cherry picked from commit b20fcce195)
2018-12-15 08:34:30 +01:00
Edmund Wu
f227f13119 vscode-extensions.WakaTime.vscode-wakatime: 1.2.3 -> 1.2.4
(cherry picked from commit 70092febc4)
2018-12-14 08:08:43 -05:00
Edmund Wu
18333ba716 vscode-extensions.ms-python.python: 2018.10.1 -> 2018.11.0
(cherry picked from commit 7369c3a06d)
2018-12-14 08:08:32 -05:00
Edmund Wu
9c853c7121 vscode-extensions.WakaTime.vscode-wakatime: init at 1.2.3
(cherry picked from commit f7b05cafff)
2018-12-14 08:05:57 -05:00
Edmund Wu
7b6192b047 vscode-extensions.ms-vscode.cpptools: 0.19.0 -> 0.20.1
(cherry picked from commit 728d2a2ac7)
2018-12-14 08:05:26 -05:00
Edmund Wu
d31a5dae7a vscode-extensions.ms-python.python: 2018.9.1 -> 2018.10.1
(cherry picked from commit c4cb982772)
2018-12-14 08:05:15 -05:00
Edmund Wu
b02c1772de vscode-extensions.ms-vscode.cpptools: use mono 5 (#49489)
(cherry picked from commit f8ef8bf469)
2018-12-14 08:05:04 -05:00
Edmund Wu
eb3f66a987 vscode-extensions.ms-python.python: 2018.8.0 -> 2018.9.1 (#48849)
(cherry picked from commit a53a3bf1ee)
2018-12-14 08:01:16 -05:00
Edmund Wu
3fb0d35e96 vscode-extensions.ms-vscode.cpptools: 0.17.6 -> 0.19.0 (#47573)
(cherry picked from commit 4c95508641)
2018-12-14 08:01:07 -05:00
Edmund Wu
c58f8c000b vscode-extensions.ms-python.python: 2018.7.0 -> 2018.8.0 (#47572)
(cherry picked from commit 285800d537)
2018-12-14 08:00:54 -05:00
Moritz Ulrich
63e94feb23 vscode: 1.29.1 -> 1.30.0
(cherry picked from commit 38d4c09096)
2018-12-14 07:57:52 -05:00
Edmund Wu
8999332778 vscode,vscode-extensions: fix insiders build
(cherry picked from commit d41e868e02)
2018-12-14 07:57:39 -05:00
Patrick Hilhorst
eaa89f1f72 vscode: 1.29.0 -> 1.29.1 (#50462)
(cherry picked from commit 874b017564)
2018-12-14 07:56:43 -05:00
Edmund Wu
ca10a0e943 vscode: 1.28.2 -> 1.29.0
(cherry picked from commit a23e3b0505)
2018-12-14 07:55:25 -05:00
Joachim Fasting
7e88992a8c tor-browser-bundle-bin: 8.0.3 -> 8.0.4
(cherry picked from commit 1ba77eeb22)
2018-12-14 12:54:27 +01:00
Samuel Dionne-Riel
ea863cd334 Revert "pkgsStatic: Add warning saying this is a provisional backport"
This reverts commit 3c1049fbef.

This broke tarball on release-18.09

  * https://hydra.nixos.org/build/85858044/
  * https://hydra.nixos.org/build/85858044/nixlog/1
2018-12-13 22:34:58 -05:00
R. RyanTM
d6d3a1299f davfs2: 1.5.3 -> 1.5.4
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/davfs2/versions

(cherry picked from commit c5f7204aff)
2018-12-13 21:01:34 -05:00
John Ericson
340c0c4361 Merge pull request #51969 from vaibhavsagar/fix-static-lz4
lz4: Fix pkgsStatic build for 18.09
2018-12-13 18:28:01 -05:00
John Ericson
91865b213f Merge branch 'fix-portable-libsystem-for-18.09' into release-18.09 2018-12-13 17:49:46 -05:00
John Ericson
62c609930c Merge pull request #51957 from obsidiansystems/crossOverlays-for-18.09
pkgsStatic for 18.09
2018-12-13 17:31:42 -05:00
Elis Hirwing
7a37ddc0d8 nixos/lightdm: Fix spelling of option in docs
(cherry picked from commit 6fa51fe5cf)
2018-12-13 21:45:25 +00:00
Elis Hirwing
5c5607f9c2 nixos/sddm: Fix spelling of option in docs
(cherry picked from commit c974813b92)
2018-12-13 21:45:25 +00:00
Guillaume Bouchard
fbfe10f0a1 Fix english in stdenv.xml
(cherry picked from commit d5c931992d)
2018-12-13 21:34:10 +00:00
John Ericson
3c1049fbef pkgsStatic: Add warning saying this is a provisional backport 2018-12-13 19:17:55 +00:00
Tim Steinbach
5e425e22a7 linux: 4.19.8 -> 4.19.9
(cherry picked from commit 5a15ab7b5d)
2018-12-13 07:01:25 -05:00
Tim Steinbach
99315692f6 linux: 4.14.87 -> 4.14.88
(cherry picked from commit f335fa6d74)
2018-12-13 07:01:25 -05:00
Tim Steinbach
de113e0352 linux: 4.9.144 -> 4.9.145
(cherry picked from commit 1f92bdcd94)
2018-12-13 07:01:25 -05:00
Tim Steinbach
b01a9058cc linux: 4.4.166 -> 4.4.167
(cherry picked from commit adf8cdd67d)
2018-12-13 07:01:24 -05:00
Eelco Dolstra
25d0880528 Revert "resolvconf.conf: Remove forced NSCD service restart"
This reverts commit d8c16bc54a. It
breaks nscd invalidation when the network configuration changes.

(cherry picked from commit 09cbfea2ed)
2018-12-12 23:16:50 +00:00
Andreas Rammhold
d15b9bd990 firefox-esr-60: 60.3.0esr -> 60.4.0esr
See #51863.

(cherry picked from commit d16d0b3762)
2018-12-12 20:35:29 +01:00
Will Dietz
ea9cfed73b Merge #51365: nss: 3.40 -> 3.40.1 (security)
(cherry picked from commit fb137c1bcc)
This is a patch release to fix CVE-2018-12404.
2018-12-12 13:16:04 +01:00
Andreas Rammhold
3d606b06d1 firefox-bin: 63.0.3 -> 64.0
See #51863.

(cherry picked from commit 536d0cc3a7)
2018-12-12 11:10:00 +01:00
Vladimír Čunát
4f3446f299 nixos/nvidia: improve the assertion again
/cc 13938acd0 #51836.

(cherry picked from commit ad3e9191d1)
2018-12-12 00:35:21 +01:00
Andreas Rammhold
824b311961 rust-cbindgen_0_6_7: init at 0.6.7
after feedback from @veprbl in #51805 I added this as another package
which can be used for the 18.09 firefox builds.

(cherry picked from commit f1ee26bc4b)
2018-12-11 17:24:52 -05:00
Jörg Thalheim
da88e93f95 dropbox: fix evaluation
fixes #51883
2018-12-11 21:36:13 +00:00
Graham Christensen
99875d5cca Revert "modules: add mxisd with test"
Wasn't the commit which was in master, and this version
did not work due to evaluation errors on a missing option.

This reverts commit d9758833c5.
2018-12-11 16:34:55 -05:00
Vladimír Čunát
13938acd03 Merge #51836: nixos/nvidia: fix inverted assertion
(cherry picked from commit ac19d5e34f)
2018-12-11 21:42:35 +01:00
Izorkin
6e0efb350d php72: 7.2.12 -> 7.2.13
(cherry picked from commit f80e7df143)
2018-12-11 20:39:33 +01:00
Izorkin
043a2be17e php71: 7.1.24 -> 7.1.25
(cherry picked from commit 374be65924)
2018-12-11 20:39:27 +01:00
Maximilian Güntner
d9758833c5 modules: add mxisd with test
(cherry picked from commit 44bb1c30b4ecfbe60bac1205a7f2af2e1323f2df)
2018-12-11 20:39:14 +01:00
Maximilian Güntner
5f75865e49 mxisd: init at 1.2.0
(cherry picked from commit e40eb38dd4)
2018-12-11 20:39:13 +01:00
Vladimír Čunát
ffc28dd05c Merge branch 'release-18.09' into staging-18.09 2018-12-11 15:01:05 +01:00
Alyssa Ross
f55c7cfa94 Merge pull request #51835 from alyssais/geckodriver-backport
Backport "geckodriver: unstable-2018-02-24 -> 0.22.0" to 18.09
2018-12-11 12:05:20 +00:00
Markus Hauck
1d83bd047b dropbox: add mesa, libxshmfence and libpthreadstubs 2018-12-11 11:55:16 +00:00
Sarah Brofeldt
87ee6c4fe4 Merge pull request #51856 from samueldr/auto/dbeaver/nixos-18.09/5.3.0
dbeaver: 5.2.5 -> 5.3.0 (18.09)
2018-12-11 12:49:17 +01:00
Jappie Klooster
32d7eb3c0a doc: Fix insecure nginx docs (#51840)
(cherry picked from commit e576c3b385)
2018-12-11 11:03:42 +00:00
Samuel Dionne-Riel
30e538bd47 dbeaver: 5.2.5 -> 5.3.0
(cherry picked from commit 1c3079fce3)
2018-12-10 17:48:58 -05:00
Renaud
b144dfa3b2 Merge pull request #51828 from andir/18.09/steam
[18.09] steam: ran update-runtime.py
2018-12-10 22:29:04 +01:00
Robert Schütz
7b7d14045c python.pkgs.pylint: disable broken test
fixes https://github.com/NixOS/nixpkgs/issues/51394
2018-12-10 17:23:09 +01:00
Raphael Borun Das Gupta
03c552a37b geckodriver: unstable-2018-02-24 -> 0.22.0
Motivation: unstable-2018-02-24 (which reports to be
0.19.1, but probably doesn't correspond to any actual
geckodriver release) isn't compatible with the currently
shipped Firefox version 63.0

closes NixOS/nixpkgs#50380
2018-12-10 16:01:33 +00:00
Cole Mickens
4921bf4698 google-chrome-dev: add at-spi2-core dependency
(cherry picked from commit 45fd44c66d)
2018-12-10 15:19:21 +01:00
Renaud
dc7548237b Merge pull request #51826 from markuskowa/fix-gnss-sdr-18.09
[18.09] gnss-sdr: turn off unit tests explicitly
2018-12-10 14:59:40 +01:00
Andreas Rammhold
a67d27eacd steam: ran update-runtime.py
(cherry picked from commit 1de88c36cc)
2018-12-10 13:50:37 +01:00
Markus Kowalewski
67de9c4617 gnss-sdr: turn off unit tests explicitly
(cherry picked from commit 0528001141)
2018-12-10 13:42:22 +01:00
Vladimír Čunát
4b374061a6 nixos tests: disable kafka for now
They consistently fail since openjdk bump with some out-of-space errors.
That's not a problem by itself, but each test instance ties a build slot
for many hours and consequently they also delay channels as those wait
for all builds to finish.

Feel free to re-enable when fixed, of course.

(cherry picked from commit 3946d83a3c)
2018-12-10 13:25:49 +01:00
Florian Klink
6a7b2a4aa5 Merge pull request #51799 from flokli/18.09-ghostscript-9.26
ghostscript: 9.25 -> 9.26
2018-12-09 23:02:26 +01:00
Tor Hedin Brønner
2549e2e977 ghostscript: 9.25 -> 9.26
(cherry picked from commit 0ed7d3c62a)
2018-12-09 22:29:05 +01:00
Andreas Rammhold
1a5d5a570b Merge pull request #51795 from andir/18.09/smartmontools
[18.09] smartmontools: drivedb 4548 -> 4852
2018-12-09 21:53:31 +01:00
Andreas Rammhold
510946b241 smartmontools: drivedb 4548 -> 4852 2018-12-09 21:39:13 +01:00
Simon Lackerbauer
b352d47e42 nextcloud: 14.0.3 -> 14.0.4
(cherry picked from commit ee1613aea6)
2018-12-09 18:02:00 +01:00
Vladimír Čunát
99e3efe7ff Merge staging-18.09 into release-18.09
It's older version of the branch that's almost finished on Hydra.
2018-12-09 17:47:29 +01:00
Herwig Hochleitner
d56ec49ae4 llvm-7: init in release-18.09 (#51771)
chromium builds best with llvm 7 and instead of taking the hit of
hunting for gcc patches until release-18.09 is phased out, we just
backport it

see https://github.com/NixOS/nixpkgs/issues/51602

cc @dtzWill could you have a look at any commits, i might have missed?

this merged branch was built as follows:

```
± git merge-base release-18.09 master
2a1c0dde8f

± git checkout -b release-18.09-llvm-7 2a1c0dde8f
Switched to a new branch 'release-18.09-llvm-7'

± git cherry-pick -x $(git log master --format=oneline -- pkgs/development/compilers/llvm/7 | cut -f1 -d' ' | tac )
[release-18.09-llvm-7 0120cd8826f] llvm7: init at 7.0.0rc3
 Author: Will Dietz <w@wdtz.org>
 Date: Tue Sep 18 14:19:58 2018 -0500
 15 files changed, 1260 insertions(+)
 create mode 100644 pkgs/development/compilers/llvm/7/clang/default.nix
 create mode 100644 pkgs/development/compilers/llvm/7/clang/purity.patch
 create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
 create mode 100644 pkgs/development/compilers/llvm/7/compiler-rt.nix
 create mode 100644 pkgs/development/compilers/llvm/7/default.nix
 create mode 100644 pkgs/development/compilers/llvm/7/libc++/default.nix
 create mode 100644 pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
 create mode 100644 pkgs/development/compilers/llvm/7/libc++abi.nix
 create mode 100644 pkgs/development/compilers/llvm/7/lld.nix
 create mode 100644 pkgs/development/compilers/llvm/7/lldb.nix
 create mode 100644 pkgs/development/compilers/llvm/7/llvm-outputs.patch
 create mode 100644 pkgs/development/compilers/llvm/7/llvm.nix
 create mode 100644 pkgs/development/compilers/llvm/7/openmp.nix
 create mode 100644 pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
[release-18.09-llvm-7 efc3c480d86] llvm7: patch test shebang (otherwise test fails)
 Author: Will Dietz <w@wdtz.org>
 Date: Tue Sep 18 14:35:21 2018 -0500
 1 file changed, 2 insertions(+)
[release-18.09-llvm-7 30d468d7f47] llvm-manpages: fix build by removing references to $lib output
 Author: Will Dietz <w@wdtz.org>
 Date: Tue Sep 18 14:45:39 2018 -0500
 1 file changed, 3 insertions(+)
[release-18.09-llvm-7 64b459e5ae3] comment
 Author: Will Dietz <w@wdtz.org>
 Date: Tue Sep 18 14:52:17 2018 -0500
 1 file changed, 1 insertion(+), 1 deletion(-)
[release-18.09-llvm-7 ad2705efb6e] compiler-rt: quickfix codesign patch by dropping hunks 'already applied'
 Author: Will Dietz <w@wdtz.org>
 Date: Tue Sep 18 15:00:39 2018 -0500
 1 file changed, 33 insertions(+), 155 deletions(-)
 rewrite pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch (78%)
[release-18.09-llvm-7 f51bf899719] llvm7: use final release tarballs now that they're available
 Author: Will Dietz <w@wdtz.org>
 Date: Wed Sep 19 07:43:33 2018 -0500
 1 file changed, 2 insertions(+), 2 deletions(-)
[release-18.09-llvm-7 93244a2dc24] llvm7: update hashes, they did change after all.
 Author: Will Dietz <w@wdtz.org>
 Date: Wed Sep 19 08:00:23 2018 -0500
 9 files changed, 9 insertions(+), 10 deletions(-)
[release-18.09-llvm-7 1e9d9d2e4ff] llvm*: http -> https, prefer releases.llvm.org
 Author: Will Dietz <w@wdtz.org>
 Date: Wed Sep 19 08:02:21 2018 -0500
 7 files changed, 7 insertions(+), 7 deletions(-)
[release-18.09-llvm-7 f5e526ba11a] libc++7: prefer 'optional' as suggested by comment
 Author: Will Dietz <w@wdtz.org>
 Date: Wed Sep 19 08:36:40 2018 -0500
 1 file changed, 1 insertion(+), 5 deletions(-)
[release-18.09-llvm-7 f254fb70666] llvm7: only use 1 number in version suffix, upstream changed
 Author: Will Dietz <w@wdtz.org>
 Date: Thu Sep 20 19:42:44 2018 -0500
 1 file changed, 1 insertion(+), 1 deletion(-)
[release-18.09-llvm-7 fa6fed6230d] llvm7: optionally use libpfm (exegesis), default off w/darwin
 Author: Will Dietz <w@wdtz.org>
 Date: Thu Sep 20 19:53:59 2018 -0500
 1 file changed, 4 insertions(+), 1 deletion(-)
[release-18.09-llvm-7 21959244dc4] llvm7: update musl patch for sanitizers
 Author: Will Dietz <w@wdtz.org>
 Date: Mon Sep 24 10:43:07 2018 -0500
 1 file changed, 75 insertions(+), 76 deletions(-)
```
2018-12-09 15:06:31 +01:00
Vladimír Čunát
ee3de676a6 Merge #51451: perl security updates (into staging-18.09) 2018-12-09 14:28:58 +01:00
Vladimír Čunát
1970a4cd13 fbreader: fixup build with curl-7.62
This was easy to patch; submitted upstream.

(cherry picked from commit 17acf57f9d)
2018-12-09 10:29:59 +01:00
Will Dietz
b324990b20 llvm7: update musl patch for sanitizers
(cherry picked from commit 5b2de5126d)
2018-12-09 05:27:03 +01:00
Will Dietz
9932296ed8 llvm7: optionally use libpfm (exegesis), default off w/darwin
(cherry picked from commit 9fe245d7e0)
2018-12-09 05:27:03 +01:00
Will Dietz
ffa9366411 llvm7: only use 1 number in version suffix, upstream changed
See llvm 2a6cf85828509e89e18739e5f4b9a958820d66d4

(cherry picked from commit b3645d74d1)
2018-12-09 05:27:03 +01:00
Will Dietz
ddccbf531d libc++7: prefer 'optional' as suggested by comment
(cherry picked from commit e3030a2908)
2018-12-09 05:27:03 +01:00
Will Dietz
df92d262a8 llvm*: http -> https, prefer releases.llvm.org
(cherry picked from commit 167e799d81)
2018-12-09 05:27:03 +01:00
Will Dietz
3683dade86 llvm7: update hashes, they did change after all.
Pretty sure they did last time too :).

(cherry picked from commit 0920652c5c)
2018-12-09 05:27:03 +01:00
Will Dietz
253a584046 llvm7: use final release tarballs now that they're available
(cherry picked from commit fca31e1a68)
2018-12-09 05:27:02 +01:00
Will Dietz
b2e5f6581a compiler-rt: quickfix codesign patch by dropping hunks 'already applied'
Quite possibly this is not right.

(cherry picked from commit 621fd23cb5)
2018-12-09 05:27:02 +01:00
Will Dietz
3d95f8a221 comment
(cherry picked from commit ba701ef329)
2018-12-09 05:27:02 +01:00
Will Dietz
a379d9a656 llvm-manpages: fix build by removing references to $lib output
(cherry picked from commit 38699890d6)
2018-12-09 05:27:02 +01:00
Will Dietz
c0bc50f825 llvm7: patch test shebang (otherwise test fails)
(cherry picked from commit b7692f5be5)
2018-12-09 05:27:02 +01:00
Will Dietz
5b5381f0c1 llvm7: init at 7.0.0rc3
Copy of 6 + updated hashes

(cherry picked from commit bb110d80fc)
2018-12-09 05:27:02 +01:00
Herwig Hochleitner
1a4498d132 chromium: 70.0.3538.110 -> 71.0.3578.80
CVE-2018-17480 CVE-2018-17481 CVE-2018-18335 CVE-2018-18336
CVE-2018-18337 CVE-2018-18338 CVE-2018-18339 CVE-2018-18340
CVE-2018-18341 CVE-2018-18342 CVE-2018-18343 CVE-2018-18344
CVE-2018-18345 CVE-2018-18346 CVE-2018-18347 CVE-2018-18348
CVE-2018-18349 CVE-2018-18350 CVE-2018-18351 CVE-2018-18352
CVE-2018-18353 CVE-2018-18354 CVE-2018-18355 CVE-2018-18356
CVE-2018-18357 CVE-2018-18358 CVE-2018-18359

see https://github.com/NixOS/nixpkgs/issues/51602

(cherry picked from commit 8942a3e00c)

chromium: update conditionals and gcc patches for min version 71

(cherry picked from commit ccb93eb6b0)
2018-12-09 04:52:36 +01:00
Vladimír Čunát
2e7699531a Merge #51688: nettle: 3.4 -> 3.4.1 (security)
(cherry picked from commit b9d22d3fe8)
2018-12-08 23:38:20 +01:00
Renaud
f1a942b441 Merge pull request #51675 from c0bw3b/sec/1809/polkit
[18.09] polkit: add patch for CVE-2018-19788
2018-12-08 23:20:17 +01:00
Renaud
f006e8448b Merge pull request #51243 from vaibhavsagar/update-developPackage
Update developPackage
2018-12-08 18:15:44 +01:00
Tim Steinbach
b4360cadfd linux: 4.19.7 -> 4.19.8
(cherry picked from commit 6de9095a12f9ec834933217840ba3df716738a77)
2018-12-08 10:26:34 -05:00
Tim Steinbach
8e67eb47d3 linux: 4.14.86 -> 4.14.87
(cherry picked from commit 5fa8435719a1ad5b7ac8f57ce3c6e47cebafbdeb)
2018-12-08 10:26:33 -05:00
Tim Steinbach
04b8900a51 linux: 4.9.143 -> 4.9.144
(cherry picked from commit 1567d09a49613f1bc21d6d5905fe339a26d82ed0)
2018-12-08 10:26:32 -05:00
Renaud
695391fd84 Merge pull request #51734 from c0bw3b/sec/1809/sssd
[18.09] sssd: 1.16.2 -> 1.16.3
2018-12-08 16:05:55 +01:00
Will Dietz
0ec2084017 sssd: 1.16.2 -> 1.16.3 (security!)
https://docs.pagure.org/SSSD.sssd/users/relnotes/notes_1_16_3.html
(cherry picked from commit 01fab8778f)
2018-12-08 15:47:03 +01:00
Renaud
e9a2c5328f nixos/systemd-nspawn: accept all Exec and Files options
See: https://www.freedesktop.org/software/systemd/man/systemd.nspawn.html
Closes #49712
2018-12-08 14:43:51 +01:00
Florian Klink
7538184722 Merge pull request #51711 from worldofpeace/vivaldi/18.09-backport
backport vivaldi updates from unstable
2018-12-08 13:30:25 +01:00
Periklis Tsirakidis
b3aff3a040 openjpeg: fix for CVE-2018-18088
(cherry picked from commit a4700aa526)
2018-12-08 21:01:57 +09:00
worldofpeace
dfe1c9670b vivaldi: correct hash
Fixes #51635

(cherry picked from commit 5256cfd006)
2018-12-07 21:54:26 -05:00
José Romildo Malaquias
eac3842765 vivaldi: 2.1.1337.47-1 -> 2.1.1337.51-1
(cherry picked from commit 94c342348b)
2018-12-07 21:52:30 -05:00
José Romildo Malaquias
1ca86b41c4 vivaldi: 2.1.1337.36-1 -> 2.1.1337.47-1
(cherry picked from commit b14d1167c9)
2018-12-07 21:52:16 -05:00
José Romildo Malaquias
9a5586dbf0 vivaldi: 2.0.1309.29-2 -> 2.1.1337.36-1
(cherry picked from commit 3cd8c2240b)
2018-12-07 21:52:04 -05:00
Patrick Hilhorst
f15255aead vivaldi: 1.15.1147.64-1 -> 2.0.1309.29-2
(cherry picked from commit 71eb7adfb2)
2018-12-07 21:51:51 -05:00
Lukas Werling
12bd585969 vivaldi: 1.15.1147.42-1 -> 1.15.1147.64-1
(cherry picked from commit eb275c96f2)
2018-12-07 21:51:19 -05:00
José Romildo Malaquias
3e69d11580 vivaldi-ffmpeg-codecs: 69.0.3497.73 -> 70.0.3538.77
(cherry picked from commit 34964d6f3b)
2018-12-07 21:48:00 -05:00
Lukas Werling
d078ba9b5d vivaldi-ffmpeg-codecs: 61.0.3163.91 -> 69.0.3497.73
(cherry picked from commit 478e1fe369)
2018-12-07 21:47:56 -05:00
c0bw3b
c1e49a34a4 polkit: add patch for CVE-2018-19788
unprivileged users with UID > INT_MAX can successfully execute any systemctl command
Original issue: https://gitlab.freedesktop.org/polkit/polkit/issues/74

(cherry picked from commit a14af16cfc)
2018-12-07 19:45:11 +01:00
Will Dietz
135a7f9604 tor: 0.3.4.8 -> 0.3.4.9
https://gitweb.torproject.org/tor.git/plain/ChangeLog?h=tor-0.3.4.9

Please confirm the sha256 is correct for a verified tarball,
I'm not setup (or know how offhand but docs look promising)
to do this myself.

(cherry picked from commit c78761b5bd)
2018-12-07 13:15:16 +01:00
taku0
4b4c24c341 flashplayer: 31.0.0.153 -> 32.0.0.101
(cherry picked from commit f7a266d44a)
Backport of #51623
2018-12-07 12:14:39 +01:00
Jörg Thalheim
59ae1fd285 nix-review: 0.6.1 -> 1.0.1
- use nix build instead of nix-build
- writes per-build log in the current working directory
- symlinks the builds in the current working directory
- detects & deduplicates build aliases
- markdown reports
- filter builds by regex
- generate nix expression files that can be build by the user

(cherry picked from commit 53f1ffa4d3)
2018-12-07 11:12:57 +00:00
Samuel Dionne-Riel
7795a7ad5f sd-image: Slims the ext4 filesystem even more.
This is to try and squeeze more lost space from the image, so that hydra
starts building it again.

The fsck previous to the resize2fs is required so resize2fs works.

The one afterwards is a sanity check.

Using `-M` from resize2fs will not give much saved space due to a known
(in the manual) issue.

```
[samueldr@aarch64:~/nixpkgs]$ ls -lh result-*/*/*.img
-r--r--r-- 1 root root 2.2G Jan  1  1970 result-original/sd-image/nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img
-r--r--r-- 1 root root 2.1G Jan  1  1970 result-M/sd-image/nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img
-r--r--r-- 1 root root 1.9G Jan  1  1970 result-slimmed/sd-image/nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img
```

```
[samueldr@aarch64:~/nixpkgs]$ nix path-info -S ./result-original
/nix/store/c8k9n78gylx293rjh762fr05a069kxp2-nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img   3844125000

[samueldr@aarch64:~/nixpkgs]$ nix path-info -S ./result-slimmed
/nix/store/962238skj5mnzhrsmjy23dyzmxk77sp4-nixos-sd-image-18.09.git.a7fd431-aarch64-linux.img   3447473208
```

(cherry picked from commit 61bdaad9a9)
2018-12-06 18:35:59 -05:00
Anatolii Prylutskyi
a7924afc9f rambox: 0.6.2 -> 0.6.3
(cherry picked from commit 7ff4f5be26)
2018-12-06 10:55:43 +00:00
Jörg Thalheim
29eb612952 rambox: 0.6.1 -> 0.6.2
(cherry picked from commit fb7abdaea1)
2018-12-06 10:55:43 +00:00
Renaud
d54a4accc7 Merge pull request #51591 from c0bw3b/data/1809/tzdata
[18.09] tzdata: 2018e -> 2018g
2018-12-05 23:43:11 +01:00
Tim Steinbach
2dc559868c linux: 4.19.6 -> 4.19.7
(cherry picked from commit 808d52ee05)
2018-12-05 17:36:38 -05:00
Tim Steinbach
df3e859d10 linux: 4.14.85 -> 4.14.86
(cherry picked from commit e945771e4c)
2018-12-05 17:36:37 -05:00
Tim Steinbach
dd9018dfdc linux: 4.9.142 -> 4.9.143
(cherry picked from commit 1f7266cbbb)
2018-12-05 17:36:37 -05:00
Franz Pletz
b57b9b7a49 tzdata: 2018e -> 2018g
Notable changes:
  - Morocco switched to permanent +01 on 2018-10-27
  - Volgograd moved from +03 to +04 on 2018-10-28
  - Fiji ends DST 2019-01-13, not 2019-01-20
  - Most of Chile changes DST dates, effective 2019-04-06

tzdata: fetch over https
(cherry picked from commit 7c25174154)
2018-12-05 22:29:57 +01:00
Renaud
261bf90fb9 Merge pull request #51181 from guaraqe/ncurses
ncurses: upgrade from 6.1 -> 6.1-20181027
2018-12-05 12:18:38 +01:00
Trolli Schmittlauch
dd039326f0 dino: 2018-11-27 -> 2018-11-29 (#51557)
(cherry picked from commit 99231a36bb)
2018-12-05 11:16:02 +00:00
Jörg Thalheim
30ab8686bf dino: enable parallel building
(cherry picked from commit a995836356)
2018-12-05 11:15:55 +00:00
Jörg Thalheim
3faf28ae41 dino: 2018-09-21 -> 2018-11-27
(cherry picked from commit 3b44ccd991)
2018-12-05 11:15:49 +00:00
Jörg Thalheim
22f639d78d dino: 2018-09-05 -> 2018-09-21
(cherry picked from commit 3dec3de2d3)
2018-12-05 11:15:43 +00:00
Jörg Thalheim
0c4650db8f dino: 2018-07-08 -> 2018-09-05
(cherry picked from commit de825a4eaa)
2018-12-05 11:15:34 +00:00
Pierre Bourdon
b260b7c2af prometheus/exporters: fix regression in DynamicUser behavior
Instead of setting User/Group only when DynamicUser is disabled, the
previous version of the code set it only when it was enabled. This
caused services with DynamicUser enabled to actually run as nobody, and
services without DynamicUser enabled to run as root.

Regression from fbb7e0c82f.

(cherry picked from commit 3873f43fc3)
2018-12-05 11:40:32 +01:00
Florian Klink
40e7d55262 pkgsi686Linux.nixosTests.gitlab: fix 32 bit tests
GitLab 11.5.1 dropped the dependency to posix_spawn, which is broken on
32bit. (See https://gitlab.com/gitlab-org/gitlab-ce/issues/53525)

The only part missing is decreasing virtualisation.memorySize to
something that a 32 bit qemu still executes.

The maximum seems to be 2047, and tests passed with that value for me.

(cherry picked from commit 5c82aa8854)
2018-12-05 10:47:55 +01:00
Andrew Dunham
0b2757de07 ncurses: upgrade from 6.1 -> 6.1-20181027
This includes fixes for CVE-2018-10754.

While we're changing things, also set the `--with-manpage-format=normal`
configure flag, which prevents the `configure` script from looking in
/usr to determine whether to compress manpages. This was already the
format on NixOS (where these directories don't exist), but making this
explicit makes the build more reproducible on other distros.

(cherry picked from commit f485b2e71f)
2018-12-05 10:25:27 +01:00
Robin Gloster
7b3336baf3 gitlab-shell: fix hard-coded path
(cherry picked from commit c2b54dcee5)
2018-12-05 10:16:55 +01:00
Robin Gloster
b9ba657642 gitlab: 11.5.0 -> 11.5.1
(cherry picked from commit 88b63b2505)
2018-12-05 10:16:53 +01:00
Samuel Dionne-Riel
d25517ab51 Merge pull request #51511 from hedning/nix-completions-bump
[18.09] backport nix-{zsh,bash}-completions
2018-12-05 04:22:12 +00:00
Samuel Dionne-Riel
885811d932 Merge pull request #51486 from johanot/kubernetes-1.11.5
kubernetes: 1.11.4 -> 1.11.5
2018-12-05 04:20:07 +00:00
John Ericson
3fd87ad007 Merge pull request #51286 from obsidiansystems/bump-android-sdk-backport
Bump android sdk backport in 18.09
2018-12-04 15:11:58 -05:00
Renaud
aae21170ee Merge pull request #51395 from c0bw3b/sec/1809/postfix
[18.09]  postfix: 3.3.1 -> 3.3.2
2018-12-04 20:57:46 +01:00
c0bw3b
29f01a82f9 postfix: 3.3.1 -> 3.3.2
Changelog:
http://www.postfix.org/announcements/postfix-3.3.2.html
2018-12-04 20:37:32 +01:00
Tor Hedin Brønner
bf19f01b6d nix-zsh-completions: 0.4.1 -> 0.4.2
(cherry picked from commit 5bc0270211)
2018-12-04 16:53:16 +01:00
Maximilian Bosch
1d027e2fdd nix-zsh-completions: 0.4.0 -> 0.4.1
Contains several bugfixes that improve the ZSH completion for nix*
commands.

For further reference: https://github.com/spwhitt/nix-zsh-completions/releases/tag/0.4.1

(cherry picked from commit e446261e51)
2018-12-04 16:53:04 +01:00
Tor Hedin Brønner
36e8c6b71f nix-bash-completions: 0.6.6 -> 0.6.7
(cherry picked from commit ad8f5ca2bb)
2018-12-04 16:52:06 +01:00
Timo Kaufmann
8992f529d7 python.pkgs.pygraphviz: add graphviz path (#51502)
(cherry picked from commit 21de751e74)
2018-12-04 12:32:13 +01:00
Mario Rodas
cc0831b0e2 docs: Remove nix-repl references
nix-repl has been deprecated
2018-12-04 10:53:38 +00:00
Alexey Lebedeff
27b3ca8e46 nvidia_legacy_340: Remove unneeded/failing patch
The patch is not applying and no longer needed after upgrade in
045575e744. Now the same result is
achieved by the following lines in the driver package itself:

    #if defined(NV_DRM_LEGACY_PCI_INIT_PRESENT)
    #define nv_drm_pci_init drm_legacy_pci_init
    #define nv_drm_pci_exit drm_legacy_pci_exit
    #else
    #define nv_drm_pci_init drm_pci_init
    #define nv_drm_pci_exit drm_pci_exit
    #endif
2018-12-04 10:43:50 +00:00
Renaud
7ebed57d7b Merge pull request #51491 from flokli/18.09-zoom-us-2.5.146186.1130
[18.09] zoom-us: 2.4.129780.0915 -> 2.5.146186.1130 (CVE-2018-15715)
2018-12-04 08:25:12 +01:00
Florian Klink
8b52f7db8d zoom-us: 2.4.129780.0915 -> 2.5.146186.1130
fixes [CVE-2018-15715](https://nvd.nist.gov/vuln/detail/CVE-2018-15715)

(cherry picked from commit c4177f4e5b)
2018-12-04 02:14:20 +01:00
R. RyanTM
8c853e6682 elfutils: 0.174 -> 0.175
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/elfutils/versions

Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521.

CC #51458

(cherry picked from commit 5beb37d258)
2018-12-04 00:54:38 +01:00
R. RyanTM
5ce279105f elfutils: 0.173 -> 0.174
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/elfutils/versions

Fixes CVE-2018-16062, CVE-2018-16402 and CVE-2018-16403.

(cherry picked from commit f52e50c60f)
2018-12-04 00:54:12 +01:00
Robin Gloster
3e238c552d strongswan: fix patch's CVE number
The patch above this one is the one fixing the previous CVEs.

fixes #51461
2018-12-04 00:25:34 +01:00
Renaud
b09e113035 Merge pull request #51479 from c0bw3b/sec/1809/udisks
[18.09] udisks: 2.8.0 -> 2.8.1
2018-12-04 00:15:05 +01:00
Johan Thomsen
27a7e1f6f5 kubernetes: 1.11.4 -> 1.11.5 2018-12-03 23:40:13 +01:00
Will Dietz
4bb9ffd1c4 udisks: 2.8.0 -> 2.8.1
https://github.com/storaged-project/udisks/blob/udisks-2.8.1/NEWS
(cherry picked from commit 9a74fd0b0f)
2018-12-03 23:18:17 +01:00
Domen Kožar
9bdbd595db chrome-token-signing: fix path to opensc-pkcs11
(cherry picked from commit 4cf1d88d12)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-12-03 17:19:01 +00:00
Bjørn Forsman
d45a0d7a4f jpeginfo: init at 1.6.1
jpeginfo prints information and tests integrity of JPEG/JFIF files.

(cherry picked from commit 84a2463499)
2018-12-03 17:09:54 +01:00
Vladimír Čunát
395a526fc6 Merge branch 'release-18.09' into staging-18.09
I mainly want the kernel updates, to avoid useless builds.
2018-12-03 15:47:08 +01:00
volth
62141daa1f perl: 5.28.0 -> 5.28.1, 5.26.2 -> 5.26.3 2018-12-03 13:53:50 +00:00
Pierre Bourdon
b7162eb5c4 nixos.tests.keymap: use new name of the colemak/en-latin9 keymap
Commit df6d40feb6 renamed colemak/en-latin9 to
colemak/colemak, but the keymap test wasn't adjusted to refer to the new path.

(cherry picked from commit 74598ca8d3)
2018-12-03 13:09:08 +01:00
Vladimír Čunát
4f5651d4ed Merge #50963: nss, libpng & sqlite backports (staging-18.09)
Planned date of FF 64 is in about a week.
2018-12-03 11:36:50 +01:00
Vladimír Čunát
c395d62507 Merge branch 'staging-18.09' into release-18.09
On x86_64-linux this looks good, only R fails tests on Hydra,
but I've been unable to reproduce that failure locally,
so let me not delay the CVE fixes.
2018-12-03 11:05:15 +01:00
Jörg Thalheim
b7c795d588 Merge pull request #51407 from M-Gregoire/fix/networkmanagerservice
Fix NetworkManager-wait-online.service
2018-12-03 08:55:05 +00:00
Austin Seipp
173852b936 nixos/chrony: fix misplaced ConditionCapability= directive
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 4594b18070)
2018-12-02 20:33:30 -06:00
R. RyanTM
58f61cfcdd kdeconnect: 1.3.1 -> 1.3.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/kdeconnect/versions

(cherry picked from commit efbc6f4648)
This version is needed to use the Android companion application.
Fixes #51396
2018-12-02 20:19:38 -05:00
Jörg Thalheim
6c6aef86be Merge pull request #51361 from davidak/fix-mumble
Backport mumble fix
2018-12-02 22:44:51 +00:00
worldofpeace
205bbc3365 kbfs: 2.6.0 -> 2.10.1
(cherry picked from commit b49ed49c68)
2018-12-02 12:01:43 -08:00
Jon Banafato
0cad7d413a kbfs: 2.5.0 -> 2.6.0
(cherry picked from commit 254c5a0100)
2018-12-02 12:01:43 -08:00
worldofpeace
5abdefdf38 keybase: 2.7.3 -> 2.10.1
(cherry picked from commit 3fdbd985d9)
2018-12-02 12:01:43 -08:00
Daiderd Jordan
80c749e29c keybase: add cf-private on darwin
Undefined symbols for architecture x86_64:
      "_OBJC_CLASS_$_NSData", referenced from:
          objc-class-ref in _x002.o
      "_OBJC_CLASS_$_NSDictionary", referenced from:
          objc-class-ref in _x002.o
      "_OBJC_CLASS_$_NSURL", referenced from:
          objc-class-ref in _x002.o
    ld: symbol(s) not found for architecture x86_64

(cherry picked from commit be9fc0d669)
2018-12-02 12:01:43 -08:00
Jon Banafato
9d3b4dd757 keybase: 2.5.0 -> 2.7.3
(cherry picked from commit 468d41db46)
2018-12-02 12:01:43 -08:00
worldofpeace
930c69803b keybase-gui: 2.7.0 -> 2.11.0
- Use `autoPatchelfHook`
- Don't explicitly set phases - Part of #28910
- Correct `version` by hoisting out the suffix

(cherry picked from commit 02e9d06e5e)
2018-12-02 12:01:43 -08:00
Jon Banafato
0980c9385d keybase-gui: 2.5.0 -> 2.7.0
(cherry picked from commit 68ad1f8774)
2018-12-02 12:01:43 -08:00
MGregoire
022eb6afaf Fix NetworkManager-wait-online.service 2018-12-02 20:34:33 +01:00
Vladimír Čunát
e1aacc81b7 Merge #51390: thunderbird(-bin): 60.3.0 -> 60.3.2 2018-12-02 18:32:34 +01:00
Jörg Thalheim
e8dd26fc30 Revert "nixos/luksroot: Check whether the device already exists"
This reverts commit 14b0a4f1ad.

Apparently this can break peoples setup: https://github.com/NixOS/nixpkgs/pull/50281#issuecomment-443516289
2018-12-02 17:08:36 +00:00
Jörg Thalheim
4c22ad7bf7 Merge pull request #51354 from dasJ/luks-checkexist-backport
nixos/luksroot: Backport #50281
2018-12-02 16:51:04 +00:00
Bas van Dijk
24ff4d87bc elasticsearch: make sure to patchelf the x-pack-ml binaries
(cherry picked from commit b560dd9047)
2018-12-02 15:57:57 +01:00
Bas van Dijk
35b40f4f7a elk: 6.3.2 -> 6.5.1
(cherry picked from commit fbf0efc6a7)
2018-12-02 15:34:36 +01:00
Vladimír Čunát
fd3e3c727f Merge #51378: linuxPackages.nvidia_x11_legacy304: broken on 4.18+
(cherry picked from commit 70f507ae56)
2018-12-02 14:33:40 +01:00
Janne Heß
14b0a4f1ad nixos/luksroot: Check whether the device already exists
The new reuse behaviour is cool and really useful but it breaks one of
my use cases. When using kexec, I have a script which will unlock the
disks in my initrd. However, do_open_passphrase will fail if the disk is
already unlocked.

(cherry picked from commit 9cd4ce98bf)
Reason: The new behaviour breaks my existing setup and I'd like to have
it fixed before March.
2018-12-02 14:05:48 +01:00
taku0
416eb4bc1c thunderbird: 60.3.0 -> 60.3.2
(cherry picked from commit 61c83b3975)
2018-12-02 13:59:52 +01:00
taku0
b8ae370815 thunderbird-bin: 60.3.0 -> 60.3.2
(cherry picked from commit d37976c508)
2018-12-02 13:59:45 +01:00
taku0
373bf6abcd thunderbird: 60.3.0 -> 60.3.1
(cherry picked from commit 1e8694d3d7)
2018-12-02 13:59:22 +01:00
taku0
83ed12481a thunderbird-bin: 60.3.0 -> 60.3.1
(cherry picked from commit 52fc63e37b)
2018-12-02 13:59:18 +01:00
Jörg Thalheim
49be1fad9b networkmanager-applet: set default icon theme 2018-12-02 11:50:33 +00:00
Silvan Mosberger
b3e718378d Merge pull request #51374 from Infinisil/backport/fix/minecraft
[18.09] minecraft: Fix versions <1.13
2018-12-02 08:20:48 +01:00
Silvan Mosberger
8fc7a2d975 minecraft: Fix versions <1.13
(cherry picked from commit 0d2355d7e3)
2018-12-02 07:56:07 +01:00
Andrew Childs
65b2552a46 mumble: fix hang on reconfiguring audio
(cherry picked from commit 773c8807c9)

Reason: Backport fix to 18.09
2018-12-02 06:37:26 +01:00
Tim Steinbach
d004311ba3 kernel: 4.19.5 -> 4.19.6
(cherry picked from commit 0bc0a6ed25ce840d15c924cde841ed243c06237e)
2018-12-01 11:22:25 -05:00
Tim Steinbach
aaeedad66f kernel: 4.14.84 -> 4.14.85
(cherry picked from commit c29204b85278648279a6ed78db0dc4e4a85d4cfe)
2018-12-01 11:22:24 -05:00
Tim Steinbach
c1bca408c3 kernel: 4.9.141 -> 4.9.142
(cherry picked from commit 4440f74ae57fd83f875f2f340eeed95c015a1b45)
2018-12-01 11:22:23 -05:00
Tim Steinbach
8597515996 kernel: 4.4.165 -> 4.4.166
(cherry picked from commit 2a533a71e36a41bfdde0e4dd880604a7141a985e)
2018-12-01 11:22:23 -05:00
Tim Steinbach
b69279c5f3 sbt: 1.2.6 -> 1.2.7
(cherry picked from commit 9ee9387b472a71e5250f1b131ce3b1a7bdc9c763)
2018-12-01 11:22:22 -05:00
Léo Gaspard
b47741cdd8 Merge branch 'pr-51299' into release-18.09
* pr-51299:
  nixos/urxvtd: remove socket activation
2018-12-01 16:02:32 +09:00
Samuel Dionne-Riel
2e19ed4e83 Merge pull request #51273 from herrwiese/nixos-postgres-unknown-var
postgresql: Fix variable spelling in NixOS module
2018-12-01 03:14:28 +00:00
fishyfriend
31efd1f3a5 nixos/urxvtd: remove socket activation
This fixes #23193. urxvtd is not presently compatible with socket activation.

(cherry picked from commit b34b39cab4)
2018-11-30 18:51:40 -05:00
worldofpeace
de81882a82 Merge pull request #51289 from 1000101/backport-release-18.09
[18.09] trezord: 2.0.24 -> 2.0.25
2018-11-30 16:13:09 -05:00
Jörg Thalheim
9b71a920a4 Merge pull request #51292 from Mic92/mlx5-core-en
[WIP][backport-18.09]: kernel: enable MLX5_CORE_EN when possible
2018-11-30 19:00:07 +00:00
Vladimír Čunát
420db065cf Re-revert "Merge staging-18.09 into release-18.09"
This reverts commit 3d63c05ddf.
This should fix #51281 (after merged to release-18.09),
but we would better re-check for similar problems.
2018-11-30 19:14:44 +01:00
Vladimír Čunát
57081c2bc0 Merge branch 'release-18.09' into staging-18.09 2018-11-30 19:14:22 +01:00
Graham Christensen
4934f82f43 kernel: enable MLX5_CORE_EN when possible
Hydra's builders from Packet.net use this option a lot, causing
lots of slow deploys.

(cherry picked from commit d65b39a805)
2018-11-30 17:56:46 +00:00
Ján Hrnko
46f7707f08 trezord: 2.0.24 -> 2.0.25
(cherry picked from commit e3768c8063)
2018-11-30 18:04:29 +01:00
Clemens Fruhwirth
854e94d262 androidsdk: Re-add emulator that was broken out of the sdk-tools package.
(cherry picked from commit b4d9f6ddca)
2018-11-30 10:58:27 -05:00
David McFarland
73ee651740 androidsdk: fix monitor interpreter path
(cherry picked from commit c43abffb9c)
2018-11-30 10:58:27 -05:00
Nick Novitski
6d9532887b androidenv: version buildTools and add buildToolsVersions sdk argument
(cherry picked from commit d861da151f)
2018-11-30 10:58:27 -05:00
Nick Novitski
48223815a1 androidsdk: 25.2.5 -> 26.1.1, license agreement
(cherry picked from commit 950608bae0)
2018-11-30 10:58:27 -05:00
Florian Klink
43e3285cf5 Merge pull request #51072 from flokli/gitlab-11.5.0-18.09
[18.09] Gitlab 11.5.0
2018-11-30 15:06:58 +01:00
Robert Schütz
7d166c6941 Merge pull request #51257 from schmittlauch/seafile-backport
seafile-shared: backport newer minor version to fix build failures
2018-11-30 11:52:48 +01:00
Andreas Wiese
2ae7b7082b postgresql: Fix variable spelling in NixOS module
Current build of nixos-18.09-small (nixos-18.09.1473.c1acb5ce6d8) fails
with

error: undefined variable 'postgresqlPackage' at […]/nixos/modules/services/databases/postgresql.nix:251:38

The right variable name should be cfg.package; fix.
2018-11-30 10:58:59 +01:00
Renaud
c1acb5ce6d Merge pull request #51169 from nyanloutre/jackett-update-18.09
[18.09] jackett: 0.10.434 -> 0.10.471
2018-11-29 22:33:17 +01:00
Doug Beardsley
7b54e50c08 Update developPackage documentation
(cherry picked from commit c3c82aa675)
2018-11-29 14:06:41 -05:00
Doug Beardsley
fca28547b5 Add name parameter to developPackage
(cherry picked from commit d36c55a530)
2018-11-29 14:06:13 -05:00
Robert Schütz
f135007e8c seafile-client: 6.2.5 -> 6.2.7
(cherry picked from commit 377e0e9b0f)

reason: built-error of seafile-shared-6.2.4 (see #51238)
2018-11-29 18:08:30 +01:00
Robert Schütz
2d3cf40a2d seafile-shared: 6.2.5 -> 6.2.7
(cherry picked from commit 3dccf7dca7)

reason: built-error of seafile-shared-6.2.4 (see #51238)
2018-11-29 18:04:34 +01:00
Graham Christensen
a0c7949780 Revert "zfs cannot be distributed. Disabling it in the isos."
ZFS's popularity is growing, and not including it by default is a
bit frustrating. On top of that, the base iso includes ZFS
_anyway_ due to other packages depending upon it.

I think we're in the clear to do this on the basis that Oracle
probably doesn't care, it is probably fine (the SFLC agrees) and
we're a small fish. If a copyright holder asks us to, we can
definitely revert it again.

This reverts commit 33d07c7ea9.

(cherry picked from commit 6db866cbd2)
2018-11-29 08:38:19 -05:00
Samuel Dionne-Riel
09c74d944d sd-image: Do not use batch operation for mcopy.
```
       b      Batch mode. Optimized for huge recursive copies, but less secure if a crash happens during the copy.
```

It seems the "less secure if a crash happens" does not need a crash to
happen.

With batch mode:

```
/[...]/.
  Start (0) does not point to parent (___)
```

For pretty much everything copied in.

Without batch mode, everything passes `fsck`.

See #51150

(cherry picked from commit 1b6a4d3979)
2018-11-28 19:25:34 -05:00
Samuel Dionne-Riel
19f0f4758e sd-image: Verifies the FAT partition before copying it.
This is to ensure `mtools`-based operations don't wreck the FS.

(cherry picked from commit 2e5eb135aa)
2018-11-28 19:25:26 -05:00
Timo Kaufmann
b7747ce27e sage: don't test the downgraded R (#51192)
Fails transiently. See https://github.com/NixOS/nixpkgs/pull/49249. The
failures look harmless and are fixed with R 3.5 which will be used in
sage 8.5.

(cherry picked from commit d6376bca6d)
2018-11-28 23:17:09 +01:00
Kristoffer Thømt Ravneberg
bb287f821f gitlab-shell: don't hardcode gitlab-shell paths in authorized_keys
(cherry picked from commit a3ec5dce2b)
2018-11-28 23:11:19 +01:00
Austin Seipp
4169ce094c postgresql: enable systemd service notification on 9.6+
This results in a marginal closure size increase of ~137mb -> ~141mb.
This only affects the 'out' output, not the 'lib' output, so
libpq-dependent expressions should not bloat as a result of this.

The type of the systemd service is changed to 'notify' on 9.6+, which
will help identify when Postgres is starting/shutting down.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 1e83cf317443cbc381af72aa09959266bc2d207b)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-28 16:42:28 +00:00
Matt McHenry
d7e3a072ec elm: extract makeDotElm and fetchElmDeps
(cherry picked from commit 206a1c00ba)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-28 16:35:35 +00:00
Peter Simons
2c848ea92d Merge pull request #51177 from peti/add-pandoc-manpage
pandoc: adapt postInstall hook to embedded-data-files build
2018-11-28 15:09:52 +01:00
Peter Simons
965b8ecccb pandoc: adapt postInstall hook to embedded-data-files build
(cherry picked from commit b38bfe18c7)
2018-11-28 13:33:18 +01:00
Léo Gaspard
aacc016422 Merge branch 'pr-51156' into release-18.09
* pr-51156:
  haskellPackages: default to ghc 8.4.4 as per Stackage LTS 12.16
2018-11-28 20:50:43 +09:00
nyanloutre
fd41dd53f1 jackett: 0.10.446 -> 0.10.471
(cherry picked from commit 6c06017137)
2018-11-28 09:58:18 +01:00
R. RyanTM
db73ad3ecd jackett: 0.10.434 -> 0.10.446
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/jackett/versions

(cherry picked from commit 91796d1020)
2018-11-28 09:58:18 +01:00
Samuel Dionne-Riel
9deeaa225b Merge pull request #51159 from samueldr/18.09/mtools-4.0.21
[18.09] mtools 4.0.18 -> 4.0.21
2018-11-28 03:30:28 +00:00
Will Dietz
84f7a5ed07 mtools: 4.0.20 -> 4.0.21
* mtools: 4.0.20 -> 4.0.21 (#50993)

https://lists.gnu.org/archive/html/info-mtools/2018-11/msg00009.html

* mtools: homepage is https-capable

(cherry picked from commit 51b526d86e)
2018-11-27 22:07:04 -05:00
Jörg Thalheim
20cdb37294 mtools: fix darwin build
(cherry picked from commit 47a239a240)
2018-11-27 22:07:00 -05:00
R. RyanTM
a58cdb9edd mtools: 4.0.19 -> 4.0.20
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/mtools/versions

(cherry picked from commit 4f99f26f9b)
2018-11-27 22:06:55 -05:00
R. RyanTM
75c1a76c6c mtools: 4.0.18 -> 4.0.19
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/mtools/versions

(cherry picked from commit aee3689349)
2018-11-27 22:06:21 -05:00
Markus Kowalewski
9be0cb168b mtools: add license
(cherry picked from commit 4f83467ba4)
2018-11-27 22:06:16 -05:00
Peter Simons
1afc9c9e56 haskellPackages: default to ghc 8.4.4 as per Stackage LTS 12.16 2018-11-27 21:07:33 -05:00
Andrew Dunham
6ea49f6f86 libtiff: 2018-11-04 -> 4.0.10
(cherry picked from commit ac3b358a8c)
2018-11-28 10:54:13 +09:00
Andrew Dunham
76fc36f75d libtiff: 4.0.9 -> 2018-11-04
This includes a bunch of security fixes (#49786), and mimics what Debian
has done in moving to a git snapshot instead of a released version +
backported security patches.

(cherry picked from commit 3137c609a4)
2018-11-28 10:54:09 +09:00
Léo Gaspard
92e700d297 Merge branch 'pr-51092' into release-18.09
* pr-51092:
  php72: 7.2.11 -> 7.2.12
  php71: 7.1.23 -> 7.1.24
  php: align Darwin and Linux versions again
  php72: 7.2.10 -> 7.2.11
  php71: 7.1.22 -> 7.1.23
2018-11-28 10:05:28 +09:00
Renaud
db561c90ef Merge pull request #51148 from c0bw3b/sec/1809/pdnsrec
pdns-recursor: 4.1.7 -> 4.1.8 (security)
2018-11-27 23:19:36 +01:00
Will Dietz
6a0c135870 pdns-recursor: 4.1.7 -> 4.1.8 (security)
https://docs.powerdns.com/recursor/changelog/4.1.html#change-4.1.8
(cherry picked from commit 14342e8c6d)
2018-11-27 22:59:00 +01:00
Pavel Goran
5c1cf68a94 gitea: include "options" directory in "data" output
This directory contains template files needed for initializing new repositories.

Fixes #49404.

(cherry picked from commit 5f3054ef70)
2018-11-27 22:38:09 +01:00
Tim Steinbach
0551730dae linux: 4.19.4 -> 4.19.5
(cherry picked from commit 08292ab3da0f4df2d1560403e0e48b289f740457)
2018-11-27 16:20:30 -05:00
Tim Steinbach
0375fe783f linux: 4.14.83 -> 4.14.84
(cherry picked from commit d435ad65664ea762b58df28fd6bda4a08bebe86b)
2018-11-27 16:20:30 -05:00
Tim Steinbach
9aff7df93e linux: 4.9.140 -> 4.9.141
(cherry picked from commit 94906bfefed6cb7c1fe53fceb81038ddc8ee8ebc)
2018-11-27 16:20:29 -05:00
Tim Steinbach
1e1faecaeb linux: 4.4.164 -> 4.4.165
(cherry picked from commit 2c3325ecf9af6f1d5a237190028d28a44ba210b3)
2018-11-27 16:20:29 -05:00
Peter Simons
86d1ba34b4 gnome3.gnome-keyring: disable test suite on i686 to fix the build
https://github.com/NixOS/nixpkgs/issues/51121
2018-11-27 17:43:09 +01:00
Pascal Bach
aa4599bef0 gitlab-runner: 11.2.0 -> 11.5.0
(cherry picked from commit c3c57c798f)
2018-11-27 13:48:59 +01:00
Vladimír Čunát
56aac496ff sssd: fix build with updated curl-7.62
Fixes #51106.

(cherry picked from commit 439bf86ca9)
The patch seems very safe to pick.
2018-11-27 12:58:10 +01:00
Jörg Thalheim
f3fbb8543d nixopsUnstable: 1.6.1pre2622_f10999a -> 1.6.1pre2706_d5ad09c
This fixes evaluation with the latest master.

(cherry picked from commit cbea2201db)
2018-11-27 11:29:49 +00:00
Pierre Bourdon
a281d8dcac php72: 7.2.11 -> 7.2.12
(cherry picked from commit ec3d829257)
2018-11-27 02:57:35 +01:00
Pierre Bourdon
574e5af5c2 php71: 7.1.23 -> 7.1.24
(cherry picked from commit 8221da343e)
2018-11-27 02:57:34 +01:00
Pierre Bourdon
df57073860 php: align Darwin and Linux versions again
Instead of pinning Darwin to older versions, add small patches to
configure.in (7.1) / configure.ac (7.2) to fix the build of the intl
extension on recent PHP versions on Darwin.

fix-paths-php7.patch also required changes -- since we now run autoconf
at build time (through ./buildconf), it needs to patch the input .m4
files instead of ./configure directly.

(cherry picked from commit ea10173045)
2018-11-27 02:57:34 +01:00
Elis Hirwing
a294c126de php72: 7.2.10 -> 7.2.11
Changelog: https://secure.php.net/ChangeLog-7.php#7.2.11
(cherry picked from commit b9773bd12e)
2018-11-27 02:41:06 +01:00
Elis Hirwing
96d56c8635 php71: 7.1.22 -> 7.1.23
Changelog: https://secure.php.net/ChangeLog-7.php#7.1.23
(cherry picked from commit 36e3fdd9b6)
2018-11-27 02:40:56 +01:00
Florian Klink
86e84c6d15 gitlab tests: enable recommendedProxySettings, test redirection works as it should
The nixos test is a bit misleading, as the given nginx configuration
would always cause gitlab to redirect to localhost, which is clearly not
what you want in a production setup.

Instead we now enable services.nginx.recommendedProxySettings,
curl against http://gitlab, and assure we get redirected to that same
hostname, too.

(cherry picked from commit 6870eafe72)
2018-11-26 18:53:20 +01:00
Florian Klink
3e65e8d949 gitaly: 0.125.1 -> 0.129.0
(cherry picked from commit 63f25471cb)
2018-11-26 18:53:13 +01:00
Florian Klink
a8b34b1f0b gitlab-workhorse: 7.0.0 -> 7.1.0
(cherry picked from commit a33622e4d4)
2018-11-26 18:53:04 +01:00
Florian Klink
808219bd72 gitlab-shell: 8.3.3 -> 8.4.1
(cherry picked from commit 293a631081)
2018-11-26 18:52:57 +01:00
Florian Klink
3d05f49362 gitlab: 11.4.4 -> 11.5.0, add data.json, make default.nix use it
(cherry picked from commit 625e66d879)
2018-11-26 18:52:49 +01:00
Florian Klink
3905118d6d gitlab-workhorse: rename srcs attribute to src
(cherry picked from commit 3233efb33b)
2018-11-26 18:52:24 +01:00
Florian Klink
c3b6aab73c gitlab-workhorse: drop deterministic-build.patch
we already set VERSION in makeFlags below.

(cherry picked from commit 8b51e837b9)
2018-11-26 18:52:14 +01:00
Florian Klink
bfc48c7774 gitlab-workhorse: move to pkgs/applications/version-management/gitlab
(cherry picked from commit d768e3967f)
2018-11-26 18:52:06 +01:00
Florian Klink
c430d13132 gitaly: move to pkgs/applications/version-management/gitlab
(cherry picked from commit cb79c1e60b)
2018-11-26 18:51:59 +01:00
Florian Klink
df9c1df139 gitlab-shell: move to pkgs/applications/version-management/gitlab
(cherry picked from commit 8e8f692e22)
2018-11-26 18:51:54 +01:00
Pierre Bourdon
a7fd4310c0 curl: cherry-pick upstream patch for ipv6 url parsing
Upstream bug: curl/curl#3218.

This causes nixos/tests/ipv6.nix to fix since the last staging merge.

(cherry picked from commit 90720d0139)
In the end I decided to pick it directly without staging,
so that the various security fixes get to stable* channels fast.
2018-11-25 14:01:31 +01:00
Joachim F
3559a6430e Merge #48084: steam: add libxcb to steamrt overrides
(cherry picked from commit 30008a1cda)

Fixes #47932.  On 18.09 we still have libxcb 1.12, but I expect the
change will help with mixing versions, and it seems safe anyway.
2018-11-25 10:46:22 +01:00
Renaud
f3cc68c505 Merge pull request #51014 from c0bw3b/pkg/1809/nvidia-legacy
[18.09] nvidia_legacy_340: 340.104 -> 340.107
2018-11-25 09:02:49 +01:00
Florian Jacob
70cf0cba42 nvidia_legacy_340: 340.104 -> 340.107
(cherry picked from commit 045575e744)
2018-11-25 08:40:43 +01:00
Renaud
5340848b61 Merge pull request #50988 from timor/release-18.09
libmtp: 1.1.15 -> 1.1.16
2018-11-24 20:26:33 +01:00
timor
5be73b4b1d libmtp: 1.1.15 -> 1.1.16
This fixes the problem of connecting android phones via MTP in kde/dolphin.

Original Bug description: https://bugs.kde.org/show_bug.cgi?id=387454

(cherry picked from commit 79f148c2e0)
2018-11-24 19:00:52 +01:00
Vladimír Čunát
87d114352c Merge branch 'staging-18.09' into release-18.09
Multiple CVE fixes.
2018-11-24 10:20:24 +01:00
Unknown
5d4a1a3897 marble: Fix include install to dev output
(cherry picked from commit 956a4b2bb6)

Fixes #50938
2018-11-24 00:40:22 -05:00
Franz Pletz
b2030e8240 browserpass: 2.0.18 -> 2.0.22
(cherry picked from commit 5ea22c49f1)
2018-11-24 01:37:01 +01:00
Franz Pletz
96550b30d1 matrix-synapse: 0.33.8 -> 0.33.9
(cherry picked from commit 2bf16cbbc3)
2018-11-23 21:13:15 +01:00
Peter Hoeg
247fea906a matrix-synapse: prepare for python3 switch
With this commit, we *can* swap python2 for python3 to run synapse using python3
instead.

The reason for not making the switch is that a number of CLI tools provided with
synapse do not yet work under py3 despite synapse running fine.

So this doesn't actually do anything on its own except to prepare for the
upcoming py3 switch.

(cherry picked from commit dc74c44e67)
2018-11-23 21:13:14 +01:00
Will Dietz
aa3f523dd5 pythonPackages.sqlalchemy: 1.2.11 -> 1.2.13
(cherry picked from commit b8229dd2dc)
2018-11-23 19:32:29 +01:00
Will Dietz
06a935b7ee sqlite: 3.25.2 -> 3.25.3
https://sqlite.org/releaselog/3_25_3.html
(cherry picked from commit 6f0c65ee3f)
2018-11-23 19:32:29 +01:00
Will Dietz
6b5273508b sqlite: 3.25.1 -> 3.25.2
(cherry picked from commit 2e2740165a)
2018-11-23 19:32:29 +01:00
Will Dietz
631572e453 sqlite: 3.25.0 -> 3.25.1
(cherry picked from commit daf738f55d)
2018-11-23 19:32:29 +01:00
Will Dietz
628ea26c63 sqlite: 3.24.0 -> 3.25.0
https://sqlite.org/releaselog/3_25_0.html
(cherry picked from commit 0c7b1576dd)
2018-11-23 19:32:29 +01:00
Andreas Rammhold
43ca58ebed libpng: 1.6.34 -> 1.6.35
(cherry picked from commit e5deb04fed)
2018-11-23 19:32:29 +01:00
Andreas Rammhold
7146449bf4 nss: 3.39 -> 3.40
(cherry picked from commit 376f4b9f05)
2018-11-23 19:32:29 +01:00
Franz Pletz
1fd295ff0d minetest: 0.4.17 -> 0.4.17.1
(cherry picked from commit f88543769e)
2018-11-23 17:54:22 +01:00
Edward Tjörnhammar
3960912a49 minetest: 0.4.16 -> 0.4.17
(cherry picked from commit 8ff9e78dc1)
2018-11-23 17:54:21 +01:00
Franz Pletz
991beddf1a riot-web: 0.17.3 -> 0.17.6
(cherry picked from commit 64da5fcfac)
2018-11-23 17:53:29 +01:00
R. RyanTM
7f2243a396 riot-web: 0.17.0 -> 0.17.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/riot-web/versions

(cherry picked from commit f091b32b16)
2018-11-23 17:53:28 +01:00
R. RyanTM
4acd14a9a4 riot-web: 0.16.5 -> 0.17.0
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/riot-web/versions

(cherry picked from commit 5d88d542e3)
2018-11-23 17:53:28 +01:00
Franz Pletz
3d64330807 batman_adv: 2018.2 -> 2018.4
(cherry picked from commit b62a18b0c2)
2018-11-23 17:53:28 +01:00
R. RyanTM
95137ab11b batctl: 2018.3 -> 2018.4 (#50826)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/batctl/versions

(cherry picked from commit 119e4e30c8)
2018-11-23 17:53:27 +01:00
R. RyanTM
68c6f0c399 alfred: 2018.2 -> 2018.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/alfred/versions

(cherry picked from commit 40ea9c7143)
2018-11-23 17:53:27 +01:00
R. RyanTM
d869774152 batctl: 2018.2 -> 2018.3
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/batctl/versions

(cherry picked from commit 6d8f22a58b)
2018-11-23 17:53:27 +01:00
Vladimír Čunát
9f5c1566d2 Merge branch 'release-18.09' into staging-18.09 2018-11-23 16:39:52 +01:00
Tim Steinbach
932e0f30c4 linux: 4.19.3 -> 4.19.4
(cherry picked from commit 13e38d8180)
2018-11-23 08:34:55 -05:00
Tim Steinbach
9fba76c579 linux: 4.14.82 -> 4.14.83
(cherry picked from commit 86f9ac22e2)
2018-11-23 08:34:55 -05:00
Tim Steinbach
67800921ed linux: 4.9.138 -> 4.9.140
(cherry picked from commit 5879586e01)
2018-11-23 08:34:54 -05:00
Bas van Dijk
a85aacc806 Merge pull request #50880 from ElvishJerricco/18.09-bump-ghcjs-2018-11-21
Backport #50879
2018-11-23 12:17:38 +01:00
Ingolf Wagner
172eb14358 bitwig-studio1: fix dependency to libxkbcommon_7
(cherry picked from commit 6fcc67e189)
2018-11-23 03:40:58 -05:00
Ingolf Wagner
fabf2dd765 libxkbcommon: split version (for bitwig)
(cherry picked from commit b499f924da)
2018-11-23 03:39:52 -05:00
Robert Schütz
636b2b2da9 linuxPackages.{spl,zfs}: 0.7.11 -> 0.7.12
(cherry picked from commit d9cd9acc24)
2018-11-22 20:54:29 +01:00
Linus Heckemann
51076ed20c lib/licenses: remove bsl10
Licence isn't used anywhere and nonfree.

(cherry picked from commit 4ef0760808)
2018-11-22 16:02:50 +01:00
Linus Heckemann
c7519bd468 lib/licenses: mark some as unfree
AMD license agreement (currently unavailable at the given URL, but
included in tarball) disallows reverse-engineering, modification,
redistribution etc;

BSL licenses limit commercial production use.

(cherry picked from commit 8fb1e5e166)
2018-11-22 16:02:46 +01:00
Jörg Thalheim
21517c60d9 netdata: create missing /etc/netdata
Since netdata 1.11.0 updated in https://github.com/NixOS/nixpkgs/pull/50459
it needs to have a /etc/netdata directory, which we did not create by default.
fixes #50893
2018-11-21 23:12:54 +00:00
Thomas Tuegel
012b9e6c21 Merge pull request #50877 from ttuegel/backport/50472
nixos/fontconfig: fix enable option of penultimate
2018-11-21 14:02:53 -06:00
Tim Steinbach
dfd23be5a3 linux: 4.19.2 -> 4.19.3
(cherry picked from commit 8f11b37a95)
2018-11-21 09:54:30 -05:00
Tim Steinbach
d0193db8af linux: 4.18.19 -> 4.18.20
(cherry picked from commit ff82d7c786)
2018-11-21 09:54:30 -05:00
Tim Steinbach
42151716eb linux: 4.14.81 -> 4.14.82
(cherry picked from commit 3667a91b78)
2018-11-21 09:54:30 -05:00
Tim Steinbach
c90a18b60b linux: 4.9.137 -> 4.9.138
(cherry picked from commit 0e7dafe8c0)
2018-11-21 09:54:29 -05:00
Tim Steinbach
bb10644e6f linux: 4.4.163 -> 4.4.164
(cherry picked from commit e822b9680b)
2018-11-21 09:54:29 -05:00
Orivej Desh
29842ed37d movit: 1.5.1 -> 1.6.2, fix build after #49310
Fixes #49883

(cherry picked from commit 6daa1938b6)
2018-11-21 14:59:02 +01:00
Will Fancher
716bacecbf Bump GHCJS 8.4 2018-11-21 08:08:30 -05:00
Johannes Frankenau
bfb89a3d12 nixos/fontconfig: fix enable option of penultimate
(cherry picked from commit eea86c9e71)
2018-11-21 06:42:33 -06:00
Peter Simons
03dc6471c1 Merge pull request #50806 from twhitehead/release-18.09
haskellPackages.generic-lens: apply patch to fix tests
2018-11-20 20:50:28 +01:00
Nathan van Doorn
869d900dca haskellPackages.generic-lens: apply patch to fix tests
(cherry picked from commit 550fe159f0)
2018-11-20 13:21:36 -05:00
Michael Raskin
f7da99c4b9 Merge pull request #50839 from taku0/flashplayer-31.0.0.153
flashplayer: 31.0.0.122 -> 31.0.0.153
(cherry picked from commit d3bdf3fe98)
2018-11-20 19:46:15 +03:00
Renaud
9feb8b74e0 Merge pull request #50698 from nyanloutre/makemkv-update-18.09
[18.09] makemkv: 1.12.3 -> 1.14.1
2018-11-20 10:33:45 +01:00
nyanloutre
e24bc96919 makemkv: using two URLs for src
This will prevent future failures due to the first URL being broken each
time a new version is released

See https://github.com/NixOS/nixpkgs/pull/50437#issuecomment-439329862
for details

(cherry picked from commit 05166dcce1)
2018-11-20 09:48:27 +01:00
Herwig Hochleitner
c1427bf45f chromium: add jdk.jre to build dependencies for versions >= 72
thanks for finding out @volth
see 6fba9250aa

(cherry picked from commit bac76e8a9e)
2018-11-20 01:03:23 +01:00
Herwig Hochleitner
7fd90514b3 chromium: 70.0.3538.102 -> 70.0.3538.110
CVE-2018-17479

(cherry picked from commit 7c79a0d4ac)
2018-11-19 23:53:30 +01:00
taku0
04005e5f71 firefox: 63.0.1 -> 63.0.3
(cherry picked from commit 917309fa62)
2018-11-19 20:34:25 +01:00
Vladyslav M
e980db62d3 Merge pull request #50660 from samueldr/auto/dbeaver/nixos-18.09/5.2.5
dbeaver: 5.2.4 -> 5.2.5 (18.09)
2018-11-19 21:22:48 +02:00
Tim Steinbach
df5ce5b5bb openjdk: 8u181 -> 8u192
(cherry picked from commit 7f7c4e423186fcd55f2f5fa6800707dd07d6b5b6)
2018-11-19 14:08:13 -05:00
Michael Raskin
d85622d616 Merge pull request #50755 from tokudan/ff6303
firefox-bin: 63.0.1 -> 63.0.3
2018-11-19 17:51:34 +00:00
taku0
01338788ac firefox-bin: 63.0.1 -> 63.0.3
(cherry picked from commit fa138b55a6)
2018-11-19 18:29:04 +01:00
nyanloutre
9071b93a71 makemkv: 1.14.0 -> 1.14.1
(cherry picked from commit 30bc36c64e)
2018-11-19 10:48:50 +01:00
Daniël de Kok
3aca7b859f makemkv: 1.12.3 -> 1.14.0
Changes: https://www.makemkv.com/download/history.html

Since this derivation only support Linux on x86_64, set the platform
meta data accordingly.

(cherry picked from commit f528731fe9)
2018-11-19 10:48:42 +01:00
Ivan Jager
50fb682075 zfsUnstable: 0.8.0-rc1 -> 0.8.0-rc2
(cherry picked from commit a995a81182)
2018-11-19 08:12:37 +01:00
Jörg Thalheim
4852b57781 zfs{Stable,Unstable}: mark as incompatible with 4.19
(cherry picked from commit 8609ff17ed)
2018-11-19 08:12:37 +01:00
Lenz Weber
2386f0982f zfs-unstable: 2018-09-02 -> 0.8.0-rc1 (#46543)
(cherry picked from commit 218ce4de50)
2018-11-19 08:12:06 +01:00
Lenz Weber
c97912743f zfs-unstable: 64e9696 -> c197a77
(cherry picked from commit 080a6385ff)
2018-11-19 08:11:48 +01:00
rnhmjoj
c2f36881f6 monero-gui: 0.13.0.3 -> 0.13.0.4
(cherry picked from commit 88a86f78a3)
2018-11-19 08:10:23 +01:00
fuwa
3d50d1bde1 monero: 0.13.0.3 -> 0.13.0.4
(cherry picked from commit 40d7e12685)
2018-11-19 08:10:20 +01:00
Samuel Dionne-Riel
58dd475e6c dbeaver: 5.2.4 -> 5.2.5
(cherry picked from commit 47d1bcc873)
2018-11-18 20:32:34 -05:00
Renaud
734cc38c75 Merge pull request #50613 from c0bw3b/sec/1809/live555
[18.09] live555: 2018.02.28 -> 2018.10.17
2018-11-18 20:14:40 +01:00
c0bw3b
d03b29fc55 live555: broken on aarch64
(cherry picked from commit 525e397f64)
2018-11-18 18:03:22 +01:00
Peter Hoeg
46d5ce21a9 live555: 2018.02.28 -> 2018.10.17
(cherry picked from commit fb81d629ac)
2018-11-18 18:03:08 +01:00
Gabriel Ebner
e1bd04a3f4 Revert "openjdk11: enable ZGC on x86_64-linux"
We don't have openjdk11 on 18.09, and this breaks openjdk10:
https://hydra.nixos.org/build/84099818/nixlog/1

This reverts commit 5d0ef3fd90.
2018-11-18 12:08:56 +01:00
Austin Seipp
b37872d426 foundationdb: set RELEASE=true for official builds
This ensures the proper version is reported in the server status
information; otherwise it has a '-PRERELEASE' suffix.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 47b3086bdf)
2018-11-17 22:13:49 -06:00
Jörg Thalheim
f0445db9b4 netdata: fix python plugins
(cherry picked from commit e08ee4971652b402888e2bc2ecec75a83ba661d8)
2018-11-17 20:34:34 +00:00
Jan Tojnar
656288f7bf Merge pull request #50507 from hedning/fix-nautilus-thumbnails
gnome3.gnome-desktop: fix path substitution
2018-11-17 19:12:06 +01:00
Tor Hedin Brønner
35c64e56c7 gnome3.gnome-desktop: fix path substitution
`substituteAll` intentionally doesn't work with all caps:
https://github.com/NixOS/nixpkgs/issues/28086
2018-11-17 16:09:24 +01:00
Jörg Thalheim
34ff87e288 nixos/netdata: own plugins must the looked up first
Otherwise netdata will not find python modules.
To make sure netdata still pick up our setuid version of apps.plugin
we rename the original executable.
2018-11-17 15:05:54 +00:00
Jörg Thalheim
aa31685d60 netdata: Disable files in /etc and /var 2018-11-17 15:05:54 +00:00
Mario Rodas
74592d67f4 netdata: 1.10.0 -> 1.11.0 2018-11-17 15:05:53 +00:00
Victor SENE
3078bca9ed fprintd: use correct path for configuration
(cherry picked from commit a70779458a)
2018-11-17 08:22:45 +01:00
Austin Seipp
0f7a562edd foundationdb60: 6.0.11pre2716 -> 6.0.15
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 8d4f8a6d26)
2018-11-16 20:38:47 -06:00
Austin Seipp
d359c39bb6 foundationdb: rework python bindings, build system
FoundationDB uses Python at build time for some code generation.
However, it also has the official python bindings inside the source code
too, and the code for the Python bindings has some of it auto-generated
at compile time.

This made building python packages unattractive: we want to use the
source code generated from the FoundationDB build, but we don't want to
rebuild it. Previously we would override the 'python' input to the
FoundationDB module, but this meant we would do a complete rebuild, as
it was a necessary build time dependency, even though the resulting
generated code itself would not change. Furthermore, FoundationDB
versions < 6.0 don't properly support Python 3 *for the build system*,
though the bindings supported it, so that caused build failures. But the
first effect is the worst: it meant building separate python2 and
python3 packages implied two complete rebuilds of a single FoundationDB
version. This meant rather than 3 FDB builds, we'd do 3*N where N = the
number of major Python versions we support.

Finally, because we did not use pip to generate a wheel that we install
with metadata recorded for the installation, the FoundationDB python
package couldn't be used as an input to other setup.py-based packages:
there would be no recorded metadata in the dist-info folder which would
say this is the foundationdb package. This greatly limits its utility.

To fix all this, we do a few things:

  - Apply some patches to fix the build system with Python 3.x for
    older FoundationDB versions. (This is nice if end-users have
    overridden the global Python version for some reason.)
  - Move python directly into nativeBuildInputs, so it is only a
    build time dependency.
  - Take the python source code from the ./bindings directory and
    tar it up use later after the build is done, so we get to keep
    the generated code. This is the new 'pythonsrc' output from the
    build. This code doesn't change based on whether or not the input
    or resulting package is using Python 2 or 3, it's totally
    deterministic.
  - The build system also patches up the python source code a little,
    so it can be installed directly with setup.py (it needs a little
    stuff that it normally expects the build system to do.)
  - Rework the python package to a separate file that uses
    buildPythonPackage directly. Because the source code is already
    prepared, it needs almost nothing else. Furthermore, this kills
    the override itself for the foundationdb package, meaning rebuilds
    are no longer needed.
  - This package is very simple and just uses foundationdb.pythonsrc
    as its source input. It also ensures a link to libfdb_c.so can
    be found by ctypes (using substituteInPlace)
  - python-packages.nix now just uses callPackage directly.

The net effect of this is, most importantly, that python packages do not
imply a full rebuild of the server source code: building python2 and
python3 packages from a version of FoundationDB now does not need to
override the foundationdb python input, reducing the number of needless
builds. They instead just run setup.py with the given version as input.

The second biggest effect is that wheel metadata is recorded correctly,
meaning dependent-python-packages that want to use the FoundationDB
bindings e.g. from PyPi should now work fine with buildPythonPackage.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 6054dabc11)
2018-11-16 20:38:41 -06:00
Austin Seipp
eec1fa5132 foundationdb: include fdb.options in .dev for binding generators
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 32948a6f3d)
2018-11-16 20:38:36 -06:00
Austin Seipp
1d3d52afe2 foundationdb60: 6.0.4pre2497_73d64cb2 -> 6.0.11pre2716_9e8c1941e
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit f1737fa646)
2018-11-16 20:38:30 -06:00
Austin Seipp
5d0ef3fd90 openjdk11: enable ZGC on x86_64-linux
The Z Garbage Collector is a concurrent, scalable, low latency garbage
collector designed to meet extremely-low-pause-time requirements for
small-to-multi-TB heap sizes.

ZGC can be enabled with the magical incantation:

    $ java -XX:+UnlockExperimentalVMOptions -XX:+UseZGC ...

Currently, ZGC is only available for x86_64-linux (though a port for
aarch64-linux may become available at a future time.) There are also a
number of other features that currently aren't present, such as JVMCI
integration (meaning compiler tools like Graal which require JVMCI will
not work with ZGC enabled.)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 1629147423)
2018-11-16 20:38:08 -06:00
Alexander V. Nikolaev
894a9994e8 glfw: hardwire path to libGL.so.1
(cherry picked from commit f664181ef2)
2018-11-17 01:38:55 +00:00
Will Dietz
5d07a3270e curl: 7.61.1 -> 7.62.0
See
https://github.com/NixOS/nixpkgs/issues/49463#issuecomment-434617623

(cherry picked from commit e9d6475e68)
2018-11-16 23:45:58 +01:00
Tim Steinbach
aff3b08b43 curl: 7.61.0 -> 7.61.1
(cherry picked from commit 16650af8c3)
2018-11-16 23:45:34 +01:00
Peter Hoeg
222fa75fde unifiStable: 5.8.30 -> 5.9.29
(cherry picked from commit ef927360e3)
2018-11-16 22:43:00 +01:00
Pascal Bach
6df7719e9e unifiStable: 5.8.28 -> 5.8.30
(cherry picked from commit 9cab954ab6)
2018-11-16 22:42:26 +01:00
Pascal Bach
4d13398cd9 unifiTesting: 5.9.22 -> 5.9.29
(cherry picked from commit 8fa7b89353)
2018-11-16 22:42:15 +01:00
Lancelot SIX
cff4cb689f gnupg22: 2.2.10 -> 2.2.11
See http://lists.gnu.org/archive/html/info-gnu/2018-11/msg00003.html for
release information

(cherry picked from commit ace631b616)
2018-11-16 13:01:16 +01:00
Rob Vermaas
e0eb712136 Update GCE image for 18.09 2018-11-16 11:42:43 +01:00
Lancelot SIX
c0f1a40da3 postgresql_10: 10.5 -> 10.6
See https://www.postgresql.org/about/news/1905/ for release information.
Fixes CVE-2018-16850

(cherry picked from commit 575151eb08)
2018-11-16 09:43:42 +01:00
Lancelot SIX
8d2a122b82 postgresql_9_6: 9.6.10 -> 9.6.11
See https://www.postgresql.org/about/news/1905/ for release information.
Fixes CVE-2018-16850

(cherry picked from commit 1670fd115d)
2018-11-16 09:42:24 +01:00
Lancelot SIX
16f5419791 postgresql_9_5: 9.5.14 -> 9.5.15
See https://www.postgresql.org/about/news/1905/ for release information.
Fixes CVE-2018-16850

(cherry picked from commit f703ea62a0)
2018-11-16 09:39:08 +01:00
Lancelot SIX
c022a69fd9 postgresql_9_4: 9.4.19 -> 9.4.20
See https://www.postgresql.org/about/news/1905/ for release information.
Fixes CVE-2018-16850

(cherry picked from commit 882c3b529c)
2018-11-16 09:37:41 +01:00
Lancelot SIX
2f3573359b postgresql_9_3: 9.3.24 -> 9.3.25
See https://www.postgresql.org/about/news/1905/ for release information.
Fixes CVE-2018-16850

(cherry picked from commit 5d37d63388)
2018-11-16 09:36:14 +01:00
Lancelot SIX
76a06b02ec gnupg22: 2.2.9 -> 2.2.11
See http://lists.gnu.org/archive/html/info-gnu/2018-11/msg00003.html for
release information

(cherry picked from commit ace631b616)
2018-11-16 09:32:42 +01:00
Tim Steinbach
a4d225c278 linux: 4.19.1 -> 4.19.2
(cherry picked from commit 248dfd2842)
2018-11-15 21:03:51 -05:00
Tim Steinbach
826e7b3bf0 linux: 4.19 -> 4.19.1
(cherry picked from commit 3e1ca4f176)
2018-11-15 21:03:50 -05:00
Tim Steinbach
21146197c3 linux: Add 4.19
(cherry picked from commit 2bb68c7017)
2018-11-15 21:03:44 -05:00
Edmund Wu
da81531c1d jetbrains.webstorm: 2018.2.5 -> 2018.2.6
(cherry picked from commit 07839a571b)
2018-11-15 23:50:24 +00:00
Edmund Wu
a3ce85af74 jetbrains.pycharm-professional: 2018.2.4 -> 2018.2.5
(cherry picked from commit 19fa47c150)
2018-11-15 23:50:23 +00:00
Edmund Wu
f2643c4498 jetbrains.pycharm-community: 2018.2.4 -> 2018.2.5
(cherry picked from commit 1a2a2aba02)
2018-11-15 23:50:23 +00:00
Edmund Wu
863f9933c1 jetbrains.idea-ultimate: 2018.2.5 -> 2018.2.6
(cherry picked from commit b48f467e1b)
2018-11-15 23:50:22 +00:00
Edmund Wu
010446f764 jetbrains.idea-community: 2018.2.5 -> 2018.2.6
(cherry picked from commit c2bbfa56ed)
2018-11-15 23:50:22 +00:00
Edmund Wu
0883f7fba3 jetbrains.goland: 2018.2.3 -> 2018.2.4
(cherry picked from commit 2787e2c75e)
2018-11-15 23:50:22 +00:00
Edmund Wu
a23ee32fc6 jetbrains.datagrip: 2018.2.4 -> 2018.2.5
(cherry picked from commit 4d20e9999b)
2018-11-15 23:50:21 +00:00
Edmund Wu
597c1abbc0 jetbrains.clion: 2018.2.5 -> 2018.2.6
(cherry picked from commit 9d1b22a909)
2018-11-15 23:50:21 +00:00
Edward Tjörnhammar
975fe6d830 jetbrains.webstorm: 2018.2.3 -> 2018.2.5
(cherry picked from commit 30422aa7d0)
2018-11-15 23:50:21 +00:00
Edward Tjörnhammar
1c16a9a551 jetbrains.ruby-mine: 2018.2.2 -> 2018.2.4
(cherry picked from commit e61f199470)
2018-11-15 23:50:20 +00:00
Edward Tjörnhammar
b3f7d81f46 jetbrains.phpstorm: 2018.2.3 -> 2018.2.5
(cherry picked from commit b8096a088e)
2018-11-15 23:50:20 +00:00
Edward Tjörnhammar
4eafa0f009 jetbrains.clion: 2018.2.4 -> 2018.2.5
(cherry picked from commit 8c084007d5)
2018-11-15 23:50:19 +00:00
Jörg Thalheim
8c898a91af Merge pull request #50436 from rafaelgg/fix-selfoss-port-backport
selfoss (service): fix port in service config (backport of #50411)
2018-11-15 23:12:32 +00:00
Rafael García Gallego
17293a833c selfoss (service): fix port in service config (#50411)
(cherry picked from commit 8bf4fe85f1)
2018-11-16 00:05:54 +01:00
Alyssa Ross
8fa2565a73 nginxMainline: 1.15.5 -> 1.15.6
CVE-2018-16843, CVE-2018-16844

https://nginx.org/en/security_advisories.html
(cherry picked from commit de9026de6e)
2018-11-15 21:11:49 +00:00
Alyssa Ross
850a8779f3 nginxStable: 1.14.0 -> 1.14.1
CVE-2018-16843, CVE-2018-16844

https://nginx.org/en/security_advisories.html
(cherry picked from commit 1908322d10)
2018-11-15 21:11:42 +00:00
Will Dietz
679ff5e5a1 flatpak: 1.0.4 -> 1.0.5
(cherry picked from commit 0e218ffc0c)
2018-11-15 21:02:00 +00:00
Oyren
533c5bcdeb write_stylus: fix loading libGL.so with libglvnd (#50395)
./Write: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

(cherry picked from commit 04b234e995)
2018-11-15 19:41:41 +00:00
Jean-Baptiste Giraudeau
2e790145d1 Fix help2man.postInstall syntax error under cygwin.
(cherry picked from commit 7fdb87a862)
2018-11-15 17:06:54 +00:00
Benjamin Hipple
dcb2e0068f docs: fix minor grammar issues in the manual 2018-11-15 15:48:49 +00:00
Peter Simons
012203f6e5 ghc: add new version 8.6.2
(cherry picked from commit 8d81cf6201)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-15 14:26:36 +00:00
taku0
24da975834 flashplayer: 31.0.0.122 -> 31.0.0.148
(cherry picked from commit 4c2d254a7f)
2018-11-15 14:20:11 +00:00
Periklis Tsirakidis
8ea0aa352e libarchive: 3.3.2 -> 3.3.3
Update includes patches for sec issues:
- CVE-2017-14166
- CVE-2017-14501
- CVE-2017-14502
- Upstream includes patch for libressl version check

fixes #49583

(cherry picked from commit 95fa7b6370)
2018-11-15 14:01:32 +00:00
Jörg Thalheim
abd0d521c3 nix-review: 0.6.0 -> 0.6.1
- blacklist for tests.nixos-functions.nixos-test
- nix-review rev HEAD: will now work as expected

(cherry picked from commit 695a157740)
2018-11-15 13:42:44 +00:00
Jörg Thalheim
95bc67101a nix-review: 0.5.3 -> 0.6.0
(cherry picked from commit 42f17d8f14)
2018-11-15 13:42:44 +00:00
Jörg Thalheim
825ecf0a0a nix-review: 0.5.2 -> 0.5.3
(cherry picked from commit 23a017fbca)
2018-11-15 13:42:43 +00:00
Robin Gloster
9bf8b0d06b gitlab: fix smtp setting
fixes #50163

(cherry picked from commit 74df0823f3)
2018-11-15 12:19:34 +01:00
John Ericson
edd03bed0f Merge pull request #50375 from obsidiansystems/haskell-bash-completion-18.09
haskellPackages: Add shell completion for 18.09
2018-11-14 19:06:07 -05:00
John Ericson
bb04322459 Merge remote-tracking branch 'upstream/release-18.09' into haskell-bash-completion-18.09 2018-11-14 18:49:25 -05:00
wucke13
bedbba6138 qgroundcontrol: fixes #49870
The `.desktop` referenced a non existent script to run `QGroundControl`. This commits adds a `sed` command, which replaces the non existent script by the name of the `QGroundControl` binary in the relevant `.desktop` file.

(cherry picked from commit c26b42be74)
2018-11-14 19:15:56 +00:00
Alexander V. Nikolaev
cf3ef93e04 openarena: fix loading libGL.so with libglvnd
(cherry picked from commit b0d470061f)
2018-11-14 17:50:31 +00:00
Daniel Peebles
435cfc8876 Merge pull request #50352 from DzmitrySudnik/release-18.09
exhibitor: fix paths for zookeeper shell scripts
2018-11-14 11:05:35 -05:00
Dzmitry Sudnik
1e3a4d644a exhibitor: fix paths for zookeeper shell scripts to point to local folders
(cherry picked from commit 5517661935)
2018-11-14 11:01:51 -05:00
Renaud
a74b08d71a Merge pull request #49549 from c0bw3b/sec/1809/openjpeg
[18.09] openjpeg: adding patch for CVE-2018-7648
2018-11-14 16:35:49 +01:00
Herwig Hochleitner
a964a33447 chromium: 70.0.3538.77 -> 70.0.3538.102
(cherry picked from commit 4b5ffcb964)
2018-11-14 03:06:19 +01:00
Herwig Hochleitner
09468e9f52 chromium: 70.0.3538.67 -> 70.0.3538.77
(cherry picked from commit 17585ff6d8)
2018-11-14 03:06:19 +01:00
Markus Kowalewski
4c72d0ce20 nixos/postgresqlBackup: set to umask to 0077
* Ensure that the backup file is only readable by the owner
* Add file permission test to tests

(cherry picked from commit a0371d4761)
2018-11-13 20:41:38 -05:00
Tim Steinbach
c293626323 linux: 4.18.18 -> 4.18.19
(cherry picked from commit aac632ce90b86d8734e2d0c5955a8f77259ff619)
2018-11-13 14:36:18 -05:00
Tim Steinbach
918e0e6fff linux: 4.14.80 -> 4.14.81
(cherry picked from commit 338d38e57b68e12a2f015e9eabe561accefcad4f)
2018-11-13 14:36:18 -05:00
Tim Steinbach
a2256b54dd linux: 4.9.136 -> 4.9.137
(cherry picked from commit 7395bd34f76e22abc4e4c79847fd978a713da932)
2018-11-13 14:36:18 -05:00
Timo Kaufmann
0f21a3e0f2 Merge pull request #50309 from nyanloutre/jackett-434-18-09
[18.09] jackett: 0.10.365 -> 0.10.434
2018-11-13 19:56:20 +01:00
Linus Heckemann
132b1d6a58 Merge pull request #50312 from WilliButz/grafana-backport
grafana: 5.3.2 -> 5.3.4 (backport)
2018-11-13 16:50:41 +01:00
WilliButz
559a34303f grafana: 5.3.2 -> 5.3.4
(cherry picked from commit ddd8f94051a452d35f463ad8927f6beae667d277)
2018-11-13 14:38:50 +01:00
nyanloutre
a97fe124c6 jackett: 0.10.420 -> 0.10.434
(cherry picked from commit 2ae0b2e19d)
2018-11-13 14:17:18 +01:00
R. RyanTM
57809e32fc jackett: 0.10.365 -> 0.10.420
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/jackett/versions

(cherry picked from commit 2af7527bd1)
2018-11-13 14:17:09 +01:00
Samuel Dionne-Riel
09dfd188bd Merge pull request #50268 from tokudan/ff6301
firefox-bin: 63.0 -> 63.0.1
2018-11-12 23:30:17 +00:00
Joachim F
d9d932fdd4 Merge pull request #50260 from pacien/release-18.09-youtube-dl-2018.11.07
youtube-dl: 2018.10.29 -> 2018.11.07 (release-18.09 backport)
2018-11-12 11:43:31 +00:00
Michael Raskin
b988f3ef58 firefox-bin: 63.0 -> 63.0.1
(cherry picked from commit 213407d471)
2018-11-12 11:31:33 +01:00
Valentin Heidelberger
297149bacb youtube-dl: 2018.10.29 -> 2018.11.07 2018-11-12 09:34:18 +01:00
Elis Hirwing
ee7b0dbaef gitea: 1.5.2 -> 1.5.3 (#50229)
Changelog: https://github.com/go-gitea/gitea/releases/tag/v1.5.3
(cherry picked from commit 090bd931e1)
2018-11-11 15:28:09 +01:00
Chris Ostrouchov
8cc5d3a84a pythonPackages.pep8: refactor move to python-modules, disable tests
We need to disable tests because of a tokenize change in python 3.6.7.

(cherry picked from commit 9c36906e1a)
2018-11-11 09:38:10 +01:00
Frederik Rietdijk
f148e894b3 python.pkgs.pycodestyle: fix building with python37
(cherry picked from commit a263ab4e5c)
2018-11-11 09:31:01 +01:00
Frederik Rietdijk
3d63c05ddf Revert "Merge staging-18.09 into release-18.09"
This reverts commit 3b2944dbcb, reversing
changes made to 496a23896f.

I wasn't aware we had a Hydra job for this. Looking at it now, it seems we
have a lot more failures, so I am reverting this merge.
2018-11-11 09:17:50 +01:00
Frederik Rietdijk
3b2944dbcb Merge staging-18.09 into release-18.09 2018-11-11 09:01:21 +01:00
Franz Pletz
496a23896f python27: add patch to fix CVE-2018-1000802
(cherry picked from commit ae3e9b5a27)
2018-11-11 09:01:08 +01:00
Silvan Mosberger
272d854642 Merge pull request #50214 from samueldr/18.09/python36
doc: Fixes default python interpreter.
2018-11-11 02:07:58 +01:00
Samuel Dionne-Riel
e30dda6092 doc: Fixes default python interpreter.
This is equivalent to the change in
a649f1c0cd, which cannot apply cleanly as
cherry-picked. The stable (18.09) nixpkgs still has python34.
2018-11-10 19:28:06 -05:00
Tim Steinbach
f9820a0a4b docker: Fix binary names
(cherry picked from commit 68c3e5f38b)
2018-11-10 19:26:38 -05:00
Tim Steinbach
88babf6209 linux: 4.4.162 -> 4.4.163
(cherry picked from commit fb44ed79d22c88145132f49c0747def014528b68)
2018-11-10 16:12:57 -05:00
Tim Steinbach
abc2258c34 linux: 4.9.135 -> 4.9.136
(cherry picked from commit 98b6ecace1eea344987f6f942e88e550825f4aca)
2018-11-10 16:12:56 -05:00
Tim Steinbach
bb62b4987b linux: 4.14.79 -> 4.14.80
(cherry picked from commit e64068cdbfe0a5d6543da6986376763e3d588711)
2018-11-10 16:12:56 -05:00
Tim Steinbach
dfc0a358c4 linux: 4.18.17 -> 4.18.18
(cherry picked from commit a1cc1c89a9de5a3fe27d88558b279a48e0efb7cd)
2018-11-10 16:12:55 -05:00
Vladimír Čunát
9110d40d20 Merge branch 'release-18.09' into staging-18.09 2018-11-10 20:25:46 +01:00
Renaud
f99bab3e61 Merge pull request #50200 from c0bw3b/sec/1809/pdns
[18.09]  powerdns: 4.1.4 -> 4.1.5 /  pdns-recursor: 4.1.3 -> 4.1.7
2018-11-10 20:01:26 +01:00
Renaud
619efcc0e5 pdns-recursor: 4.1.4 -> 4.1.7
PowerDNS Security Advisory 2018-04 (CVE-2018-10851)
PowerDNS Security Advisory 2018-06 (CVE-2018-14626)
PowerDNS Security Advisory 2018-07 (CVE-2018-14644)

(cherry picked from commit 02693e327a)
2018-11-10 18:48:03 +01:00
Michele Guerini Rocco
ddb12efaa0 pdns-recursor: 4.1.3 -> 4.1.4 (#45984)
(cherry picked from commit ca850897c8)
2018-11-10 18:47:44 +01:00
R. RyanTM
166a3d5551 powerdns: 4.1.4 -> 4.1.5
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/powerdns/versions

(cherry picked from commit 08cd9b812b)
2018-11-10 18:42:57 +01:00
Robert Schütz
bb72473b5b home-assistant: mark as insecure 2018-11-10 14:08:28 +01:00
Samuel Dionne-Riel
aa8c4f38ea Merge pull request #48806 from bgamari/nixos-18.09-ghc-8.4.4
[18.09] ghc: add new 8.4.4 version
2018-11-10 02:34:47 +00:00
Samuel Dionne-Riel
141f63c29b Merge pull request #49387 from tazjin/chore/backport-doc-comments
Backport documentation comment changes to release-18.09
2018-11-10 02:33:51 +00:00
Samuel Dionne-Riel
06834f7262 Merge pull request #49491 from jokogr/u-18.09/lxd-3.0.2
[18.09] lxd 3.0.0 -> 3.0.2
2018-11-10 02:13:50 +00:00
Samuel Dionne-Riel
611808937a Merge pull request #49586 from periklis/backport-uriparser-18.09
uriparser: 0.9.0 backport to 18.09
2018-11-10 02:02:48 +00:00
Renaud
e97b663dba Merge pull request #49851 from samueldr/auto/dbeaver/nixos-18.09/5.2.4
dbeaver: 5.2.2 -> 5.2.4 (18.09)
2018-11-09 10:15:28 +01:00
Renaud
7438211aaa Merge pull request #49954 from c0bw3b/1809/nixos/gitea
[18.09] nixos/gitea: fix mysql issue, add mysql socket auth, and add a nixos test
2018-11-09 00:25:13 +01:00
Aaron Andersen
369df5d24a nixos/gitea: add a nixos test to ensure the initial database migration succeeds so the application can start
(cherry picked from commit 0dde47a58a)
2018-11-08 23:53:25 +01:00
Aaron Andersen
c66f5d2219 nixos/gitea: add mysql socket authentication as an option
(cherry picked from commit 3ed52c7804)
2018-11-08 23:53:06 +01:00
Aaron Andersen
4cfa83f556 nixos/gitea: fix systemd after target when mysql is the database of choice
(cherry picked from commit 0bbb6f4f2a)
2018-11-08 23:52:04 +01:00
Domen Kožar
7819700bad Add chrome-token-signing
(cherry picked from commit 068374c0ae)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-08 18:06:24 +00:00
Tim Steinbach
deedc8803e docker: 18.06.1 -> 18.09
(cherry picked from commit f15af0047a381dd272155cf35c451d9cc8c07c69)
2018-11-08 08:40:39 -05:00
Domen Kožar
094ff6cf6a qdigidoc: 3.13.6 -> 4.1.0
(cherry picked from commit e854a7a72f)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-08 11:43:05 +00:00
Domen Kožar
43a0cfbe05 libdigidocpp: 3.13.6 -> 3.13.7
(cherry picked from commit ad521a2757)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-08 11:42:55 +00:00
Timo Kaufmann
56090c4151 Merge pull request #49888 from timokau/numpy-high-cpu-fix
numpy: fix high cpu count bug
2018-11-08 12:00:12 +01:00
Robert Hensing
4fd4f5c80d acsccid: init at 1.1.6
(cherry picked from commit 9dd7fde27f73b3ff3ecd34a2d0ffedf1aa3a82ce)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-08 10:58:28 +00:00
Tim Steinbach
3715dd31d6 subversion: 1.9.7 -> 1.9.9
(cherry picked from commit 1cfc2427c8)
2018-11-07 20:26:50 -05:00
Tim Steinbach
8764ecc478 subversion: init 1.11.0
(cherry picked from commit 451126ea6e)
2018-11-07 20:26:50 -05:00
Tim Steinbach
a4c4cbb613 gradle: 4.10 -> 4.10.2
(cherry picked from commit c1d9f57dcc)
2018-11-07 20:13:53 -05:00
Tim Steinbach
be8258fdc2 kotlin: 1.2.71 -> 1.3.0
(cherry picked from commit 619c39e5c9)
2018-11-07 20:13:30 -05:00
R. RyanTM
27405f9b87 kotlin: 1.2.70 -> 1.2.71
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/kotlin/versions

(cherry picked from commit 9d8e0819aa)
2018-11-07 20:13:30 -05:00
R. RyanTM
dd6e06b54a kotlin: 1.2.61 -> 1.2.70
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/kotlin/versions

(cherry picked from commit 4eb077bed7)
2018-11-07 20:13:29 -05:00
Tim Steinbach
b20d58f9bb ammonite: 1.2.1 -> 1.4.2
(cherry picked from commit dd46b1adb6)
2018-11-07 20:12:47 -05:00
R. RyanTM
199d87e68d ammonite: 1.2.0 -> 1.2.1
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/ammonite/versions

(cherry picked from commit 8cf1f60fa3)
2018-11-07 20:12:46 -05:00
Oscar Vargas Torres
b5ceebb306 ammonite: 1.1.2 -> 1.2.0
(cherry picked from commit 08b8923774)
2018-11-07 20:12:46 -05:00
Tim Steinbach
e2cf9127aa oh-my-zsh: 2018-09-19 -> 2018-11-02
(cherry picked from commit 072b2b86b0)
2018-11-07 20:11:57 -05:00
lassulus
2eddede86f dwarf-fortress: fix theme override
(cherry picked from commit 0cd1e6732d)
2018-11-08 02:01:12 +01:00
Timo Kaufmann
0d2483f059 numpy: fix high cpu count bug 2018-11-07 22:28:41 +01:00
Matthew Bauer
a8ff261660 darwin-tested: remove firefox from blocking jobs
It’s broken in the latest run and I don’t think anyone needs it right
now. Hopefully can be fixed for 19.03.
2018-11-07 12:57:13 -06:00
R. RyanTM
7cf572d87a pcsclite: 1.8.23 -> 1.8.24
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/pcsclite/versions

(cherry picked from commit f174ae0f4f8c594624b34dc2fc77fe3755e785fb)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-07 18:26:32 +00:00
Samuel Dionne-Riel
f8dc3f1416 Merge pull request #49832 from 1000101/backport-release-18.09
[18.09] backport trezord: 2.0.19 -> 2.0.24
2018-11-07 16:43:45 +00:00
Timo Kaufmann
bd151c9448 Merge pull request #49874 from rafaelgg/release-18.09
flashplayer: add libglvnd dep
2018-11-07 17:31:28 +01:00
Rafael García Gallego
e92a04197a flashplayer: add libglvnd dep
(cherry picked from commit ded5faa82e)
2018-11-07 17:02:33 +01:00
Florian Klink
1349894743 lark-parser: 2017-12-18 -> 0.6.5
This bumps lark-parser to a released version that doesn't loop forever
and consumes all memory on certain grammars.

erezsh/lark redirects now to lark-parser/lark, so also update homepage.

(cherry picked from commit becf8879f4)
2018-11-07 11:30:52 +01:00
Samuel Dionne-Riel
72ab1b44a1 dbeaver: 5.2.2 -> 5.2.4
(cherry picked from commit fada4e87b8)
2018-11-06 21:59:48 -05:00
Samuel Dionne-Riel
cf597f0926 Merge pull request #49820 from srhb/1809-backport-nix-213
18.09: backport nix 2.1.1 -> 2.1.2 -> 2.1.3
2018-11-07 02:23:26 +00:00
sveitser
6141829459 nixos/jupyter: wait for network.target
(cherry picked from commit 13892da3e7)
2018-11-06 20:46:07 +01:00
Russell O'Connor
e0be1f6c2e trezord: 2.0.19 -> 2.0.24
(cherry picked from commit 10c56c5cfb)
2018-11-06 16:11:26 +01:00
Eelco Dolstra
9f2e2ee638 nix: 2.1.2 -> 2.1.3
(cherry picked from commit 2c9265c950)
2018-11-06 12:15:27 +01:00
Eelco Dolstra
4a03292016 nix: 2.1.1 -> 2.1.2
(cherry picked from commit 869f615ff4)
2018-11-06 12:15:25 +01:00
Aaron Andersen
1c0d935fd0 filesystems: escape spaces in fstab with \040
(cherry picked from commit 36d695f696)
2018-11-06 11:09:47 +00:00
Robert Schütz
32958da2c3 radicale: 2.1.10 -> 2.1.11
(cherry picked from commit 28a6927637)
2018-11-06 11:12:32 +01:00
Samuel Dionne-Riel
6d6e4e6b55 Merge pull request #49328 from c0bw3b/nixos/gc-release
[18.09] installation-device: set GC initial heap size to 1MB
2018-11-06 00:53:46 +00:00
lassulus
0c774fa8c6 dwarf-fortress: fix most of customization options
see #49779
close #49803

(cherry picked from commit 290dd06d14)
2018-11-06 01:03:00 +01:00
John Ericson
4507926b80 Merge pull request #49800 from obsidiansystems/bump-all-cabal-hashes-18.09
all-cabal-hashes: Update all-cabal-hashes in 18.09 to match Nixpkgs master
2018-11-05 14:52:41 -05:00
Peter Simons
32124db7d2 all-cabal-hashes: update to Hackage at 2018-11-02T16:36:33Z
(cherry picked from commit f648605b4e)
2018-11-05 14:27:52 -05:00
Peter Simons
b5b3e8ca1f all-cabal-hashes: update snapshot to Hackage at 2018-10-22T08:31:54Z
(cherry picked from commit 8089b93697)
2018-11-05 14:27:52 -05:00
Peter Simons
26527be691 all-cabal-hashes: update to Hackage at 2018-10-08T09:07:42Z
(cherry picked from commit b5f43fa04e)
2018-11-05 14:27:51 -05:00
Peter Simons
314e480750 all-cabal-hashes: update to Hackage at 2018-09-27T00:15:48Z
(cherry picked from commit 0af54ac670)
2018-11-05 14:27:51 -05:00
Peter Simons
c20d3110aa all-cabal-hashes: update snapshot to Hackage at 2018-09-18T11:13:20Z
(cherry picked from commit 89972ff45f)
2018-11-05 14:27:51 -05:00
John Ericson
a13b603e5e Merge pull request #49796 from obsidiansystems/fix-pkgsFor
release-lib: Fix `pkgsFor` for 18.09
2018-11-05 14:18:32 -05:00
Falco Peijnenburg
bf7930d582 haskellPackages.*.env: Fixed shellHook being ignored
The problem was introduced in 2bafa93b75

(cherry picked from commit 0ff9a7a2cd)
2018-11-04 19:36:25 +01:00
Michael Raskin
6ea2f786b8 Merge pull request #49606 from Ekleog/synapse-0.33.8-b18.09
matrix-synapse: 0.33.6 -> 0.33.8
2018-11-04 17:29:35 +00:00
Tim Steinbach
84c2e99546 linux: 4.14.78 -> 4.14.79
(cherry picked from commit bd636c897724c4c26171a8486c153c37c2a38eac)
2018-11-04 11:45:57 -05:00
Tim Steinbach
8c8d0cdc65 linux: 4.18.16 -> 4.18.17
(cherry picked from commit 4eade6749d2777dd82fd6e279209a1d91482c490)
2018-11-04 11:45:57 -05:00
Léo Gaspard
139fd45a8e matrix-synapse: 0.33.6 -> 0.33.8
Also reworked dependencies:
 * blist and ujson are marked as no longer needed
 * pytz has no mention throughout `git log -p` on synapse's repository
 * systemd and affinity are optional (but turned on by default)

(cherry picked from commit bb86056575)
2018-11-04 23:40:16 +09:00
Vladimír Čunát
35151f695e Merge #49747: gnome3.mutter: fix crash on startup
... with nvidia drivers.
2018-11-04 15:09:28 +01:00
Austin Seipp
cc39474fd0 timescaledb: fix license (Apache 2.0, not PostgreSQL)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit b0f7c86094)
2018-11-04 07:31:31 -06:00
Andrew Childs
3845a4ce15 gnome3.mutter: fix crash on startup with nvidia drivers
(cherry picked from commit e2e23ddd89)
2018-11-04 21:51:24 +09:00
Andreas Rammhold
faa179da40 Merge pull request #49589 from schmittlauch/jedi-vim-18.09
vimPlugins: add jedi-vim plugin
2018-11-04 13:19:38 +01:00
Robin Gloster
9ea650bb5d gitlab module: fix config handling
There could be old *.rb files in the config directory that import
non-existant gems that would cause errors in the rake task.

(cherry picked from commit eadb998581)
2018-11-04 00:28:21 +01:00
Florian Klink
386ff58ba3 gitlab: 11.4.3 -> 11.4.4
SSRF in Kubernetes integration
The GitLab Kubernetes integration was vulnerable to a SSRF issue which could allow an attacker to make requests to access any internal URLs. The issue is now mitigated in the latest release and is assigned CVE-2018-18843.

(cherry picked from commit 9e491f732a)
2018-11-03 18:20:03 +01:00
Robin Gloster
91844280a5 gitlab: refactor and fix test
(cherry picked from commit ec7cb84bf0)
2018-11-03 18:20:03 +01:00
Renaud
fb9d531efe Merge pull request #49697 from c0bw3b/sec/ansible
[18.09] ansible: 2.5.2 -> 2.5.11 and 2.6.2 -> 2.6.7
2018-11-03 17:28:44 +01:00
Vladimír Čunát
98c1150f2c systemd: apply patches from Debian
There are some security fixes among those.
2018-11-03 17:11:01 +01:00
Vladimír Čunát
0744358a7e Revert "systemd: 239 -> 239.20181031"
This reverts commit d1de23b830.
The changes turned out to be too intrusive, so we'll patch instead.
2018-11-03 17:11:00 +01:00
Vladimír Čunát
5b94195d21 Merge #49677: thunderbird*: 60.2.1 -> 60.3.0
Critical security fixes.

(cherry picked from commit f3cca2f83c)
2018-11-03 17:10:44 +01:00
Thilo Uttendorfer
9eb6e66420 ansible_2_6: 2.6.2 -> 2.6.7
(cherry picked from commit e63509a651)
2018-11-03 16:58:49 +01:00
Thilo Uttendorfer
fba092f238 ansible_2_5: 2.5.2 -> 2.5.11
(cherry picked from commit de8a3e3125)
2018-11-03 16:57:53 +01:00
Sergei Khoma
0f4978267a fix typo
based on https://www.ec2instances.info/

(cherry picked from commit c4cad45082)
2018-11-03 16:05:59 +01:00
Michael Raskin
dbda176a4c Merge pull request #48827 from clefru/gvfs-fix
gvfs: Fix-up paths to gio binary
2018-11-02 14:24:01 +00:00
Rickard Nilsson
686151998e nixos/google-compute-image: Fix network service
The google-network-daemon service should have type `simple`. (type
`oneshot` makes the service hang in startup).

See d48fc3a5e2/google_compute_engine_init/systemd/google-network-daemon.service (L10)

(cherry picked from commit c010c7547c9926dc5a235ff733a43747d34899dd)
2018-11-02 14:38:41 +01:00
Domen Kožar
46effdb883 chromium: use jumbo builds to speedup compilation
On Hetzner machine with 1 core: 4h40m
On Hetzner machine with 8 cores: 1h20m

(cherry picked from commit 89ede978a0)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-02 10:15:31 +00:00
Peter Simons
1f54d5f166 ghc: add new 8.4.4 version
(cherry picked from commit 069bf7aee3)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-11-02 10:14:34 +00:00
aszlig
13cd588afa nixos/tests/chromium: Fix sandbox info matching
As reported by @andir, the regular expressions that match the sandbox
output are no longer matching in the recent Chromium bump as of
bb03fbc2c8.

Instead of a boolean field that determines whether namespace sandboxes
are on, the namespace sandbox is now an enum within "Layer 1 Sandbox".

I've modified the regular expressions accordingly and also ran the test
for the stable branch, which now succeeds.

Signed-off-by: aszlig <aszlig@nix.build>
Issue: https://github.com/NixOS/nixpkgs/issues/49442
Cc: @bendlas, @andir
(cherry picked from commit 73cdd5a476)
2018-11-02 10:25:01 +01:00
Michael Raskin
9660896ecd Merge pull request #49563 from zarelit/ntp_upstream_patch_bp
[18.09] ntp: fix ntpd shutdown by using upstream patch
2018-11-02 08:11:44 +00:00
Periklis Tsirakidis
4292214c0a uriparser: 0.8.6 -> 0.9.0
(cherry picked from commit 2783ca5de4)
Reason: Provides security fixes for the 0.8.x branch.
2018-11-02 08:22:15 +01:00
Periklis Tsirakidis
ff43959e75 gtest: Use native cmake/ninja builder
Clean up the expression and add pkgconfig support

(cherry picked from commit 9ac64e5bb6)
Reason: Pre-Requisite to backport uriparser 0.9.0, which patches
security issues of the 0.8.x branch.
2018-11-02 08:21:33 +01:00
R. RyanTM
d97645057f gmock: 1.8.0 -> 1.8.1 (#46273)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
gtest

(cherry picked from commit 9cfbcc28d0)
Reason: Pre-Requisite to backport uriparser 0.9.0, which patches
security issues of the 0.8.x branch.
2018-11-02 08:20:43 +01:00
Franz Pletz
f71cc5f744 strongswan: patch CVE-2018-16151 & CVE-2018-16152 2018-11-02 03:14:18 +01:00
R. RyanTM
a9c8e66bde wireshark: 2.6.3 -> 2.6.4
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/wireshark-qt/versions

(cherry picked from commit 77d29e5f06)

Security fixes: https://www.wireshark.org/docs/relnotes/wireshark-2.6.4.html
2018-11-02 03:00:53 +01:00
Will Dietz
a57d03fcc3 teeworlds: 0.6.4 -> 0.6.5
This release adds support for building with cmake!
So switch to that eagerly instead of fighting with bam.

(if nothing else cmake is the devil we know...)

Also:

* fixup 'DATA_DIR' so programs can find resources
  (without need for wrappers)
* install readme+license as previously done ("docs")
* don't install tools since not built or installed by default
  * esp since doesn't appear to have non-adhoc method for installation
  * other distros don't seem to include

(cherry picked from commit 18258bae34)

Fixes CVE-2018-18541.
2018-11-02 02:49:23 +01:00
Franz Pletz
16087d8836 tomcat_connectors: 1.2.41-dev-1613051 -> 1.2.46
Fixes CVE-2018-11759, CVE-2018-1323, CVE-2016-6808.

(cherry picked from commit 9fe0e57d9d)
2018-11-01 22:38:11 +01:00
Uli Baum
394ca68424 Revert "virtualgl-lib: fix broken startup script (#49185)"
This reverts commit c341f56928.

See #49611.
2018-11-01 22:08:13 +01:00
Franz Pletz
23218a80a3 icecast: 2.4.3 -> 2.4.4
Fixes CVE-2018-18820.

(cherry picked from commit 24d6c0dbde)
2018-11-01 21:49:58 +01:00
John Ericson
d9934979f0 Merge pull request #49566 from obsidiansystems/release-lib-cleanup
release-lib: Cache cross nixpkgs evals too, and other fixes, for 18.09
2018-11-01 16:46:22 -04:00
Trolli Schmittlauch
18d3332147 vim-plugins: add jedi-vim plugin
This plugin needs python3 support in vim, but no other addon seems to
care about verifying that vim is built accordingly, so I don't do that
as well.
2018-11-01 15:24:20 +01:00
Franz Pletz
d1de23b830 systemd: 239 -> 239.20181031
Fixes CVE-2018-15688 and updates latest upstream stable v239 branch.

See https://github.com/NixOS/systemd/pull/24 for details.

Co-authored-by: Andreas Rammhold <andreas@rammhold.de>
(cherry picked from commit a7912ecc85)
2018-11-01 11:25:59 +01:00
Tristan Helmich (omniIT)
b1e74c01f6 sc-controller: 0.4.4 -> 0.4.5
(cherry picked from commit 0459a8c8db)
Backport of #49543
2018-11-01 09:32:16 +01:00
John Ericson
89fb76c51c Merge pull request #49568 from obsidiansystems/arm-auto-detect
lib.systems.platforms: Add more ARM autodetection for 18.09
2018-10-31 21:21:30 -04:00
David Costa
3f06ebf426 ntp: fix ntpd shutdown by using upstream patch
After a series of amendments the seccomp.patch made ntpd work properly
but only on 32-bit systems.
This commit replaces that patch with the one submitted upstream by
cleverca22 and that fixes the issue also on 64-bit systems.

Close #38627, #45885

(cherry picked from commit 6759b7900e)
2018-10-31 23:13:15 +00:00
Timon Stampfli
1f4c8583ea openjpeg: adding patch for CVE-2018-7648 2018-10-31 20:33:18 +01:00
R. RyanTM
c7dc8ec572 riot-web: 0.16.2 -> 0.16.5
(cherry picked from commit 34e8009dcb)
2018-10-31 16:49:08 +01:00
R. RyanTM
65e85c8e5b riot-web: 0.16.0 -> 0.16.2 (#46190)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
riot-web

(cherry picked from commit 57062f9072)
2018-10-31 16:49:08 +01:00
Thilo Uttendorfer
85ad2d0b02 nginxMainline: 1.15.3 -> 1.15.5 (#48127)
(cherry picked from commit 205b3d94e1)
2018-10-31 16:49:08 +01:00
Timo Kaufmann
47c4afa2a6 Merge pull request #49523 from timokau/youtube-dl-backport
youtube-dl: backports
2018-10-31 15:58:57 +01:00
Jörg Thalheim
ea30555a03 Revert "tinc: remove unnecessary networking.interfaces"
This reverts commit cde886e7c6.
This broke users using networking.interfaces since the interface
is not up when configuring addresses: https://github.com/NixOS/nixpkgs/issues/27070#issuecomment-434704624
2018-10-31 14:33:15 +00:00
Timo Kaufmann
3592ebe5f2 youtube-dl: 2018.10.05 -> 2018.10.29
(cherry picked from commit 6ff17834db)
2018-10-31 14:42:00 +01:00
Philip Nelson
9e41ec1fdb youtube-dl: 2018.09.26 -> 2018.10.05 (#47940)
(cherry picked from commit 3a0fbe3cbe)
2018-10-31 14:38:59 +01:00
nyanloutre
dbc3b8de4f youtube-dl: 2018.09.18 -> 2018.09.26
(cherry picked from commit 967baedc2a)
2018-10-31 14:38:51 +01:00
Valentin Heidelberger
ebd4599259 youtube-dl: 2018.09.10 -> 2018.09.18 (#47151)
(cherry picked from commit 4a68689bb4)
2018-10-31 14:38:39 +01:00
AndersonTorres
b4fc0d9118 youtube-dl: 2018.08.04 -> 2018.09.10
(cherry picked from commit 74047ea686)
2018-10-31 14:38:21 +01:00
Edmund Wu
bdfaa0a4d8 vscode-extensions.ms-vscode.cpptools: update build (#48850)
(cherry picked from commit e96d14d177)
2018-10-30 21:19:40 +00:00
Ioannis Koutras
1a4a9da49e lxd: 3.0.0 -> 3.0.2
(cherry picked from commit ab62fe9108)
2018-10-30 23:06:24 +02:00
Ioannis Koutras
94ffbb5a4a dqlite: initialize at 0.2.4
(cherry picked from commit 891277e6a9)
2018-10-30 23:06:23 +02:00
Ioannis Koutras
1bbe592f5b sqlite-replication: initialize at 3.24.0+replication3
(cherry picked from commit bf39304e53)
2018-10-30 23:06:23 +02:00
Michael Weiss
75836e72fd Merge pull request #49482 from primeos/signal-desktop-backport
[18.09] Backport signal-desktop

Reason: The current version (1.15.5) will expire soon (2018-11-14).
2018-10-30 20:46:39 +01:00
John Ericson
5fe3360114 Merge pull request #49479 from obsidiansystems/haskell-shell-completions
haskell-lib: Factor out shell completion scripts helper for 18.09
2018-10-30 15:25:06 -04:00
Michael Weiss
ffebc0bfd0 signal-desktop: 1.17.1 -> 1.17.2
(cherry picked from commit 46f5debb94)
2018-10-30 20:11:20 +01:00
Michael Weiss
f3d906c66b signal-desktop: 1.17.0 -> 1.17.1
(cherry picked from commit 6021a94062)
2018-10-30 20:11:20 +01:00
Michael Weiss
95a7e4912f signal-desktop: 1.16.3 -> 1.17.0
(cherry picked from commit f346289ea6)
2018-10-30 20:11:19 +01:00
Michael Weiss
18766e3fb2 signal-desktop: 1.16.2 -> 1.16.3
(cherry picked from commit 5edc1dd7a8)
2018-10-30 20:11:19 +01:00
tobiasBora
73a1b48f64 signal-desktop: enable notifications
(cherry picked from commit 820e1caf86)
2018-10-30 20:11:19 +01:00
Michael Weiss
2cbe9f990c signal-desktop: 1.16.1 -> 1.16.2
(cherry picked from commit a526719184)
2018-10-30 20:11:19 +01:00
Michael Weiss
21e9b2e499 signal-desktop: 1.16.0 -> 1.16.1
(cherry picked from commit 3410dcd90e)
2018-10-30 20:11:19 +01:00
Michael Weiss
8558acb575 signal-desktop: 1.15.5 -> 1.16.0
(cherry picked from commit 7c1b85cf6d)
2018-10-30 20:11:18 +01:00
adisbladis
65852ff2f8 firefox-beta-bin: 62.0b20 -> 64.0b5 2018-10-30 18:37:03 +00:00
adisbladis
f724b7ab8b firefox-devedition-bin: 62.0b20 -> 64.0b5 2018-10-30 18:36:09 +00:00
markuskowa
c341f56928 virtualgl-lib: fix broken startup script (#49185)
Replace /bin/sh with bash in vglrun.
'exec' fails with /bin/sh

(cherry picked from commit efd3f8b57f)
2018-10-30 16:19:25 +01:00
Eelco Dolstra
47ae5861de nixUnstable: 2.2pre6520_18b4c53f -> 2.2pre6526_9f99d624
(cherry picked from commit 81b2bfaf36)
2018-10-30 16:17:42 +01:00
Shea Levy
cbffbb1bae nixUnstable: 2.1pre6377_954d1f4d -> 2.2pre6520_18b4c53f
(cherry picked from commit bd7e0aec71)
2018-10-30 16:17:38 +01:00
Lassulus
f4deae935d nixos/bitlbee: use purple-2 as purple_plugin_path (#49440)
(cherry picked from commit 334dd6f964)
2018-10-30 15:39:28 +01:00
volth
c42d8f770d [cpan2nix] perlPackages.NetAmazonS3: 0.84 -> 0.85
dependencies:
perlPackages.TestLoadAllModules: init at 0.022

(cherry picked from commit f32975e3fd)
2018-10-30 15:04:05 +01:00
Jörg Thalheim
1855a92cea SenchaCmd: 6.5.3.6 -> 6.6.0.13
This package is internally used by rambox

(cherry picked from commit 9d9f7d27a1)
2018-10-30 13:33:07 +00:00
Jörg Thalheim
0cfdeb3baf rambox: fix crash when native filesystem dialogs are created
(cherry picked from commit ac8acb283c)
2018-10-30 13:33:07 +00:00
Jaka Hudoklin
f62293e343 google-cloud-sdk: 215.0.0 -> 222.0.0
(cherry picked from commit 7df72ad928)
2018-10-30 10:38:14 +00:00
Moritz Ulrich
6e5f7e6c3a google-cloud-sdk: 206.0.0 -> 215.0.0
(cherry picked from commit d710765f52)
2018-10-30 10:38:14 +00:00
Eric Wolf
227cf39e0c nixos/release-notes for 18.09: fix missing entry
- the addition of the groups kvm and render breaks the configuration of
   users, which added them

(cherry picked from commit 30d2792091)
2018-10-30 10:23:44 +00:00
Stefan Siegl
960c147321 tomboy: build against mono 5, refs #49369
(cherry picked from commit 74cfbd63e1)
2018-10-30 10:17:12 +00:00
David Costa
af7d54e972 crystal: fix "play" subcommand (#49422)
(backport of commit 473c890034)
2018-10-30 00:36:48 +01:00
R. RyanTM
68cf714d23 matomo: 3.6.0 -> 3.6.1
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/matomo/versions

(cherry picked from commit d4029e7935)
2018-10-30 00:17:04 +01:00
Robin Gloster
bf392fec56 gitlab: 11.4.0 -> 11.4.3
(cherry picked from commit 3aec530964)
2018-10-29 20:42:50 +01:00
R. RyanTM
d5814e22dc clamav: 0.100.1 -> 0.100.2
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/clamav/versions

(cherry picked from commit b249bcc7b4)
2018-10-29 18:05:30 +01:00
Florian Klink
ec6af332b4 Merge pull request #49240 from flokli/layered-docker-images-18.09
[18.09] layered docker images
2018-10-29 14:25:08 +00:00
Vincent Ambo
acb1efb8d7 lib/options: Update documentation comments for docs generation
Documents functions in `lib.options` for docs generation with nixdoc.

The formatting change in the `mkOption` arguments is due to the way
`nixdoc` parses documentation comments on pattern arguments. It's not
ideal, but it works.
2018-10-29 12:38:30 +01:00
Vincent Ambo
a53c60db51 lib/debug: Update documentation comments for docs generation
Documents functions in `lib.debug` for docs generation with nixdoc.

Note that type signatures and clearer descriptions are still missing
on some of these functions, but this is good enough for a first run.
2018-10-29 12:32:35 +01:00
Vincent Ambo
20d8273eb7 lib/lists: Update documentation comments for doc generation
Updates documentation comments with extra information for nixdoc[1]
compatibility.

[1]: https://github.com/tazjin/nixdoc
2018-10-29 12:32:30 +01:00
Vincent Ambo
34cd613eaf lib/strings: Update documentation comments for doc generation
Updates documentation comments with extra information for nixdoc[1]
compatibility.

Some documentation strings have additionally been reworded for
clarity.

"Faux types" are added where applicable, but some functions do things
that are not trivially representable in the type notation used so they
were ignored for this purpose.

[1]: https://github.com/tazjin/nixdoc
2018-10-29 12:32:26 +01:00
Vincent Ambo
09772db18f lib/trivial: Update function comments for doc generation
Expands on some of the function comments and add some of the
special syntaxes recognised by nixdoc.
2018-10-29 12:32:22 +01:00
Alyssa Ross
74fe437075 bb: add Darwin compatibility
It even has working sound, unlike on Linux!

(cherry picked from commit c49aa0d0df)
2018-10-29 11:22:21 +00:00
Alyssa Ross
dc98e149d0 libmikmod: remove duplicate libpulseaudio dep
This is already included as a propagatedBuildInput, so no need to have
it also be a buildInput.

(cherry picked from commit 4807e04283)
2018-10-29 11:22:11 +00:00
Limbo Peng
32c258d1f7 httping: add libintl to buildInputs on Darwin (#48188)
* httping: add libintl to buildInputs on Darwin

Otherwise it won't compile.

* httping: fix URLs

(cherry picked from commit 9f8b40c2de)
2018-10-29 11:19:04 +00:00
Tobias Pflug
5e5252c5a8 bats: add missing grep dependency
(cherry picked from commit 8284f09dcd)
2018-10-29 11:17:01 +00:00
Daiderd Jordan
38e4922373 loc: enable darwin build
It works fine there and probably other unix platforms.

(cherry picked from commit 561fb30ac6)
2018-10-29 11:13:56 +00:00
Daiderd Jordan
6092f3e87e yarn: add platforms (#48912)
(cherry picked from commit d0544a355b)
2018-10-29 11:10:23 +00:00
Timo Kaufmann
8126ce7e45 Merge pull request #49249 from timokau/sage-fix-attrname-18.09
sage: fix attrname, add sagemath alias (18.09)
2018-10-29 10:08:04 +01:00
Jörg Thalheim
c05b365541 mono44: mark as insecure 2018-10-28 23:01:17 +00:00
aki-ks
186adedc6f jetbrains.idea-ultimate: 2018.2.4 -> 2018.2.5 2018-10-28 22:28:58 +00:00
aki-ks
b582c29032 jetbrains.idea-community: 2018.2.4 -> 2018.2.5 2018-10-28 22:28:52 +00:00
Edward Tjörnhammar
381a6a9bb9 jetbrains.pycharm-professional: 2018.2.3 -> 2018.2.4
(cherry picked from commit f9c4a74b73)
2018-10-28 22:27:37 +00:00
Edward Tjörnhammar
9200307e02 jetbrains.pycharm-community: 2018.2.3 -> 2018.2.4
(cherry picked from commit feb57bc9b9)
2018-10-28 22:27:32 +00:00
Edward Tjörnhammar
2852b60839 jetbrains.goland: 2018.2.2 -> 2018.2.3
(cherry picked from commit 546dfb51a6)
2018-10-28 22:27:28 +00:00
Edmund Wu
f237eaf83d jetbrains.webstorm: 2018.2.2 -> 2018.2.3
(cherry picked from commit 4b1e3376d1)
2018-10-28 22:27:23 +00:00
Edmund Wu
c144876ecb jetbrains.ruby-mine: 2018.2.1 -> 2018.2.2
(cherry picked from commit 9b69a2520a)
2018-10-28 22:27:17 +00:00
Edmund Wu
97ae532b92 jetbrains.rider: 2018.2 -> 2018.2.3
(cherry picked from commit 88692dd376)
2018-10-28 22:26:31 +00:00
Edmund Wu
a156a78af6 jetbrains.pycharm-professional: 2018.2.2 -> 2018.2.3
(cherry picked from commit 3bc77e5977)
2018-10-28 22:26:24 +00:00
Edmund Wu
56579fd8e9 jetbrains.pycharm-community: 2018.2.2 -> 2018.2.3
(cherry picked from commit b30e64bb8a)
2018-10-28 22:26:20 +00:00
Edmund Wu
3d950f0502 jetbrains.phpstorm: 2018.2.2 -> 2018.2.3
(cherry picked from commit 6f78c882da)
2018-10-28 22:26:16 +00:00
Edmund Wu
9c1347c08b jetbrains.idea-ultimate: 2018.2.2 -> 2018.2.4
(cherry picked from commit 7ce6836e95)
2018-10-28 22:26:12 +00:00
Edmund Wu
d291ab8993 jetbrains.idea-community: 2018.2.2 -> 2018.2.4
(cherry picked from commit e2ff1bceb3)
2018-10-28 22:26:08 +00:00
Edmund Wu
388622dcc5 jetbrains.goland: 2018.2.1 -> 2018.2.2
(cherry picked from commit 397215b8b6)
2018-10-28 22:26:04 +00:00
Edmund Wu
f3d84b108c jetbrains.datagrip: 2018.2.2 -> 2018.2.4
(cherry picked from commit 0174f259ac)
2018-10-28 22:25:58 +00:00
Edmund Wu
0e85365ae9 jetbrains.clion: 2018.2.2 -> 2018.2.4
(cherry picked from commit 98fe28e5ab)
2018-10-28 22:25:52 +00:00
Silvan Mosberger
b8fc97b9e4 Merge pull request #49363 from nyanloutre/steam-update-18-09
[18.09] Steam update
2018-10-28 22:12:11 +01:00
Patrick Hilhorst
21286962a7 steam: ran update-runtime.py
(cherry picked from commit 714b6e3d17)
2018-10-28 22:04:04 +01:00
Patrick Hilhorst
29247ba14f steam: made update-runtime.py nicer
(cherry picked from commit 7c2b6b0afe)
2018-10-28 22:04:03 +01:00
Jörg Thalheim
894dc671df Merge pull request #49357 from Mic92/plasma-backport
nixos/plasma5: disable ocr tests
2018-10-28 20:34:32 +00:00
Silvan Mosberger
a6d1dcfc34 Merge pull request #49335 from bjpbakker/release-18.09
[18.09] xorg.xf86videovmware: fix for GFX support
2018-10-28 21:05:38 +01:00
Jörg Thalheim
708bdc99e1 nixos/plasma5: disable ocr tests
This is brittle and breaks the test
2018-10-28 19:59:52 +00:00
Sarah Brofeldt
8fa0017d04 Merge pull request #49297 from johanot/kubernetes-1.11.4
kubernetes: 1.11.3 -> 1.11.4
2018-10-28 16:16:38 +01:00
Bart Bakker
1264470950 xorg.xf86videovmware: fix for GFX support
Fix the mesa dependency for `xorg.xf86videovmware`. Add `llvm_6` because
`mesa_noglu` has a runtime dependency on clang (see TODO in
`development/libraries/mesa`).
2018-10-28 12:29:17 +01:00
Renaud
09740d8404 installation-device: set GC initial heap size to 1MB
100000 (100kB) is too aggressive (too low) and gets ignored by the GC
Fixes #43339
2018-10-28 11:18:43 +01:00
Timo Kaufmann
d9e7a831f8 sage: add sagemath alias
Sage is commonly referred to as sagemath (probably to improve
searchability). Many other distors call their package sagemath.

(cherry picked from commit 80833d13fe)
2018-10-27 14:19:15 +02:00
Timo Kaufmann
66d8fd1fda sage: fix attrname
This is a minimal change mainly to make sure repology recognizes this
package as sage. I plan a bit more refactoring later, but this is
intentionally kept minimally invasive so that it won't break anything
and can be backported to 18.09.

(cherry picked from commit 2513747356)
2018-10-27 14:19:07 +02:00
Renaud
76ec0982ae Merge pull request #49117 from alexeymuranov/update-flatpak-in-18.09
[18.09] flatpak: 1.0.2 -> 1.0.4 (cherry-picked from master)
2018-10-27 13:54:08 +02:00
R. RyanTM
9d07f7f098 lighttpd: 1.4.50 -> 1.4.51 (#49238)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/lighttpd/versions

(cherry picked from commit 5bccc53a50)
2018-10-27 13:30:44 +02:00
Franz Pletz
f5fcdf5530 Merge pull request #49233 from ciil/jira-update-18.09
atlassian-jira: 7.12.1 -> 7.12.3 (18.09)
2018-10-27 11:13:42 +00:00
Graham Christensen
5a4f3306b8 dockerTools: test buildLayeredImage
(cherry picked from commit fb2d153dac)
2018-10-27 12:04:04 +01:00
Graham Christensen
fbb61c14a2 dockerTools.buildLayeredImage: init
Create a many-layered Docker Image.

Implements much less than buildImage:

 - Doesn't support specific uids/gids
 - Doesn't support runninng commands after building
 - Doesn't require qemu
 - Doesn't create mutable copies of the files in the path
 - Doesn't support parent images

If you want those feature, I recommend using buildLayeredImage as an
input to buildImage.

Notably, it does support:

 - Caching low level, common paths based on a graph traversial
   algorithm, see referencesByPopularity in
   0a80233487993256e811f566b1c80a40394c03d6
 - Configurable number of layers. If you're not using AUFS or not
   extending the image, you can specify a larger number of layers at
   build time:

       pkgs.dockerTools.buildLayeredImage {
         name = "hello";
         maxLayers = 128;
         config.Cmd = [ "${pkgs.gitFull}/bin/git" ];
       };

 - Parallelized creation of the layers, improving build speed.
 - The contents of the image includes the closure of the configuration,
   so you don't have to specify paths in contents and config.

   With buildImage, paths referred to by the config were not included
   automatically in the image. Thus, if you wanted to call Git, you
   had to specify it twice:

       pkgs.dockerTools.buildImage {
         name = "hello";
         contents = [ pkgs.gitFull ];
         config.Cmd = [ "${pkgs.gitFull}/bin/git" ];
       };

   buildLayeredImage on the other hand includes the runtime closure of
   the config when calculating the contents of the image:

       pkgs.dockerTools.buildImage {
         name = "hello";
         config.Cmd = [ "${pkgs.gitFull}/bin/git" ];
       };

Minor Problems

 - If any of the store paths change, every layer will be rebuilt in
   the nix-build. However, beacuse the layers are bit-for-bit
   reproducable, when these images are loaded in to Docker they will
   match existing layers and not be imported or uploaded twice.

Common Questions

 - Aren't Docker layers ordered?

   No. People who have used a Dockerfile before assume Docker's
   Layers are inherently ordered. However, this is not true -- Docker
   layers are content-addressable and are not explicitly layered until
   they are composed in to an Image.

 - What happens if I have more than maxLayers of store paths?

   The first (maxLayers-2) most "popular" paths will have their own
   individual layers, then layer #(maxLayers-1) will contain all the
   remaining "unpopular" paths, and finally layer #(maxLayers) will
   contain the Image configuration.

(cherry picked from commit 4fe9006190)
(cherry picked from commit d1e46df24b)
2018-10-27 12:03:38 +01:00
Graham Christensen
61b4fa9ad9 referencesByPopularity: init to sort packages by a cachability heuristic
Using a simple algorithm, convert the references to a path in to a
sorted list of dependent paths based on how often they're referenced
and how deep in the tree they live. Equally-"popular" paths are then
sorted by name.

The existing writeReferencesToFile prints the paths in a simple
ascii-based sorting of the paths.

Sorting the paths by graph improves the chances that the difference
between two builds appear near the end of the list, instead of near
the beginning. This makes a difference for Nix builds which export a
closure for another program to consume, if that program implements its
own level of binary diffing.

For an example, Docker Images. If each store path is a separate layer
then Docker Images can be very efficiently transfered between systems,
and we get very good cache reuse between images built with the same
version of Nixpkgs. However, since Docker only reliably supports a
small number of layers (42) it is important to pick the individual
layers carefully. By storing very popular store paths in the first 40
layers, we improve the chances that the next Docker image will share
many of those layers.*

Given the dependency tree:

    A - B - C - D -\
     \   \   \      \
      \   \   \      \
       \   \ - E ---- F
        \- G

Nodes which have multiple references are duplicated:

    A - B - C - D - F
     \   \   \
      \   \   \- E - F
       \   \
        \   \- E - F
         \
          \- G

Each leaf node is now replaced by a counter defaulted to 1:

    A - B - C - D - (F:1)
     \   \   \
      \   \   \- E - (F:1)
       \   \
        \   \- E - (F:1)
         \
          \- (G:1)

Then each leaf counter is merged with its parent node, replacing the
parent node with a counter of 1, and each existing counter being
incremented by 1. That is to say `- D - (F:1)` becomes `- (D:1, F:2)`:

    A - B - C - (D:1, F:2)
     \   \   \
      \   \   \- (E:1, F:2)
       \   \
        \   \- (E:1, F:2)
         \
          \- (G:1)

Then each leaf counter is merged with its parent node again, merging
any counters, then incrementing each:

    A - B - (C:1, D:2, E:2, F:5)
     \   \
      \   \- (E:1, F:2)
       \
        \- (G:1)

And again:

    A - (B:1, C:2, D:3, E:4, F:8)
     \
      \- (G:1)

And again:

    (A:1, B:2, C:3, D:4, E:5, F:9, G:2)

and then paths have the following "popularity":

    A     1
    B     2
    C     3
    D     4
    E     5
    F     9
    G     2

and the popularity contest would result in the paths being printed as:

    F
    E
    D
    C
    B
    G
    A

* Note: People who have used a Dockerfile before assume Docker's
Layers are inherently ordered. However, this is not true -- Docker
layers are content-addressable and are not explicitly layered until
they are composed in to an Image.

(cherry picked from commit fd045173ce)
2018-10-27 11:57:35 +01:00
Graham Christensen
607e6140cd dockertools: tarsum: turn in to a buildInput
(cherry picked from commit 2bf0ee3b2b)
2018-10-27 11:57:28 +01:00
Andreas Rammhold
73a4857dc0 Merge pull request #49186 from andir/18.09/mosquitto
[18.09] mosquitto: 1.4.15 -> 1.5.3
2018-10-27 12:17:25 +02:00
Simon Lackerbauer
5be1827afe atlassian-jira: 7.12.1 -> 7.12.3
(cherry picked from commit 50abe602b1)
2018-10-27 11:50:38 +02:00
Bas van Dijk
cbcd5aa085 Merge pull request #48155 from ElvishJerricco/fix/haskell/shellFor/18.09
Backport #46453
2018-10-27 10:03:47 +01:00
Dmitry Kalinkin
6b60c067e1 pythonPackages.pyarrow: fix running tests on hydra
This replaces standard checkPhase using setup.py that uses pytest-runner
with an explicit call to pytest. One reason to do that is because
setup.py triggers another rebuild when asked to do "test". Another
reason is that there seems to be a conflict between possible imports for
pyarrow: `pwd`/pyarrow vs $out/pyarrow. By some unknown reason this
triggers an import error on hydra and ofborg, but not on my machine. The
solution here is to remove `pwd`/pyarrow, keep the tests and use direct
call to pytest (setup.py needs `pwd`/pyarrow). The added benefit is that
we are now testing what is installed in $out.

(cherry picked from commit 6ae3cb4d36)
2018-10-27 10:32:43 +02:00
Silvan Mosberger
9551f011b7 Merge pull request #49156 from 1000101/backport-release-18.09
[18.09] nixos/trezord: revised and updated udev rules
2018-10-27 01:19:15 +02:00
Johan Thomsen
6129945d89 kubernetes: 1.11.3 -> 1.11.4 2018-10-26 17:13:04 +01:00
Ján Hrnko
3c1ca59be7 nixos/trezord: revised and updated udev rules
(cherry picked from commit a88e0ef9aa)
2018-10-26 16:05:42 +02:00
Peter Hoeg
3581f5bfd0 mosquitto: 1.4.15 -> 1.5.3
This backport to 18.09 fixes a serious of security related issues in
mosquitto when run as a server.

Use cmake on all platforms instead of only macos.

(cherry picked from commit a45fa35742)
2018-10-26 14:58:26 +02:00
Jörg Thalheim
c2ad4bfbc0 Merge pull request #49099 from Mic92/breakpoint-backport
Backport breakpointHook [18.09]
2018-10-26 12:22:20 +01:00
Jörg Thalheim
fcca8103db doc: extend breakpointHook documentation
(cherry picked from commit 7f80fb2db4)
2018-10-26 11:15:28 +01:00
Robin Gloster
ef1e83d47c gitlab: 11.3.4 -> 11.4.0
(cherry picked from commit 02afda3fd8)
2018-10-26 11:41:28 +02:00
Robin Gloster
551d22e287 gitlab-workhorse: 6.1.1 -> 7.0.0
(cherry picked from commit eb7f8e71ad)
2018-10-26 11:41:28 +02:00
Robin Gloster
c26c4cc166 gitaly: 0.125.0 -> 0.125.1
(cherry picked from commit 1a984ccc4e)
2018-10-26 11:41:27 +02:00
Raphael Borun Das Gupta
61aa2be8ad nixpkgs docs: add missing spaces between words
(cherry picked from commit aa77e3aa4f)
2018-10-26 09:14:15 +01:00
Raphael Borun Das Gupta
7008cd8acd nixpkgs docs: remove spurious ">"
(cherry picked from commit bea0b3021c)
2018-10-26 09:14:14 +01:00
Andreas Rammhold
755108176f Merge pull request #49044 from andir/18.09/firefox
[18.09] firefox{,-bin}: 62.0.3 -> 63.0 & nss: 3.38-> 3.39
2018-10-26 00:55:12 +02:00
Joachim F
7cb7d77830 Merge pull request #49122 from schmittlauch/backport-tbb803
backport tor-browser-bundle-bin: 8.0.2 -> 8.0.3
2018-10-25 21:26:33 +00:00
Will Dietz
9e10ff6216 tor-browser-bundle-bin: 8.0.2 -> 8.0.3
reason: minor security update

https://gitweb.torproject.org/builders/tor-browser-build.git/tree/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=tbb-8.0.3-build1
(cherry picked from commit 8324a938e7)
2018-10-25 22:49:23 +02:00
R. RyanTM
4b180235db flatpak: 1.0.2 -> 1.0.4
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/flatpak/versions

(cherry picked from commit 825f6210be)
2018-10-25 21:07:15 +02:00
Andreas Rammhold
e428680fb8 Merge pull request #49111 from mayflower/grafana-backport
grafana: 5.2.4 -> 5.3.2
2018-10-25 18:56:11 +02:00
Trolli Schmittlauch
dbc3d6fdd9 clarifying name arg determines vim command name
The `name` arg of `vim_configurable.customize` does not only determine
the package name, but also the name of the command/ executable to be
called.
In my opinion this is not documented properly and finding that out took
me several hours.
2018-10-25 17:51:36 +01:00
Linus Heckemann
30068ec658 Merge pull request #49109 from mayflower/nix-index-backport
nix-index: backport version bump and build fix
2018-10-25 18:48:18 +02:00
Justin Humm
3cf85cfb55 mapmap: mark broken
the mapmap binary segfaults at the moment at master and nixos-18.09. I
will speak with upstream for a fix and mark this broken in the meantime.

(cherry picked from commit 5ab10923d6)
2018-10-25 17:40:21 +01:00
WilliButz
e89bfd37a6 grafana: 5.2.4 -> 5.3.2
(cherry picked from commit e3927861d6)
2018-10-25 17:34:51 +02:00
Daiderd Jordan
fadacd10ab nix-index: fix darwin build
(cherry picked from commit 5c14decaa3)
2018-10-25 17:05:17 +02:00
Moritz Kiefer
540c63691c nix-index: 0.1.1 -> 0.1.2
(cherry picked from commit bd4301a2ae)
2018-10-25 17:05:17 +02:00
Jörg Thalheim
21cf1c4f26 Merge pull request #48984 from timokau/r8168-backport
r8168 backport
2018-10-25 15:04:12 +01:00
Jörg Thalheim
ccd398f2e4 doc/breakpointHook: add documentation
(cherry picked from commit 325a5699cb)
2018-10-25 14:09:35 +01:00
Jörg Thalheim
c80620fc27 breakpointHook: add for debugging failing builds
Usuage: Add breakpointHook to your `buildInputs` like this:

  stdenv.mkDerivation rec {
    # ...
    buildInputs = [ breakpointHook ];
  });

When the build fails as show in this example:

  pkgs.hello.overrideAttrs (old: {
    buildInputs = [ breakpointHook ];
    postPatch = ''
      false
    '';
  });

It will halt execution printing the following message:

build failed in patchPhase with exit code 1
To attach to this build run the following command as root:

   cntr attach -t command cntr-/nix/store/ynyb4n82x2r7sldd58pbb405jdqh5f00-hello-2.10

Installing cntr and running the command will provide shell access to the
build sandbox of failed build:

sudo cntr attach -t command cntr-/nix/store/ynyb4n82x2r7sldd58pbb405jdqh5f00-hello-2.10
WARNING: bad ownership on /nix/var/nix/profiles/per-user/root, should be 1000
[nixbld@localhost:/var/lib/cntr]$

At /var/lib/cntr the sandbox filesystem is mounted. All commands and
files of the system are still accessible within the shell.
To execute commands from the sandbox use the `cntr exec` subcommand.

(cherry picked from commit f10b935f84)
2018-10-25 14:09:34 +01:00
Jörg Thalheim
54dd052e56 cntr: init at 1.2.0
(cherry picked from commit 84e915a779)
2018-10-25 14:09:26 +01:00
Andreas Rammhold
3b4c03a6de firefox-esr: 60.2.2esr -> 60.3.0esr
(cherry picked from commit 3db6ca50ef0ce27b4f9765b783dcc32c0a613a2d)
2018-10-25 14:54:38 +02:00
Andreas Rammhold
e80c1fa3b2 firefox-bin: 62.0.3 -> 63.0
(cherry picked from commit 5137c04770)
2018-10-25 11:12:05 +02:00
Andreas Rammhold
344e66a524 firefox: 62.0.3 -> 63.0
(cherry picked from commit 277da59e47)
2018-10-25 11:12:04 +02:00
Andreas Rammhold
8bdbb8c922 rust_1_29: backport for rust 1.29.1 from unstable
Based on commit aef6830d3e

(cherry picked from commit dc2becf42f)
2018-10-25 11:12:04 +02:00
Vincent Laporte
9d2ff83b03 ocamlPackages.vg: 0.9.0 -> 0.9.1
(cherry picked from commit c640f024dd)
2018-10-25 08:39:17 +02:00
Gabriel Ebner
f5689d5d6b abcde: 2.8.1 -> 2.9.2
Fixes #41789.

(cherry picked from commit 47fb4859a5)
2018-10-24 20:49:19 +02:00
Herwig Hochleitner
a8fe91de2e chromium: 69.0.3497.100 -> 70.0.3538.67
(cherry picked from commit bb03fbc2c8)
2018-10-24 19:44:08 +02:00
volth
2e960de3f4 chromium: propagate stdenv for "chromium.override{ stdenv=gcc8Stdenv; }" (#48615)
(cherry picked from commit 337d140953)
2018-10-24 19:44:08 +02:00
volth
56ea01bc52 chromium 71+: there is no more option 'use_gtk3' (#48595)
(cherry picked from commit d767ba9996)
2018-10-24 19:44:08 +02:00
volth
487192196c chromium 71+: add at-spi2-core dependency (#48594)
(cherry picked from commit d039722d0e)
2018-10-24 19:44:07 +02:00
volth
77ea7d7bd5 chromium: fix aarch64 build (#48586)
* chromium: fix aarch64 build

* chromium: use more stable urls

(cherry picked from commit 0c8cdb53f6)
2018-10-24 19:44:07 +02:00
volth
c09da54fc7 chromium plugins: add meta.platforms (#48495)
to prevent their installation on aarch64

(cherry picked from commit 2ad99a662d)
2018-10-24 19:44:07 +02:00
Andreas Rammhold
e167830504 nss: 3.38 -> 3.39
(cherry picked from commit 8a9b6bc607)
2018-10-24 18:15:29 +02:00
John Ericson
06fb0253af Merge pull request #48931 from obsidiansystems/darwin-to-linux-18.09
misc pkgs: Darwin -> Linux cross compilation for 18.09
2018-10-24 10:37:15 -04:00
Timo Kaufmann
8e9b654643 r8168: init at 8.046.00
(cherry picked from commit c8b5deae19)
2018-10-24 11:50:44 +02:00
John Ericson
0afc9ca7a8 Merge remote-tracking branch 'upstream/release-18.09' into darwin-to-linux-18.09 2018-10-23 23:27:29 -04:00
Daiderd Jordan
87dc3df433 linux-headers: Temporarily avoid mass rebuild
This is only needed for 18.09, not master
2018-10-23 23:27:20 -04:00
John Ericson
22df9423cd release-cross: Cross compile from all 3 supported platforms 2018-10-23 23:20:48 -04:00
Daiderd Jordan
ab6bbdd5cd linux-headers: Fix Darwin cross build
Carefully fake cc-version and cc-fullversion to avoid needing a compiler
for the kernel itself to build the headers.

For some reason, doing `make install_headers` twice, first without
INSTALL_HDR_PATH=$out then with, is neccessary to get this to work.
2018-10-23 23:20:42 -04:00
Rob Vermaas
df29219f51 opentracing-cpp: fix version in derivation 2018-10-23 18:15:05 +02:00
Rob Vermaas
9d6184f1bc nginx-opentracing: init at 0.7.0 2018-10-23 18:07:45 +02:00
Rob Vermaas
0b695b6682 opentracing-cpp: add meta 2018-10-23 18:01:34 +02:00
Rob Vermaas
f49df04c02 opentracing-cpp: init 1.5.0 2018-10-23 17:56:28 +02:00
Wael Nasreddine
c162a0af64 gocode: 2018-07-27 -> 2018-10-22 (#48832)
github.com/nsf/gocode has also been deprecated in favor of github.com/mdempsky/gocode

(cherry picked from commit cc4b9ef40f)
2018-10-23 12:21:25 +02:00
Jörg Thalheim
1b7e30c79f Merge pull request #48822 from nyanloutre/18-09-jackett-10-365
[18.09] jackett: 0.10.250 -> 0.10.365
2018-10-23 10:43:14 +01:00
Dmitry Kalinkin
694aff67f8 mu: fix build for withMug = true (#48830)
Fixes a following build error:

/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstapp-1.0
/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstaudio-1.0
/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstfft-1.0
/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstpbutils-1.0
/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstvideo-1.0
/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstbase-1.0
/nix/store/xxx-binutils-2.30/bin/ld: cannot find -lgstreamer-1.0

This workaround targets release-18.09 branch and is not needed at master (no
idea why).
2018-10-23 11:38:32 +02:00
nyanloutre
2b4f74612b jackett: update mono version to 5.14
See details here : https://github.com/NixOS/nixpkgs/pull/48821#issuecomment-431837095

(cherry picked from commit 7a44e6e365)
2018-10-23 11:01:38 +02:00
Linus Heckemann
f8d156f44f poezio: 0.11 -> 0.12 2018-10-23 09:33:44 +02:00
Linus Heckemann
af588df938 slixmpp: 1.2.4-post1 -> 1.4.0
(cherry picked from commit ec9d761628)
2018-10-23 09:33:38 +02:00
xeji
f80504e8fd Merge pull request #48150 from Vskilet/release-18.09
[18.09] nixos/emby: use the dataDir option
2018-10-23 00:45:37 +02:00
nyanloutre
25b2aeb9ca jackett: 0.10.304 -> 0.10.365
(cherry picked from commit 896ae4974e)
2018-10-22 23:56:23 +02:00
R. RyanTM
93a57b3d66 jackett: 0.10.258 -> 0.10.304
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/jackett/versions

(cherry picked from commit 7f5a809374)
2018-10-22 23:56:23 +02:00
Edward Tjörnhammar
c4cb419081 jackett: 0.10.250 -> 0.10.258
(cherry picked from commit 914c341c6f)
2018-10-22 23:56:22 +02:00
Jörg Thalheim
09bc130c1e Merge pull request #48831 from nyanloutre/18-09-slimserver-fix
[18.09] slimserver: Relax audio scan dependency (#47029)
2018-10-22 22:48:00 +01:00
Drew Hess
be9e927c95 dovecot: dovenull user should have its own group.
Quoting from https://wiki.dovecot.org/UserIds#dovenulluser:

"It should belong to its own private dovenull group where no one else
belongs to..."

(cherry picked from commit fa388534e4)
2018-10-22 22:47:00 +01:00
Philipp Hausmann
e15b5baaef slimserver: Relax audio scan dependency (#47029)
(cherry picked from commit 09df5da98f)
2018-10-22 23:45:18 +02:00
Daniël de Kok
a7325a613e samba4: 4.7.9 -> 4.7.10 (#48787)
Changes: https://www.samba.org/samba/history/samba-4.7.10.html
(cherry picked from commit d620d8fa67)
2018-10-22 15:46:01 +02:00
Clemens Fruhwirth
c00f5672d7 gvfs: Fix-up paths to gio binary 2018-10-22 15:08:04 +02:00
Peter Simons
e05517fb18 ghc: add new 8.4.4 version
(cherry picked from commit 069bf7aee3)
2018-10-21 23:33:26 -04:00
Piotr Bogdan
140867131c debootstrap: fix up paths to {chroot,unshare}, small clean up
Fixes #45915.

(cherry picked from commit be63e30563)
2018-10-21 18:45:31 +01:00
R. RyanTM
5b2a9767c5 debootstrap: 1.0.108 -> 1.0.109
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/debootstrap/versions

(cherry picked from commit 73dbb11a0d)
2018-10-21 18:45:31 +01:00
R. RyanTM
b76a8378ee debootstrap: 1.0.107 -> 1.0.108 (#46294)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/debootstrap/versions

(cherry picked from commit 8955ec6c73)
2018-10-21 18:45:30 +01:00
Jörg Thalheim
d4d4e58e33 Merge pull request #48779 from Ma27/backport-vim-clang-fix
vimPlugins.clang_complete: fix path to libclang.so (backport)
2018-10-21 17:00:35 +01:00
Leon Schuermann
08a0f3fefc nextcloud: 14.0.1 -> 14.0.3
(cherry picked from commit 6d3b54a1e9)
2018-10-21 15:40:40 +02:00
Victor SENE
2026505e5c nixos/nextcloud: add poolConfig option (#48094)
(cherry picked from commit 2dcd512e74)
2018-10-21 15:40:40 +02:00
Florian Klink
2822d45a4e nextcloud: fix sendmail path discovery
(cherry picked from commit 1fd6477b35)
2018-10-21 15:40:40 +02:00
Ruben Maher
dde8fafa69 nextcloud: 13.0.6 -> 14.0.1
(cherry picked from commit e5b3ea56e1)

Co-authored-by: Robin Gloster <mail@glob.in>
2018-10-21 15:40:40 +02:00
Franz Pletz
f1509d8b11 nixos/nextcloud: init
(cherry picked from commit ebd38185c8)

Co-authored-by: Franz Pletz <fpletz@fnordicwalking.de>
Co-authored-by: Robin Gloster <mail@glob.in>
Co-authored-by: Janne Heß <janne@hess.ooo>
Co-authored-by: Florian Klink <flokli@flokli.de>
2018-10-21 15:40:40 +02:00
Maximilian Bosch
5fa7d74d87 vimPlugins.clang_complete: fix path to libclang.so
Same fix as d301d5cb74.

A traditional backport with `git cherry-pick` is impossible as the
override approach for VIM plugins has significantly changed.
2018-10-21 15:12:20 +02:00
Vaskó László
4d9183342b kitty: fix locating libstartup-notification-1
Startup notification doesn't work in recent versions of Kitty:
> Traceback (most recent call last):
>   File "/nix/store/3a3b0xd952gp8jw70k5kh3a4zhgzf0p7-kitty-0.12.3/bin/../lib/kitty/kitty/utils.py", line 216, in init_startup_notification
>     return init_startup_notification_x11(window_handle, startup_id)
>   File "/nix/store/3a3b0xd952gp8jw70k5kh3a4zhgzf0p7-kitty-0.12.3/bin/../lib/kitty/kitty/utils.py", line 201, in init_startup_notification_x11
>     return init_x11_startup_notification(display, window_handle, sid)
> OSError: Failed to load libstartup-notification-1.so with error: libstartup-notification-1.so: cannot open shared object file: No such file or directory

Apparently dispatching of startup notification has been moved to a C
binding in kitty 0.6.0 [1] so the substituion had to be modified to reflect
that. Without this fix Kitty still works except that window managers
which depend on startup notifications to be fired (e.g. Awesome)
cannot apply special placement rules.

The substitution mechanism is also changed to use a patch file to detect
this kind of mistakes in the future.

[1]: b08f4ab593

(cherry picked from commit 1842c4aaa4)
2018-10-20 23:51:41 +01:00
Samuel Dionne-Riel
e76b112853 ruby: 2.5.2 -> 2.5.3
https://www.ruby-lang.org/en/news/2018/10/18/ruby-2-5-3-released/

This release is just for fixing the packaging issue. This release doesn’t
contain any additional bug fixes from 2.5.2.

(cherry picked from commit 87407bc7e8)
2018-10-20 21:25:20 +01:00
Frederik Rietdijk
50a6f2170d python37: 3.7.0 -> 3.7.1
(cherry picked from commit e4d84434a7)
2018-10-20 21:01:37 +02:00
Frederik Rietdijk
8a3e8bd64b python36: 3.6.6 -> 3.6.7
(cherry picked from commit 241bab3a5e)
2018-10-20 21:01:26 +02:00
Frederik Rietdijk
4a4e11f026 Merge staging into release 2018-10-20 21:00:53 +02:00
Ben Wolsieffer
0da77aaaf8 python2Packages.pylint: init at 1.9.2
Backport of pylint 1.9.2, required for older python2.7
(2.x versions of pylint work only with python 3.4+)

(cherry picked from commit 67ea56717a)
2018-10-20 20:49:59 +02:00
Ben Wolsieffer
b33fe1b101 python2Packages.astroid: init at 1.6.5
Older version backported from master, as requirement for pylint 1.9.2

(cherry picked from commit 4f09e05849)
2018-10-20 20:49:59 +02:00
John Ericson
2569506025 Merge pull request #48673 from Ericson2314/xorg-override-18.09
xorg: allow overriding via overrideScope' for 18.09
2018-10-20 13:16:45 -04:00
Jeff Slight
720af0f20f mattermost: 5.3.0 -> 5.4.0
(cherry picked from commit 321b3a224f)
2018-10-20 17:09:43 +01:00
Jeff Slight
bbc3f425e3 mattermost: 5.1.0 -> 5.3.0
(cherry picked from commit 06eeeed171)
2018-10-20 17:09:24 +01:00
Tim Steinbach
b62ae252fd linux: 4.18.15 -> 4.18.16
(cherry picked from commit 154f457bc3)
2018-10-20 11:18:45 -04:00
Tim Steinbach
617448e796 linux: 4.14.77 -> 4.14.78
(cherry picked from commit 719087fb8c)
2018-10-20 11:18:45 -04:00
Tim Steinbach
76408dd069 linux: 4.9.134 -> 4.9.135
(cherry picked from commit 560e61a3fd)
2018-10-20 11:18:44 -04:00
Tim Steinbach
9dec819286 linux: 4.4.161 -> 4.4.162
(cherry picked from commit 218bf14c3e)
2018-10-20 11:18:44 -04:00
Samuel Dionne-Riel
35421cfdf7 Merge pull request #48692 from samueldr/fix/disallow-aliases
Backports misc. fixes for the new ofborg eval time checks
2018-10-19 20:08:51 -04:00
Samuel Dionne-Riel
8713c07ca5 Merge pull request #48636 from samueldr/backport/PR48301
Update Monero for upcoming hard fork (backports #48301)
2018-10-19 20:06:30 -04:00
Tmplt
1b9888aaa0 nixos/compton: fix corrupt colours with Mesa 18 on AMD
On AMD hardware with Mesa 18, compton renders some colours incorrectly
when using the glx backend. This patch sets an environmental variable
for compton so colours are rendered correctly.

Topical bug: <https://bugs.freedesktop.org/show_bug.cgi?id=104597>
2018-10-19 15:42:11 -05:00
gnidorah
d75b725497 kvmgt module: add service restart on failure
(cherry picked from commit a6603fd8a8)
2018-10-19 10:45:31 +01:00
Edmund Wu
69a482f640 vscode: 1.28.0 -> 1.28.2
(cherry picked from commit 8861eca096)
2018-10-19 08:41:11 +01:00
Edmund Wu
a6d64776c0 vscode: 1.27.2 -> 1.28.0
(cherry picked from commit a3962299f1)
2018-10-19 08:40:58 +01:00
Bastian Köcher
d8649a8a68 vscode: 1.26.1 -> 1.27.2 (#47397)
(cherry picked from commit 0d810c5ac4)
2018-10-19 08:40:40 +01:00
Jörg Thalheim
cde886e7c6 tinc: remove unnecessary networking.interfaces
This breaks with networking backends enabled and
also creates large delays on boot when some services depends
on the network target. It is also not really required
because tinc does create those interfaces itself.

fixes #27070

(cherry picked from commit 5a1f0f9aa3)
2018-10-19 08:36:34 +01:00
John Ericson
e23b220a78 Merge remote-tracking branch 'upstream/release-18.09' into xorg-override-18.09 2018-10-19 00:59:22 -04:00
Ryan Mulligan
9dc7c3191a treewide: fix config.allowAliases = false evaluation
(cherry picked from commit f91a79ecc8)

 Conflicts:
	pkgs/misc/vim-plugins/default.nix

That file has NOT been touched in this cherry pick.
2018-10-18 21:10:02 -04:00
Ryan Mulligan
b02c65ab30 treewide: fix allowAliases = false evaluation problems
(cherry picked from commit 856fbc8dba)

 Conflicts:
	pkgs/os-specific/linux/roccat-tools/default.nix

File isn't in release-18.09
2018-10-18 21:06:21 -04:00
Milan Svoboda
9779809e05 wings: fix runtime failure. (#48681)
Erlang/OTP 18 [erts-7.3.1.4] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3.1.4  (abort with ^G)
1>
=ERROR REPORT==== 18-Oct-2018::21:29:53 ===
beam/beam_load.c(1189): Error loading module sdl:
  mandatory chunk of type 'Atom' not found

=ERROR REPORT==== 18-Oct-2018::21:29:53 ===
Loading of /nix/store/qalvdrzjqqm3a8nsavjbhfiv1pzhw82k-esdl-1.3.1/lib/erlang/lib/esdl-1.3.1/ebin/sdl.beam failed: badfile

=ERROR REPORT==== 18-Oct-2018::21:29:53 ===
Error in process <0.35.0> with exit value:
{undef,[{sdl,init,[1048608],[]},
        {wings_init,init,0,[{file,"wings_init.erl"},{line,28}]},
        {wings,init,1,[{file,"wings.erl"},{line,105}]}]}

Fatal internal error - log written to /home/milan/wings_crash.dump

(cherry picked from commit 43fc3bbb62)
2018-10-18 21:43:01 +01:00
Silvan Mosberger
ff2b5ea471 Merge pull request #48619 from Chiiruno/release-18.09
Update bcachefs (cherry pick for 18.09)
2018-10-18 21:21:13 +02:00
John Ericson
318e45d469 Merge remote-tracking branch 'upstream/release-18.09' into xorg-override-18.09 2018-10-18 12:22:44 -04:00
Michael Raitza
cb996fdb60 nixos/openafs: Add defaultText to avoid evaluating packages
(cherry picked from commit 290a7d2ee9)
2018-10-18 16:11:57 +01:00
Michael Raitza
a2927b8477 openafs: 1.6.22.2 -> 1.6.23
Add support for 4.18 kernels.

(cherry picked from commit f8b5b5dcb7)
2018-10-18 16:11:56 +01:00
Michael Raitza
39acfb0591 openafs_1_8: 1.8.0 -> 1.8.2
This release adds support for ARM64.

(cherry picked from commit d37bb7302f)
2018-10-18 16:11:56 +01:00
Michael Raitza
72603fb252 openafs: Align package name with kernel version based on modDirVersion
(cherry picked from commit bf7600d3b5)
2018-10-18 16:11:56 +01:00
zimbatm
2f82603dbd Merge pull request #48650 from marsam/feature/update-ruby
ruby: 2.3.7 -> 2.3.8, 2.4.4 -> 2.4.5, 2.5.1 -> 2.5.2
2018-10-18 16:01:19 +02:00
Tim Steinbach
412c69ea97 linux: 4.18.14 -> 4.18.15
(cherry picked from commit 42cfc436ce)
2018-10-18 08:28:28 -04:00
Tim Steinbach
56dfc9523f linux: 4.14.76 -> 4.14.77
(cherry picked from commit 7abe0e881e)
2018-10-18 08:28:28 -04:00
Tim Steinbach
a3e4021cda linux: 4.9.133 -> 4.9.134
(cherry picked from commit ab8ff7c07c)
2018-10-18 08:28:28 -04:00
Shreyansh Khajanchi
f8847fc824 hugo: apply upstream patch to call rst2html directly on Nix
Initially, rst2html was called via the python interpreter which would
fail if the script was wrapped in a launcher as on NixOS.

(cherry picked from commit d4f88f1d0c)
2018-10-18 12:51:44 +01:00
Mario Rodas
0919505711 pythonPackages.pytest: pathlib2 is only required for python<3.6
(cherry picked from commit 0f26db59aded16119624dc520271390a08c2a07d)
2018-10-18 11:08:01 +02:00
Mario Rodas
50b8c23de8 pythonPackages.pathlib2: remove unnecessary python version check
(cherry picked from commit 0a08d69bf00ae4b2d5127455a3a0c756c2936f01)
2018-10-18 11:08:01 +02:00
rnhmjoj
499f1c7126 monero-gui: 0.13.0.2 -> 0.13.0.3
(cherry picked from commit e57438faf0)
2018-10-17 22:29:31 -04:00
rnhmjoj
636a47500a monero: 0.13.0.2 -> 0.13.0.3
(cherry picked from commit 8929e036ce)
2018-10-17 22:29:29 -04:00
rnhmjoj
fae2c59469 monero-gui: 0.12.3.0 -> 0.13.0.2
(cherry picked from commit 8e15e9c452)
2018-10-17 22:28:55 -04:00
rnhmjoj
b183e85a77 xmr-stak: 2.4.7 -> 2.5.0
(cherry picked from commit 6dc4ae5eb2)
2018-10-17 22:28:55 -04:00
rnhmjoj
6dda50f242 monero: 0.12.3.0 -> 0.13.0.2
(cherry picked from commit 028164ef05)
2018-10-17 22:28:55 -04:00
rnhmjoj
ea0853e4e0 monero-gui: 0.12.0.0 -> 0.12.3.0
(cherry picked from commit fd95d30609)
2018-10-17 22:28:51 -04:00
rnhmjoj
f430eaafcb monero: 0.12.0.0 -> 0.12.3.0
(cherry picked from commit 90ab6c8400)
2018-10-17 22:28:49 -04:00
Tim Steinbach
81f5c2698a sbt: 1.2.4 -> 1.2.6
(cherry picked from commit b2dabdc697)
2018-10-17 20:48:45 -04:00
Matt McHenry
41905d631f clementine: add gst_plugins to buildInputs so setup hooks work
when the build was refactored in ef5e212d, this was lost.  a4ba8c65
got most of it back, but missed the addition of gst_plugins to
buildInputs.

fixes #39960

(cherry picked from commit 6fcee4e1dd)
Signed-off-by: Maximilian Bosch <maximilian@mbosch.me>
2018-10-18 01:48:35 +02:00
Maximilian Bosch
bfb61a7709 nixos/weechat: add setuid wrapper for `screen' to ensure true multiuser capabilities
Previously you either had to set the setuid bit yourself or workaround
`isSystemUser = true` (for a loginable shell) to access the weechat
screen.

`programs.screen` shouldn't do this by default to avoid taking too much
assumptions about the setup, however `services.weechat` explicitly
requires tihs.

See #45728

(cherry picked from commit 018573b757)
2018-10-17 23:43:46 +02:00
volth
971b5bea49 oraclejdk8: 8u181 -> 8u191 (#48624)
(cherry picked from commit 4035086baf)
Oracle download site provides 8u191 now.
2018-10-17 18:47:42 +02:00
Jörg Thalheim
56915a59ad Merge pull request #48632 from clefru/hostapd-fix-on-18.09
Fix hostapd's place in systemd dependency tree. (#45464)
2018-10-17 16:02:36 +01:00
clefru
20ebe73f91 Fix hostapd's place in systemd dependency tree. (#45464)
* nat/bind/dhcp.service:
  Remove. Those services have nothing to do with a link-level service.

* sys-subsystem-net-devices-${if}.device:
  Add as BindsTo dependency as this will make hostapd stop when the
  device is unplugged.

* network-link-${if}.service:
  Add hostapd as dependency for this service via requiredBy clause,
  so that the network link is only considered to be established
  only after hostapd has started.

* network.target:
  Remove this from wantedBy clause as this is already implied from
  dependencies stacked above hostapd. And if it's not implied than
  starting hostapd is not required for this particular network
  configuration.

(cherry picked from commit 725fcdef3f)
2018-10-17 16:53:49 +02:00
隠岐奈
5f4617cfea bcachefs-tools: 2018-08-22 -> 2018-10-12
(cherry picked from commit 0c4a7a86fd)
2018-10-17 07:03:47 -05:00
隠岐奈
67856c9259 linux_testing_bcachefs: 4.18.2018.09.21 -> 4.18.2018.10.12
(cherry picked from commit d8410167d1)
2018-10-17 07:03:47 -05:00
Anatolii Prylutskyi
ff7413b160 rambox: fix invalid sha256
(cherry picked from commit 4051fc901b)
2018-10-17 09:34:32 +01:00
Tim Steinbach
19ee57bdaf oh-my-zsh: 2018-09-03 -> 2018-09-14
(cherry picked from commit e0a98c5dc0)
2018-10-16 16:51:11 -04:00
Rob Vermaas
3b3a2d30df julia_10: update to 1.0.1 2018-10-16 22:14:16 +02:00
zimbatm
68c70cfe9e terraform-providers.libvirt: fix plugin output (#48577)
Terraform depends on this binary name format to detect the provider
version.

(cherry picked from commit 7786575c6c)
2018-10-16 19:36:35 +02:00
Linus Heckemann
4a748215d1 libssh: 0.7.5 -> 0.7.6
Fixes CVE-2018-10933:

libssh versions 0.6 and above have an authentication bypass
vulnerability in the server code. By presenting the server an
SSH2_MSG_USERAUTH_SUCCESS message in place of the
SSH2_MSG_USERAUTH_REQUEST message which the server would expect to
initiate authentication, the attacker could successfully authentciate
without any credentials.

Source:
https://www.libssh.org/2018/10/16/libssh-0-8-4-and-0-7-6-security-and-bugfix-release/
(cherry picked from commit eca462813d)
2018-10-16 19:09:51 +02:00
Rob Vermaas
71941853a1 nixpart0.blivet: fix reference to selinux python modules 2018-10-16 17:12:05 +02:00
Rob Vermaas
7ceea6f601 blivet: fix reference to selinux python modules 2018-10-16 17:04:43 +02:00
Uli Baum
b97e1dc662 Merge branch 'release-18.09' into staging-18.09 2018-10-16 09:08:25 +02:00
florianjacob
ab27d00f39 mariadb.connector-c: 2.3.6 -> 2.3.7 (#48078)
(cherry picked from commit 98e5a0f9f4)

contains security fix for CVE-2018-3081
2018-10-16 09:05:49 +02:00
José Romildo Malaquias
8fe63a0c1e greybird: remove license cc-by-nc-sa-30 (#46802)
Greybird is dual-licensed as GPLv2 or later and CC-BY-SA 3.0 or later.
The first is free, and the second is unfree in nixpkgs. Currently both
licenses are listed in the package derivation. And nix takes that it is
unfree. If one of the licenses in the list is unfree. nix consider
that the software is unfree. Remove the unfree one.

(cherry picked from commit 1944defa4c)
2018-10-16 08:36:34 +02:00
Sarah Brofeldt
24bab87520 Merge pull request #48486 from srhb/backport-48485
Backport 18.09: haskellPackages.cryptonite: fix for aarch64 and re-enable tests
2018-10-16 00:02:05 +02:00
Drew Hess
67a7354cd5 haskellPackages.cryptonite: fix for aarch64.
This is a cherry-pick from upstream (see
https://github.com/haskell-crypto/cryptonite/issues/234); there has
been no upstream release since the fix was committed.

(cherry picked from commit 321626d5ee)
Backport of #48485
2018-10-15 23:46:26 +02:00
Drew Hess
fbb068dcc4 haskellPackages.cryptonite: re-enable tests.
This has been fixed since cryptonite-0.7:

https://github.com/haskell-crypto/cryptonite/issues/28

cryptonite is also no longer listed in expected-test-failures in
Stackage.

(cherry picked from commit c8a59e8453)
Backport of #48485
2018-10-15 23:46:08 +02:00
Eelco Dolstra
b5380ae736 ec2-amis.nix: Add 18.09 images
(cherry picked from commit 47dfe25e1b)
2018-10-15 22:52:23 +02:00
Wael M. Nasreddine
f935d5ba86 easyrsa: add support for darwin
(cherry picked from commit 1828799f47)
2018-10-15 20:28:18 +02:00
Florian Jacob
38f5b076d7 gitea: 1.5.1 -> 1.5.2
(cherry picked from commit 0a5c7cf512)
2018-10-15 19:58:46 +02:00
Jörg Thalheim
c15e342304 Merge pull request #48469 from Lassulus/df-18.09
[18.09] fix dwarf fortress package
2018-10-15 18:20:41 +01:00
Graham Christensen
1f50fc2bc5 Merge pull request #48468 from Ekleog/release-notes-backport
release-notes/18-09: add licenses marked as unfree
2018-10-15 13:17:24 -04:00
lassulus
12847b9043 dwarf-fortress: fix build error
(cherry picked from commit 0d57159eca)
2018-10-15 17:28:22 +02:00
Morgan Jones
35beccebbf Inline JSON files
(cherry picked from commit 213b5457fc)
2018-10-15 17:28:18 +02:00
Morgan Jones
0f3b98a39c Update twbt to 6.54
(cherry picked from commit 2cd2571edd)
2018-10-15 17:28:14 +02:00
Morgan Jones
982080d18b Use stdenv.mkDerivation for Therapist wrapper
(cherry picked from commit 5f1013d875)
2018-10-15 17:28:11 +02:00
Morgan Jones
811d52713e Fix dangling DFHack "Git:" version text
(cherry picked from commit 870f05c975)
2018-10-15 17:28:07 +02:00
Morgan Jones
99b1a44ab3 Therapist needs to depend on the DF version, since it uses its MD5
(cherry picked from commit fe847fcc92)
2018-10-15 17:28:03 +02:00
Morgan Jones
aa12b85056 Let the user override dfVersion in dwarf-fortress-full
(cherry picked from commit 7a5521537a)
2018-10-15 17:27:59 +02:00
Morgan Jones
5f563479b2 Fix dfhack's Dwarf Fortress MD5 in the correct environment
(cherry picked from commit f14d3b4795)
2018-10-15 17:27:55 +02:00
Morgan Jones
d66a253aad dwarf-fortress: Support multiple unfuck/dfhack/TWBT versions
(cherry picked from commit 4ada74e293)
2018-10-15 17:27:51 +02:00
Aaron VonderHaar
13e6a3e41a elm-format: 0.8.0 -> 0.8.1
(cherry picked from commit 67f58eee5e)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-10-15 16:12:52 +01:00
Léo Gaspard
3b65a51174 release-notes/18-09: add licenses marked as unfree
(cherry picked from commit 2a2c99673b)
2018-10-16 00:07:45 +09:00
Lancelot SIX
c6494972c1 pythonPackages.django_2_1: 2.1.1 -> 2.1.2
See https://docs.djangoproject.com/en/2.1/releases/2.1.2/

(cherry picked from commit 50ad0f2cc79a68b2db9d4403eacbd311eedfe38e)
2018-10-15 15:09:13 +02:00
Lancelot SIX
145076a41f pythonPackages.django_2_1: 2.0.8 -> 2.0.9
See https://docs.djangoproject.com/en/2.0/releases/2.0.9/

(cherry picked from commit cd902644bfae044449de721bedae938119e68534)
2018-10-15 15:08:10 +02:00
Lancelot SIX
7d19c136e9 pythonPackages.django: 1.11.15 -> 1.11.16
See https://docs.djangoproject.com/en/1.11/releases/1.11.16/

(cherry picked from commit 95a040f9b65ab3624a4d9a82c0fa07b6655f4790)
2018-10-15 15:07:31 +02:00
Jörg Thalheim
ae16537bf8 Merge pull request #48437 from rnhmjoj/shell-conduit-backport
haskellPackages.shell-conduit: fix build
2018-10-15 11:02:28 +01:00
rnhmjoj
2334e37f5a haskellPackages.shell-conduit: fix build
(cherry picked from commit 096be6d941)
Reason: the package is broken in NixOS stable.
2018-10-15 11:24:56 +02:00
Samuel Dionne-Riel
c06f5302f6 dbeaver: 5.2.1 -> 5.2.2 (#48442)
(cherry picked from commit 22c12da8aa)
2018-10-15 08:09:55 +02:00
Ambroz Bizjak
195a573cc8 nixos/xserver: Implement configuration of NVIDIA Optimus via PRIME
This adds configuration options which automate the configuration of NVIDIA Optimus using PRIME. This allows using the NVIDIA proprietary driver on Optimus laptops, in order to render using the NVIDIA GPU while outputting to displays connected only to the integrated Intel GPU. It also adds an option for enabling kernel modesetting for the NVIDIA driver (via a kernel command line flag); this is particularly useful together with Optimus/PRIME because it fixes tearing on PRIME-connected screens.

The user still needs to enable the Optimus/PRIME feature and specify the bus IDs of the Intel and NVIDIA GPUs, but this is still much easier for users and more reliable. The implementation handles both the X configuration file as well as getting display managers to run certain necessary `xrandr` commands just after X has started.

Configuration of commands run after X startup is done using a new configuration option `services.xserver.displayManager.setupCommands`. Support for this option is implemented for LightDM, GDM and SDDM; all of these have been tested with this feature including logging into a Plasma session.

Note: support of `setupCommands` for GDM is implemented by making GDM run the session executable via a wrapper; the wrapper will run the `setupCommands` before execing. This seemed like the simplest and most reliable approach, and solves running these commands both for GDM's X server and user X servers (GDM starts separate X servers for itself and user sessions). An alternative approach would be with autostart files but that seems harder to set up and less reliable.

Note that some simple features for X configuration file generation (in `xserver.nix`) are added which are used in the implementation:
- `services.xserver.extraConfig`: Allows adding arbitrary new sections. This is used to add the Device section for the Intel GPU.
- `deviceSection` and `screenSection` within `services.xserver.drivers`. This allows the nvidia configuration module to add additional contents into the `Device` and `Screen` sections of the "nvidia" driver, and not into such sections for other drivers that may be enabled.
2018-10-14 20:06:12 -05:00
Tycho Grouwstra
320499ca33 skypeforlinux: 8.28.0.41 -> 8.32.0.44 (#48391)
* skypeforlinux: 8.28.0.41 -> 8.32.0.44

Fixes 404 on https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_8.28.0.41_amd64.deb, as only [more recent versions](https://repo.skype.com/deb/pool/main/s/skypeforlinux/) are still available, as previously noted at #31047. Avoiding `x.y.76.z` releases as per the comment.

* update sha256

(cherry picked from commit 72128fcd9d)
2018-10-15 01:11:12 +03:00
Jörg Thalheim
9345561c18 rambox: 0.5.17 -> 0.6.1
(cherry picked from commit a25e765dc9)
2018-10-14 20:52:40 +01:00
Tim Steinbach
08005ede0f fail2ban: 0.10.3.1 -> 0.10.4
(cherry picked from commit 2a4bfe20d5aa2709c40f4b1d2bf55b34d3131144)
2018-10-14 10:27:15 -04:00
Jörg Thalheim
970b2937f6 Merge pull request #48377 from bgamari/cross-fixes-for-18.09
Cross fixes for 18.09
2018-10-14 09:10:26 +01:00
volth
eb1dc551af bootStage1: fix cross build (@matthewbauer's solution)
(cherry picked from commit b3dff39105)
2018-10-14 02:03:23 -04:00
volth
e1fbfca6e0 bootStage1: fix cross build
(cherry picked from commit 9dd5dc57a7)
2018-10-14 02:03:18 -04:00
Tim Steinbach
d96c7a3563 linux: 4.18.13 -> 4.18.14
(cherry picked from commit 0ba1f0aa72)
2018-10-13 12:46:01 -04:00
Tim Steinbach
d001ddcdca linux: 4.14.75 -> 4.14.76
(cherry picked from commit 43d8a40653)
2018-10-13 12:46:00 -04:00
Tim Steinbach
766d135c1f linux: 4.9.132 -> 4.9.133
(cherry picked from commit b4d4affe41)
2018-10-13 12:46:00 -04:00
Tim Steinbach
1b3c777a97 linux: 4.4.160 -> 4.4.161
(cherry picked from commit 3ad8afbf3e)
2018-10-13 12:46:00 -04:00
Franz Pletz
aa25fb3de4 wireguard: 0.0.20181006 -> 0.0.20181007
(cherry picked from commit 97d2779059)
2018-10-13 15:49:51 +02:00
Yegor Timoshenko
9787b0c11d wireguard-go: 0.0.20180613 -> 0.0.20181001
(cherry picked from commit fed0a4ec94)
2018-10-13 15:49:45 +02:00
Yegor Timoshenko
ce2715b2f6 wireguard: 0.0.20180925 -> 0.0.20181006
(cherry picked from commit 011a463d17)
2018-10-13 15:49:39 +02:00
Ben Challenor
a95db4c83e jenkins: 2.138.1 -> 2.138.2
(cherry picked from commit 88e7d7b350)
2018-10-13 14:13:01 +02:00
Justin Humm
ae53ed9d36 haskellPackages.arbtt: unbreak with jailbreak
(cherry picked from commit a01cab05c6)
Backport of #48000
2018-10-13 12:52:47 +02:00
Daiderd Jordan
a326dad536 reattach-to-user-namespace: 2.6 -> 2.7
Adds macOS Mojave (10.14) support.

(cherry picked from commit 42088e08b39cfc40b23fd7bb427fd3cf7521c2d8)
2018-10-13 11:56:45 +02:00
Frederik Rietdijk
1d61c41646 python.pkgs.pip: 18.0 -> 18.1
(cherry picked from commit 474c78a3e5)
2018-10-13 10:35:21 +02:00
Frederik Rietdijk
de7a2df9cf python.pkgs.bootstrapped-pip: update pip, setuptools and wheel
(cherry picked from commit b05a5969fc)
2018-10-13 10:35:13 +02:00
Ben Wolsieffer
6306db4f77 pythonPackages.autobahn: use checkInputs
(cherry picked from commit 1c3f7302fa)
2018-10-13 10:34:36 +02:00
Frederik Rietdijk
c918e051aa pythonPackages.autobahn: run hooks
(cherry picked from commit b75ea627c6)
2018-10-13 10:34:26 +02:00
Frederik Rietdijk
284a1283e7 pythonPackages.pytest.setupHook: run in correct phase
It was reported that the 2nd solution wasn't working as expected because
it was ran in the wrong phase.

This commit creates a new phase, in between the installCheckPhase and distPhase.

(cherry picked from commit 20a4a4b593)
2018-10-13 10:34:04 +02:00
Samuel Dionne-Riel
03bf8cd487 lib/types: enhances separatedString's description
The previous description "string" is misleading in the full options
manual pages; they are actually concatenated strings, with a specific
character.

The empty string version ("types.string") has been special-cased to
provide a better message.

(cherry picked from commit 0808c7cd31)
2018-10-12 19:57:59 -04:00
Alexander V. Nikolaev
29b9fee3fc nixos/rmilter: don't enable by default, if rspamd enabled
(cherry picked from commit b61dd2bcb7)
2018-10-12 23:54:13 +01:00
Graham Christensen
c8342644cf nixpkgs docs: document recursivelyUpdate
(cherry picked from commit 0eb3b93e1a)
2018-10-12 16:55:18 -04:00
Graham Christensen
c30b39cfb1 nixpkgs docs: document recursivelyUpdateUntil
(cherry picked from commit c100a456b1)
2018-10-12 16:55:18 -04:00
Graham Christensen
1682621057 nixpkgs docs: document zipAttrs
(cherry picked from commit 77140a9075)
2018-10-12 16:55:18 -04:00
Graham Christensen
a02495dd47 nixpkgs docs: document zipAttrsWith
(cherry picked from commit 655a5fa8bf)
2018-10-12 16:55:17 -04:00
Graham Christensen
66ce692e62 nixpkgs docs: Clarify zipAttrsWithNames's docs
(cherry picked from commit 4edb31882c)
2018-10-12 16:55:17 -04:00
Graham Christensen
b8f712ef61 nixpkgs docs: document zipAttrsWithNames
(cherry picked from commit 3b3bde463b)
2018-10-12 16:07:14 -04:00
Graham Christensen
8b02f90f3a nixpkgs docs: document optionalAttrs
(cherry picked from commit e0c6981d19)
2018-10-12 16:07:14 -04:00
Graham Christensen
3736fcdc64 nixpkgs docs: document toDerivation
(cherry picked from commit c547c3fe82)
2018-10-12 16:07:13 -04:00
Graham Christensen
1280a227f3 nixpkgs docs: document isDerivation
(cherry picked from commit f85a4ba9c3)
2018-10-12 16:07:13 -04:00
Graham Christensen
16c53e041b nixpkgs docs: document genAttrs
(cherry picked from commit ef05e1057b)
2018-10-12 16:07:13 -04:00
Graham Christensen
27b549342b nixpkgs docs: document mapAttrsRecursiveCond
(cherry picked from commit d664b8f5e3)
2018-10-12 16:07:12 -04:00
Graham Christensen
45dbf83bbc nixpkgs docs: finish up mapAttrsRecursive
(cherry picked from commit e7549b96ad)
2018-10-12 16:07:12 -04:00
Léo Gaspard
14bb2f42bf nheko: mark as insecure (#48281)
The package is no longer maintained and includes potential security
vulnerabilities (a use-after-free and several crashes) that are known
and not fixed in the version present in nixpkgs. They don't look too bad
judging from the trigger vectors mentioned in the changelog, but with
the project going unmaintained one of them becoming a security
vulnerability would likely not be noticed.

(cherry picked from commit ad992cbde1)
2018-10-12 21:29:24 +02:00
Victor SENE
2c5f94b836 nixos/emby : delete programData hardcode in pkg
(cherry picked from commit 751c64754f)
2018-10-12 16:57:01 +02:00
Victor SENE
ec61247898 nixos/emby : use the dataDir option
(cherry picked from commit 7d43e2a861)
2018-10-12 16:57:01 +02:00
nyanloutre
ca20a042cd nixos/emby: fixes binary name change introduced by #47659
(cherry picked from commit bb06b5b442)
2018-10-12 16:57:00 +02:00
nyanloutre
3f8c202c46 emby: move lib to opt
(cherry picked from commit c2e269ea05)
2018-10-12 16:56:59 +02:00
nyanloutre
36f064d341 emby: move usr/lib to lib
(cherry picked from commit 9ec17c6318)
2018-10-12 16:56:59 +02:00
nyanloutre
04d75db258 emby: add sqlite to wrapper
(cherry picked from commit f7a2e2025f)
2018-10-12 16:56:58 +02:00
nyanloutre
ef311d5c76 WIP emby: 3.5.2.0 -> 3.5.3.0
(cherry picked from commit 6e8da1ddf0)
2018-10-12 16:56:58 +02:00
worldofpeace
c2638ddfc9 emby: 3.4.1.0 -> 3.5.2.0
(cherry picked from commit bd02b3352a)
2018-10-12 16:56:57 +02:00
worldofpeace
cfd6ace6bf nixos/emby: ensure plugins are writeable
(cherry picked from commit a16c6d85a1)
2018-10-12 16:56:57 +02:00
Nick Novitski
d308e698f9 fastlane: disable update check
(cherry picked from commit 63ed3c8c5e)
2018-10-12 14:30:19 +01:00
Will Dietz
b72998bbfc chromium: update to 69.0.3497.100 (and others), ran update.sh
(cherry picked from commit ce6db5e36e)
2018-10-12 15:01:06 +02:00
Uli Baum
589d270ce4 nixos/network-interfaces-scripted: fix container networking bug
When a bridge interface was reconfigured, running containers using
this bridge lost connectivity: restarting network-addresses-brN.service
triggered a restart of network-setup.service via a "partOf" relationship
introduced in 07e0c0e0a2.
This in turn restarted brN-netdev.service.
The bridge was thus destroyed and recreated with the same name but a new
interface id, causing attached veth interfaces to lose their connection.

This change removes the "partOf" relationship between
network-setup.service and network-addresses-brN.service for all bridges.

(cherry picked from commit 2742063677)
2018-10-12 10:50:52 +02:00
Periklis Tsirakidis
c0c867ddb7 minikube: bump version 0.29.0 -> 0.30.0
This is a fix release for CVE-2018-1002103. More details in
https://github.com/kubernetes/minikube/issues/3208

(cherry picked from commit e5ee89f758)
Backport of #48256
2018-10-12 10:48:59 +02:00
Vincent Demeester
c0c5ea193f minikube: 0.28.1 -> 0.29.0
Hard-code kubernetes version as the upstream python script is broken/not-up-to-date

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
(cherry picked from commit ba98a7aea1)
Backport of #47765
2018-10-12 10:33:06 +02:00
taku0
3cff2fbc0a oraclejdk: deprecate oraclejdk 10
(cherry picked from commit 628fa1d50f)
2018-10-12 00:06:57 +02:00
Franz Pletz
e6630c9f90 Merge pull request #48237 from andir/18.09/apacheHttpd
[18.09] apacheHttpd: 2.4.34 -> 2.4.35
2018-10-11 21:51:29 +00:00
R. RyanTM
d720d5f697 apacheHttpd: 2.4.34 -> 2.4.35
Picked from master since it fixes CVE-2018-11763 which allows a remote
DoS against a server with HTTP/2 enabled.

Reference: https://lists.apache.org/thread.html/d435b0267a76501b9e06c552b20c887171064cde38e46d678da4d3dd@%3Cannounce.httpd.apache.org%3E

(cherry picked from commit 524c2120f9)
2018-10-11 23:09:10 +02:00
Silvan Mosberger
b97b32cf1d Merge pull request #48227 from Infinisil/issue-46038
[18.09] nix-daemon service: Ensure `ssh` is on PATH. Fixes #46038.
2018-10-11 22:18:15 +02:00
Niklas Hambüchen
6e2c08b68c nix-daemon service: Ensure ssh is on PATH. Fixes #46038.
This fixes a regression introduced in commit
  700e21d6da

nix needs ssh on path for the SSH substituter functionality,
not only the distributed builds functionality.

Signed-off-by: Niklas Hambüchen <mail@nh2.me>
(cherry picked from commit 31919bce6b)
2018-10-11 21:53:00 +02:00
Silvan Mosberger
b91cb0607d Merge pull request #48220 from prusnak/backport_nm_plugins
openvpn plugins: use absolute paths to configuration gui
2018-10-11 20:53:34 +02:00
John Ericson
b413cfd3ff Merge pull request #48221 from obsidiansystems/versatile-__splicedPackages
__splicedPackages: Don't include xorg for 18.09
2018-10-11 13:54:25 -04:00
Michael Raskin
1a75f83903 Merge pull request #48189 from aanderse/redmine
redmine: refactor, cleanup, bug fix, and add functionality
(cherry picked from commit a29603344a)
2018-10-11 20:53:00 +03:00
Symphorien Gibol
a582a32e24 openvpn plugins: use absolute paths to configuration gui
(cherry picked from commit 5bfe8bfcea)
2018-10-11 19:28:02 +02:00
zimbatm
8d9756ef56 vault: 0.11.1 -> 0.11.2
changelog: https://github.com/hashicorp/vault/blob/v0.11.2/CHANGELOG.md
(cherry picked from commit 0bcbb97879)
2018-10-11 18:28:26 +02:00
John Ericson
5fdfc6f4ae Merge pull request #48216 from LumiGuide/fix-overrideScope-warning
lib: fix wording of the `overrideScope` warning
(cherry picked from commit 041119528c)
2018-10-11 12:04:44 -04:00
WilliButz
2cae2b9a84 nixos/tests: add test for prometheus exporters
(cherry picked from commit 0febc64ed1)
2018-10-11 16:00:02 +02:00
WilliButz
7277b1d908 nixos/prometheus-exporters: fix unapplied service config
Prior to this commit, the default values for `Restart`, `PrivateTmp` and
`WorkingDirectory` were falsely ignored.

I also added myself as maintainer.

(cherry picked from commit fbb7e0c82f)
2018-10-11 16:00:01 +02:00
WilliButz
59940fbcd6 nixos/prometheus-varnish-exporter: avoid crash on restart
(cherry picked from commit 24320f4a9e)
2018-10-11 16:00:00 +02:00
Pavol Rusnak
a8ad1fbe92 spotify: fix icon
(cherry picked from commit 33171befdb)
2018-10-11 15:24:26 +02:00
Franz Pletz
6d6bc0a58c equilux-theme: init at 20180927
(cherry picked from commit 6892cbce09)
2018-10-11 14:14:39 +02:00
Franz Pletz
97ba5aac8d xsecurelock: hardcode path to xset
(cherry picked from commit c04e6e04e2)
2018-10-11 14:14:36 +02:00
Jörg Thalheim
85b269a5d5 alacritty: 0.2.0 -> 0.2.1
(cherry picked from commit 3bc454fda7)
2018-10-11 11:14:42 +01:00
Tim Steinbach
42725274ef linux: 4.18.12 -> 4.18.13
(cherry picked from commit cf440dae56)
2018-10-10 19:57:12 -04:00
Tim Steinbach
f5bd6040ee linux: 4.14.74 -> 4.14.75
(cherry picked from commit fab0c8824a)
2018-10-10 19:57:10 -04:00
Tim Steinbach
a3a6780a52 linux: 4.9.131 -> 4.9.132
(cherry picked from commit 8f9743d2b7)
2018-10-10 19:57:07 -04:00
Tim Steinbach
515f4a7522 linux: 4.4.159 -> 4.4.160
(cherry picked from commit 33b68f8768)
2018-10-10 19:57:05 -04:00
xeji
3997e8d617 flashplayer: 31.0.0.108 -> 31.0.0.122 (#48126)
previous version was removed upstream (404)

(cherry picked from commit bde4483d13)
2018-10-10 23:50:09 +02:00
Daniël de Kok
cbf6eede26 resilio-sync: 2.6.0 -> 2.6.1 (#47973)
Changelog: https://help.resilio.com/hc/en-us/articles/206216855-Sync-2-x-change-log
(cherry picked from commit 632ae0502e)
2018-10-10 23:47:38 +02:00
Dmitry Kalinkin
abd6a5bff3 dia: fix on darwin (#48176)
Fixes runtime error:
  GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported

(cherry picked from commit c047572a17)
2018-10-10 23:21:05 +02:00
Justin Humm
d60bd3f681 ja2-stracciatella: fix build due to #47709 2018-10-10 21:55:45 +02:00
Kristoffer Thømt Ravneberg
71f195761f gitlab-ee: Add ee rubyEnv, fixes regression introduced by 11.3.0 in #45574
(cherry picked from commit 0083ca1266)
2018-10-10 21:41:21 +02:00
Kristoffer Thømt Ravneberg
0d110efa2b gitlab: 11.2.3 -> 11.3.4
(cherry picked from commit d837338d6b)
2018-10-10 21:41:21 +02:00
Kristoffer Thømt Ravneberg
dbd9fed2fb gitlab-workhorse: 6.1.0 -> 6.1.1, make build deterministic
(cherry picked from commit 998d4e4e2c)
2018-10-10 21:41:20 +02:00
Kristoffer Thømt Ravneberg
e86dd58b29 gitaly: 0.117.2 -> 0.120.0
(cherry picked from commit 908a75a3ae)
2018-10-10 21:41:20 +02:00
Andreas Rammhold
c7e72a70f0 Merge pull request #48125 from andir/18.09/net_snmp
[18.09] net_snmp: fix CVE-2018-18065
2018-10-10 21:05:19 +02:00
Justin Humm
5647e9ae4e buildRustPackage: fix regex for separating lib and bin
E.g. exa was wrongly put into /lib, as it matches

  .*.a

but not

  .*\.a

(cherry picked from commit 64d0676fe1)
2018-10-10 19:34:49 +02:00
Silvan Mosberger
2bafa93b75 haskellPackages.*.env: Use shellFor 2018-10-10 08:46:39 -04:00
Silvan Mosberger
08814b72cf haskellPackages.shellFor: Clean and fixup
- Now correctly sets NIX_GHC* env vars
2018-10-10 08:46:39 -04:00
Silvan Mosberger
fdaa426452 haskell.lib.getBuildInputs: Use generic builder passthru to implement 2018-10-10 08:46:39 -04:00
Eelco Dolstra
4dd9cd3f69 libqtav: Reduce closure size from 734 to 457 MiB
(cherry picked from commit cd3a0b7f38)
2018-10-10 13:28:22 +02:00
Eelco Dolstra
f8e3e22055 marble: Add dev output
(cherry picked from commit 13c1f26807)
2018-10-10 13:28:03 +02:00
Eelco Dolstra
a1dc97e7ba digikam: libGLU_combined -> libGL + libGLU
This prevents a runtime dependency on a large number of -dev outputs.

(cherry picked from commit a3382a85b3)
2018-10-10 13:28:00 +02:00
Eelco Dolstra
70647250bb opencv3: Reduce closure size from 520 to 154 MiB
(cherry picked from commit c8a2533516)
2018-10-10 13:27:12 +02:00
Eelco Dolstra
e11239eb6d thunderbird: Remove buildconfig
This reduces the closure size from 1689 MiB to 425 MiB.

(cherry picked from commit 2be42950c3)
2018-10-10 13:26:45 +02:00
Eelco Dolstra
0465040d06 qtgraphicaleffects: Add dev output
This shrank my system closure by about 192 MiB.

(cherry picked from commit 9bbd4f653f)
2018-10-10 13:26:40 +02:00
Eelco Dolstra
fd1e5b2550 lsof: Don't record compiler flags / build kernel
This removed glibc.dev from the closure and improves binary
reproducibility.

(cherry picked from commit 1eff910a15)
2018-10-10 13:26:20 +02:00
Matthew Bauer
1c3945ad25 nfs-utils: properly strip system-generators
nfs-utils had a dependency on gcc through
etc/systemd/system-generators/*-server-generator. It was not stripped
correctly because it’s not in an expected path. This adds it to the
strip list.

(cherry picked from commit 1427c50cea)
2018-10-10 13:25:43 +02:00
Eelco Dolstra
383bbb9626 git: Strip libsecret
This reduces gitFull's closure size from 412 MiB to 271 MiB.

(cherry picked from commit 7b9c4954f2)
2018-10-10 13:25:09 +02:00
Samuel Dionne-Riel
8cfce968b1 nixos/doc: Actually fix partitioning instructions.
The previous tentative to the fix got the order mixed up a bit. This
new fix has been re-verified to get them in the good order as per the
instructions in the following chapters.

(cherry picked from commit 467bec34bb)
2018-10-09 23:02:00 -04:00
lassulus
c93665d440 nixos/gnome3: don't autoenable gdm
This seems to cause problems if people have other display-managers
enabled

(cherry picked from commit 5a752ad879)
2018-10-09 23:31:04 +01:00
Vincent Ambo
59fe4c7f17 journaldriver: 1.0.0 -> 1.1.0 (#48106)
Included changes:

* upstream repository has moved, URLs changed accordingly
* journaldriver bumped to new upstream release

The new release includes an important workaround for an issue that
could cause log-forwarding to fail after service restarts due to
invalid journal cursors being persisted.

(cherry picked from commit 5ead27394d)

backported because of moved upstream repo
2018-10-09 23:46:38 +02:00
Andreas Rammhold
9bf0cd9ccb net_snmp: fix CVE-2018-18065
(cherry picked from commit 2f7c242953)
2018-10-09 23:09:04 +02:00
Gabriel Ebner
de37b4c18c vdirsyncer: fix build
I'm not entirely sure what's going on here.  The exact same code works
on master.
2018-10-09 13:25:11 +02:00
Erlend Pedersen
df6d40feb6 kbd: Rename some keymaps.
From upstream kbd, some keymap names are reused across very different
keyboard layouts. This is a a problem because loadkeys just picks the
first keymap it sees. The clashing names lead to e.g.  "loadkeys no"
defaulting to a norwegian dvorak map instead of the much more common
qwerty one.

Used Arch Linux's list of keymaps that need renaming, with a small
deviation: the norwegian dvorak map becomes dvorak-no instead of
no-dvorak, to match the naming scheme for all the other dvorak maps.

fixes #47878

(cherry picked from commit f1987fb58f)
2018-10-09 08:19:44 +01:00
Tim Steinbach
01762972be sbt: 1.2.3 -> 1.2.4
(cherry picked from commit 844bcbd137)
2018-10-08 20:14:08 -04:00
Arian van Putten
1ada6fcde1 nixos/containers: Add regression test for #40355
(cherry picked from commit 0668906e84)
2018-10-08 17:00:33 -04:00
Arian van Putten
cf9b801b60 Revert "Revert "Revert "doc: Update section about imperative containers"""
nixos-container can now execute nix commands again inside the container

This reverts commit 9622cd3b38.

(cherry picked from commit bb31835b1d)
2018-10-08 17:00:33 -04:00
Arian van Putten
76c1cd35d0 nixos-container: Force container to talk to host nix-daemon
When logging into a container by using
  nixos-container root-login
all nix-related commands in the container would fail, as they
tried to modify the nix db and nix store, which are mounted
read-only in the container.  We want nixos-container to not
try to modify the nix store at all, but instead delegate
any build commands to the nix daemon of the host operating system.

This already works for non-root users inside a nixos-container,
as it doesn't 'own' the nix-store, and thus defaults
to talking to the daemon socket at /nix/var/nix/daemon-socket/,
which is bind-mounted to the host daemon-socket, causing all nix
commands to be delegated to the host.

However, when we are the root user inside the container, we have the
same uid as the nix store owner, eventhough it's not actually
the same root user (due to user namespaces). Nix gets confused,
and is convinced it's running in single-user mode, and tries
to modify the nix store directly instead.

By setting `NIX_REMOTE=daemon` in `/etc/profile`, we force nix
to operate in multi-user mode, so that it will talk to the host
daemon instead, which will modify the nix store for the container.

This fixes #40355

(cherry picked from commit 3624bb5362)
2018-10-08 17:00:33 -04:00
Linus Heckemann
d0b24be55d debian vm tools: use snapshot.debian.org
snapshot.debian.org actually keeps track of all of the updates as they
come in rather than doing arbitrary (?) snapshots.

(cherry picked from commit 9cc18fa7f9)
2018-10-08 17:34:41 +01:00
Vladimír Čunát
3cee341f06 Merge branch 'staging-18.09' into release-18.09 2018-10-08 17:14:59 +02:00
pacien
21293d2576 tinc: 1.0.34 -> 1.0.35, 1.1pre16 -> 1.1pre17
Critical security update (CVE-2018-16737, CVE-2018-16738, CVE-2018-16758)

(cherry picked from commit 15a190eb27)
2018-10-08 17:04:13 +02:00
Rob Vermaas
1eb1fec3ae Fix build for rPackages.units 2018-10-08 12:53:07 +02:00
Vladimír Čunát
3ab942ef67 openssh: fix tunnel forwarding (upstream patch)
Close #48031, fixes #48016.  I didn't use the PR commit
because I think it's better to fetch the patch.

(cherry picked from commit c2e6ca501e)
2018-10-08 12:06:06 +02:00
Vladimír Čunát
41cc5c414b Merge branch 'release-18.09' into staging-18.09 2018-10-08 12:05:59 +02:00
Ben Gamari
2fdba72c05 qpdf: Drop CVE-2018-9918.patch (#47935)
This has been merged upstream in 8.2.1.

(cherry picked from commit 58a02af417)
2018-10-08 08:41:53 +02:00
lassulus
617607e043 charybdis service: bin/charybdis-ircd -> bin/charybdis
(cherry picked from commit 99c8dc4a11)
2018-10-07 20:44:43 +01:00
Andreas Rammhold
76e4d162ab Merge pull request #48014 from schmittlauch/backport-tbb-bin-8.0.2
backport tor-browser-bundle-bin minor update
2018-10-07 20:05:25 +02:00
Andreas Rammhold
34eb9f7d10 backport tor-browser-bundle-bin minor update
tor-browser-bundle-bin: 8.0.1 -> 8.0.2

Update to latest version due to security updates and 8.0.1 not being
available on the mirrors anymore.

Release notes: https://blog.torproject.org/new-release-tor-browser-802

(cherry picked from commit 248ed3575c)

reason: The binary dist-file of tor-browser-bundle-bin-8.0.2 is gone
from the mirrors, making the derivation for v8.0.1 fail.
This is just a minor version bump.
2018-10-07 19:25:24 +02:00
Alex Leferry 2
5cc757117d cool-retro-term: Fix link to home page
(cherry picked from commit 82b2b9135a)
2018-10-07 11:56:23 +01:00
Justin Humm
45c83d91b8 borgbackup: patch bug that allowed for exceeding quotas
See also https://github.com/borgbackup/borg/issues/4093 for this.

(cherry picked from commit 0cfc923813)
2018-10-07 11:53:54 +01:00
Andrew Childs
2b3b607ea9 nixos/prometheus-snmp-exporter: fix command line argument format
(cherry picked from commit c477d6658c)
2018-10-07 11:50:35 +01:00
Chris Hodapp
090f5e0955 gdal: Add libxml2 to build
(cherry picked from commit 4af38a2516)
Backport of #47972
2018-10-07 10:00:50 +02:00
Samuel Dionne-Riel
be47bab9e4 nano: 3.0 -> 3.1
(cherry picked from commit 65eb3e38e8)
Backport of #47991
2018-10-07 09:56:17 +02:00
Samuel Dionne-Riel
f4bb9c421f Merge pull request #47956 from samueldr/18.09/backport-46443
[backport] Miniupnpd and bittorrent improvements (#46443)
2018-10-06 12:27:07 -04:00
schneefux
299814b385 nodePackages.webtorrent-cli: add node-gyp dependency, fixes build
(cherry picked from commit ce4072c662)
2018-10-06 16:41:03 +01:00
Jaka Hudoklin
9eb724f85e telepresence: 0.85 -> 0.93 (#47966)
(cherry picked from commit a134b9a3dd)

backported because previouse version failed to build
2018-10-06 15:22:20 +02:00
Andreas Rammhold
98e6fa3738 firefox: provide clang configure flags on i686
With the upgrade to firefox 62 clang flags are now required on i686.

(cherry picked from commit acf4a4eff3)
2018-10-06 10:43:58 +02:00
Andreas Rammhold
f26df1572d firefox-esr-52: mark as unsupported
The ESR release is no longer supported by Mozilla. We should mark it as
insecure as we did on 18.03 and master.

Originally marked as insecure on master in 0a3f07077b.
2018-10-06 10:42:10 +02:00
Jörg Thalheim
c7dc01c287 Merge pull request #47952 from samueldr/auto/dbeaver/nixos-18.09/5.2.1
dbeaver: 5.2.0 -> 5.2.1 (18.09)
2018-10-06 08:03:17 +01:00
Florian Klink
dbcbf7cce8 ghostscript: 9.24 -> 9.25 (#47948)
Highlights in this release include:

This release fixes problems with argument handling, some unintended results of the security fixes to the SAFER file access restrictions (specifically accessing ICC profile files), and some additional security issues over the recent 9.24 release.

CVE-2018-16802
CVE-2018-17183

Note: The ps2epsi utility does not, and cannot call Ghostscript with the -dSAFER command line option. It should never be called with input from untrusted sources.

Security issues have been the primary focus of this release, including solving several (well publicised) real and potential exploits.
PLEASE NOTE: We strongly urge users to upgrade to this latest release to avoid these issues.

As well as Ghostscript itself, jbig2dec has had a significant amount of work improving its robustness in the face of out specification files.

IMPORTANT: We are in the process of forking LittleCMS. LCMS2 is not thread safe, and cannot be made thread safe without breaking the ABI. Our fork will be thread safe, and include performance enhancements (these changes have all be been offered and rejected upstream). We will maintain compatibility between Ghostscript and LCMS2 for a time, but not in perpetuity. Our fork will be available as its own package separately from Ghostscript (and MuPDF).

The usual round of bug fixes, compatibility changes, and incremental improvements.

(cherry picked from commit 5b77b0d2f1eda9a42fe188eafb499230741e7925)
2018-10-06 08:47:09 +02:00
Bob van der Linden
fc8769dbfc tests: bittorrent: add bobvanderlinden as maintainer
(cherry picked from commit 5fbc521bf9)
2018-10-06 00:36:38 -04:00
Bob van der Linden
b453212005 tests: bittorrent: improve stability
This attempts to improve stability of the test by using existing
services for miniupnpd and transmission.

It also uses explicit addresses for the network interfaces so that the
external IP addresses are valid internet addresses (thus fixing
validation problems from upnpc).

Also disable eth0 from being used to transfer torrents over without that
being the intention.

(cherry picked from commit 276ffc5656)
2018-10-06 00:36:38 -04:00
Bob van der Linden
3ab4c76382 tests: upnp: init test for upnp using miniupnpd / miniupnpc
(cherry picked from commit 32c63c6905)
2018-10-06 00:36:38 -04:00
Bob van der Linden
4342bdd79d nixos: miniupnpd: use iptables scripts
(cherry picked from commit d3eff01076)
2018-10-06 00:36:37 -04:00
Bob van der Linden
9dc6bdcc09 miniupnpd: wrap iptables scripts to use correct PATH
(cherry picked from commit 2039327879)
2018-10-06 00:36:37 -04:00
Samuel Dionne-Riel
8810238efa dbeaver: 5.2.0 -> 5.2.1
(cherry picked from commit 2012860e7e)
2018-10-05 22:37:28 -04:00
Samuel Dionne-Riel
6a3f5bcb06 nixos/doc: Updates release date for 18.09
(cherry picked from commit 82d1bf9691)
2018-10-05 18:33:19 -04:00
Samuel Dionne-Riel
1863faca75 README: 18.03 -> 18.09
(cherry picked from commit 29b479eb72)
2018-10-05 18:25:14 -04:00
Samuel Dionne-Riel
0ea9623aa4 Updates 18.09 release notes for release.
(cherry picked from commit 6487a47996)
2018-10-05 18:19:39 -04:00
Andreas Rammhold
b0b0a6cf3b Merge pull request #47925 from edef1c/git-2.18.1
git: 2.18.0 -> 2.18.1 (CVE-2018-17456)
2018-10-05 22:12:29 +02:00
edef
def2618c09 git: 2.18.0 -> 2.18.1 (CVE-2018-17456) 2018-10-05 18:41:59 +00:00
Graham Christensen
d916a0f9ce docs: Delete assert functions since they don't exist in 18.09 2018-10-05 13:18:04 -04:00
Graham Christensen
3bf2c2f2d1 Generate links to function definitions
Hydra passes the full revision in to the input, which we pass through.

If we don't get this ,we try to get it from other sources, or default to
master which should have the definition in a close-ish location.

All published docs should have theURL resolve properly, only local
hackers will have the link break.

(cherry picked from commit 5daee73ce4)
2018-10-05 13:14:11 -04:00
Graham Christensen
09b8ed042a version.nix: extract revision-fetching function
(cherry picked from commit 4312cfdbda)
2018-10-05 13:14:07 -04:00
Samuel Dionne-Riel
9d5f0ba8e3 Merge pull request #47898 from peterhoeg/f/activation_1809
nixos system-activation: support activation scripts run in a user context
2018-10-05 12:26:32 -04:00
Graham Christensen
131cb302ab nixpkgs: Start documenting library functions in XML
Covers assert functions and about half of the attrsets functions.

Some internal consistency around IDs could be improved.

(cherry picked from commit f835f77e02)
2018-10-05 10:20:39 -04:00
Notkea
4e73b76ede matrix-synapse: 0.33.5 -> 0.33.6
(cherry picked from commit 570b9bab25)
Backport of #47880
2018-10-05 10:33:18 +02:00
Peter Hoeg
c8b3a26aec plasma5: run kbuildsycoca5 in the user context
(cherry picked from commit 4dada63a17)
2018-10-05 11:27:17 +08:00
Peter Hoeg
092f82b803 switch-to-configuration.pl: activate the nixos-activation.service user service
(cherry picked from commit 8118d6eb2e)
2018-10-05 11:27:03 +08:00
Peter Hoeg
c5b97d47b8 system-activation: support script fragments to run in a user context
(cherry picked from commit 1353ba2678)
2018-10-05 11:26:22 +08:00
Alex Leferry 2
b4d7324678 GRV: Fix typos in description
(cherry picked from commit 1bb4b16b3b)
2018-10-04 23:27:50 +01:00
Vladimír Čunát
8dae912c28 Merge #47699: nixos on hyperv improvements 2018-10-05 00:11:57 +02:00
Michael Weiss
cb08cb4333 Merge pull request #47884 from primeos/security-backports-for-18.09
[18.09] gollum, jekyll (security backports)
2018-10-04 21:50:44 +02:00
Andreas Rammhold
7c3459b027 Merge pull request #47874 from andir/18.09/thunderbird
[18.09] thunderbird:  60.0 -> 60.2.1, thunderbird-bin: 60.0 -> 60.2.1
2018-10-04 21:43:55 +02:00
Michael Weiss
1f96d2f3e4 gollum: 4.1.3 -> 4.1.4 (security, CVE-2018-3740)
(cherry picked from commit 18b468ed81)
Reason: Security update: "Depend on new version of gollum-lib that
relies on a patched version of sanitize, which solves a vulnerability
(CVE-2018-3740). See https://github.com/gollum/gollum-lib/pull/296."
2018-10-04 21:15:38 +02:00
Michael Weiss
5ca268d7cf jekyll: 3.8.3 -> 3.8.4 (security)
(cherry picked from commit e8a35913e1)
Reason: Security update: "fix include bypass of EntryFilter#filter
symlink check".
2018-10-04 21:14:46 +02:00
Michael Weiss
69d32c2a33 gollum: 4.1.2 -> 4.1.3
(cherry picked from commit 265c5fc485)
Reason: Security update: "Solves a vulnerability in the File view and
All Pages view that would allow XSS."
2018-10-04 21:13:50 +02:00
zimbatm
5399898b86 elvish: provide the compiled version
Without this fix, `elvish -version` displays "unknown"

(cherry picked from commit 9d49cf1808)
2018-10-04 19:54:45 +01:00
taku0
20063233d6 thunderbird-bin: 60.0 -> 60.2.1
(cherry picked from commit d4de3b2d34)
2018-10-04 19:20:58 +02:00
taku0
5669552c91 thunderbird: 60.0 -> 60.2.1
(cherry picked from commit d802524def)
2018-10-04 19:20:29 +02:00
Vladimír Čunát
c78e3b7cfb nixos-option: fix #47722 when missing ~/.nix-defexpr/channels
The problem was that the non-fatal warning was not omitted
from the output when constructing a nix expression.
Now it seems OK for me.  When return code is OK,
the warnings don't get passed anywhere, but I expect
that won't matter for this utility.  Fatal errors are still shown.

(cherry picked from commit de93b32f90)
2018-10-04 17:22:05 +02:00
Florian Klink
c02f213dfa terraform-providers.matchbox: init at 0.2.2 (#47863)
(cherry picked from commit e4f4e9fd1d)
2018-10-04 16:15:49 +02:00
Jörg Thalheim
be38959376 Merge pull request #47407 from kalbasit/nixpkgs_add-terraform-provider-nixos
terraform: update all providers and move nixos provider under terraform.withPlugins
(cherry picked from commit 5547a8b6a5)
2018-10-04 11:40:57 +02:00
Vladimír Čunát
11ec1cd1a6 Merge branch 'staging-18.09' into release-18.09 2018-10-04 08:45:49 +02:00
Tim Steinbach
6cbd1ec4b0 linux: 4.18.11 -> 4.18.12
(cherry picked from commit 21db680d32522ece1cbb3999b8e468f2e8b57906)
2018-10-03 23:48:23 -04:00
Tim Steinbach
a4d4490254 linux: 4.14.73 -> 4.14.74
(cherry picked from commit 575c118a6469cd2148ed3092de90f0d8d3aaec53)
2018-10-03 23:48:16 -04:00
Tim Steinbach
e468090878 linux: 4.9.130 -> 4.9.131
(cherry picked from commit e6ff57b328e913ae656e038a819b12926eadd230)
2018-10-03 23:48:08 -04:00
Samuel Dionne-Riel
91c3bc1dfe doc: installing-usb: removes notes about unetbootin.
They are known to cause more issues than solving issues; futhermore
using `dd` should work everywhere without fail.

(cherry picked from commit 8467dc857b)
2018-10-03 22:57:04 -04:00
Samuel Dionne-Riel
9da278dc38 doc: Reviews partitioning instructions to use parted.
The tests in <nixos/tests/installer.nix> are using `parted`, so they are
bound to be better tested than `fdisk`.

This is brought on by a couple issues, plus reports on IRC that the
`fdisk` instructions didn't work as expected.

 * #39354
 * #46309
 * #39942
 * #45478

Care was taken so that the other documented steps did not need changes.

In all this kerfufle, a slight re-organization of the Chapter has been
made, allowing better deep linking.

(cherry picked from commit 6cfbf403ca)
2018-10-03 22:57:00 -04:00
Samuel Dionne-Riel
292d4fce90 nixos/doc: Adds sub-folder to input files.
(cherry picked from commit 2c0d56f007)
2018-10-03 22:56:54 -04:00
Samuel Dionne-Riel
59f5dea6bd doc: installing-usb make macOS note a note.
While it seemingly brings more attention to the macOS notes with the
default docbook template, it better represents which parts of the
section are about macOS, and which parts are simply in the flow of the
text; otherwise the last paragraph may be lost into the details for
macOS.

(cherry picked from commit 8192fcd0fd)
2018-10-03 22:56:33 -04:00
Graham Christensen
e13c208665 nixpkgs docs: format 2018-10-03 22:01:16 -04:00
Graham Christensen
4a0da7f3ac nixpkgs docs: Rebuild manual-full if nested XML docs change 2018-10-03 22:00:29 -04:00
Graham Christensen
ce5e6466b6 shell functions: rewrite as xml 2018-10-03 22:00:29 -04:00
Graham Christensen
5954454dd1 nixpkgs docs: move shell section to its own file 2018-10-03 22:00:28 -04:00
Graham Christensen
7413dce611 nixpkgs docs: move dockertool to its own file 2018-10-03 22:00:27 -04:00
Graham Christensen
191745989c nixpkgs docs: move fhs-environments to its own file 2018-10-03 21:58:37 -04:00
Graham Christensen
05519f21fc nixpkgs docs: move debug to its own file 2018-10-03 21:58:37 -04:00
Graham Christensen
b66df5c45d nixpkgs docs: move generators to its own file 2018-10-03 21:58:37 -04:00
Graham Christensen
3b739c0daf nixpkgs docs: move overrides to its own file 2018-10-03 21:57:26 -04:00
Jörg Thalheim
46069d481c Merge pull request #47709 from et4te/rustbuild-fix-staging
buildRustPackage: install binaries to bin and libraries to lib correctly
2018-10-04 00:03:15 +01:00
Jan Tojnar
d6ff529d05 Merge pull request #47515 from alexeymuranov/update-flatpak-on-18.09
[18.09] flatpak: 0.99.3 -> 1.0.2 (cherry-picked from master)
2018-10-03 21:05:19 +02:00
Matthew Bauer
c090089aad Merge pull request #47788 from prusnak/gcc-arm-embedded_update-18.09
gcc-arm-embedded: 6-2017-q2-update -> 7-2018-q2-update
2018-10-03 13:49:53 -05:00
Jörg Thalheim
e6a6523818 Merge pull request #47757 from nyanloutre/cherry-pick-jackett
[18.09] jackett: cherry-pick 0.10.250
2018-10-03 18:55:12 +01:00
Pavol Rusnak
9fc3dc917a gcc-arm-embedded: 6-2017-q2-update -> 7-2018-q2-update
+ update blackmagic to latest commit which includes gcc7 fixes

(cherry picked from commit b3531b9719)
2018-10-03 19:49:53 +02:00
Keshav Kini
536f6e86cf makeself: backport megastep/makeself#142
Currently, a self-extracting archive created by makeself will fail to
properly execute on NixOS because the boilerplate Bash code it uses to
clean up the temporary directory it extracted its contents into
assumes that the `rm` command is installed at `/bin/rm`, which is not
the case on NixOS.

This commit, a backport of a pull request I made to the upstream
repository at megastep/makeself#142, fixes the issue by causing the
boilerplate code to call `rm` without specifying an absolute path,
which allows the version of `rm` from one's current Nix environment to
be used instead.

(cherry picked from commit eb84586cad)
2018-10-03 18:38:48 +01:00
R. RyanTM
9a8c266656 libressl_2_8: 2.8.0 -> 2.8.1
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/libressl/versions

(cherry picked from commit 807d73c391)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-10-03 11:59:21 -05:00
nyanloutre
4507f60278 jackett: 0.10.198 -> 0.10.250 2018-10-03 15:24:37 +02:00
R. RyanTM
b8e9aff1d7 jackett: 0.10.160 -> 0.10.198
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/jackett/versions
2018-10-03 15:24:36 +02:00
Paul TREHIOU
5a725dcbd0 jackett: 0.9.41 -> 0.10.160 (#46114)
* jackett: update mono to 5.8

Jackett needs mono version >= 5.8

https://github.com/Jackett/Jackett/blob/master/README.md#supported-systems

* jackett: 0.9.41 -> 0.10.160
2018-10-03 15:24:36 +02:00
taku0
04675c8aaa thunderbird: 60.0 -> 60.2.1
(cherry picked from commit d802524def)
2018-10-03 14:54:36 +02:00
taku0
964489f201 thunderbird-bin: 60.0 -> 60.2.1
(cherry picked from commit d4de3b2d34)
2018-10-03 14:54:14 +02:00
Márton Boros
1ae800be28 Fix systemd timer unit documentation
Fixes #36210

(cherry picked from commit d8a555d819)
2018-10-03 08:46:40 -04:00
zimbatm
6e0c9ffbd4 google-compute-engine: 20180510 -> 20180905
The list of corresponding NixOS services are also updated

(cherry picked from commit 9fb79868ab)
2018-10-03 14:11:36 +02:00
Periklis Tsirakidis
f12ea6195e kubectx: 0.5.1 -> 0.6.1
Also provides shell completions for zsh, bash and fish

(cherry picked from commit b9f9b05c37)
Backport of #47731
2018-10-03 13:19:50 +02:00
Maximilian Bosch
6e93cdfe35 nixos/activation: fix systemd-user daemon-reload in auto-upgrade service (#47695)
The autoupgrade service defined in `system.autoUpgrade`
(`nixos/modules/installer/tools/auto-upgrade.nix`) doesn't have `su` in
its path and thus yields a warning during the `daemon-reload`.

Specifying the absolute path fixes the issue.

Fixes #47648

(cherry picked from commit 7297cc5501 and
resolved conflict)
2018-10-03 12:43:20 +02:00
R. RyanTM
b7bfb4180e wireguard-tools: 0.0.20180918 -> 0.0.20180925
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/wireguard-tools/versions

(cherry picked from commit 1491848406)
2018-10-03 11:34:38 +01:00
Andreas Rammhold
1e81ff3244 Merge pull request #47714 from andir/18.09/firefox
[18.09] firefox{-bin,}: 62.0.2 -> 62.0.3, firefox-esr-60: 60.2.1 -> 60.2.2
2018-10-03 11:24:01 +02:00
Andreas Rammhold
f4b24ac5e4 firefox-esr-60: 60.2.1 -> 60.2.2 [critical security fixes]
This update bumps the package to the latest stable version containing a
few security fixes:

- CVE-2018-12386: Type confusion in JavaScript
  A vulnerability in register allocation in JavaScript can lead to type
  confusion, allowing for an arbitrary read and write. This leads to
  remote code execution inside the sandboxed content process when
  triggered.

- CVE-2018-12387
  A vulnerability where the JavaScript JIT compiler inlines
  Array.prototype.push with multiple arguments that results in the stack
  pointer being off by 8 bytes after a bailout. This leaks a memory
  address to the calling function which can be used as part of an
  exploit inside the sandboxed content process.

Source: https://www.mozilla.org/en-US/security/advisories/mfsa2018-24/
(cherry picked from commit 246d2848ff)
2018-10-03 09:54:47 +02:00
Andreas Rammhold
22502e78be firefox: 62.0.2 -> 62.0.3 [critical security fixes]
This update bumps the package to the latest stable version containing a
few security fixes:

- CVE-2018-12386: Type confusion in JavaScript
  A vulnerability in register allocation in JavaScript can lead to type
  confusion, allowing for an arbitrary read and write. This leads to
  remote code execution inside the sandboxed content process when
  triggered.

- CVE-2018-12387
  A vulnerability where the JavaScript JIT compiler inlines
  Array.prototype.push with multiple arguments that results in the stack
  pointer being off by 8 bytes after a bailout. This leaks a memory
  address to the calling function which can be used as part of an
  exploit inside the sandboxed content process.

Source: https://www.mozilla.org/en-US/security/advisories/mfsa2018-24/
(cherry picked from commit e7785f1148)
2018-10-03 09:54:41 +02:00
Andreas Rammhold
4663251636 firefox-bin: 62.0.2 -> 62.0.3 [critical security fixes]
This update bumps the package to the latest stable version containing a
few security fixes:

- CVE-2018-12386: Type confusion in JavaScript
  A vulnerability in register allocation in JavaScript can lead to type
  confusion, allowing for an arbitrary read and write. This leads to
  remote code execution inside the sandboxed content process when
  triggered.

- CVE-2018-12387
  A vulnerability where the JavaScript JIT compiler inlines
  Array.prototype.push with multiple arguments that results in the stack
  pointer being off by 8 bytes after a bailout. This leaks a memory
  address to the calling function which can be used as part of an
  exploit inside the sandboxed content process.

Source: https://www.mozilla.org/en-US/security/advisories/mfsa2018-24/
(cherry picked from commit 64d02660cb)
2018-10-03 09:54:35 +02:00
Edward Tate
c3f8368f97 Shortened rmdir, improved regex to support shared libs with multiple integers at the end. 2018-10-03 09:25:53 +02:00
Edward Tate
f08cebd8d2 Use regex instead of -name in find with -print0 and xargs -0. 2018-10-03 09:25:53 +02:00
Edward Tate
6f37fa7c99 buildRustPackage now correctly installs binaries to bin and libraries to lib. 2018-10-03 09:25:53 +02:00
Peter Hoeg
9ffdaa1f19 nixos on hyperv: hot-add CPU
(cherry picked from commit 6e3e136f77)
2018-10-03 11:46:48 +08:00
Peter Hoeg
18ae457bc7 nixos-installer: use the hyperv module on hyperv
(cherry picked from commit ca6d41ae65)
2018-10-03 11:46:42 +08:00
Peter Hoeg
42968c07c5 nixos on hyperv: load modules and set video mode
(cherry picked from commit 3a76bc7a79)
2018-10-03 11:46:36 +08:00
R. RyanTM
7f70ebf30b matomo: 3.5.1 -> 3.6.0 (#46242)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
matomo

(cherry picked from commit c45dd04946)

backported for security updates
2018-10-02 22:47:39 +02:00
Matthew Bauer
79bbe4d543 haskell: fix x509-system on mojave
darwin.security_tool is currently broken in Mojave. See issue #45042
for more info. Our security_tool stuff comes from 10.9 so I suspect
that it needs an update.

Here I am putting in a hack to get things working again. This uses the
system provided security binary at /usr/bin/security to avoid the
issue in Haskell’s x509-system package. Unfortunately, this will break
with the sandbox. I am also working on a proper fix, but this requires
updating lots of Apple stuff (and also copumpkin’s new CF). You can
follow the progress on this branch:

  https://github.com/matthewbauer/nixpkgs/tree/xcode-security

This commit should be backported to release-18.03 and release-18.09.

/cc @copumpkin @lnl7 @pikajude
2018-10-02 15:20:55 -05:00
Philipp Middendorf
9934f413da jetbrains: add libnotify to wrapper to enable notifications
(cherry picked from commit 0b2f2f3d96)
2018-10-02 20:12:05 +01:00
Philipp Middendorf
0f51003a5b jshint: depend on phantomjs2
(cherry picked from commit 22e9c0a6fa)
2018-10-02 19:34:35 +01:00
R. RyanTM
3e44d2f2b5 verilator: 3.926 -> 4.002
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/verilator/versions

(cherry picked from commit 609f9198f2)
2018-10-02 09:58:38 -05:00
Léo Gaspard
18749a72b7 jetbrains.idea-community: add IntelliJ keyword to the longDescription (#47650)
This should make it easier to find the package under the name
IntelliJ in eg. [1]

[1] https://nixos.org/nixos/packages.html#intellij

(cherry picked from commit 5f5905e30e)
2018-10-02 16:03:42 +02:00
Josef Kemetmüller
0d8c62c15c libcanberra: fix darwin build (#47634)
(cherry picked from commit aeee761aba)
2018-10-02 12:56:34 +02:00
Matthew Pickering
0a198954be gdal: 2.3.1 -> 2.3.2
(cherry picked from commit f80730d903)
Backport of #47565
2018-10-02 09:09:54 +02:00
WilliButz
b8ef448e95 nvtop: use version-independent libnvidia-ml.so symlink
(cherry picked from commit 781206217e)
2018-10-02 08:42:57 +02:00
John Ericson
3e55299b41 Merge pull request #47646 from obsidiansystems/ghc-8.2.2-change-patch
ghc-8.2.2: Oops, added adjacent patch the one I wanted
2018-10-02 01:46:39 -04:00
John Ericson
0ce0851442 Merge pull request #47645 from obsidiansystems/ghc-8.2-hsc2hs
ghc-8.2.2: Fix which hsc2hs is installed on cross for 18.09
2018-10-02 01:10:51 -04:00
Austin Seipp
7b05874c1b perlPackages.Mojolicious: 8.0 -> 8.01
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 5a179ffb01)
2018-10-01 23:26:47 -05:00
Austin Seipp
2e06ce8e98 perlPackages.MojoliciousPluginStatus: init at 1.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 37ce9316bf)
2018-10-01 23:26:47 -05:00
Austin Seipp
56f5ff8a3c perlPackages: init Sereal package family at 4.005
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 65923ede17)
2018-10-01 23:26:47 -05:00
Austin Seipp
029d9c8173 symbiyosys: 2018.07.26 -> 2018.09.12
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 919a3b7f9c)
2018-10-01 23:26:47 -05:00
Austin Seipp
bcad3bb1e8 yosys: 2018.08.08 -> 2018.09.30
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit d7393024d1)
2018-10-01 23:26:47 -05:00
Austin Seipp
8edbdae43d arachne-pnr: 2018.05.13 -> 2018.09.08
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 7b0b895053)
2018-10-01 23:26:47 -05:00
Austin Seipp
aa4177b408 icestorm: 2018.08.01 -> 2018.09.04
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 1e9e3adfb1)
2018-10-01 23:26:47 -05:00
Franz Pletz
66fd61163a nixos/clamav: fix freshclam service if db up to date
(cherry picked from commit 11ba2f270f)
2018-10-02 00:27:24 +02:00
Franz Pletz
5fc5a4fb21 nixos/clamav: fix daemon/updater services toggling
(cherry picked from commit f8d681a91f)
2018-10-02 00:27:23 +02:00
Franz Pletz
b3038ade6f shairport-sync: fix pulseaudio support & default arguments
(cherry picked from commit e7ca9af4cc)
2018-10-02 00:27:23 +02:00
Uli Baum
f2faf3299e Merge branch 'release-18.09' into staging-18.09 2018-10-02 00:17:52 +02:00
Will Dietz
1f1c8079b3 lz4: 1.8.2 -> 1.8.3 (#47547)
(cherry picked from commit 55b6cad537)
2018-10-02 00:16:26 +02:00
John Ericson
d296abb484 Merge pull request #47627 from obsidiansystems/ghc-cross-fixes
ghc: Misc cross fixes for 18.09
2018-10-01 17:19:34 -04:00
Sarah Brofeldt
a54dadb950 nixos/tests/nix-ssh-serve.nix: Use stable nix (#47584)
(cherry picked from commit 358a1c8a28)
2018-10-01 23:02:10 +02:00
xeji
10eec00131 linux kernel: increase build timeout from 1hr to 4 hrs (#47564)
We've recently seen a lot of kernel build timeouts on hydra,
so let's increase the timeout.

(cherry picked from commit 83fd9785f6 and
resolved conflict)
2018-10-01 17:45:27 +02:00
Jörg Thalheim
ec3497a084 Merge pull request #47592 from Mic92/alacritty-backport
alacritty: 2018-08-30 -> 0.2.0 (backport)
2018-10-01 12:23:10 +01:00
Jörg Thalheim
57a4034bd0 alacritty: spell darwin platform correctly
(cherry picked from commit 13b2903169)
2018-10-01 12:09:21 +01:00
Jörg Thalheim
44125457d4 alacritty: restrict platforms to x86_64-{linux,darwin}
(cherry picked from commit 350c79f983)
2018-10-01 12:03:31 +01:00
Jörg Thalheim
2d84895618 alacritty: 2018-08-30 -> 0.2.0
Based on popular demand I decided to upgraded alacritty from my own fork.
We currently also have a version in staging that works without but we
cannot easily backport this one because it relies on some changes in the rust
build infrastructure

(cherry picked from commit cb6ccb6a7e)
2018-10-01 12:03:28 +01:00
Sarah Brofeldt
ff37ba7028 dockerTools: Use nix instead of nixUnstable
(cherry picked from commit b256df4937)
2018-10-01 10:05:50 +02:00
Florian Klink
b550b7d9e3 pythonPackages.pystemd: init at 0.5.0 (#47517)
(cherry picked from commit 2be514d5c3)
2018-10-01 07:36:56 +01:00
Josef Kemetmüller
0f1911eea2 pythonPackages.py-cpuinfo: Fix darwin build (#47558)
(cherry picked from commit 49dcf7be62)
2018-09-30 21:19:24 +02:00
volth
a3e5e6e792 language_subtag_registry: fix hash (#47555)
(cherry picked from commit 61007c0e96)
2018-09-30 21:15:36 +02:00
Josef Kemetmüller
f2a1d990ec pythonPackages.python-mapnik: Fix build
There were two things to fix:
- Boost started shipping libboost_python.so as libboost_python{Major}{Minor}
- Make sure that mapnik and boost link to the correct version of python.

(cherry picked from commit be6451e020)
2018-09-30 21:13:26 +02:00
Josef Kemetmüller
8b3bff1de7 mapnik: 3.0.13 -> 3.0.20
(cherry picked from commit b1857daa25)
2018-09-30 21:13:25 +02:00
Graham Christensen
26537f5379 docs: format 2018-09-29 20:49:27 -04:00
Graham Christensen
4867086bc7 Revert "Revert "doc: Update section about imperative containers""
I fixed the problem.

This reverts commit 29624f6bb2.
2018-09-29 20:47:03 -04:00
Will Dietz
4c3a0ae445 nix-daemon: only add channels dir to NIX_PATH if exists
Per reviewer comment (thanks!).

(cherry picked from commit 243e28bc96)
2018-09-29 20:34:13 -04:00
Tuomas Tynkkynen
aa0c7bd5ed nixos/kexec: Replace meta.available checks
This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.

[dezgeg: Also squash in the bugfix commit "nixos/kexec: Fix typo in meta.platforms" by aszlig]

(cherry picked from commit 599c4df46a)
(cherry picked from commit fd8bca45c9)
2018-09-30 03:09:46 +03:00
Tuomas Tynkkynen
5330abad53 ghc: Replace meta.available checks for enableIntegerSimple
This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.

(cherry picked from commit f4dd2fed7f)
2018-09-30 02:13:48 +03:00
Tuomas Tynkkynen
ae63055af9 treewide: Replace meta.available checks in shouldUsePackages copypasta
This reverts commit 79d8353b5e.

This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.

(cherry picked from commit 5e84926a66)
2018-09-30 02:13:48 +03:00
Tuomas Tynkkynen
2c3443e2d2 apparmor: Replace meta.available checks
This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.

(cherry picked from commit 50d0360888)
2018-09-30 02:13:47 +03:00
Tuomas Tynkkynen
50da319891 nix: Replace meta.available checks
This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.

(cherry picked from commit cdeafe7cdf)

Conflicts:
	pkgs/tools/package-management/nix/default.nix
2018-09-30 02:13:41 +03:00
Tuomas Tynkkynen
6b1ebeb5eb systemd: Replace meta.available checks
This sort of code breaks config.{allowBroken, allowUnsupportedSystem} =
true by making them do unpredictable things.

(cherry picked from commit fe7919f7a1)
2018-09-30 02:12:30 +03:00
Tuomas Tynkkynen
29624f6bb2 Revert "doc: Update section about imperative containers"
This reverts commit b72abcf861.

Breaks manual build:

https://nix-cache.s3.amazonaws.com/log/wnjcy6n5f871bpyy9nd06smiz1ggv99c-nixos-manual-combined.drv
2018-09-30 01:02:45 +03:00
Tim Steinbach
b7cab85b26 linux: 4.18.10 -> 4.18.11
(cherry picked from commit 5eefdebf49)
2018-09-29 17:55:08 -04:00
Tim Steinbach
99b696927a linux: 4.14.72 -> 4.14.73
(cherry picked from commit 00e57782bc)
2018-09-29 17:54:57 -04:00
Tim Steinbach
9bd9306c36 linux: 4.9.129 -> 4.9.130
(cherry picked from commit 74f56e14d9)
2018-09-29 17:54:46 -04:00
Tim Steinbach
c2e605e9d1 linux: 4.4.158 -> 4.4.159
(cherry picked from commit 7769fd6a80)
2018-09-29 17:54:36 -04:00
Tycho Grouwstra
1d5b7a7d42 gitkraken: 4.0.2 -> 4.0.5 (#47512)
Fixes #47498. Note that the releases have moved to a new URL; I'm not sure they still host the earlier versions.

(cherry picked from commit 9d727e0a91)

backported because previous source url returns 404.
2018-09-29 20:51:42 +02:00
Arian van Putten
b72abcf861 doc: Update section about imperative containers
Nix commands inside the container have been broken since 18.03,
and no fix is yet in sight.  Lets remove from the documentation
that this is a usecase that we support, as it doesn't seem
likely that this will be fixed before 18.09 either.

See #40355

(cherry picked from commit f309440ee3)
2018-09-29 19:18:54 +01:00
Jan Tojnar
0f9355abb2 flatpak-builder: add libyaml
(cherry picked from commit 7d2c8bbe9a)
2018-09-29 13:21:22 +02:00
Jan Tojnar
941941b151 xdg-dbus-proxy: init at 0.1.0
(cherry picked from commit 2d19ee6247)
2018-09-29 13:21:22 +02:00
Tor Hedin Brønner
7569e96508 ostree: 2018.6 -> 2018.8
(cherry picked from commit 87d11ae99c)
2018-09-29 13:21:22 +02:00
Tor Hedin Brønner
8063903183 xdg-desktop-portal-gtk: 0.99 -> 1.0.2
(cherry picked from commit b6c17cd46f)
2018-09-29 13:21:22 +02:00
Tor Hedin Brønner
3f0618a7ed flatpak: 0.99.3 -> 1.0.2
(cherry picked from commit 37a828ec27)
2018-09-29 13:21:22 +02:00
Tor Hedin Brønner
e80820d5b7 xdg-desktop-portal: 0.99 -> 1.0.2
(cherry picked from commit 0d994736a1)
2018-09-29 13:21:22 +02:00
Tor Hedin Brønner
727eb5ed78 pipewire: 0.1.9 -> 0.2.3
I also removed pipewire from mutter temporarily, since it is not compatible.

(cherry picked from commit c32b0409a9)
2018-09-29 13:21:21 +02:00
Vladimír Čunát
c5668bd183 Merge branch 'staging-18.09' into release-18.09 2018-09-29 11:09:27 +02:00
Vladimír Čunát
fe195c03ed Merge #45683: nvidia_x11: 390.77 -> 390.87
(cherry picked from commit d9f7d27ef5)
2018-09-29 11:09:16 +02:00
Tom Bereknyei
6c68068a52 gnuradio: 3.7.13.3 -> 3.7.13.4
(cherry picked from commit a054f269bf)
Backport of #47491
2018-09-29 10:57:01 +02:00
Wael M. Nasreddine
56591a244e browsh: 1.4.10 -> 1.4.13
(cherry picked from commit fa46ce3828)
Backport of #47501
2018-09-29 10:00:28 +02:00
symphorien
c922e20b5d exempi: patch CVE-2018-12648, enable tests on linux (#47496)
(cherry picked from commit e502c72773)
2018-09-29 00:16:18 +02:00
Daiderd Jordan
f5db056efd freedroidrpg: don't build on hydra
Similar to some other builds, sdl-config gets stuck and times out.

    checking for sdl-config... /nix/store/q2hm1ka0qxs2gv5bmrxj7j80lygk4b5z-SDL-1.2.15-dev/bin/sdl-config
    building of '/nix/store/m2d7v0n5hd2498vfxp18i37p7r1lf76p-freedroidrpg-0.16.1' timed out after 7200 seconds of silence

/cc ZHF #45961

(cherry picked from commit 9b99819283)
2018-09-28 22:33:32 +02:00
Daiderd Jordan
e087e20239 flpsed: mark linux only
Doesn't build on darwin and probably other platforms.

    GsWidget.H:26:3: error: 'Atom' does not name a type; did you mean 'tm'?
       Atom atoms[5];
       ^~~~
       tm
    GsWidget.cxx: In member function 'void GsWidget::setProps()':
    GsWidget.cxx:47:2: error: 'atoms' was not declared in this scope
      atoms[0] = XInternAtom(fl_display,"GHOSTVIEW" , false);
      ^~~~~

/cc ZHF #45961

(cherry picked from commit cd78d0cc3f)
2018-09-28 22:33:32 +02:00
Daiderd Jordan
c1f9ffc740 fox: mark broken on darwin
Undefined symbols for architecture x86_64:
      "_MPCreateSemaphore", referenced from:
          FX::FXSemaphore::FXSemaphore(int) in FXThread.o
          FX::FXSemaphore::FXSemaphore(int) in FXThread.o
      "_MPDeleteSemaphore", referenced from:
          FX::FXSemaphore::~FXSemaphore() in FXThread.o
          FX::FXSemaphore::~FXSemaphore() in FXThread.o
      "_MPSignalSemaphore", referenced from:
          FX::FXSemaphore::post() in FXThread.o
      "_MPWaitOnSemaphore", referenced from:
          FX::FXSemaphore::wait() in FXThread.o
          FX::FXSemaphore::trywait() in FXThread.o
    ld: symbol(s) not found for architecture x86_64

/cc ZHF #45961

(cherry picked from commit 6390b8b63e)
2018-09-28 22:33:31 +02:00
Brian Olsen
3108f741fe nixos/rspamd: Remove non-working socket activation
The socket activation I added to the rspamd module doesn't actually work
and can't be made to work without changes to rspamd.

See: #47421
See: rspamd/rspamd#2035
(cherry picked from commit 783a58f363)
2018-09-28 21:04:41 +02:00
John Ericson
aab182ebea Merge pull request #47488 from obsidiansystems/ghcjs-ghc-version
ghcjs-*: Expose the version of GHC used
2018-09-28 12:33:35 -04:00
Jörg Thalheim
1e9f50f156 systemd: don't restart user-runtime-dir@ on upgrades
Likewise logind we should not try to restart this service after upgrade,
the user's current session depends on it.

(cherry picked from commit aa69bb5743)
2018-09-28 12:10:36 +01:00
Orivej Desh
1e1821c166 retroshare: mark as broken (#47350)
Broken by libupnp: 1.6.21 -> 1.8.3 (#41684).

(cherry picked from commit eeac44c81a)
2018-09-28 11:57:57 +02:00
xeji
0c29a51467 linuxPackages.jool: 3.5.7 -> unstable-20180706 (#47284)
3.5.7 doesn't build with kernel 4.14.71.
Needs most recent upstream revision to build, which supports
kernels up to 4.17.

(cherry picked from commit f0e4b31eb2)
2018-09-28 11:55:12 +02:00
Tuomas Tynkkynen
a7fa8e1aa8 Add ssh backdoor to VM tests infrastructure.
Thanks to @dezgeg for prototype implementation, I've
cleaned it up and added documentation.

(cherry picked from commit d6e3db44cf)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-28 10:54:09 +01:00
Sarah Brofeldt
0e0cd2fc30 haskellPackages.term-rewriting: doJailbreak and dontCheck
(cherry picked from commit 5c45ca0943)
Backport of #47456
2018-09-28 10:48:19 +02:00
John Ericson
3768913cc9 Merge pull request #47445 from obsidiansystems/ghcjs-no-double-callPackage
ghcjs-{7.10, 8.0}: Improve overriding situation for 18.09
2018-09-27 19:11:52 -04:00
Brian Olsen
0f4e117054 nixos/rspamd: Preserve runtime directory when using socket activation
(cherry picked from commit 458bcc8f7a)
2018-09-27 14:09:54 +01:00
Jean-Philippe Cugnet
cdb33d1ddc erlangR19: 19.3.6.6 -> 19.3.6.11
(cherry picked from commit bf22712993)
Backport of #47367
2018-09-27 10:44:30 +02:00
Jean-Philippe Cugnet
d101614d71 erlangR20: 20.3.8 -> 20.3.8.9
(cherry picked from commit 6e5682ab41)
Backport #47369
2018-09-27 10:22:32 +02:00
Florian Klink
cf64adec53 golden-cheetah: add desktop item and icon
(cherry picked from commit bb51ba9bb8)
2018-09-27 09:54:37 +02:00
Austin Seipp
3c85e586b3 libiio: install python bindings
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit af48e5783a)
2018-09-26 19:40:41 -05:00
Corey O'Connor
d26e830997 vlc: 3.0.3 -> 3.0.4 (#47406)
(cherry picked from commit 26ce265258)

Didn't build, invalid url for vlc-qt5.11.patch.
2018-09-26 23:27:42 +02:00
John Ericson
8e2e8bb882 Merge remote-tracking branch 'upstream/release-18.09' into staging-18.09 2018-09-26 15:55:37 -04:00
John Ericson
3b5c708ac8 Merge pull request #47401 from obsidiansystems/paxctl-darwin-no-mass-rebuild
paxctl: Fix darwin and cross without mass-rebuild for 18.09
2018-09-26 15:52:44 -04:00
xeji
e5eabccb00 Merge pull request #47396 from rycee/backport/noti
Backport the noti package to 18.09
2018-09-26 19:31:44 +02:00
Mario Rodas
583a32148c noti: fix darwin build
(cherry picked from commit 4c56eb81e9)
2018-09-26 18:54:57 +02:00
stites
e835796a18 noti: init at 3.1.0
(cherry picked from commit f1c30cf772)
2018-09-26 18:54:56 +02:00
stites
e861f31344 add stites to maintainers list
(cherry picked from commit 82f980828d)
2018-09-26 18:54:56 +02:00
John Ericson
6bc58a9438 Merge branch 'release-18.09' into staging-18.09 2018-09-26 11:23:49 -04:00
John Ericson
e06de91855 Merge commit '607063f61be3b19a2da054776b360d9c5b03038a' into release-18.09
This gets the partial revert on the common ancestor of master and
release-18.09, easier further devlopment.
2018-09-26 11:22:28 -04:00
Tim Steinbach
a3b7cd1fa3 linux: 4.18.9 -> 4.18.10
(cherry picked from commit 24c31d43bb)
2018-09-26 08:02:35 -04:00
Tim Steinbach
74680cff73 linux: 4.14.71 -> 4.14.72
(cherry picked from commit 61452c82ae)
2018-09-26 08:02:29 -04:00
Tim Steinbach
1c7a4320e8 linux: 4.9.128 -> 4.9.129
(cherry picked from commit 8e4d980904)
2018-09-26 08:02:23 -04:00
Tim Steinbach
a4cedc0981 linux: 4.4.157 -> 4.4.158
(cherry picked from commit 656ca2296c)
2018-09-26 08:02:18 -04:00
Domen Kožar
29660a2085 postgresql: give postgres user a shell
(cherry picked from commit 82feb4b66e)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-26 12:12:29 +01:00
Matthew Bauer
f9c4075873 stdenv: partial revert of f2bb59e
/cc @Ericson2314

PR was https://github.com/NixOS/nixpkgs/pull/46857

This line broke MacOS cross compilation. paxctl cannot be built on
macOS. Maybe it can be fixed, but no reason to break things
unnecessarily.

Regardless, you definitely need to be more careful about backporting.
I think it’s fine to move fast and break things on master but
with release-18.09 we should be more careful. Something like more
automated testing for cross compilation would also be
helpful (hopefully even making it block).
2018-09-26 02:23:07 -05:00
Okina Matara
0b70148bd6 linux_testing_bcachefs: 4.18.2018.08.31 -> 4.18.2018.09.21
(cherry picked from commit d98b0805cc)
2018-09-26 08:49:53 +02:00
xeji
391bf82ca3 qboot: 20150603 -> 20170330, fix build (#47364)
Switch back to original upstream project which is more recent
than the fork we used.

(cherry picked from commit 4ad424fbd6)
2018-09-25 22:33:46 +02:00
John Ericson
372d0cc4f4 Merge pull request #47363 from obsidiansystems/ghc-sphinx
ghc: Sphinx is a build-time dependency
2018-09-25 16:31:27 -04:00
Luke Clifton
67e53e0c6d abduco: refactor (compile on darwin) (#47124)
(cherry picked from commit 3d8f6b6188)
2018-09-25 22:30:03 +02:00
Luke Clifton
b018ccca8f dvtm: refactor (fix on darwin) (#47103)
(cherry picked from commit 4eebe205fe)
2018-09-25 22:28:48 +02:00
Michael Roitzsch
0253b1e38f podofo: fix library linkage on Darwin (#47214)
* podofo: fix library linkage on Darwin

Because the library is not yet installed when the tools are build, it does not contain its final store path as its install name. Linking the tools picks up this incorrect install name and needs to be fixed after installing.

(cherry picked from commit 4b1ffa0b00)
2018-09-25 22:12:17 +02:00
gnidorah
f2210522d2 tdesktop: support opening urls under wayland
(cherry picked from commit e79ccc1100)
2018-09-25 21:10:33 +01:00
John Ericson
1d542e7e8f Merge pull request #47361 from obsidiansystems/python-format
python-*: Format `pythonPackages` bindings for 18.09
2018-09-25 15:40:01 -04:00
John Ericson
3252c48c29 Merge commit 'a70aeacbf770757212e1845b97ea7d561b5f7af4' into staging-18.09 2018-09-25 14:48:54 -04:00
John Ericson
a70aeacbf7 Merge remote-tracking branch 'upstream/release-18.09' 2018-09-25 14:48:31 -04:00
John Ericson
37a5fcb775 Merge pull request #47356 from obsidiansystems/numpy-fortran
numpy, scipy: Fix some nativeBuildInputs  for 18.09
2018-09-25 14:45:45 -04:00
John Ericson
b7dbd81c9c Merge remote-tracking branch 'upstream/release-18.09' into staging-18.09 2018-09-25 14:19:32 -04:00
John Ericson
84fc814982 scipy: gfortran should be in nativeBuildInputs 2018-09-25 14:08:41 -04:00
John Ericson
cfbfb9440c numpy: gfortran and pytest should be nativeBuildInputs 2018-09-25 14:03:30 -04:00
zimbatm
35832681f1 firefox-bin: fix channel patching
The patchPhase wasn't being applied at all.

This patch re-enables that and also re-thinks the setting that we want
to have. Turning off the auto-update is more accurate and doesn't lose
information like it did before.

(cherry picked from commit 6060940c24)
2018-09-25 15:49:32 +01:00
Uli Baum
69514d78a6 herqq: mark broken
- build fails with qt511 and qt59
  (it used to build with qt510 which is not available anymore)
- no nixpkgs maintainer
- upstream repo looks inactive, last commit a year ago

(cherry picked from commit 9beaa6dcad)
2018-09-25 12:26:45 +02:00
Uli Baum
a7792ffa4f monodevelop: mark broken
build has failed since 2018-03-08
cc maintainer @obadz

(cherry picked from commit 6b4abb9fa7)
2018-09-25 12:26:45 +02:00
Uli Baum
da6b7f6d84 gtk-sharp-3_0: mark broken
build has failed since 2018-04-28
no maintainer

(cherry picked from commit 395a1528f0)
2018-09-25 12:26:45 +02:00
Uli Baum
294060d163 Revert "virtualization/qemu-vm: fix and improve virtio/scsi switching"
This reverts commit 174e19d1f6.

It broke nixos.ova and eval of some tests.
2018-09-25 11:05:31 +02:00
Notkea
52799425f8 matrix-synapse: 0.33.3.1 -> 0.33.5
Upgrade matrix-synapse to the latest version,
adding a new required dependency (treq)

(cherry picked from commit 4cd6502925)
2018-09-25 10:03:10 +01:00
Colin Rice
86406e24bb go: Remove pkg/obj directory from the build outputs.
This appears to be causing the go package to be roughly 900MB in size.

(cherry picked from commit cdeb26ee76)
2018-09-25 09:47:55 +01:00
Florian Klink
e2d0b3be8d pythonPackages.elasticsearch-dsl: 0.0.9 -> 6.2.1
(cherry picked from commit 18c7fbd78d)
2018-09-25 08:58:11 +01:00
William Casarin
3b175f5d2a clightning: 0.6.0 -> 0.6.1
Update to the latest release.

Highlights for c-lightning users
--------------------------------

  - Less stuck payments: Liveness ping test before locking up funds with peers.
  - Better routing: now considers size of channels.
  - Fewer spurious closes: fee estimate improvements, and new feerates command
  - Several annoying bugs fixed.

Highlights for the network
--------------------------

  - Gossipd now less spammy with channel_update.
  - option_data_loss_protect to protect peers against being out-of-date.
  - Payment errors now refer to the correct channel.

Internal Improvements
---------------------

  - Simplified client flow; after init message exchange by connectd, each is
    isolated in its own daemon.
  - JSON parameter handling vastly simplfied.
  - Python testing framework now uses proper fixtures, and split into separate
    files.
  - Many other cleanups and clarifications.
  - We keepachangelog.com!

Signed-off-by: William Casarin <jb55@jb55.com>

(cherry picked from commit 2aa0b85653)
Backport of #47286
2018-09-25 08:49:32 +02:00
Michael Raskin
2039adfb4c Merge pull request #47289 from 1000101/master
trezord: 2.0.14 -> 2.0.19 and nixos/trezord: revised and updated udev rules
(cherry picked from commit ce411911e8)
2018-09-25 08:38:34 +02:00
Matthew Bauer
633e7ee7fb emacsMacport: 7.1 → 7.2
Fixes a critical issue with macOS

[NEWS](https://bitbucket.org/mituharu/emacs-mac/raw/master/NEWS-mac)

* emacs-26.1-mac-7.2 (2018-09-09)

** Fixed bugs

*** Buffer contents are not displayed on macOS 10.14.
This is mainly because now NSViews are backed by Core Animation Layer
(layer-backed) by default and non-deferred drawing into views no
longer works.  Instead of switching to deferred drawing (i.e., draw
only inside -[NSView drawRect:]), we draw into our own backing bitmap
in a non-deferred way as before, and update the view contents with the
resulting image via -[NSView updateLayer].  This "application-side
double buffering" is also available on OS X 10.8 - macOS 10.13 if you
set the frame parameter `inhibit-double-buffering' to nil when
creating a frame.  Just like on macOS 10.14, such a frame does not do
LCD smoothing.

*** Screenshot grabbed via Services is displayed in wrong size when we
have display mirroring between Retina and non-Retina displays.

*** Cursor movement just after frame resize sometimes leaves garbage.

*** Crash by the Fall_threads call from the GUI thread at the select
emulation when there are multiple Lisp threads.

*** Info title has ASCII underline unlike other window systems.

*** Vertical scroll bar is created as horizontal if frame font height
is short.

** Improvements

*** macOS 10.14 adds property :appearance to (mac-application-state).
The value may be "NSAppearanceNameAqua" or "NSAppearanceNameDarkAqua".

*** Add new color format "mac:COLOR-LIST-NAME:COLOR-NAME" and
"mac:COLOR-NAME" (shorthand for "mac:System:COLOR-NAME").  The actual
color may be different depending on the global appearance setting on
macOS 10.14.  For example, "mac:textColor" is black on the Light Mode
but is white on the Dark Mode.

*** Default frame colors respect appearance setting on macOS 10.14.
Now the default frame foreground/background color is
"mac:textColor"/"mac:textBackgroundColor", respectively.  Changes of
the system setting of the global appearance are dynamically reflected.

*** New function `mac-color-list-alist' to get the available
combinations of COLOR-LIST-NAMEs and COLOR-NAMEs.  Note that this
value is dependent on user environment and OS version.  Also, some
combinations may represent image patterns rather than colors.  For the
former cases, `(color-values "mac:COLOR-LIST-NAME:COLOR-NAME")'
returns nil.
2018-09-24 21:40:01 -05:00
WilliButz
9684fc03bb nixos/gitlab: rebuild authorized_keys during preStart
This updates the path to the 'gitlab-shell' to the
correct store path when gitlab is restarted.

(cherry picked from commit 78ad8d4a62)
2018-09-25 03:54:51 +02:00
Robin Gloster
6c4993b4f6 gitlab module: workhorse may start before gitlab
(cherry picked from commit dc915565ba)
2018-09-25 03:54:50 +02:00
Robin Gloster
6fc98d4d98 gitlab: 11.2.3 -> 11.3.0
(cherry picked from commit ed85eb5433)
2018-09-25 03:54:50 +02:00
Robin Gloster
63e305ba8d gitaly: 0.117.2 -> 0.120.0
(cherry picked from commit cbc21b8b90)
2018-09-25 03:54:49 +02:00
Robin Gloster
7cd7f188bc gitlab-shell: 8.1.1 -> 8.3.3
(cherry picked from commit 545c07108f)
2018-09-25 03:54:49 +02:00
Robin Gloster
450f2f5e5b gitlab-workhorse: 6.0.0 -> 6.1.0
(cherry picked from commit 96c1765bac)
2018-09-25 03:54:49 +02:00
Kristoffer Thømt Ravneberg
2676927ffc nixos/gitlab: avoid creating recursive symlinks, add gitlab-rake deps
(cherry picked from commit f17f59ca8e)
2018-09-25 03:54:48 +02:00
Kristoffer Thømt Ravneberg
2b4a105b8d gitlab-ee: init at 11.2.3
(cherry picked from commit 6946d97ce4)
2018-09-25 03:54:48 +02:00
Kristoffer Thømt Ravneberg
b57d410e1b gitlab: 10.8.0 -> 11.2.3
(cherry picked from commit 51c1830147)
2018-09-25 03:54:47 +02:00
Kristoffer Thømt Ravneberg
c50434a505 gitlab-shell: 7.1.2 -> 8.1.1
(cherry picked from commit bfc8d80c6e)
2018-09-25 03:54:47 +02:00
Kristoffer Thømt Ravneberg
cdb7f84118 gitaly: 0.100.0 -> 0.117.2
(cherry picked from commit 949172f289)
2018-09-25 03:54:46 +02:00
Kristoffer Thømt Ravneberg
b3a1678ce4 gitlab-workhorse: 4.2.0 -> 6.0.0
(cherry picked from commit 45aa373fa9)
2018-09-25 03:54:46 +02:00
John Ericson
0cf38d9921 Merge pull request #47304 from obsidiansystems/haskell-no-rec-18.09
ghc, ghcjs: Get rid of extraneous alex, happy, and hscolour args for 18.09
2018-09-24 20:28:07 -04:00
John Ericson
d6e2a2c4da Merge remote-tracking branch 'upstream/release-18.09' into haskell-no-rec-18.09 2018-09-24 20:11:48 -04:00
John Ericson
5b6fc8f87d Merge remote-tracking branch 'upstream/release-18.09' into haskell-no-rec-18.09 2018-09-24 20:10:19 -04:00
John Ericson
da6e61fedd Merge pull request #47301 from obsidiansystems/haskell-no-rec
haskellPackages: Avoid outer `rec { .. }` for 18.09
2018-09-24 18:59:12 -04:00
Uli Baum
04b04e9745 Merge branch 'release-18.09' into staging-18.09 2018-09-25 00:07:47 +02:00
John Ericson
c896936cd1 Merge pull request #47299 from obsidiansystems/overrideScope-order
lib: Deprecate `overrideScope` in lieu of `overrideScope'` taking arguments in the conventional order for 18.09
2018-09-24 18:04:35 -04:00
Peter Simons
b719e29d95 ghc: add release version for 8.6.1
(cherry picked from commit 2ffcbeda13)
2018-09-24 18:03:16 -04:00
Austin Seipp
b0f8181432 nixos/chrony: clean up, rework to be a little closer to upstream
Most importantly, this sets PrivateTmp, ProtectHome, and ProtectSystem
so that Chrony flaws are mitigated, should they occur.

Moving to ProtectSystem=full however, requires moving the chrony key
files under /var/lib/chrony -- which should be fine, anyway.

This also ensures ConditionCapability=CAP_SYS_TIME is set, ensuring
that chronyd will only be launched in an environment where such a
capability can be granted.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 0ce90d58cc)
2018-09-24 15:43:23 -05:00
baracoder
f34ef9e746 dotnet-sdk: Reduce closure: Unpack to a subdirectory to prevent copying build files (#47269)
(cherry picked from commit 7f0865bac8)
2018-09-24 21:38:59 +01:00
Domen Kožar
31432d4b88 nixos tests: move common configuration into separate file
This allows tests outside nixos to use acme setup.

(cherry picked from commit 6eacc17157)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-24 20:09:32 +01:00
Andreas Rammhold
2373df6dcc Merge pull request #47277 from andir/18.09/firefox
[18.09] firefox, firefox-bin 61.0.2 -> 62.0.2, firefox-esr: 60.2.0esr -> 60.2.1esr [Moderate security fixes]
2018-09-24 20:46:38 +02:00
Lorenzo Manacorda
71fd97dd05 *: remove DappHub projects
DappHub maintains a separate overlay at
https://github.com/dapphub/dapptools/blob/master/overlay.nix

(cherry picked from commit 6017c6fa5b)
2018-09-24 18:49:45 +01:00
Maximilian Bosch
32af342e46 eztrace: 1.0.6 -> 1.1-7 (#47282)
See https://hydra.nixos.org/build/80721509
Addresses #45960

(cherry picked from commit 2babfb5a88)
2018-09-24 19:35:22 +02:00
Uli Baum
570ec19f39 nixos/tests/installer: stop udev queue before calling mdadm
In the swraid test, temporarily stop udev queue execution while
creating mdraid devices to prevent a race with udev, see
https://groups.google.com/forum/#!topic/scylladb-dev/u87yHgo3ylU

(cherry picked from commit 7dd6a5192d)
2018-09-24 19:00:29 +02:00
Uli Baum
c2ab695557 nixos/tests/installer: use flock for all parted calls
to further reduce risk of race with udev, like util-linux
recommends for sfdisk:
https://github.com/karelzak/util-linux/blob/v2.32/disk-utils/sfdisk.8#L71

(cherry picked from commit c46677fec2)
2018-09-24 19:00:29 +02:00
Uli Baum
dc74ab0eac nixos/tests/installer: prevent race between parted and udev
by combining all parted commands into a single parted call.
This eliminates one cause of non-deterministic failure.

(cherry picked from commit a5183762c5)
2018-09-24 19:00:29 +02:00
Andrew Dunham
35271fdb2f boost: limit concurrent jobs to the maximum supported number (#47255)
(cherry picked from commit ba278c3b87)
2018-09-24 18:23:05 +02:00
Stefan Junker
174e19d1f6 virtualization/qemu-vm: fix and improve virtio/scsi switching
(cherry picked from commit f777d2b719)
2018-09-24 18:05:15 +02:00
taku0
02429f790b firefox-esr: 60.1.0esr -> 60.2.1esr
(cherry picked from commit e5778a9991)
2018-09-24 17:41:00 +02:00
taku0
53dee62105 firefox: 61.0.2 -> 62.0.2
(cherry picked from commit da9823672f)
2018-09-24 17:40:04 +02:00
taku0
10db65e530 firefox-bin: 61.0.2 -> 62.0.2
(cherry picked from commit 5b79f81a39)
2018-09-24 17:39:05 +02:00
xeji
4f4807ae66 nixos/tests/hound: fix non-deterministic failure (#47152)
The test failed on Hydra in one instance because a request to the
server was sent before indexing was finished.
Retry the request until it succeeds (or times out).

(cherry picked from commit c525111133)
2018-09-24 17:32:51 +02:00
Bas van Dijk
afe328bb5e opencv: 3.4.2 -> 3.4.3
(cherry picked from commit 252c0d4c82)
2018-09-24 16:02:10 +02:00
Maximilian Bosch
32a5d08507 python3Packages.google-compute-engine: fix build (#47267)
The dependency `distro` was missing.
See https://hydra.nixos.org/build/81330387

Addresses #45960

(cherry picked from commit baa7e52fe0)
2018-09-24 15:52:47 +02:00
Daiderd Jordan
3cee0ce5b8 eiskaltdcpp: mark linux only
The darwin build fails and other platforms will probably run into
similar issues.

    Determining if the Q_WS_QWS exist failed with the following output:
    Change Dir: /tmp/nix-build-eiskaltdcpp-2.2.10.drv-0/source/build/CMakeFiles/CMakeTmp

    Run Build Command:"/nix/store/qfag24z6xsr6jkyi8gb4cv62rp945rbk-gnumake-4.2.1/bin/make" "cmTC_14e67/fast"
    /nix/store/qfag24z6xsr6jkyi8gb4cv62rp945rbk-gnumake-4.2.1/bin/make -f CMakeFiles/cmTC_14e67.dir/build.make CMakeFiles/cmTC_14e67.dir/build
    make[1]: Entering directory '/private/tmp/nix-build-eiskaltdcpp-2.2.10.drv-0/source/build/CMakeFiles/CMakeTmp'
    Building CXX object CMakeFiles/cmTC_14e67.dir/CheckSymbolExists.cxx.o
    /nix/store/2gdwhdzhy4iwkp7fh8v6gy6nxj1zi9pv-clang-wrapper-5.0.2/bin/clang++   -I/nix/store/8dzqilmdr0p3qmmrxh51xk7wli6grm0i-qt-4.8.7/include -F/nix/store/8dzqilmdr0p3qmmrxh51xk7wli6grm0i-qt-4.8.7/lib  -std=c++0x -pipe -Wformat -Werror=format-security  -arch x86_64   -o CMakeFiles/cmTC_14e67.dir/CheckSymbolExists.cxx.o -c /tmp/nix-build-eiskaltdcpp-2.2.10.drv-0/source/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
    /tmp/nix-build-eiskaltdcpp-2.2.10.drv-0/source/build/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx:8:19: error: use of undeclared identifier 'Q_WS_QWS'
      return ((int*)(&Q_WS_QWS))[argc];
                  ^

/cc ZHF #45961

(cherry picked from commit 52ad963b50)
2018-09-24 13:59:28 +01:00
Maximilian Bosch
20d144b58c python3Packages.py3exiv2: fix build
Recent boost versions name their `python3` shared objects
`boost_python3x` rather than `boost_python3`.

See https://hydra.nixos.org/build/80712295
Addresses #45960

(cherry picked from commit 50f23da8e6)
2018-09-24 13:53:14 +01:00
Jörg Thalheim
ea48d53c8c Merge pull request #47247 from danme/release-18.09
nvidia-x11: Fix vulkan VK_KHR_xcb_surface
2018-09-24 13:20:02 +01:00
Maximilian Bosch
34cafeee32 Revert "python: ldappool: 2.2.0 -> 2.3.0"
This reverts commit 29acc8339f.

(cherry picked from commit fbeb94dd46)
2018-09-24 13:17:54 +01:00
Florian Klink
7eb1fa2845 systemd: update to fix nspawn containers (#47264)
This fixes nspawn containers with older systemd inside currently failing
to start.

See:
https://github.com/NixOS/systemd/pull/23
https://github.com/systemd/systemd/pull/10104
https://github.com/NixOS/nixpkgs/issues/47253
(cherry picked from commit c3cc34f20a)
2018-09-24 10:03:16 +01:00
Eelco Dolstra
e4966591ef Revert "nixos: set nixos in nixPath"
This reverts commit 67c8c49177.

'nix run nixos.firefox' is *not* supposed to work - the Nix 2.x
interface attempts to standardize on nixpkgs.*, to get rid of the
nixos/nixpkgs confusion that existed with the channels interface. So
let's not bring that confusion back.

(cherry picked from commit 9c53116d49)
2018-09-24 10:44:47 +02:00
Will Dietz
ee582a32d2 NIX_PATH: don't prepend $HOME-based value in session variable, set later
environment.sessionVariables cannot refer to the values of env vars,
and as a result this has caused problems in a variety of scenarios.

One use for these is that they're injected into /etc/profile,
elewhere these are used to populate an 'envfile' for pam
(`pam 5 pam_env.conf`) which mentions use of HOME being
potentially problematic.

Anyway if the goal is to make things easier for users,
simply do the NIX_PATH modification as extraInit.

This fixes the annoying problems generated by the current approach
(#40165 and others) while hopefully serving the original goal.

One way to check if things are borked is to try:

$ sudo env | grep NIX_PATH

Which (before this change) prints NIX_PATH variable with
an unexpanded $HOME in the value.

-------

This does mean the following won't contain user channels for 'will':
$ sudo -u will nix-instantiate --eval -E builtins.nixPath

However AFAICT currently they won't be present either,
due to unescaped $HOME.  Unsure if similar situation for other users
of sessionVariables (not sudo) work with current situation
(if they exist they will regress after this change AFAIK).

(cherry picked from commit fa67ca15430e96b9d165972552403be6b3f4817e)
2018-09-23 20:08:33 -05:00
Alexander V. Nikolaev
4307b37781 rmilter: deprecation notice
(cherry picked from commit 868040ee22)
2018-09-24 01:41:27 +01:00
Alexander V. Nikolaev
1a159fe86b rmilter: move rmilter.sock out of /run/rmilter
/run/rmilter is set by systemd, and have root:root ownership, which
prevent pid file to write.

This fix suggested to be promoted to 18.09 branch.
(Although rmilter itself is deprecated, and I plan to remove it, after
18.09 would be released)

(cherry picked from commit 08f266490b)
2018-09-24 01:41:26 +01:00
Bas van Dijk
fa3e193e27 haskellPackages.haddock-api: fix build
Also remove haddock-library == 1.4.4 since it's not needed anymore

(cherry picked from commit 77c73cc8eb29da2154d2e9087d7efd7fd9af10f9)
2018-09-24 01:58:08 +02:00
Bas van Dijk
aeb114f7c9 haskellPackages.yi-core: use overrideScope instead of override
(cherry picked from commit 2de9705b9fcaa3650ea85a9f5e2aee834948fc8f)
2018-09-24 01:58:01 +02:00
Bas van Dijk
d99f352d1d haskellPackages.safe-money-*: use overrideScope instead of override
(cherry picked from commit 2481b366f6ea964889d1010e4159055cef7b5b95)
2018-09-24 01:57:55 +02:00
Bas van Dijk
21808eca2b haskellPackages.Frames: use overrideScope instead of override
(cherry picked from commit f1f2c2d3fc74d52f445f08f0f0410d1be586532b)
2018-09-24 01:57:49 +02:00
Matthew Bauer
9b696718bb nixos: make firefox default browser
Without this the graphical installer has no way to open the manual.
You can fix it yourself by installing any HTML browser but this might
be unfamiliar to users new to NixOS and without any other way to open
the manual. The downside is it will also increase download sizes.

Fixes #46537
2018-09-23 18:49:09 -05:00
Matthew Bauer
cb52ea4f19 kde: add kdoctools to default environment
khelpcenter needs meinproc5 to work properly. Hopefully doesn’t effect
closure sizes too much - kdoctools is rather small.

Fixes #46539

/cc @ttuegel
2018-09-23 18:48:53 -05:00
Matthew Bauer
95f31078f5 nixos: set nixos in nixPath
This makes using the nixos channel work out of the box with the new
Nix commands. For example:

$ nix run nixos.firefox -c firefox

Fixes #46536
2018-09-23 18:48:40 -05:00
Andrew Dunham
18a7c1df64 hdf4: fix build on aarch64-linux (#47209)
Pull in the Debian patches for AArch64 support, and a bonus patch for
reproducible builds while we're at it.

(cherry picked from commit 104014c6ba)
2018-09-23 23:57:59 +02:00
Bas van Dijk
9b4d87cec5 haskellPackages.Euterpea: fix build by using PortMidi == 0.2
(cherry picked from commit 9b67908e67)
2018-09-23 22:50:45 +02:00
Maximilian Bosch
c49fa222a7 pythonPackages.pyftgl: fix build (#47232)
See https://hydra.nixos.org/build/80705583

Recent `boost` versions with `python` enabled have changed their naming
scheme for `boost_python` shared objects which causes issues with the
proper linking when building `pyftgl`.

Previously the library was named `boost_python3`, no it's named
`boost_python36` for current python (3.6.x).

The same issue applies for the `python2`.

Addresses #45960

(cherry picked from commit 5ad7aedf63)
2018-09-23 22:39:44 +02:00
danme
3ab740ad40 nvidia-x11: Fix vulkan VK_KHR_xcb_surface
Fixes the issue: https://github.com/NixOS/nixpkgs/issues/39149

Problem was that the Nvidia driver did not find the libxcb-glx at runtime.

(cherry picked from commit bda072cafc)
2018-09-23 22:18:17 +02:00
Bas van Dijk
ef9e8bd933 haskellPackages.Frames-beam: disable tests because it requires a running PostgreSQL server
(cherry picked from commit 73cf1c26d8)
2018-09-23 21:59:02 +02:00
Bas van Dijk
9e57b836ca haskellPackages.Frames: fix build by using vinyl-0.10.0
(cherry picked from commit ff6122c993)
2018-09-23 21:58:53 +02:00
Maximilian Bosch
19e8f7c977 tig: fix zsh completion
The ZSH completion script of `tig` basically imports the bash completion
script and uses it as completion approach. Unfortunately the script
takes several assumptions about the directory structure using
`$funcsourcetrace`[1] that don't apply on NixOS.

The easiest workaround is t opatch the completion script and import the
bash completion script from `$out`.

[1] http://zsh.sourceforge.net/Doc/Release/Zsh-Modules.html#index-funcsourcetrace
2018-09-23 19:21:58 +01:00
John Ericson
8b60c7d088 doc: Don't mention top-level {build, host, target}Platform
For technical reasons, we cannot easily add a warning to top-level
definitions, so 2a6e4ae49a and
e51f736076 reverted the deprecation. But
we can still remove mention of the would-be deprecated definitions to
steer people towards using the preferred alternatives.

(cherry picked from commit e39a73cc55)
2018-09-23 13:29:08 -04:00
John Ericson
7ca9ae5c2b top-level: system should still come from the host platform
2a6e4ae49a and
e51f736076 reverted a bit too much, and I
initially missed this when reviewing. The release notes already still
mention this change, too.

(cherry picked from commit 359d00f8b0)
2018-09-23 13:29:06 -04:00
Bas van Dijk
e611a82197 Revert "libtensorflow: 1.9.0 -> 1.10.0"
This reverts commit 713991132e.

libtensorflow is only used by the Haskell tensorflow packages and they
don't work with tensorflow-1.10 yet. So the easiest solution is to
just revert this commit and add it back when they do gain support.

(cherry picked from commit 6e14b9fc2d)
2018-09-23 19:17:12 +02:00
Bas van Dijk
b2c49a7750 Revert "libtensorflow: fix hashes for darwin and cuda downloads"
This reverts commit 93ed13f86b.

libtensorflow is only used by the Haskell tensorflow packages and they
don't work with tensorflow-1.10 yet. So the easiest solution is to
just revert this commit and add it back when they do gain support.

(cherry picked from commit 39d35e77ee)
2018-09-23 19:17:05 +02:00
John Ericson
9f4d633d93 Merge commit '84c8e397d234bcdbd7ee4a41bf6b705d1250250c' into release-18.09 2018-09-23 13:06:12 -04:00
volth
8b20d98e82 alternative for iproute module (#41801)
(cherry picked from commit 0fa04d646d)

It is unfortunate to cherry-pick something with release notes to the
release staging branch so close to the release. But the change is to a
new service so no one comming from 18.03 would be surprised to a
last-minute change in behavior. Furthermore, the change is a month old
and it appears it only wasn't cherry-picked already by mistake.
2018-09-23 12:24:08 -04:00
John Ericson
afa89e9408 Merge remote-tracking branch 'upstream/release-18.09' into staging-18.09 2018-09-23 12:17:37 -04:00
Florian Klink
5bb85cd45c php: set mysql socket path if mysql[i] or pdo_mysql support is enabled
PHP tries to discover the mysql default socket path during configure
phase by probing the file system:
cf3b852109/ext/mysqli/config.m4 (L4)

This obviously fails to discover /run/mysqld/mysqld.sock, which is being
used (hardcoded) across all MySQL flavours.

This leads to PHP having no mysql socket path set for the mysql[i]
extensions, and `/tmp/mysql.sock` set for pdo_mysql,
meaning one currently has to manually configure and set it in php.ini.

Luckily, PHP supports setting that path via
`--with-mysql-sock=/run/mysqld/mysqld.sock` during configure phase,
so let's do this as soon as one of the three modules is enabled.

(cherry picked from commit baa04e4204)
2018-09-23 16:19:18 +01:00
John Ericson
a06d703851 Merge commit '45f40f5fe02d71f9863e54277a50fe7e1dc46afa' into release-18.09 2018-09-23 11:03:47 -04:00
Andrew Dunham
48625909dc erlangR18: apply upstream patches to fix nondeterministic build failures (#47202)
As per the following bug report, sometimes erts/start_scripts will fail
to compile because of a Makefile ordering issue. Apply the upstream
patches to fix this.
  https://bugs.erlang.org/browse/ERL-241

(cherry picked from commit c987ed0896)
2018-09-23 11:02:47 +02:00
xeji
2c83b339c6 nixos/tests/prosody: use sqlite database (#47185)
The test didn't catch an issue with luadbi because it used
internal storage only. Switch to sqlite to test sql access.

(cherry picked from commit 589b290b43)
2018-09-23 10:46:55 +02:00
Vladimír Čunát
317ce1b622 Merge: nixos/weechat backports
Close #46861 - it's exactly the same commits, just with -x annotations.
2018-09-23 10:41:01 +02:00
adisbladis
e44b6cd961 weechat: Add version and meta to buildEnv package
Currently the output from `nix search` and similar tools are lacking
important meta data

(cherry picked from commit 230fd49738)
2018-09-23 10:39:19 +02:00
Maximilian Bosch
a1c48b9ea6 weechatScripts.weechat-matrix-bridge: don't export `olm.lua' as script (#46582)
Loading olm.lua as weechat script with `/script load olm.lua' causes
errors like this:

```
/nix/store/43jbh7yxh8j4gjfzbvpd9clncah5dip1-weechat-matrix-bridge-2018-05-29/lib/ffi.so: undefined symbol: lua_tointeger
```

As `olm.lua' is loaded by `matrix.lua' it doesn't need to be included
manually by the weechat configuration.

(cherry picked from commit 61a9463498)
2018-09-23 10:37:51 +02:00
Maximilian Bosch
9ceff9e3e5 weechat: fix quoting for ${} syntax
In my previous PR I missed that ${sec.foobar} (syntax to retrieve
secrets in a weechat runtime) breaks the shell evaluation.

Furthermore `;` shall be used rather than `\n` to concat scripts and the
init config.

(cherry picked from commit e2b4644f9c)
2018-09-23 10:37:27 +02:00
Maximilian Bosch
79b38a9795 weechatScripts.wee-slack: init at 2.1.1
(cherry picked from commit f5becfb5b0)
2018-09-23 10:34:59 +02:00
Maximilian Bosch
d74a291ea6 nixos/weechat: cleanup module, add module documentation
This adds several improvements the previously introduced
`services.weechat` module:

* Dropped `services.weechat.init` as the initialization script can now
  be done on package-level since 2af41719bc using the `configure`
  function.

* Added `sessionName` option to explicitly configure a name for the
  `screen` session (by default: weechat-screen).

* Added `binary` option to configure the binary name (e.g.
  `weechat-headless`).

* Added docs regarding `screen` session and `weechat.service`.

(cherry picked from commit 18d419141d)
2018-09-23 10:34:24 +02:00
Maximilian Bosch
27c2215684 weechat: 2.1 -> 2.2; improve package configuration
This aims to make the `weechat` package even more configurable. It
allows to specify scripts and commands using the `configure` function
inside a `weechat.override` expression.

The package can be configured like this:

```
with import <nixpkgs> { };
weechat.override {
  plugins = { availablePlugins, ... }: {
    plugins = builtins.attrValues availablePlugins;

    init = ''
      /set foo bar
      /server add freenode chat.freenode.org
    '';

    scripts = [ "/path/to/script.py" ];
  };
}
```

All commands are passed to `weechat --run-command "/set foo bar;/server ..."`.

The `plugins' attribute is not necessarily required anymore, if it's
sufficient to add `init' commands, the `plugins' will be
`builtins.attrValues availablePlugins' by default.

Additionally the result contains `weechat` and `weechat-headless`
(introduced in WeeChat 2.1) now.

(cherry picked from commit a8efe61412)
2018-09-23 10:33:56 +02:00
Yegor Timoshenko
b4f299eddb weechat: add NixOS module
(cherry picked from commit b54987715b)
2018-09-23 10:33:09 +02:00
Samuel Dionne-Riel
7c7f9623dc qesteidutil: Fixes build from Qt upgrade. (#46083)
(cherry picked from commit ef2b217812)
2018-09-23 10:15:18 +02:00
Andrew Dunham
0d7c472fd7 pythonPackages.flask_assets: fix tests (#47203)
(cherry picked from commit e141f7cd2f)
2018-09-23 10:03:35 +02:00
Andrew Dunham
233328cde5 xsecurelock: 1.0 -> 1.1
(cherry picked from commit da18ffac6b)
Backport of #47190
2018-09-23 09:56:59 +02:00
Uli Baum
73ceb7742c nixos/iso-image: fix 32bit UEFI boot
UEFI iso image for i686 didn't boot because the
default boot file was incorrectly named bootx32.efi.
The correct name is bootia32.efi.

(cherry picked from commit 845ae983f6)
2018-09-23 00:47:29 -04:00
Daiderd Jordan
1cae9ef0fd ffmpeg: don't use gcc on darwin (#47189)
This isn't necessary and causes build failures for certain versions.

    CC      libavfilter/libmpcodecs/vf_eq2.o
    CC      libavfilter/libmpcodecs/vf_fil.o
    CC      libavfilter/libmpcodecs/vf_fspp.o
    libavfilter/libmpcodecs/vf_fspp.c:939:18: error: unknown token in expression
            movq %mm2, 0*8+(%rsp)

/cc ZHF #45961

(cherry picked from commit 52a1179b6c)
2018-09-22 23:13:40 +02:00
Jörg Thalheim
2de47a73c8 luaPackages.luadbi: 0.5 -> 0.6 (#47156)
Switch to maintained fork that is compatible with lua5.2/lua5.3.
This package was tested with prosody.

(cherry picked from commit a8413d816a)

Backported because prosody database access is broken without it.
2018-09-22 22:30:02 +02:00
Uli Baum
10a9c597ad Merge branch 'release-18.09' into staging-18.09 2018-09-22 21:53:17 +02:00
Elis Hirwing
11aa1784b1 php: Refactor so we can upgrade PHP per platform (#47162)
This way we don't need to disable flags etc by platform and can still
backport new versions to stable for linux even if there's a bug or
something in the darwin build.

(cherry picked from commit 0b82fbc3af)
2018-09-22 20:27:44 +02:00
Elis Hirwing
e7ffc978c7 php71: 7.1.21 -> 7.1.22
Changelog: https://secure.php.net/ChangeLog-7.php#7.1.22
(cherry picked from commit 89b7ad263e)
2018-09-22 20:27:26 +02:00
Elis Hirwing
922f74af6d php: 7.2.8 -> 7.2.10
Changelog 7.2.9: http://php.net/ChangeLog-7.php#7.2.9
Changelog 7.2.10: http://php.net/ChangeLog-7.php#7.2.10

(cherry picked from commit 5a868df967)
2018-09-22 20:27:16 +02:00
Joachim Fasting
2625469949 tor-browser-bundle-bin: 8.0 -> 8.0.1
(cherry picked from commit f2ba1a4284)
2018-09-22 20:19:23 +02:00
Andrew Dunham
ad9e8ea664 libsndfile: Add patch for CVE-2018-13139 (#47160)
(cherry picked from commit fcde178ed5)
2018-09-22 19:34:30 +02:00
Christian Kauhaus
b831700b8f lua: 5.2.3 -> 5.2.4 (#47126)
Lua 5.2.4 is the EOL point release of the 5.2 series.

(cherry picked from commit 6adb944cb6)
2018-09-22 19:11:47 +02:00
xeji
9e4916b84d devpi-client: 3.1.0 -> 4.1.0, fix tests (#47142)
(cherry picked from commit c770699524)
2018-09-22 18:08:37 +02:00
Jean-Paul Calderone
8342f255e1 nixos/tor: Correct "transparent" typo
(cherry picked from commit 57834da7fc)
2018-09-22 15:46:45 +02:00
Joachim Fasting
d25ed2c9f7 electrum: 3.1.3 -> 3.2.3
(cherry picked from commit 1e379f29f7)
2018-09-22 15:46:45 +02:00
Joachim Fasting
2cbfd84d80 tor-browser-bundle-bin: stdenv.shell -> runtimeShell in wrapper
(cherry picked from commit aacf68a635)
2018-09-22 15:46:44 +02:00
Joachim Fasting
f683eaaedc tor-browser-bundle-bin: parameterize icon theme
(cherry picked from commit 546e511edc)
2018-09-22 15:46:43 +02:00
Joachim Fasting
9a7d79c221 tor-browser-bundle-bin: add gsettings-schemas
See https://github.com/NixOS/nixpkgs/issues/46587

(cherry picked from commit 5710ee3bef)
2018-09-22 15:46:42 +02:00
Joachim Fasting
95258ee051 tor-browser-bundle-bin: 7.5.6 -> 8.0
(cherry picked from commit ed5283fcf5)
2018-09-22 15:46:41 +02:00
Joachim Fasting
26152dfaa1 tor: 0.3.3.9 -> 0.3.4.8
(cherry picked from commit 48abf865bc)
2018-09-22 15:46:36 +02:00
Leo R. Lundgren
1e46ead867 open-vm-tools: 10.1.10 -> 10.3.0
(cherry picked from commit bbb30c320e)
2018-09-22 20:19:04 +08:00
xeji
4a620decd3 zathura: 0.4.0 -> 0.4.1 (#47140)
This fixes the synctex-related build failure with texlive 2018
(currently on 18.09).

(cherry picked from commit 9e87b56dd1)
2018-09-22 14:18:09 +02:00
John Ericson
409fd48e64 Merge pull request #47146 from obsidiansystems/fetchzip-cross
fetchzip: Use unzip from buildPackages
2018-09-21 14:52:21 -04:00
John Ericson
2ef1d084c5 Merge pull request #47144 from obsidiansystems/windows-libusb
libusb1: Build everywhere, since MinGW works, for 18.09
2018-09-21 14:28:40 -04:00
Daiderd Jordan
5165dfe9de docker-proxy: mark linux only
Unlike docker (cli only) this probably won't work on darwin.

    github.com/docker/libnetwork/networkdb
    can't load package: package github.com/docker/libnetwork/ns: build constraints exclude all Go files in /private/tmp/nix-build-docker-proxy-7b2b1feb1de4817d522cc372af149ff48d25028e.drv-0/go/src/github.com/docker/libnetwork/ns

/cc ZHF #45961

(cherry picked from commit 33f818198b)
2018-09-21 20:15:55 +02:00
Daiderd Jordan
61ce290c2b dico: mark linux only.
Never built successfully.

    Undefined symbols for architecture x86_64:
      "_rpl_strerror", referenced from:
          _default_print_diag in libgrecs.a(diag.o)
          _grecs_symtab_strerror in libgrecs.a(symtab.o)
          _parse_inet in libgrecs.a(sockaddr.o)
    ld: symbol(s) not found for architecture x86_64

/cc ZHF #45961

(cherry picked from commit 709a828e71)
2018-09-21 20:15:53 +02:00
Daiderd Jordan
488a45d7a2 dolphinEmuMaster: mark broken on darwin
The default version isn't enabled on darwin either, however it did work
at some point.

    /tmp/nix-build-dolphin-emu-2018-08-17.drv-0/source/Source/Core/Core/NetPlayServer.cpp:1180:26: error: unknown type name 'lzo_uint32_t'; did you mean 'lzo_uint32'?
      std::vector<u8> wrkmem(LZO1X_1_MEM_COMPRESS);

/cc ZHF #45961

(cherry picked from commit f6bc086b21)
2018-09-21 20:15:52 +02:00
Bas van Dijk
93506c3a0b haskellPackages.mandrill: fix build for ghc843
(cherry picked from commit 73862bf812)
2018-09-21 19:12:50 +02:00
Christoph Hrdinka
fc3cfe3af5 libretro.mame: 2017-03-02 -> 2018-09-13
Fixes build of the MAME libretro core.

Closes #47137.

Signed-off-by: Christoph Hrdinka <c.github@hrdinka.at>
2018-09-21 18:55:26 +02:00
José Romildo Malaquias
c16b9dacb4 ephoto: add dependency on mesa_noglu.dev (#47136)
(cherry picked from commit e372ab4626)
2018-09-21 18:26:18 +02:00
Michael Raskin
fd6930685c acl2: 8.1.post.2018.09.20 -> 8.1; turns out there is a release
(cherry picked from commit 60b6d5f8a8)
2018-09-21 18:08:05 +02:00
José Romildo Malaquias
edf5020042 rage: add dependency on mesa_noglu.dev (#47132)
(cherry picked from commit 7ac0ecc12b)
2018-09-21 17:41:54 +02:00
Michael Raskin
d10c5b88de acl2: 8.0 -> 8.0.post.2018.09.20; fixes build with fresher SBCL
(cherry picked from commit de764e65f0)
2018-09-21 12:13:49 +02:00
Vladimír Čunát
7eec667f5b Merge branch 'staging-18.09' into release-18.09
The comparison seems very good on Hydra.
2018-09-21 12:02:35 +02:00
Uli Baum
793776b730 nixos/tests/ferm: disable dhcpcd
The test failed in one run on Hydra, logs look like
dhcpcd changed ipv6 routing at just the wrong time.
Disable dhcpcd. It's not needed, the test uses static IPs anyway.

(cherry picked from commit 5e7b7b805a)
2018-09-21 09:59:16 +01:00
Mario Rodas
c1328a1779 bat: install man page (#47099)
(cherry picked from commit ba33eac477)
2018-09-21 10:23:57 +02:00
Uli Baum
711ff4b687 nixos/tests/atd: wait for atd to start
The test failed non-deterministically when an at command was
issued before the atd daemon was running.

(cherry picked from commit 8ffd65b12e)
Backport to 18.09
2018-09-21 10:10:16 +02:00
John Ericson
ef450efb9d Merge pull request #47097 from obsidiansystems/fix-x509-system
haskellPackages.x509-system: Override based on the host, not target platform for 18.09
2018-09-20 21:55:29 -04:00
Graham Christensen
a84a302732 Clarfy the binary reproducibility problems of created=now with dockerTools.buildImage.
(cherry picked from commit 7736337916)
2018-09-20 20:31:52 -04:00
Graham Christensen
9eefd1e846 dockerTools.buildImage: test that created=now makes an unstable date
(cherry picked from commit aedc651903)
2018-09-20 20:31:52 -04:00
Graham Christensen
0fe015a70c dockerTools.buildImage: support impure dates
Because dates are an impurity, by default buildImage will use a static
date of one second past the UNIX Epoch. This can be a bit frustrating
when listing docker images in the CLI:

    $ docker image list
    REPOSITORY   TAG      IMAGE ID       CREATED        SIZE
    hello        latest   08c791c7846e   48 years ago   25.2MB

If you want to trade the purity for a better user experience, you can
set created to now.

    pkgs.dockerTools.buildImage {
      name = "hello";
      tag = "latest";
      created = "now";
      contents = pkgs.hello;

      config.Cmd = [ "/bin/hello" ];
    }

and now the Docker CLI will display a reasonable date and sort the
images as expected:

    $ docker image list
    REPOSITORY   TAG      IMAGE ID       CREATED              SIZE
    hello        latest   de2bf4786de6   About a minute ago   25.2MB

(cherry picked from commit a32d7e0c74)
2018-09-20 20:31:51 -04:00
Austin Seipp
f40d13666e perlPackages.MojoIOLoopForkCall: 0.19 -> 0.20
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 0214f9e25e)
2018-09-20 18:40:58 -05:00
Austin Seipp
b59c61198a perlPackages.Mojolicious: 7.88 -> 8.0
Signed-off-by: Austin Seipp <aseipp@pobox.com>
(cherry picked from commit 08815b9af8)
2018-09-20 18:40:47 -05:00
Austin Seipp
e4b0c7bbd2 libiio: init at 0.15
(cherry picked from commit 0f2b10d1ac)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-20 18:39:17 -05:00
Nathan van Doorn
70ecb51beb haskellPackages.sbv: fix location of z3 executable
A lot of the functionality of the z3 library depends on it being able to
find the z3 executable on $PATH. Hard-coding it here means it will never
be unable to find it and z3 doesn't need to pollute $PATH.

(cherry picked from commit c8598daad4)

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2018-09-20 18:32:04 -05:00
roconnor
40d22a78b7 bitcoin: 0.16.2 -> 0.16.3 (#46891)
(cherry picked from commit fab901ddd3)

security: fixes CVE-2018-17144
2018-09-21 00:36:12 +02:00
xeji
a31fc1ca57 liquidwar: fix build (#47064)
- add missing dependencies readline and libtool that used to be
  propagated by guile but aren't anymore
- build with guile 2.0 instead of 1.8

(cherry picked from commit 2c5ae2ae61)
2018-09-21 00:21:31 +02:00
xeji
abdbf1ccd6 pythonPackages.circus: fix build, add meta (#47066)
(cherry picked from commit 9c02914b42)
2018-09-21 00:21:31 +02:00
xeji
af334fe875 nixos/tests/gdk-pixbuf: fix test on i686 (#46916)
Test didn't run because it tried to create a VM with 4096M RAM
but qemu-system-i386 has a hard 2047M memory limit.
- reduce memory to 2047M on i686.
- increase timeout 300s -> 1800s because the tests are much slower
  on i686 and timed out.

(cherry picked from commit e40d850fd1)
2018-09-20 21:30:06 +02:00
Vincent Laporte
355a0377b1 ocaml ≤ 4.05: mark as broken on Aarch64 (#47010)
(cherry picked from commit ce03af969e)
2018-09-20 21:19:00 +02:00
Tim Steinbach
6ec64973bc linux: 4.18.8 -> 4.18.9
(cherry picked from commit 3e4377cf15fb153010ff8d49dcaf131f1dfe0af9)
2018-09-20 09:53:19 -04:00
Tim Steinbach
3f2aa18db8 linux: 4.14.70 -> 4.14.71
(cherry picked from commit 1c620c669655c1aa7a101a7fafba7327a60293c1)
2018-09-20 09:53:13 -04:00
Tim Steinbach
e8f3acd155 linux: 4.9.127 -> 4.9.128
(cherry picked from commit 172e43335443b15ba25989759eb4085bed55542a)
2018-09-20 09:53:02 -04:00
Tim Steinbach
672b375dfc linux: 4.4.156 -> 4.4.157
(cherry picked from commit 9d678ecf88ee0691cd85d348a790802239faaa10)
2018-09-20 09:52:55 -04:00
xeji
d5cbdecd3b nixos/tests/networking.virtual: prevent non-deterministic failure (#46949)
The test failed non-deterministically on Hydra because interfaces
sometimes weren't yet fully cleaned up when the result was checked.

(cherry picked from commit 05659962cd)
2018-09-20 13:21:24 +02:00
Uli Baum
43809bd8d4 gitlab: add missing meta.platforms
(cherry picked from commit 8cd90e40be)
2018-09-20 12:57:46 +02:00
Maximilian Bosch
b89050daac nixos/yabar: fix module & test (#46954)
The `pkgs.yabar` package is relatively old (2016-04) and contains
several issues fixed on master. `yabar-unstable` containsa recent master
build with several fixes and a lot of new features (I use
`yabar-unstable` for some time now and had no issues with it).

In the upstream bugtracker some bugs could be fixed on ArchLinux by
simply installing `yabar-git` (an AUR package which builds a recent
master).

To stabilize the module, the option `programs.yabar.package` now
defaults to `pkgs.yabar-unstable` and yields a warning with several
linked issues that are known on `pkgs.yabar`.

The test has been refactored as well to ensure that `yabar` actually
starts (and avoid non-deterministic random success) and takes a
screenshot of a very minimalistic configuration on IceWM.

Fixes #46899

(cherry picked from commit 8b58a7187c)
2018-09-20 12:48:21 +02:00
R. RyanTM
d4e9c35441 wireguard-tools: 0.0.20180904 -> 0.0.20180918
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
https://repology.org/metapackage/wireguard-tools/versions

(cherry picked from commit 03d8620098)
2018-09-20 08:33:56 +01:00
xeji
175d49256f pythonPackages.nilearn: disable still failing tests (#46918)
A previous attempt to fix tests failing on some machines (#46850)
was unsuccessful, they still failed on Hydra sometimes while
succeeding locally. Revert #46850 and disable these tests instead.

(cherry picked from commit f3a0c8a3aa)
2018-09-19 23:50:53 +02:00
xeji
08c39f8d47 arelle: fix build, use current python3 (#46862)
It was pinned to python34, build failed in dependency
python34Packages.pytest. Use python3(6) instead.

(cherry picked from commit a0c5dd8a09)
2018-09-19 22:19:17 +02:00
Domen Kožar
b8f71e3c79 datadog-agent: remove privateTmp=true
This allows postgres integration to connect to socket in /tmp

(cherry picked from commit 5715aa1951)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-19 18:56:25 +01:00
John Ericson
90e9b8d0f9 Merge pull request #46904 from obsidiansystems/zlib-ios
zlib: Fix iOS cross build for 18.09
2018-09-19 12:49:14 -04:00
Edmund Wu
d3905a3ddf lightdm: fix tmpfiles path (#46886)
(cherry picked from commit 1a15b10ae3)
2018-09-19 16:54:40 +02:00
xeji
3af2eb2072 exempi: fix i686 build (#46884)
failed with `unknown symbol __divmoddi4`.
Standard fix is to use gcc6.

(cherry picked from commit d57c9ec407)
2018-09-19 16:20:35 +02:00
xeji
d5d36e5d2c nixos/tests/hibernate: prevent non-deterministic failure (#46882)
... that occurred mostly on i686. Improve timing.
With this, the failures are no longer reproducible on my machine.

(cherry picked from commit beb8ca2887)
2018-09-19 16:20:35 +02:00
xeji
842b9054e8 nixos/tests/containers-imperative: fix on i686 (#46874)
Test failed on i686 in a sandbox because some packages required
to build the nixos manual for the container were missing. Add them.

(cherry picked from commit daf40ab165)
2018-09-19 16:20:34 +02:00
xeji
2c43ad2498 openxpki: fix build, use current python3Packages (#46860)
Build used python34Packages and failed because python34Packages.pytest
didn't build anymore. Use python3Packages instead.

(cherry picked from commit 012682222f)
2018-09-19 16:17:27 +02:00
xeji
1bc047d46e czmq: 4.0.2 -> 4.1.1 (#46855)
(cherry picked from commit c9969162ab)
2018-09-19 16:17:27 +02:00
xeji
fd0c124cd6 pythonPackages.nilearn: fix test_signal tests (#46850)
These tests failed on some machines, probably due to lower arithmetic
presicion. Reduce required precision from 13 to 8 decimal digits.

(cherry picked from commit 970393c34a)
2018-09-19 16:17:27 +02:00
Jörg Thalheim
09d8df5b21 python3.pkgs.typeguard: fix builds by applying utf-8 locales
ZHF #45960

(cherry picked from commit b224eef108)
2018-09-19 15:14:15 +01:00
Pascal Wittmann
86f9a958cf homebank: 5.1.8 -> 5.2.1 2018-09-19 15:06:55 +02:00
aszlig
d07dbd4490 python/hetzner: 0.8.0 -> 0.8.1
This is only a minor bugfix release and updates the fallback CA root
certificates. For NixOS this is usually not required as the probe paths
will match there, but for non-NixOS users it might be helpful.

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit 48d1c50f7a)
Reason: This might be relevant for NixOps users on Mac OS X and the
        update won't break anything that wasn't broken before.
2018-09-19 14:32:20 +02:00
Jack Kelly
adb467eeaf dockerTools.pullImage: correct default arch
(cherry picked from commit af5eab6ea6)
2018-09-19 09:28:35 +02:00
John Ericson
b853e73d52 Merge pull request #46873 from obsidiansystems/cross-haskell-ar-flag
haskell infra: Also pass `--with-ar` in cross builds for 18.09
2018-09-18 19:14:17 -04:00
John Ericson
d29a153655 Merge remote-tracking branch 'upstream/release-18.09' into staging-18.09 2018-09-18 16:56:24 -04:00
John Ericson
5b053b4697 Merge pull request #46858 from obsidiansystems/darwin-to-linux-prep
misc pkgs: various cross fixes in preparation for darwin->linux for 18.09
2018-09-18 16:52:36 -04:00
Elis Hirwing
4c4aff3293 nixos/activation: Switch from bash to sh to avoid reading users bash config (#46851)
This fixes #46750. This should also work with non-POSIX shells like in #46042.

(cherry picked from commit 5664e64a01)
2018-09-18 21:48:02 +02:00
Domen Kožar
68c956914b datadog-integrtaions-core: 2018-05-27 -> 2018-09-18
(cherry picked from commit 943871a866)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-18 20:23:44 +01:00
xeji
bc7ec9b651 nixos/release.nix: disable tests.ec2-config (#46830)
This test doesn't work in a sandbox and never succeeded on Hydra.
It simulates an EC2 instance reconfiguring itself at runtime,
which needs network access.

(cherry picked from commit a83d61b708)
2018-09-18 19:27:57 +02:00
Graham Christensen
374d22d68d Merge pull request #46838 from grahamc/check-outputs-in-meta-18.09
stdenv: Validate meta.outputsToInstall
2018-09-18 12:45:01 -04:00
Uli Baum
3d949911c0 gtk-doc: don't build with dblatex by default
make it optional: withDblatex ? false
This removes the dependency of gtk-doc on texlive.

(cherry picked from commit d6ecbe1410)
2018-09-18 18:39:04 +02:00
Robin Gloster
69da311f79 texlive: fix missing synctex header
The automake file was patched but `automake` not run.
Also since the texk/web2c folder is not in autoconfig's
SUBDIRS the autoreconfHook has to be run in there.

Completely fixes #46376

(cherry picked from commit ce6e72a11c)
2018-09-18 18:34:54 +02:00
Graham Christensen
24ad8ada2e elf-header-real: fixup outputsToInstall
(cherry picked from commit 301109a2dd)
2018-09-18 12:28:23 -04:00
Graham Christensen
da5fd39d21 stdenv: Validate meta.outputsToInstall
If meta.outputsToInstall is set to include absent outputs, various
tools break including channel updates and nix-env.

    grahamc@Morbo> nix-env -i -f . -A elf-header-real
    installing 'elf-header'
    error: this derivation has bad 'meta.outputsToInstall'

This patch verifies each value in meta.outputsToInstall is a valid
output. It validates this condition only if checkMeta is true.

    grahamc@Morbo> nix-build . -A elf-header-real
    error: Package ‘elf-header’ in /home/grahamc/projects/nixpkgs/pkgs/development/libraries/elf-header/default.nix:36 has invalid meta.outputsToInstall, refusing to evaluate.

    The package elf-header has set meta.outputsToInstall to: bin

    however elf-header only has the outputs: out

    and is missing the following ouputs:

      - bin

    (use '--show-trace' to show detailed location information)

Note, now the nix-env experience is decidedly worse for users who have
checkMeta set to true:

    grahamc@Morbo> nix-env -i -f . -A elf-header-real; echo $?
    0

though since this is already an issue for unfree, broken, unsupported,
and insecure validity problems I'm not sure we should do something
different here.

(cherry picked from commit b80c9ce4a9)
2018-09-18 12:28:23 -04:00
WilliButz
6ffa699c86 prometheus-json-exporter: add patch to support bool parsing
(cherry picked from commit b59cd2bc17)
2018-09-18 18:22:47 +02:00
WilliButz
ef7921a342 prometheus-json-exporter: 2016-09-13 -> 2017-10-06
(cherry picked from commit b712736283)
2018-09-18 18:22:47 +02:00
Adam Finn Tulinius
81884ce1b4 OVMF: update homepage
Tianocore was apparently moved from SourceForge to GitHub.

(cherry picked from commit 8b8474b1b5)
2018-09-18 13:16:53 +01:00
Clemens Fruhwirth
f339ca57cc mpack: Invoke /run/wrappers/bin/sendmail via execvp
Calling /run/current-sw/bin/sendmail fails under postfix because
setgid bits are not set. Switching the hardcoded path to an invocation
via execvp should cover both cases, when the sendmail binary is
setgid-wrapped and when it is not.

(cherry picked from commit 6d97096d8b)
2018-09-18 10:01:56 +01:00
pacien
083237f061 exim: enable LMTP support
This makes the LMTP transport available by default.
No additional dependency is required.

(cherry picked from commit c3dd421a2e)
2018-09-18 09:51:28 +02:00
José Romildo Malaquias
e97e63bd63 efl: 1.21.0 -> 1.21.1
(cherry picked from commit 5f1c33efce)
2018-09-18 09:43:53 +02:00
John Ericson
4bd5b51c3a Merge pull request #46816 from obsidiansystems/darwin-android-ndk
androidndk: Add Darwin support for 18.09
2018-09-17 23:01:41 -04:00
Yegor Timoshenko
a001c45db2 Merge pull request #46803 from vaibhavsagar/bump-all-cabal-hashes-18.09
all-cabal-hashes: update snapshot to Hackage at 2018-09-12T08:26:27Z
2018-09-17 23:48:28 +00:00
Jörg Thalheim
0ad7d4feb7 heroku: fix homepage
(cherry picked from commit 11dcb770b9)
2018-09-17 22:39:50 +01:00
Bob van der Linden
4ba68be6d5 heroku: set HEROKU_DISABLE_AUTOUPDATE=1
(cherry picked from commit db571e9b78)
2018-09-17 22:39:50 +01:00
Bob van der Linden
c922f7b92a heroku: skip build phase
(cherry picked from commit 1f8dc21c94)
2018-09-17 22:39:49 +01:00
Bob van der Linden
1934cbb6a6 heroku: 5.6.32 -> 7.16.0
(cherry picked from commit 6ab1ee4951)
2018-09-17 22:39:49 +01:00
John Ericson
62dadfbd0e Merge pull request #46796 from obsidiansystems/late-bind-buildHaskellPackages
haskell infra: "late bind" `buildHaskellPackages` for 18.09
2018-09-17 16:21:01 -04:00
Peter Simons
fa90e003a3 all-cabal-hashes: update snapshot to Hackage at 2018-09-12T08:26:27Z
(cherry picked from commit ee6ecb0eaf)
2018-09-17 16:12:28 -04:00
Maximilian Bosch
ff791c8c1d pythonPackages.mahotas: skip test_moments.test_normalize and test_texture.test_haralick3d testcase (#46793)
As stated in #46368, this package seems to have issues with impure tests
(reported in https://github.com/luispedro/mahotas/issues/97).

Unfortunately the `release-18.09` job on Hydra fails at the attempt to
build this package since `test_moments.test_normalize1` and
`test_texture.test_haralick3d` breaks. Until
the root cause is identified, we skip the disabled tests to ensure that
the resulting package is not entirely broken (which can't be confirmed
with `doCheck = false`).

See https://hydra.nixos.org/job/nixos/release-18.09/nixpkgs.python27Packages.mahotas.x86_64-linux
See https://hydra.nixos.org/job/nixos/release-18.09/nixpkgs.python36Packages.mahotas.x86_64-linux
See https://logs.nix.ci/?key=nixos/nixpkgs.46793&attempt_id=b85a638d-dcb0-41d3-ab2a-9616a3bb0175

/cc @xeji @luispedro

(cherry picked from commit 5f2eacccf6)
2018-09-17 21:34:52 +02:00
Uli Baum
347723980a ipfs-migrator: update dependencies in deps.nix
Most dependencies are vendored in the upstream source anyway,
deps.nix just contains the few that are not.
Dependencies were updated manually because go2nix doesn't
work correctly for this package - it produces an empty deps.nix.

(cherry picked from commit f896867ae5)
2018-09-17 19:17:41 +02:00
Uli Baum
96859fd9eb ipfs-migrator: 6 -> 7
New version is required to migrate existing ipfs repos to repo v7.

(cherry picked from commit 6823fe9fb0)
2018-09-17 19:17:41 +02:00
Samuel Dionne-Riel
95b11f3cb9 nixos/tests/installer: grub1 needs /tmp to exist.
(cherry picked from commit b63c539bdc)
2018-09-17 19:13:49 +02:00
Samuel Dionne-Riel
7a811a3dbd grub: grub-0.97-patch-1.15 -> grub-0.97-73
Instead of using Gentoo's patchset, uses Debian's.

Gentoo's doesn't work anymore.

(cherry picked from commit 932c8f4c13)
2018-09-17 19:13:48 +02:00
Samuel Dionne-Riel
8174365dd1 grub: Use gcc6
GCC 7 wasn't kind to grub.

(cherry picked from commit ba09b05702)
2018-09-17 19:13:48 +02:00
aanderse
409abea609 php: add option to enable argon2
(cherry picked from commit e48811f83d)
2018-09-17 19:05:30 +02:00
Danylo Hlynskyi
9d77b35f68 zoom-us: 2.3.128305.0716 -> 2.4.129780.0915, QT downgrade (#46778)
Qt 5.11 was downgraded to 5.9 because of two issues:
- spawns errors like
```
qrc:/qml/SignInWaiting.qml:20:9: QML BusyIndicator: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:26:9: QML Text: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:20:9: QML BusyIndicator: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:26:9: QML Text: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:20:9: QML BusyIndicator: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:26:9: QML Text: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:20:9: QML BusyIndicator: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:26:9: QML Text: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:20:9: QML BusyIndicator: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
qrc:/qml/SignInWaiting.qml:26:9: QML Text: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
```
- Google login doesn't work. It just doesn't start embedded webbrowser

(cherry picked from commit 969a39bd09)
2018-09-17 16:10:10 +02:00
Vladimír Čunát
8b04b63c76 Merge branch 'staging-18.09' into release-18.09 2018-09-17 12:55:39 +02:00
worldofpeace
03f1f355ad nixos/lightdm: use systemd.tmpfiles (#46734)
This also makes logs appear at /var/log/lightdm

(cherry picked from commit 67e9571ba4)
2018-09-17 11:03:20 +02:00
Notkea
48bdc51a72 exim: add optional support for PAM (#46744)
(cherry picked from commit f607f45f33)
2018-09-17 10:50:38 +02:00
Uli Baum
39c585aab1 ostree: fix tests
- Workarounds for https://github.com/ostreedev/ostree/issues/1592
- Disable failing test-gpg-verify-result.test, see
  https://github.com/ostreedev/ostree/issues/1634

(cherry picked from commit d734328f5d)
2018-09-17 09:25:57 +02:00
Vladimír Čunát
1c9013dd34 Merge branch 'release-18.09' into staging-18.09 2018-09-17 09:10:38 +02:00
pacien
026d0c8ae5 exim: parametrise package
This allows the definition of a custom derivation of Exim,
which can be used to enable custom features such as LDAP and PAM support.

The default behaviour remains unchanged (defaulting to pkgs.exim).

(cherry picked from commit d73ed4264f)
2018-09-17 00:42:45 +01:00
Uli Baum
3e10c3705f pythonPackages.dendropy: fix build
Build failed after update to 4.4.0 because the tests are incorrectly
packages in the pypi version.
Switch to upstream github repo, fix tests, disable failing test cases

(cherry picked from commit a66c00d780)
2018-09-16 22:26:14 +01:00
Jörg Thalheim
92f867daae Merge pull request #46525 from Chiiruno/dev/zeronet
nixos/zeronet: Fix TOR permissions, add torAlways option
2018-09-16 22:20:55 +01:00
Matthew Bauer
a86020b885 Revert "Merge pull request #46108 from obsidiansystems/cross-patch-shebangs"
This reverts commit 6877b4c13e, reversing
changes made to 69b6db0ec5.
2018-09-16 15:29:50 -05:00
Pascal Wittmann
50fa8ebf70 tmsu: 0.7.0 -> 0.7.1
(cherry picked from commit c314092164)
2018-09-16 19:21:35 +02:00
Matt McHenry
3c670aad43 elm: patch to widen dependency after hackage update 1b1cb6305c
works around missing dependency 'language-glsl >=0.0.2 && <0.3'

patch from https://github.com/elm/compiler/pull/1784

(cherry picked from commit e78f60475b)
2018-09-16 13:02:43 +02:00
Matt McHenry
9c4e77d4e1 elm: pick up some recent minor updates to 0.19.0
(cherry picked from commit 04d8e267b7)
2018-09-16 13:02:43 +02:00
Bob van der Linden
91792592f0 go: skip flaky os/exec TestExtraFiles
This seems to only happen on i686 on go 1.11. It also happens on
Debian. For more information:

https://github.com/golang/go/issues/25628
(cherry picked from commit 0bf6b440d9)
2018-09-16 11:09:49 +01:00
Vincent Laporte
deebbe43fb ocaml ≤ 4.05: mark as broken on Aarch64
(cherry picked from commit 4f3868b72d)
2018-09-16 09:29:42 +01:00
Vincent Laporte
8a26f19782 pythonPackages.libnacl: fix build on darwin
(cherry picked from commit 5b8b9a08e7)
2018-09-16 09:26:45 +01:00
Peter Simons
bb78d66906 haskell-stm: update overrides that use version 2.4.5.0 to version 2.4.5.1
(cherry picked from commit 53d34305f6)
2018-09-15 21:02:05 -04:00
xeji
a0ba8bba23 pythonPackages.pyodbc: fix build (#46703)
Build with unixODBC instead of libiodbc, see discussion in
https://github.com/mkleehammer/pyodbc/issues/444

(cherry picked from commit 13c500ae16)
2018-09-15 23:14:23 +02:00
John Ericson
ce1cc9dd81 Merge pull request #46713 from obsidiansystems/ios-depoy
ios-depoy: Add missing rsync dep
2018-09-15 15:09:18 -04:00
worldofpeace
3ac0a6c74a rust.section.md: remove nixcrate reference
nixcrate is deprecated

(cherry picked from commit 6dae5de436)
2018-09-15 19:46:35 +01:00
Sarah Brofeldt
a55a1363c3 darcs: unpin ghc (use 8.4.x) version
(cherry picked from commit 0fe0f481c7)
2018-09-15 19:15:00 +02:00
Bob van der Linden
f829dbfaaa Deedle: 1.2.0 -> 1.2.5 (#46702)
(cherry picked from commit 76001b8509)
2018-09-15 16:18:47 +02:00
Bob van der Linden
4aea85a89f Paket: 1.18.2 -> 5.179.1 (#46701)
(cherry picked from commit 6a4b9dfa2f)
2018-09-15 16:03:48 +02:00
Tim Steinbach
0d5e4c9dba sbt: 1.2.1 -> 1.2.3
(cherry picked from commit 795488491c)
2018-09-15 09:57:55 -04:00
Tim Steinbach
53c8df749a linux: 4.18.7 -> 4.18.8
(cherry picked from commit 2193518801)
2018-09-15 09:48:16 -04:00
Tim Steinbach
ed197e7ceb linux: 4.14.69 -> 4.14.70
(cherry picked from commit 1a13067273)
2018-09-15 09:48:07 -04:00
Tim Steinbach
580831c518 linux: 4.9.126 -> 4.9.127
(cherry picked from commit c1d7826a8a)
2018-09-15 09:47:56 -04:00
Tim Steinbach
f071d81afb linux: 4.4.155 -> 4.4.156
(cherry picked from commit b9ca4ac95c)
2018-09-15 09:47:48 -04:00
Jesper Geertsen Jonsson
d36f38a38c Fixes the lldpd service failing to start
Backports a patch that will be included in later upstream versions.
The patch removes a call to /bin/mkdir.

(cherry picked from commit 8a03ec0a32)
2018-09-15 15:38:06 +02:00
volth
38710e66cd libguestfs-appliance: do not build on Hydra
(cherry picked from commit ac52817bd9)
2018-09-15 15:37:16 +02:00
Franz Pletz
2aaebeecdd matrique: init at 250
(cherry picked from commit d79e201851)
2018-09-15 15:28:33 +02:00
Franz Pletz
4010c783ca nheko: 0.4.3 -> 0.5.5
(cherry picked from commit ff8fc5c46c)
2018-09-15 15:16:00 +02:00
Franz Pletz
8ee65ee040 spdlog_1: init 1.1.0
(cherry picked from commit 4d11a37c69)
2018-09-15 15:16:00 +02:00
Franz Pletz
fdd5647264 mtxclient: init at 0.1.0
(cherry picked from commit 8473168bef)
2018-09-15 15:16:00 +02:00
Ben Challenor
ba90765578 jenkins: 2.121.2 -> 2.138.1
(cherry picked from commit 16ce28ed72)
2018-09-15 15:10:44 +02:00
Maximilian Bode
14ccf337ba salt: fix darwin build by specifying dependency on tornado 4
/cc ZHF #45961

(cherry picked from commit 2438ceb5b4)
2018-09-15 12:41:40 +02:00
Maximilian Bode
c96aee40b0 click: 0.3.1 -> 0.3.2
patch necessary to fix "error: the lock file needs to be updated but --frozen was passed to prevent this"

(cherry picked from commit 95c7d8300f)
2018-09-15 11:03:09 +01:00
Peter Simons
4e96a5fc5f cabal2nix: fix (and clean up)override for hpack dependency
(cherry picked from commit 1c5d7ad52e)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-15 10:33:30 +01:00
Peter Simons
52f36810cd haskell-Cabal: keep a copy of the 2.2.x version around in the package set
(cherry picked from commit 838b4fe552)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-15 10:33:29 +01:00
Peter Simons
1c02221724 haskell-cabal2nix: update override for hpack 0.31.0
* pkgs/development/haskell-modules/configuration-common.nix:

(cherry picked from commit e0c081c6ac)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-15 10:33:29 +01:00
Peter Simons
942e0be544 hackage-packages.nix: automatic Haskell package set update
This update was generated by hackage2nix v2.11-9-gb3613cb from Hackage revision
3869e8d541.

(cherry picked from commit 1b1cb6305c)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-15 10:33:29 +01:00
Peter Simons
84d9adf76c LTS Haskell 12.9
(cherry picked from commit 3c1af12544)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-15 10:33:11 +01:00
Will Dietz
373d615198 zsh: 5.6.1 -> 5.6.2
From upstream's NEWS:

> Changes from 5.6.1 to 5.6.2
> ---------------------------
>
> Fix another SIGTTOU case.
>
> Fix SIGWINCH being ignored when zsh is not in the foreground.
>
> The release tarballs are now compressed using xz(1), whereas previously
> both xz(1) and gzip(1) versions were available.  If this gets in your way,
> give us a shout.
>

(cherry picked from commit ef21db9bd3)
2018-09-15 10:54:38 +02:00
Will Dietz
420bfb1405 kmsxx: 2017-10-10 -> 2018-09-10
Various improvements -- if nothing else the 'kmstest'
utility now explains properly when permissions problem :).

(cherry picked from commit 4c1f27a4fc)
2018-09-15 10:53:23 +02:00
Will Dietz
b567484b16 kmscube: 2017-03-19 -> 2018-06-17 (and fix homepage!)
(cherry picked from commit 268d72ec5e)
2018-09-15 10:53:21 +02:00
John Ericson
d1593baffd Merge pull request #46684 from obsidiansystems/elf-header
elf-header: Init at <libc version> for 18.09
2018-09-15 02:01:01 -04:00
Bob van der Linden
b998319b6a Newtonsoft.Json: 6.0.8 -> 11.0.2 (#46679)
(cherry picked from commit fb11065050)
2018-09-15 01:50:27 +02:00
Clemens Fruhwirth
28f3ce334f spl/zfs: 0.7.10 -> 0.7.11
(cherry picked from commit 81082c6c60)
2018-09-15 01:24:43 +02:00
Uli Baum
47d922fc54 qt56.qtwebengine: mark as broken
- no successful build since 2018-04-25
- not used in nixpkgs anymore

(cherry picked from commit 83e5bbfb58)
2018-09-15 00:55:29 +02:00
Uli Baum
fc31a4b195 btanks: mark as broken
no successful hydra build since 2018-03-16, last upstream release 2009.

(cherry picked from commit ba757ffdc9)
2018-09-15 00:55:29 +02:00
Uli Baum
22e09e7007 leksah: mark as broken
no successful build since 2017-08-19

(cherry picked from commit ab5a8b69b0)
2018-09-15 00:55:29 +02:00
Uli Baum
1de40e2160 kippo: mark as broken
no successful hydra build since 2017-12-11

(cherry picked from commit 19d1daedd0)
2018-09-15 00:55:29 +02:00
Uli Baum
7d5f1dad42 frab: mark as broken
No successful hydra build since 2018-02-14.
The build fails in the ruby gem json-1.8.3, which we cannot
mark directly as broken in nixpkgs, so we mark this as broken.

(cherry picked from commit 15fedb51b3)
2018-09-15 00:55:28 +02:00
Uli Baum
380b44f4fe clasp-common-lisp: mark as broken
no successful hydra build since 2018-01-03

(cherry picked from commit 4c2388dee3)
2018-09-15 00:55:28 +02:00
Uli Baum
f04e126009 darwin.maloader: mark as broken
no successfull build in Hydra history back to 2017-08-21

(cherry picked from commit 4795c2a23a)
2018-09-15 00:55:28 +02:00
xeji
0da7a40fca geis: fix build (#46663)
disable format hardening, ignore some compiler warnings

(cherry picked from commit 57ee141696)
2018-09-14 23:59:32 +02:00
Maximilian Bode
b158a30bb1 gitAndTools.grv: fix darwin build by using go 1.9
cf. https://github.com/fsnotify/fsevents/issues/40

/cc ZHF #45961

(cherry picked from commit 6b7cefdc58)
2018-09-14 23:20:16 +02:00
brocking
9fa6a261fb scaleway-cli: 1.14 -> 1.17
(cherry picked from commit 10a6ab75a8)
2018-09-14 16:59:19 +01:00
Michael Raskin
7956bfb364 Merge pull request #46643 from taku0/flashplayer-31.0.0.108
flashplayer: 30.0.0.154 -> 31.0.0.108 [Important security fix]
(cherry picked from commit a9e50ec21a)
2018-09-14 14:34:53 +03:00
Uli Baum
5eb4258a9a pythonPackages.nilearn: fix tests
disable failing tests

(cherry picked from commit d9bdd64f04)
2018-09-14 10:58:22 +02:00
Uli Baum
297a082708 pythonPackages.wordfreq: 2.0 -> 2.2.0, fix build
Previous version didn't build (test failure).
Update to latest, tests use pytest now, disable failing tests.

(cherry picked from commit be12bb81aa)
2018-09-14 10:58:22 +02:00
Uli Baum
837e7c6925 pythonPackages.pytest-rerunfailures: fix build
some tests fail since pytest 3.7.2 -> 3.7.4 update, disable them

(cherry picked from commit 0bda601ee5)
2018-09-14 10:58:21 +02:00
Uli Baum
6678badb1b pythonPackages.flask-pymongo: fix build
add missing dependency: vcversioner

(cherry picked from commit 781eaa1377)
2018-09-14 10:58:21 +02:00
Uli Baum
25f3b47320 pythonPackages.eve: fix build, drop incorrect dependencies
Build failed because of dependency Flask-PyMongo, which actually
isn't a dependency of eve as they have their own flask_pymongo code.

- Drop incorrect dependency flask-pymongo
- Drop redunant dependencies already propageted by flask:
  itsdangerous, werkzeug, jinja2
- Drop dependency markupsafe, not required any more

(cherry picked from commit 9e4b0b795c)
2018-09-14 10:58:21 +02:00
Uli Baum
c2bb2fb269 pythonPackages.daphne: 2.1.0 -> 2.2.2
Update, re-enable all tests on linux, disable tests on darwin.
This fixes the build of pythonPackages.channels

(cherry picked from commit abe97e9446)
2018-09-14 10:58:21 +02:00
Daiderd Jordan
8a93d258cd cargo-web: mark broken on darwin
Looks CoreFoundation related.

    Undefined symbols for architecture x86_64:
      "_CFURLResourceIsReachable", referenced from:
          fsevent_sys::core_foundation::str_path_to_cfstring_ref::h0ea4bd94e2c613f2 in libfsevent_sys-ef30b6879660a6c1.rlib(fsevent_sys-ef30b6879660a6c1.fsevent_sys7-49ce33334334dd3a5c7883bf4070f954.rs.rcgu.o)
    ld: symbol(s) not found for architecture x86_64

/cc ZHF #45961

(cherry picked from commit 327edb4b1d)
2018-09-14 10:44:52 +02:00
Daiderd Jordan
3b0dddd940 csfml: mark linux only
While it's possible to build on darwin, we never had a successful build.

    Undefined symbols for architecture x86_64:
      "sf::microseconds(long long)", referenced from:
          _sfSleep in Sleep.cpp.o

/cc ZHF #45961

(cherry picked from commit 54b4000d54)
2018-09-14 10:44:51 +02:00
Daiderd Jordan
fffefe7901 cernlib: mark broken on darwin
Using gccStdenv makes the build go further, but then it fails with.

    kuipc /private/tmp/nix-build-cernlib-2006.drv-0/2006/src/packlib/kuip/code_kuip/kuipcdf.cdf kuipcdf.c
    Makefile:413: archive/kuipcdf.d: No such file or directory
    make[3]: *** [Makefile:473: kuipcdf.c] Abort trap: 6

/cc ZHF #45961

(cherry picked from commit 68f7e75517)
2018-09-14 10:44:51 +02:00
WilliButz
221ec615f8 prometheus-dovecot-exporter: 0.1.1 -> 0.1.3
(cherry picked from commit 21324ef0e4)
2018-09-14 03:59:38 +02:00
Daiderd Jordan
0b3e0cdab2 ceres-solver: fix darwin build (#46626)
The Basel BUILD file conflicts with the cmake build directory on
case-insensitive filesystems, eg. darwin.

/cc ZHF #45961

(cherry picked from commit 807b0105b4)
2018-09-13 23:44:27 +02:00
Daiderd Jordan
4199eb48fa calaos_installer: fix darwin install (#46629)
On darwin this builds an application instead of a binary.

/cc ZHF #45961

(cherry picked from commit 68956555c1)
2018-09-13 23:40:52 +02:00
Daiderd Jordan
ce1f20f43c cargo-update: fix darwin build (#46625)
On darwin libcurl is also needed.

/cc ZHF #45961

(cherry picked from commit d782c4eba5)
2018-09-13 23:36:54 +02:00
Daiderd Jordan
381c09b225 brlaser: cleanup and mark linux only (#46622)
The test binaries depend use open_memstream which isn't available on
darwin.

    error: use of undeclared identifier 'open_memstream'

/cc ZHF #45961

(cherry picked from commit 04cba83e7f)
2018-09-13 22:48:30 +02:00
R. RyanTM
4293f9f252 google-compute-engine: 20180129 -> 20180510 (#46278)
Semi-automatic update generated by
https://github.com/ryantm/nixpkgs-update tools. This update was made
based on information from
google-compute-engine

(cherry picked from commit 035b2f5250)
2018-09-13 20:09:47 +01:00
Simon Lackerbauer
8b5f311616 atlassian-jira: 7.12.0 -> 7.12.1
(cherry picked from commit a431f3e35d)
2018-09-13 19:59:24 +02:00
Simon Lackerbauer
8ade355e59 atlassian-crowd: 3.1.2 -> 3.2.5
(cherry picked from commit f05e51abed)
2018-09-13 19:59:24 +02:00
Simon Lackerbauer
00ba14dcb7 atlassian-confluence: 6.8.0 -> 6.11.1
(cherry picked from commit 4d962b6dcd)
2018-09-13 19:59:24 +02:00
WilliButz
214e4e57eb grafana: 5.2.3 -> 5.2.4
(cherry picked from commit 68b25008e2)
2018-09-13 19:56:54 +02:00
Eelco Dolstra
51b62e6a8c Revert "aliases: add nixos-rebuild"
This reverts commit 0b124c1e91. We
should really stop adding things that are not packages to
all-packages.nix. For example, having nixos-rebuild.nix in
all-packages.nix causes 'nix-env -qa' to evaluate a NixOS
configuration, which obviously is not good for performance. (We should
probably also remove the 'nixos' attribute from all-packages.nix, but
at least that's a function so nix-env will ignore it.)

(cherry picked from commit f1c978aca0)
2018-09-13 18:27:36 +01:00
Samuel Dionne-Riel
43a15a7f55 Merge pull request #46598 from srhb/kube-1.11-backport-1809
18.09: kubernetes: 1.10.5 -> 1.11.3
2018-09-13 13:06:22 -04:00
Uli Baum
77d9ad1f26 pythonPackages.zodb: fix tests
Tests failed after `persistent` was updated to 4.4.
Apply an upstream patch to fix them.

(cherry picked from commit b54677969b)
2018-09-13 17:02:31 +01:00
Matthew Bauer
d9f1e37ec7 aliases: add nixos-rebuild
Fixes #44135

(cherry picked from commit 0b124c1e91)
2018-09-13 14:46:30 +01:00
Maximilian Bosch
3625ce7a44 tamarin-prover: fix ghc 8.4 build (#46597)
See https://hydra.nixos.org/build/81125645

`tamarin-prover' upstream has a patch to fix GHC 8.4 compilation (and
uses stack lts-12.1 now), but it's not released yet:

a08f6e4007

The build is divided in several derivations, therefore the patch had to
be splitted and rebased for `lib/term', `lib/theory' and `lib/utils' to
ensure that the patch applies properly during the `patchPhase'.

Addresses #45960

(cherry picked from commit 2cfc0bb7ee)
2018-09-13 14:11:52 +02:00
Matthias C. M. Troffaes
755710dbf5 wolfssl: enable all features
(cherry picked from commit 66e6ee73d4)
2018-09-13 12:06:05 +01:00
Jaakko Luttinen
1851422f61 syncthing: 0.14.48 -> 0.14.50
(cherry picked from commit 6400d4b4aa)
2018-09-13 11:47:26 +01:00
xeji
17f538bd06 leo-editor: 5.6 -> 5.7.3, fix build (#46589)
Previous version depended on qt56.qtwebengine which was broken.

(cherry picked from commit eb88142c4b)
2018-09-13 12:18:31 +02:00
Uli Baum
ae181c387a pythonPackages.restview: fix tests
Failed after readme_renderer was updated. Apply an upstream patch.

(cherry picked from commit 6dc57134da)
2018-09-13 11:41:32 +02:00
Uli Baum
c8b1f54b89 pythonPackages.pyfakefs: fix darwin build
One test failed on darwin due to case-insensitive file system,
disable it.

(cherry picked from commit bd02a1931a)
2018-09-13 11:41:32 +02:00
Uli Baum
7e47d1a020 pythonPackages.pydub: fix aarch64 build
one test failed due to rounding errors, disable it

(cherry picked from commit bc036397a3)
2018-09-13 11:41:31 +02:00
Uli Baum
38f6951e38 pythonPackages.pydub: remove obsolete patch
(cherry picked from commit 40c469e56b)
2018-09-13 11:41:31 +02:00
Uli Baum
671205b3e5 pythonPackages.pydub: fix build and tests
- remove obsolete patch that caused build failure
- no tests were run because required data files were missing in pypi
  version; use github version instead

(cherry picked from commit 80ecef8e4b)
2018-09-13 11:41:31 +02:00
Uli Baum
a700d468ba pythonPackages.pyfakefs: 3.4.1 -> 3.4.3, fix build
Update and disable some failing test cases

(cherry picked from commit d2a885a3b5)
2018-09-13 11:41:31 +02:00
Uli Baum
27159aee90 pythonPackages.readme_renderer: fix build
Disable one test case that has failed since last bleach update.

(cherry picked from commit bb1f3422e0)
2018-09-13 11:41:31 +02:00
Uli Baum
2880ca71fa pythonPackages.us: fix build
Required jellyfish==0.5.6 but we have 0.6.1. Loosen requirements.

(cherry picked from commit a7166cdc35)
2018-09-13 11:41:31 +02:00
Johan Thomsen
0c84b5cab7 kubernetes: 1.10.5 -> 1.11.3
Fixed minor issue where kube-addon manager complaints about
/opt/namespace.yaml missing.

Added release notes with reference to Kubernetes 1.11 release notes.

closes #43882

(cherry picked from commit a49f56c3b1)
2018-09-13 11:30:34 +02:00
Domen Kožar
cedae2bbec nixos: datadog-agent: fix systemd support
(cherry picked from commit 595ae18797)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-13 09:12:44 +01:00
Domen Kožar
160eea3602 datadog: add live process monitoring
(cherry picked from commit bef541c569)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-13 09:12:37 +01:00
Domen Kožar
4fce4287ff nixos: remove unneeded api_key from config
(cherry picked from commit 049b3a6cc2)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-13 09:12:30 +01:00
Jörg Thalheim
29f4541a82 pythonPackage.backports-shutil-which: enable tests
(cherry picked from commit 8d4afa5f2e)
2018-09-12 22:08:30 -04:00
Jaakko Luttinen
ed0fc7dc1d pythonPackages.libagent: fix propagatedBuildInputs
(cherry picked from commit d0ce8834ae)
2018-09-12 22:08:30 -04:00
Jaakko Luttinen
91f488c3bf pythonPackage.backports-shutil-which: init at 3.5.1
(cherry picked from commit 80b64a2e04)
2018-09-12 22:08:30 -04:00
Jaakko Luttinen
825f91bdcc pythonPackage.pymsgbox: init at 1.0.6
(cherry picked from commit c9bf7f67b9)
2018-09-12 22:08:30 -04:00
Jaakko Luttinen
ff6e4d0369 pythonPackages.ledgerblue: fix build inputs
(cherry picked from commit 5c9db2f02f)
2018-09-12 22:08:29 -04:00
Jaakko Luttinen
f8c8a23389 pythonPackages.python-u2flib-host: init at 3.0.3
(cherry picked from commit 38e86a8f1e)
2018-09-12 22:08:29 -04:00
Jaakko Luttinen
832dcfdb11 pythonPackages.rlp: fix build
(cherry picked from commit f053daf36c)
2018-09-12 22:08:29 -04:00
Jaakko Luttinen
d72f81ed5a pythonPackages.eth-utils: init at 1.2.0
(cherry picked from commit 9f8e6148c5)
2018-09-12 22:08:29 -04:00
Jaakko Luttinen
923a6b22e6 pythonPackages.eth-typing: init at 1.1.0
(cherry picked from commit 541a13ca0a)
2018-09-12 22:08:29 -04:00
Jaakko Luttinen
735b1e10b4 pythonPackages.eth-hash: init at 0.1.14
(cherry picked from commit c44504410b)
2018-09-12 22:08:29 -04:00
xeji
3e31aa326e pythonPackages.BTrees: fix build (#46588)
a test case failed since the update to 4.5.1, disable it

(cherry picked from commit 68b7de9e2e)
2018-09-13 02:33:04 +02:00
Uli Baum
b55e3054b9 mitmproxy: 3.0.4 -> 4.0.4, fix tests
- add missing checkInputs
- apply upstream patch to fix some tests that failed due to
  expired test ssl certs
- re-enable a previously disabled test case

(cherry picked from commit d225a91b7c)
2018-09-13 02:19:56 +02:00
Daiderd Jordan
9c9c04f918 asymptote: mark broken on darwin
It only builds with gc-7.6.0 on darwin for some reason.

/cc ZHF #45961

(cherry picked from commit 9fc6f1123d)
2018-09-13 00:07:09 +02:00
Daiderd Jordan
642d69b527 aws-okta: mark broken on darwin
Could be caused by our older 10.10.5 CoreFoundation.

    # github.com/segmentio/aws-okta/vendor/github.com/keybase/go-keychain
    go/src/github.com/segmentio/aws-okta/vendor/github.com/keybase/go-keychain/corefoundation_go110.go:35:33: cannot use nil as type _Ctype_CFAllocatorRef in argument to _Cfunc_CFDataCreate
    go/src/github.com/segmentio/aws-okta/vendor/github.com/keybase/go-keychain/corefoundation_go110.go:61: cannot use nil as type _Ctype_CFAllocatorRef in argument to func literal
    go/src/github.com/segmentio/aws-okta/vendor/github.com/keybase/go-keychain/corefoundation_go110.go:98:41: cannot use nil as type _Ctype_CFAllocatorRef in argument to _Cfunc_CFStringCreateWithBytes
    go/src/github.com/segmentio/aws-okta/vendor/github.com/keybase/go-keychain/corefoundation_go110.go:133: cannot use nil as type _Ctype_CFAllocatorRef in argument to func literal

/cc ZHF #45961

(cherry picked from commit b814881394)
2018-09-13 00:07:05 +02:00
Daiderd Jordan
91da313b87 litecoin: add missing framework and mark broken on darwin
In file included from qt/bitcoin.cpp:9:
    ./qt/bitcoingui.h:14:10: fatal error: 'QLabel' file not found
    #include <QLabel>
             ^~~~~~~~
    1 error generated.

/cc ZHF #45961

(cherry picked from commit 0dff3d5c73)
2018-09-13 00:07:01 +02:00
Daiderd Jordan
70f2abee3d ethsign: mark broken on darwin
Could be caused by our older 10.10.5 CoreFoundation.

    go/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go:51:216:
    cannot use nil as type _Ctype_CFAllocatorRef in argument to func literal
    go/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go:162:47:
    cannot use nil as type _Ctype_CFAllocatorRef in argument to
    _Cfunc_CFStringCreateWithCStringNoCopy
    go/src/github.com/ethereum/go-ethereum/vendor/github.com/rjeczalik/notify/watcher_fsevents_cgo.go:163:225:
    cannot use nil as type _Ctype_CFAllocatorRef in argument to func literal

/cc ZHF #45961

(cherry picked from commit e7ecf593e2)
2018-09-13 00:06:57 +02:00
Daiderd Jordan
3c2e66d746 bitcoin-xt: mark broken on darwin
/cc ZHF #45961

(cherry picked from commit 8f6ede967e)
2018-09-13 00:06:53 +02:00
Daiderd Jordan
72830db1a0 bitcoin-unlimited: mark broken on darwin
/cc ZHF #45961

(cherry picked from commit eaff0b74c0)
2018-09-13 00:06:49 +02:00
Daiderd Jordan
509e79eec5 bitcoin-classic: mark broken on darwin
Last successful build https://hydra.nixos.org/build/74552951.

/cc ZHF #45961

(cherry picked from commit d990bae6ef)
2018-09-13 00:06:44 +02:00
Daiderd Jordan
a95c041252 bitcoin-abc: mark broken on darwin
Last successful build https://hydra.nixos.org/build/74552872.

/cc ZHF #45961

(cherry picked from commit cf9d1a6d30)
2018-09-13 00:06:41 +02:00
Daiderd Jordan
7b82c4f182 atlas: mark broken on darwin
Started to fail since 3.10.3.

    /private/tmp/nix-build-atlas-3.10.3.drv-0/ATLAS/build/bin/ATLrun.sh: line 4: 31119 Segmentation fault: 11  $atldir/$*
    make[3]: *** [Makefile:1695: ssanity_test] Error 139

/cc ZHF #45961

(cherry picked from commit f1542f612b)
2018-09-13 00:06:37 +02:00
Daiderd Jordan
93f4bb6a62 asio: mark broken on darwin
Started to fail since 1.12.1.

    Undefined symbols for architecture x86_64:
      "boost::chrono::steady_clock::now()", referenced from:
          pinger::start_send() in ping.o
          asio::detail::timer_queue<asio::detail::chrono_time_traits<boost::chrono::steady_clock, asio::wait_traits<boost::chrono::steady_clock> > >::wait_duration_msec(long) const in ping.o
          asio::detail::timer_queue<asio::detail::chrono_time_traits<boost::chrono::steady_clock, asio::wait_traits<boost::chrono::steady_clock> > >::wait_duration_usec(long) const in ping.o
          asio::detail::timer_queue<asio::detail::chrono_time_traits<boost::chrono::steady_clock, asio::wait_traits<boost::chrono::steady_clock> > >::get_ready_timers(asio::detail::op_queue<asio::detail::scheduler_operation>&) in ping.o
          pinger::handle_receive(unsigned long) in p

/cc ZHF #45961

(cherry picked from commit 80a4e48e45)
2018-09-13 00:06:34 +02:00
Daiderd Jordan
5bf79832e6 alock: mark linux only
The darwin build fails and it's probably not particularly useful there.

    utils.c:33:19: error: use of undeclared identifier 'CLOCK_MONOTONIC'
        clock_gettime(CLOCK_MONOTONIC, &t);

/cc ZHF #45961

(cherry picked from commit 139eb11a6d)
2018-09-13 00:06:24 +02:00
Uli Baum
7d5b1d14c6 banshee: remove
- was broken since June 2016 because it depends on `boo`
- no visible attempts to fix in over 2 years

(cherry picked from commit 2953d4c994)
2018-09-12 23:26:23 +02:00
Uli Baum
e586eda60d nant: remove
- our version is from 2015
- it doesn't build
- upstream project is dead, last release 2012, last commit Oct 2016.
- used by only 1 nixpkgs package: `boo`, marked broken since 2016.

(cherry picked from commit dc84de59d1)
2018-09-12 23:26:23 +02:00
Uli Baum
18e9a5c8e4 boo: remove, broken since Jun 2016
marked broken in June 2016, no visible attempt to fix it,
so let's get rid of it

(cherry picked from commit 5a166ffd47)
2018-09-12 23:26:23 +02:00
zimbatm
770ee0b279 vault: 0.10.4 -> 0.11.1
changelog: https://github.com/hashicorp/vault/blob/v0.11.1/CHANGELOG.md
(cherry picked from commit 7880cd6752)
2018-09-12 23:12:34 +02:00
worldofpeace
362498c6fe eolie: 0.9.35 -> 0.9.36
(cherry picked from commit 508e353fd4)
2018-09-12 21:30:23 +01:00
Josef Kemetmüller
84361ab3e1 scs: Fix darwin build
Additionally we make the unit-test deterministic by specifying a seed
instead of using something random.

(cherry picked from commit d726c0ff1d)
2018-09-12 21:25:52 +02:00
Robin Gloster
088e1bdf7d grafana module: allow path for extraConfig vals
(cherry picked from commit 929f71d381)
2018-09-12 14:22:21 +02:00
Robin Gloster
1ffb47ad48 acme module: fix self-signed cert with openssl 1.1
(cherry picked from commit 515a7aa452)
2018-09-12 13:41:50 +02:00
Michael Raskin
32c008a946 lispPackages.quicklisp: 2018-04-30 -> 2018-08-31 ; regenerate packages
Added a wrapper package that creates symlinks to OpenSSL libraries with
the actual versions, because we have 1.0.2 with .so-suffix .1.0.0 and
cl-async-ssl is unhappy because of that.

I continue to dislike cl-postgres and simple-date upstream packaging.

This fixes cl-libuv and dependent packages.

Progress on #45960

(cherry picked from commit 5048b0d1f9)
2018-09-12 11:59:56 +03:00
Christoph Hrdinka
8e20e5ee35 zsh: 5.6 -> 5.6.1
Signed-off-by: Christoph Hrdinka <c.github@hrdinka.at>
2018-09-12 09:35:55 +02:00
Elis Hirwing
8468a4bfc7 nano: 2.9.8 -> 3.0
Changelog: http://lists.gnu.org/archive/html/info-nano/2018-09/msg00000.html

Also updated the nix highlighting for nano

(cherry picked from commit b47c5870f4)
2018-09-11 20:28:07 -04:00
Matthew Bauer
7bc168e4b5 Merge pull request #46518 from srhb/revert-build-host-target-platform-deprecation-1809
Revert build host target platform deprecation on release-18.09
2018-09-11 18:55:05 -05:00
Maximilian Bosch
f95ddad29f python3Packages.pyowm: fix python3 build (#46549)
See https://hydra.nixos.org/build/80714323

Version 2.9 requires `geojson==2.x'. To allow 2.4, the constraint
required some patching using `substituteInPlace'.

Addresses #45960

(cherry picked from commit a25dcb6607)
2018-09-12 01:24:15 +02:00
Daiderd Jordan
40e4aee577 aria2: fix darwin build (#46548)
Not released yet, see https://github.com/aria2/aria2/issues/1198

/cc ZHF #45961

(cherry picked from commit 2164e39eaa)
2018-09-12 00:11:53 +02:00
John Ericson
3ef52f02a9 Merge pull request #46546 from obsidiansystems/glibc-configureFlags-cleanup
glibc: Use lib.enableFeature and friends for 18.09
2018-09-11 17:51:08 -04:00
Maximilian Bosch
f0972029de pants: fix build (#46545)
See https://hydra.nixos.org/build/80727495

`pants' works with requests==2.19 to build successfully and `nixpkgs' currently uses `requests==2.19.1`.
Patching the version constraint in `setup.py' accordingly fixes the problem.

Addresses #45960

(cherry picked from commit 46d1166b80)
2018-09-11 23:22:50 +02:00
Florian Bruhin
23200f56e8 qutebrowser: Fix patching of standarddir.py
The original patch was broken since a85e19a5e1 because an `APPNAME` variable was introduced there.

(cherry picked from commit 84a0dc8191)
2018-09-11 23:09:56 +02:00
John Ericson
6877b4c13e Merge pull request #46108 from obsidiansystems/cross-patch-shebangs
patch-shebangs: respect cross compilation for 18.09
2018-09-11 16:41:04 -04:00
Matthew Bauer
e9b63007e5 patch-shebangs: respect cross compilation
This hopefully makes patchShebangs respect cross compilation. It
introduces the concept of the HOST_PATH. Nothing is ever executed on
it but instead used as a way to get the proper path using ‘command
-v’. Needs more testing.

/cc @ericson2314 @dtzwill

Fixes #33956
Fixes #21138

(Modified backport of f06942327a. See
previous commit to understand the differences between this and the
original.)
2018-09-11 16:16:09 -04:00
John Ericson
c72c865560 stdenv: Define HOST_PATH more loosely when strictDeps isn't set
This ensures this change is safe last minute for 18.09. Master won't
have this.
2018-09-11 16:15:19 -04:00
John Ericson
c64d76d0e6 dhcpcd: No need to hack around broken patchShebangs anymore 2018-09-11 16:15:10 -04:00
Daiderd Jordan
03c8cbe813 perl-TestRunCmdLine: disable tests on darwin
/cc ZHF #45961

(cherry picked from commit f61279e45b)
2018-09-11 22:05:25 +02:00
Mario Rodas
81969394b4 nodejs-6_x: 6.14.3 -> 6.14.4
(cherry picked from commit bfdfb73ff1)
2018-09-11 14:26:31 -04:00
Mario Rodas
ad5046d8b8 nodejs: use https for downloading
(cherry picked from commit 36b5ffa40b)
2018-09-11 14:26:31 -04:00
Samuel Dionne-Riel
fce2d40051 qt5.qtwebkit: Fixes modules src being subtly broken.
b785d4813e introduced breakage in Qt
modules for 5.6 and 5.9, especially visible is Qt Webkit.

This was manifested by having a non-sensical build log where it is using
the top-level `src` attribute as source instead of Qt Webkit's own
source.

Were it not for the `src` top-level attribute (which is a legit
package), the error would have been made obvious by passing `null` to
`src`.

This partily reverts newly introduced way `src` can be passed to a
qtModule, instead relying on extending the `srcs` attrset.

For ZHF #45960

(cherry picked from commit cb380983ed)
2018-09-11 11:05:16 -04:00
Okina Matara
3091eb6537 nixos/zeronet: Fix TOR permissions, add torAlways option
(cherry picked from commit 9c97f37761)
Reason: Fixing an important zeronet feature for a new release.
2018-09-11 09:27:05 -05:00
Daiderd Jordan
bd1c922388 perl-Mouse: fix darwin build
/cc ZHF #45961

(cherry picked from commit 5e8fd8792b)
2018-09-11 09:59:34 -04:00
Daiderd Jordan
676841e61d perl-Module-Build-XSUtil: fix darwin build
While building the tests LD gets called with -mmacosx-version-min=10.10
which is a CC flag, causing the build to fail with LD=ld.  This is
pretty common with perl packages.

/cc ZHF #45961

(cherry picked from commit dc6b36b994)
2018-09-11 09:59:31 -04:00
Sarah Brofeldt
bf7c2e35f1 nixos/doc: Add stable pre-release warning (#46473)
(cherry picked from commit 66f6105978)
2018-09-11 15:42:49 +02:00
Domen Kožar
1c852070e8 datadog-agent: 6.1.4 -> 6.4.2
(cherry picked from commit 2c18d48c0e)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-11 13:17:41 +01:00
Domen Kožar
d25939132f dep2nix: fix eval (no IFD)
(cherry picked from commit e8621a45a2)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-11 13:17:23 +01:00
Domen Kožar
b2fc0f0234 dep2nix: 0.0.1 -> 0.0.2
(cherry picked from commit 35df0f7f0c)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-11 13:17:10 +01:00
Sarah Brofeldt
ea4d36a2e5 Revert "top-level: Deprecate top-level {build,host,target}Platform"
This reverts commit e51f736076.
2018-09-11 12:07:22 +02:00
Erik Arvstedt
c1713a14db networking.hostId: fix cmd in description
1. Simplify the command by reading directly from /etc/machine-id which
is already a random, lower-case hex string
2. Previously, the command output could be too short because of missing
leading digits. This is now fixed.

(cherry picked from commit 7a42623c23)
2018-09-11 10:32:18 +01:00
Sarah Brofeldt
c36aedb1c8 Merge pull request #46503 from ento/aws-vault-4-3-0
aws-vault: 4.1.0 -> 4.3.0, pass linker flag for specifying app version
(cherry picked from commit 5984aae9a7)
2018-09-11 11:30:38 +02:00
Wael M. Nasreddine
f461c933a1 bazel: 0.16.0 -> 0.16.1
(cherry picked from commit d24f81b825)
2018-09-11 11:27:36 +02:00
xeji
dd13aedbdb pythonPackages.pytestflakes: fix build (#46500)
- disable a failing test case that looks broken
- remove pytestcache depencency that was dropped upstream

(cherry picked from commit f201f8c3fd)
2018-09-11 11:16:03 +02:00
Clemens Fruhwirth
766d15ddd9 spl/zfs: 0.7.9 -> 0.7.10
(cherry picked from commit 05f122c561)
2018-09-11 07:07:44 +02:00
José Romildo Malaquias
f02eb7d337 lxqt: mv contents of base, core and optional to parent directory (#46484)
(cherry picked from commit 2047e28c7f)

a noop change, backported for easier maintenance
2018-09-10 23:01:21 +02:00
Maximilian Bosch
7666310ebf pythonPackages.mahotas: fix build, move expression
See https://hydra.nixos.org/build/80828287

Moves `mahotas` out of `python-packages.nix` into its own file and fixes
broken test cases by skipping them using nosetest's `@nottest`
annotation.

These tests broke from time to time in a sandbox and are therefore
considered impure.

Addresses #45960

(cherry picked from commit ee897b64ff)
2018-09-10 22:59:10 +02:00
Maximilian Bosch
cde1edebd6 openbsm: fix linux build
See https://hydra.nixos.org/build/80705916

To fix the linux build the patch `bsm-add-audit_token_to_pid.patch`
mustn't be applied during Linux builds, only for Darwin as it's an
Apple-only fix.

The compiler failure occurred because `audit_token_t` is part of
`<mach/mach.h>` which is not available on Linux.

Addresses #45960

(cherry picked from commit 080b2fdd8c)
2018-09-10 22:58:46 +02:00
Michele Guerini Rocco
d164d7eb89 antimony: 0.9.3 -> 2018-10-17 (#46486)
(cherry picked from commit fd7e69be1c)
2018-09-10 22:17:36 +02:00
volth
1b0c262aad perlPackages: ZHF 18.09 (#46493)
(cherry picked from commit 50789a0b19)
2018-09-10 22:14:34 +02:00
Daiderd Jordan
a1f2a67850 bullet: fix darwin build
The examples fail with an opengl related issue:

    Undefined symbols for architecture x86_64:
      "SimpleOpenGL3App::SimpleOpenGL3App(char const*, int, int, bool)", referenced from:
          _main in main_opengl_single_example.o
      "_useShadowMap", referenced from:
          GL_ShapeDrawer::drawScene(btDiscreteDynamicsWorld const*, bool, int) in GL_ShapeDrawer.o
    ld: symbol(s) not found for architecture x86_64

And the tests need an extra dependencly, possibley related to
https://github.com/bulletphysics/bullet3/issues/819

    ld: library not found for -lBussIK

/cc ZHF #45961

(cherry picked from commit 939debc7a4)
2018-09-10 21:35:26 +02:00
zimbatm
57268a967f govendor: init at 1.0.9 (#46485)
(cherry picked from commit 404b224529)
2018-09-10 17:48:34 +01:00
Urban Skudnik
0be60455c8 hcloud: Add autocomplete support for bash and zsh
Currently one would need to manually run the command to generate
completion and insert it into `.bashrc`/`.zshrc` to get the
autocompletion to work. This patch will automatically generate
both docs and save them to correct position so it should continue
to work even if user changes the shell at a later stage.

(cherry picked from commit d23c357f1c)
2018-09-10 15:20:10 +01:00
Linus Heckemann
12703a0c06 earlyoom: fix version number (#46481)
earlyoom's Makefile attempts to detect the current version using git,
but we don't keep .git in its source, so this fails. We can however
set the VERSION environment variable to override this, as we now do.

(cherry picked from commit ac679e721f)
2018-09-10 13:23:28 +01:00
Arian van Putten
23bbe26bde safe-money: Fix dependencies for safe-money-*
They all depend on safe-money-0.7, but hackage2nix made them incorrectly
depend on safe-money-0.6

We should be able to remove this 'hack' as soon as the new Stackage LTS
comes out, as safe-money-0.7 will then be the default version.
2018-09-10 13:14:53 +01:00
Shea Levy
406e0a6dca Merge branch 'haskell-updates-18.09' into release-18.09 2018-09-10 07:48:30 -04:00
Maximilian Bosch
b7be61673c pythonmagick: fix build (#46469)
The original build broke with the following linker issue:

```
  CXXLD    _PythonMagick.la
/nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/ld: cannot find -l-L/nix/store/4gh6ynzsd5ndx37hmkl62xa8z30k43y1-imagemagick-6.9.9-34/lib
collect2: error: ld returned 1 exit status
```

This happens since `BOOST_PYTHON_LIB` wasn't set properly, however
`_PythonMagick.la` was linked with `-l$(BOOST_PYTHON_LIB)
$(MAGICK_LIBS)`. With an empty `BOOST_PYTHON_LIB` the linker got
confused.

To work around this, the `boost` library directory needs to be specified
explicitly. To ensure that the changes take effect, the original
`configure` script shipped with `$src` needs to be removed and recreated
using the `autoreconfHook`.

Additionally the `imagemagick` license (https://spdx.org/licenses/ImageMagick.html)
needs to be added to `lib/licenses.nix` to document the proper license
of `pythonmagick` in the meta section.

(cherry picked from commit 6d6cbd316d)
2018-09-10 12:00:38 +02:00
Amine Chikhaoui
ee22050f05 ZHF 18.09: fix crypsetup build with python enabled. (#46468)
Fixes https://hydra.nixos.org/build/81028247.

(cherry picked from commit 00064c21cc)
2018-09-10 11:54:23 +02:00
Eelco Dolstra
821c67d51b Merge pull request #46401 from matthewbauer/revert-nix-minver
[18.09] set min version back to 1.11
2018-09-10 09:50:17 +02:00
Will Dietz
93e78c721c busybox: 1.29.2 -> 1.29.3 (#46458)
(cherry picked from commit 30500d23bc)
2018-09-10 08:44:21 +02:00
Samuel Dionne-Riel
55c8b29523 dbeaver: 5.1.6 -> 5.2.0 (#46457)
(cherry picked from commit cf3795a25e)
2018-09-10 08:20:31 +02:00
Tim Steinbach
f7f88636a2 linux: 4.18.6 -> 4.18.7
(cherry picked from commit ea765b2e2b)
2018-09-09 19:35:03 -04:00
Tim Steinbach
caeb83bdd3 linux: 4.14.68 -> 4.14.69
(cherry picked from commit 276b2ab892)
2018-09-09 19:34:53 -04:00
Tim Steinbach
f4b248e4b0 linux: 4.9.125 -> 4.9.126
(cherry picked from commit d40f4159ed)
2018-09-09 19:34:41 -04:00
Tim Steinbach
db9849f1c3 linux: 4.4.154 -> 4.4.155
(cherry picked from commit 13728ed2b5)
2018-09-09 19:34:31 -04:00
Josef Kemetmüller
9cb6025551 pythonPackages.joblib: Disable flaky test (#46439)
The test `test_nested_parallelism_limit` fails on darwin.

(cherry picked from commit 6f891ff66e)
2018-09-09 22:42:34 +02:00
Josef Kemetmüller
3143d6bd2e pythonPackages.fiona: Fix darwin build (#46435)
(cherry picked from commit 5e0c468737)
2018-09-09 22:41:12 +02:00
Josef Kemetmüller
bbfa5d87dc pythonPackages.libusb1: Disable flaky test
(cherry picked from commit b633fc4fb4)
2018-09-09 22:25:31 +02:00
Josef Kemetmüller
43387f069a pythonPackages.libusb1: Fix darwin build
(cherry picked from commit 063aa389df)
2018-09-09 22:25:31 +02:00
Josef Kemetmüller
b682a408fd castxml: Fix build (#46442)
(cherry picked from commit 4ab5625c95)
2018-09-09 22:19:01 +02:00
Josef Kemetmüller
ff81358447 pythonPackages.flask_ldap_login: Disable on python3
(cherry picked from commit b667a76eac)
2018-09-09 22:01:40 +02:00
Josef Kemetmüller
6ef71d09b8 pythonPackages.flask_ldap_login: 0.3.0 -> 0.3.4
(cherry picked from commit 25f8753bf4)
2018-09-09 22:01:40 +02:00
Josef Kemetmüller
3925e7486f pythonPackages.flask_ldap_login: Fix build
(cherry picked from commit d4e89680d2)
2018-09-09 22:01:40 +02:00
Josef Kemetmüller
34059be473 pythonPackages.cozy: Disable on python2 (#46436)
Cozy does not support python2.

(cherry picked from commit a4b040e69f)
2018-09-09 21:34:20 +02:00
Janne Heß
a38d70855b treewide: Use http/https for homepages
(cherry picked from commit 9ef77854f7)
2018-09-09 15:51:08 +01:00
Tad Fisher
3dc8898536 vkquake: fix build
(cherry picked from commit b19cdc31c1)
2018-09-09 15:48:49 +01:00
Maximilian Bosch
5170f7219f pdf2htmlEX: mark as broken
See https://hydra.nixos.org/build/81003667

The build is currently broken on Hydra due to the following error:

```
CairoFontEngine.cc:681:17: error: 'void Object::free()' is private within this context
```

This issue is was also reported in AUR (https://aur.archlinux.org/packages/pdf2htmlex/)
and in the upstream issue tracker (https://github.com/coolwanglu/pdf2htmlEX/issues/753) with
no answer until now.

The current README.md states that the project is no longer under active
development and it seems as there are currently no active maintainers
who could fix this:

* 5d0a2239fc
* https://github.com/coolwanglu/pdf2htmlEX/issues/772

(cherry picked from commit de6544b50e)
2018-09-09 15:46:54 +01:00
José Romildo Malaquias
fa3cc6bf23 xsettingsd: git-2015-06-14 -> 1.0.0
- Update to version 1.0.0
- Install man pages
- Fix license
- Add maintainer

(cherry picked from commit 68102e793d)
2018-09-09 14:17:35 +01:00
Jörg Thalheim
7490ec9ed3 doc/vim: improve plugin documentation
(cherry picked from commit 97acac9a81)
2018-09-09 14:15:52 +01:00
zimbatm
6142a2ef4b strongswan: set the right dir for TLS CA cert
This fixes an issue where the strongswan NM client is not able to
connect to a VPN. By default it tries to load the trust CA from
/usr/share/ca-certificates which doesn't exist in NixOS and most modern
distros.

See debian-related issue:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835095

(cherry picked from commit 71e6dfdaea)
2018-09-09 14:14:29 +01:00
Sarah Brofeldt
0a46d6f6b9 Merge pull request #46419 from srhb/backport-nix21-perl-bindings
nix.perl-bindings: Fix build in 18.09
2018-09-09 14:59:23 +02:00
Daniël de Kok
7d404b9103 cgit: use full path of groff in man2html
groff may not be installed system-wide or may be outside cgit's path
(e.g. when running cgit using uwsgi). As a result, the man2html filter
fails. Replace groff by its full path in man2html.

(cherry picked from commit bbcf5eb130)
2018-09-09 13:56:44 +01:00
Daiderd Jordan
b68bfbceab altcoins.btc1: fix darwin build (#46398)
Only hexdump was needed from utillinux which is also available on darwin
through the unixtools meta package.

(cherry picked from commit 4e282e295f)
2018-09-09 14:54:42 +02:00
Eelco Dolstra
ddd3d98ccc nix.perl-bindings: Fix build
(cherry picked from commit b06ad6199f)
2018-09-09 14:52:35 +02:00
Maximilian Bode
32a4cbc756 pythonPackages.tifffile: fix python 2 build (#46415)
(cherry picked from commit c020a59ccd)
2018-09-09 12:14:04 +02:00
Maximilian Bode
50bc216165 pythonPackages.CDDB: fix darwin build (#46412)
(cherry picked from commit 5b1b4adb2a)
2018-09-09 12:11:13 +02:00
Jan Malakhovski
69b6db0ec5 gpgme: use default texinfo
(cherry picked from commit 53c9efe9e5)
2018-09-09 12:05:37 +02:00
Jan Malakhovski
4ce4c247db git: use default texinfo
(cherry picked from commit 7705c76c49)
2018-09-09 12:05:37 +02:00
Samuel Dionne-Riel
97916acf08 texlive: Adds patch for missing synctex header. (#46376)
This seems like a known issue as other distributions (ArchLinux here)
have patches fixing the issue.

This hopefully fixes more than one dependant builds for ZHF 18.09.

(cherry picked from commit 1ac912bf1b)
2018-09-09 11:39:43 +02:00
Uli Baum
33e2a6dc9f Merge branch 'release-18.09' into staging-18.09 2018-09-09 11:39:09 +02:00
Maximilian Bode
17456d8082 pythonPackages.django-raster: fix build (#46413)
(cherry picked from commit dfcf07d9d3)
2018-09-09 11:35:29 +02:00
Yannik Sander
546fe710b1 build with pythonPackages
(cherry picked from commit 1245621497)
2018-09-08 18:18:31 -04:00
Matthew Bauer
d3a113eb3f rpcbind: remove placeholder 2018-09-08 17:03:49 -05:00
Matthew Bauer
ed948341ce Revert "Merge pull request #37693 from jtojnar/min-nix-two"
This reverts commit 4caab41c1b, reversing
changes made to 11dab7bd4a.
2018-09-08 17:02:10 -05:00
Matthew Bauer
f4bfc63727 Revert "nfs-utils: simplify code using placeholders"
This reverts commit 037d27ed00.
2018-09-08 17:00:33 -05:00
Matthew Bauer
02bb97e5bb Revert "nixos docs: add release notes for nix 2.0 requiremnt bump"
This reverts commit 18f9539655.
2018-09-08 16:57:46 -05:00
Matthew Bauer
891b025fc2 Revert "Nix minimal version: 1.11 -> 2.0"
This reverts commit 7d1968c0e3.
2018-09-08 16:56:57 -05:00
Matthew Bauer
01f75ae0fd xdg/mime.nix: ensure $out/share/mime/packages exists
For update-mime-database to work, you must have to have some mime
packages installed. In some DEs like XFCE this is not guaranteed to
happen. In that case just skip the update-mime-database call.

Fixes #46162
2018-09-08 16:55:48 -05:00
xeji
3ecacb1cb6 pythonPackages.persistent: fix build (#46364)
Documentation-related tests failed, the docs didn't build correctly
because of missing dependencies sphinx and manuel. Add them.

(cherry picked from commit 113f4d7b44)
2018-09-08 21:35:58 +02:00
Maximilian Bode
52a9286bcb pythonPackages.confluent-kafka: fix build (#46380)
cc #45960

(cherry picked from commit 73e75a7d16)
2018-09-08 21:32:36 +02:00
xeji
0817f94f76 cryptsetup: enable and fix tests (#46346)
Some tests use O_DIRECT which is filesystem dependent and fails in a
sandbox as well as on some filesystems without sandboxing.
Patch out O_DIRECT and disable the 4 test cases that still fail in a
sandbox. See discussion in #46151.

(cherry picked from commit 8c6cf3de3d)
2018-09-08 21:24:50 +02:00
Michael Raskin
f890192b9c Merge #46348: chromium: 68.0.3440.106 -> 69.0.3497.81
(cherry picked from commit 7c69ae6259)
2018-09-08 20:10:59 +02:00
Maximilian Bosch
a05c49a22f jbake: fix sandbox build (#46363)
See https://hydra.nixos.org/build/80999410

Without a sandbox the `checkPhase` breaks with the following error:

```
/nix/store/i6vl5lwlz5jbkg4r6p340dwmj6fha3xq-stdenv-linux/setup: bin/jbake: /usr/bin/env: bad interpreter: No such file or directory
jbake did not return correct version
```

Running `patchShebangs` before fixes the issue.

Addresses #45960

(cherry picked from commit 6960a96a0c)
2018-09-08 15:21:30 +02:00
Graham Christensen
07cfc2fa56 Merge pull request #46343 from obsidiansystems/fix-46320
nixpkgs module: Fix defaulting of `localSystem` and `system` for 18.09
2018-09-08 09:16:56 -04:00
Tad Fisher
43c9869dc5 nixos/networkmanager: fix VPN plugin service definition targets (#46201)
(cherry picked from commit 56b3c5b2dd)
2018-09-08 14:36:35 +02:00
Maximilian Bosch
3be4b8afc3 chessx: fix build (#46359)
See https://hydra.nixos.org/build/80998335.

Upstream doesn't support QT 5.11 ATM which broke compilation:

```
src/dialogs/savedialog.cpp: In constructor ‘SaveDialog::SaveDialog(QWidget*, Qt::WindowFlags)’:
src/dialogs/savedialog.cpp:37:34: error: invalid use of incomplete type ‘class QButtonGroup’
     group = new QButtonGroup(this);
```

The Arch community recommends to use an older QT version to fix
this (https://aur.archlinux.org/packages/chessx/).

Furthermore the `QT_PLUGIN_PATH` wasn't set properly which broke the
runtime since QT coudln't find the `xcb` plugin:

```
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized.
Reinstalling the application may fix this problem.
```

Finally, some minor style fixes were made for consistent indentation.

Addresses #45960

(cherry picked from commit 37032db583)
2018-09-08 14:20:01 +02:00
Samuel Dionne-Riel
5fa7404db9 yabause: 0.9.14 -> 0.9.15 (#46353)
+ fixes for Qt 5.11 build.

(cherry picked from commit 2c751dcdc9)
2018-09-08 13:59:29 +02:00
Maximilian Bosch
4eaa7ef159 pythonPackages.pycaption: fix build (#46356)
The `beaitufulsoup4` package distributed by `nixpkgs` is now at `4.6.3`.

Additionally it fixes `gnomecaption` which depends on the broken
`pycaption` package.

See https://hydra.nixos.org/build/81000247
See https://hydra.nixos.org/build/80723223

Addresses #45960

(cherry picked from commit a02002deba)
2018-09-08 12:10:47 +02:00
worldofpeace
26d65faa62 mono-addins: fix build (#46354)
(cherry picked from commit 2031c0ebfe)
2018-09-08 10:07:44 +02:00
Bastian Köcher
0df87918e5 kdecoration-viewer: Fixes build (#46339)
(cherry picked from commit 0f8c58afd2)
2018-09-08 01:40:05 +02:00
Maximilian Bosch
0842915312 pythonPackages.trio: fix build (#46342)
Fixes the build for `python3Packages.trio' for the next ZHF iteration.
Please refer to the Hydra build for further reference: https://hydra.nixos.org/build/80617356

`python3Packages.sniffio` is needed for the build, otherwise the build
aborts with an error like this:

```
  Could not find a version that satisfies the requirement sniffio (from trio==0.6.0) (from versions: )
No matching distribution found for sniffio (from trio==0.6.0)
```

See #45960

(cherry picked from commit 218ac50fd4)
2018-09-08 01:05:14 +02:00
Timo Kaufmann
cc05d938f9 youtube-dl: fix youtube video download
(cherry picked from commit 8ef940a038)
2018-09-07 21:24:07 +02:00
Timo Kaufmann
441226d374 youtube-dl: 2018.08.28 -> 2018.09.01
(cherry picked from commit fa76f75c7b)
2018-09-07 21:24:05 +02:00
Timo Kaufmann
97577f0057 sage: fix numpy and scipy integration
(cherry picked from commit 7521f2863d)
2018-09-07 18:56:17 +02:00
Chris Ostrouchov
17e17700e2 pythonPackages.ncclient: refactor
adding selectors2 as dependency of ncclient. Added recently 20 days
ago in August. 8ef20f2828

(cherry picked from commit a726956b42)
2018-09-07 17:34:52 +02:00
Chris Ostrouchov
010fc6b762 pythonPackages.selectors2: init at 2.0.1
Added package becuase now dependency of ncclient.

(cherry picked from commit 11c3fe2258)
2018-09-07 17:34:52 +02:00
Michael Raskin
4a62ef0800 julia: readd julia_06 name, make julia an alias that selects a version, as we usually do for incompatible versions
(cherry picked from commit 0e4197b34b)
2018-09-07 15:57:32 +01:00
Daniël de Kok
4f475fee74 python2Packages.spacy_models: update all models to version 2.0.0 (#46182)
Update the model list to those models that are compatibly with the
latest spaCy version:

https://github.com/explosion/spacy-models/blob/master/compatibility.json

The updated model file evaluates to the following packages:

python2Packages.spacy_models.de_core_news_sm
python2Packages.spacy_models.en_core_web_lg
python2Packages.spacy_models.en_core_web_md
python2Packages.spacy_models.en_core_web_sm
python2Packages.spacy_models.en_vectors_web_lg
python2Packages.spacy_models.es_core_news_md
python2Packages.spacy_models.es_core_news_sm
python2Packages.spacy_models.fr_core_news_md
python2Packages.spacy_models.fr_core_news_sm
python2Packages.spacy_models.it_core_news_sm
python2Packages.spacy_models.nl_core_news_sm
python2Packages.spacy_models.pt_core_news_sm
python2Packages.spacy_models.xx_ent_wiki_sm
python3Packages.spacy_models.de_core_news_sm
python3Packages.spacy_models.en_core_web_lg
python3Packages.spacy_models.en_core_web_md
python3Packages.spacy_models.en_core_web_sm
python3Packages.spacy_models.en_vectors_web_lg
python3Packages.spacy_models.es_core_news_md
python3Packages.spacy_models.es_core_news_sm
python3Packages.spacy_models.fr_core_news_md
python3Packages.spacy_models.fr_core_news_sm
python3Packages.spacy_models.it_core_news_sm
python3Packages.spacy_models.nl_core_news_sm
python3Packages.spacy_models.pt_core_news_sm
python3Packages.spacy_models.xx_ent_wiki_sm

(cherry picked from commit d261df5fc1)
2018-09-07 13:00:14 +02:00
Christopher Ostrouchov
5974311abe pythonPackages.kubernetes: add missing dependency (#46179)
fix build issue from missing dependency `adal`. This is due to `adal`
being added as a dependency in July
23rd. 9afec55f4a (diff-b4ef698db8ca845e5845c4618278f29a)

(cherry picked from commit 66e1288962)
2018-09-07 11:26:36 +02:00
Christopher Ostrouchov
a16ba12a82 pythonPackages.ordered-set: add missing dependency (#46183)
missing dependency for doing tests (pytestrunner) added three months
ago June c0b9308988.

(cherry picked from commit 427e4910ec)
2018-09-07 09:29:43 +02:00
Christopher Ostrouchov
53b906236e pythonPackages.phonopy: refactor (#46161)
Fixing phonopy not building. Tests were moved on Jul 30.

(cherry picked from commit 6586765a8f)
2018-09-07 08:41:50 +02:00
Christopher Ostrouchov
1857e03ed4 pythonPackages.locustio: 0.8.1 -> 0.9.0 (#46191)
Fixing build issue. Additionally fetching from github becuase pypi
packge does not come with README which is a buildtime dependency.

(cherry picked from commit b5b48c0a91)
2018-09-07 08:39:17 +02:00
Christopher Ostrouchov
796c736318 pythonPackages.pyslurm: 20180604 -> 20180811 (#46187)
Update version to support latest version of slurm. Fixes since
previously did not build.

(cherry picked from commit b1d6d159aa)
2018-09-07 08:29:11 +02:00
Bas van Dijk
415b1be6b6 Merge pull request #46212 from vaibhavsagar/bump-all-cabal-hashes-18.09
all-cabal-hashes: update snapshot to Hackage at 2018-09-04T11:59:40Z
2018-09-07 01:19:29 +02:00
Vladimír Čunát
ef96e79597 Merge branch 'staging-18.09' into release-18.09 2018-09-07 00:50:42 +02:00
Vaibhav Sagar
a55b95691b all-cabal-hashes: update snapshot to Hackage at 2018-09-04T11:59:40Z
(cherry picked from commit d376ceb6ff)
2018-09-06 17:27:30 -04:00
Graham Christensen
3d83234c08 Merge pull request #46192 from grahamc/nix-2.1-on-18.09
Nix 2.1 on 18.09
2018-09-06 15:44:49 -04:00
Graham Christensen
16188edaff Revert "Revert "nix-plugins: 4.0.5 -> 5.0.0.""
This reverts commit 5acc35215f.
2018-09-06 15:31:15 -04:00
Graham Christensen
e52cd2e27f Revert "Revert "nix: 2.1 -> 2.1.1""
This reverts commit 1e2124583d.
2018-09-06 15:31:14 -04:00
Graham Christensen
a385819d8f Revert "Revert "nix: 2.0.4 -> 2.1""
This reverts commit 7fba61a49c.
2018-09-06 15:31:12 -04:00
Graham Christensen
7fba61a49c Revert "nix: 2.0.4 -> 2.1"
This reverts commit 95a907b72b.

Premature, doesn't evaluate.
2018-09-06 15:30:05 -04:00
Graham Christensen
1e2124583d Revert "nix: 2.1 -> 2.1.1"
This reverts commit 4d33c0eea8.

Premature, doesn't evaluate.
2018-09-06 15:29:51 -04:00
Graham Christensen
5acc35215f Revert "nix-plugins: 4.0.5 -> 5.0.0."
This reverts commit 91e057d1b7.

Premature. Doesn't evaluate.
2018-09-06 15:29:45 -04:00
Shea Levy
91e057d1b7 nix-plugins: 4.0.5 -> 5.0.0.
Fixes build against nix 2.1.

(cherry picked from commit 56a605c8b9)
2018-09-06 15:27:27 -04:00
Eelco Dolstra
4d33c0eea8 nix: 2.1 -> 2.1.1
(cherry picked from commit 1510f324a3)
2018-09-06 15:26:14 -04:00
Eelco Dolstra
95a907b72b nix: 2.0.4 -> 2.1
(cherry picked from commit 347638ccfe)
2018-09-06 15:26:10 -04:00
Christopher Ostrouchov
b871c68e4d pythonPackages.jupyterlab_launcher: refactor (#46178)
jupyterlab_launcher does not support python version < 3.5. Disabled
for older versions

(cherry picked from commit 7bcc2870c7)
2018-09-06 20:41:14 +02:00
Jan Malakhovski
23da995a02 nixos/shells: fix indent everywhere
to comply with `doc/coding-conventions.xml`

(cherry picked from commit 8952375b48)
2018-09-06 20:32:40 +02:00
Tor Hedin Brønner
0cf3e0ba00 nixos/shells: avoid overriding the environment for child shells
A shared exported guard `__NIXOS_SET_ENVIRONMENT_DONE` is introduced that can
be used to prevent child shells from sourcing `system.build.setEnvironment`
the second time.

This fixes e.g. `nix run derivation` when run from e.g. ZSH through the console or
ssh. Before this Bash would resource the common environment resetting the `PATH`
environment variable.

We also export `system.build.setEnvironment` to `/etc/set-environment` making it
easy to reset the common environment with `. /etc/set-environment` when
needed and to grep for environment variables in `/etc` (which was the
motivation of #30418).

This reverts changes made in b00a3fc6fd
(the original #30418).

(cherry picked from commit d273db48c6)
2018-09-06 20:32:40 +02:00
John Ericson
e981546ab7 doc: Add release notes for top-level {build,host,target}Platform deprecation
I forgot to do this in e51f736076.

(cherry picked from commit f66257cfce)
2018-09-06 14:28:26 -04:00
Matthieu Coudron
efa7ab7f7f python3Packages.genanki: init at 0.6.0
Library to generate anki flashcards.

(cherry picked from commit 13050ccc0b)
2018-09-06 18:52:43 +02:00
Chris Ostrouchov
8167419324 pythonPackages.geopandas: 0.3.0 -> 0.4.0
Additionally fix issue with tests failing for 18.09 release.

Tests required url fetch. Disabled with "not web".

(cherry picked from commit 1d6fd65957)
2018-09-06 18:50:46 +02:00
Shea Levy
7f345622bc haskell.compiler.ghc861: Apply fix to abi-hash with backpack.
See https://phabricator.haskell.org/D5123.

(cherry picked from commit 06a3db6e5457b603f898cadc99351e7c27e368fd)
2018-09-06 11:40:57 -04:00
Shea Levy
328fc49235 ghc: Apply fix to abi-hash with backpack.
See https://phabricator.haskell.org/D5123.

(cherry picked from commit cbf194384f74033738de240cb4132d2d31985d01)
2018-09-06 11:40:47 -04:00
Alexander Biehl
f3ced683ba More conservative SCC tagging for Haskell libraries
`all-functions` corresponds to `-fprof-auto` which places an SCC on every binding. It is well known that SCCs hinder GHC from doing its optimization magic and really slows down profiled code to a point where the profiling reports are completely skewed towards things that were completely optimized away in production settings. Concretely this shows up with things like lenses which do not carry runtime overhead when properly simplified.

`exported-functions` corresponds to GHCs `-fprof-auto-exported` which doesn't put SCCs on `INLINE`d code and in turn doesn't influence simplification of this basic but important stuff.

(cherry picked from commit 3c70c4c6af75138565e6295cb801565e0a4b33e9)
2018-09-06 11:40:31 -04:00
Alex Biehl
f071c8b135 Haskell builder: Use $abi/$libname as --libsubdir
(cherry picked from commit a7d8800b1eaa4c4faa8a1dd48931f9374b6864aa)
2018-09-06 11:40:05 -04:00
Michael Raskin
e0404ef024 matrix-synapse: 0.33.3 -> 0.33.3.1
(cherry picked from commit 6ea0c3e271)
2018-09-06 16:58:14 +02:00
Sebastien Maret
0ba0f158ef gildas: add alternative url for the source code (#46145)
For each new release, the upstream developers of Gildas move the
source code of the previous release to a different directory. Add this
directory to the list of url to avoid build failure at each new
release.

(cherry picked from commit 5b58c6ac76)
2018-09-06 15:11:20 +01:00
John Ericson
813ed8fade Merge pull request #46149 from obsidiansystems/plain-system-host
top-level, stdenv: Make `system` and `stdenv.system` describe the hostPlatform for 18.09
2018-09-06 09:37:51 -04:00
John Ericson
5e3f2d4a95 Merge pull request #46146 from obsidiansystems/deprecate-top-level-platform-aliases
top-level: Deprecate top-level `{build,host,target}Platform` for 18.09
2018-09-06 08:11:16 -04:00
Matthieu Coudron
77a56c9e56 pythonPackages.alot: install zsh completion
(cherry picked from commit 97816bed33)
2018-09-06 11:28:33 +01:00
Ashley Gillman
cec33e25d6 python.pkgs.nipype: Futures is python 2 only. Also fix building.
(cherry picked from commit 12c0dd5432)
2018-09-06 10:48:41 +01:00
Chris Ostrouchov
eedff96832 pythonPackages.pymatgen: 2018.8.10 -> 2018.9.1
Also 2018.8.10 does not build in previous state because auto updating
from pypi did not account for a new requirement `networkx`. This has
been added.

(cherry picked from commit 63cf879d6c)
2018-09-06 10:34:56 +01:00
Matthieu Coudron
caf9d779d7 khal: add zsh completion
(cherry picked from commit 61df695f65)
2018-09-06 09:50:57 +01:00
Vladimír Čunát
5381f0c2f7 Merge branch 'release-18.09' into staging-18.09 2018-09-06 09:53:44 +02:00
Vladimír Čunát
f03d1058d9 Merge #46075: texinfoInteractive: fix for new perl
(cherry picked from commit b5bd566172)
2018-09-06 09:16:48 +02:00
Tim Steinbach
6f3bd5db2f linux: Remove 4.17
(cherry picked from commit f89d6d92b7)
2018-09-05 21:03:18 -04:00
Uli Baum
5b82747057 gnu-smalltalk: fix build
disable format hardening

(cherry picked from commit e5d9c16f2a)
2018-09-05 23:47:05 +01:00
Jörg Thalheim
e207071779 iana-etc: 20180711 -> 20180905 2018-09-05 22:57:52 +01:00
Robert Schütz
76b654c4d5 python.pkgs.py3status: fix build
(cherry picked from commit 041043420f)
2018-09-05 23:36:57 +02:00
Maximilian Bosch
a015527b1b nixos/activation: fix activation script for non-POSIX shells (#46042)
This fixes an issue with shells like fish that are not fully POSIX
compliant. The syntax `ENV=val cmd' doesn't work properly in there.

This issue has been addressed in #45932 and #45945, however it has been
recommended to use a single shell (`stdenv.shell' which is either
`bash' or `sh') to significantly reduce the maintenance overload in the
future.

See https://github.com/NixOS/nixpkgs/issues/45897#issuecomment-417923464

Fixes #45897

/cc @FRidh @xaverdh @etu

(cherry picked from commit df05618f2a)
2018-09-05 22:50:03 +02:00
xeji
a6e2a55611 nixos/tests/opensmtpd: prevent non-deterministic failure (#46071)
A sporadic failure occured on Hydra because a request was sent
to smtpd after the systemd unit was started, but before the daemon
was actually listening. Fix by checking for open ports first.

(cherry picked from commit f70dc57ad3)
2018-09-05 22:36:38 +02:00
Jethro Kuan
c3796a7d1b pythonPackages.tflearn: 0.2.1 -> 0.3.2 (#46102)
(cherry picked from commit a9a380b259)
2018-09-05 17:39:17 +01:00
John Ericson
d3cc8c6b1d Merge pull request #46105 from obsidiansystems/trace-to-warn
stdenv, neovim: Use `lib.warn` for deprecation warnings for 18.09
2018-09-05 11:54:41 -04:00
Timo Kaufmann
79b736ef42 spotify: 1.0.88.353.g15c26ea1-14 -> 1.0.83.316.ge96b6e67-5
The recent update is broken. Playing a song causes spotify to segfault.
This is probably
https://community.spotify.com/t5/Desktop-Linux/Segfault-with-the-new-update/td-p/4554830#,
which was recognized by upstream and will hopefully be fixed soon.

(cherry picked from commit d89b1f0fbf)
2018-09-05 17:36:41 +02:00
Vladyslav Mykhailichenko
7357961cf4 wireguard: 0.0.20180809 -> 0.0.20180904
(cherry picked from commit 4cd94bb5b8)
2018-09-05 16:08:37 +01:00
xeji
3f70d89181 statsd: mark broken, disable nixos test (#46097)
It's broken with node v8 and the upstream project is dead
(last commit Nov. 2016), see #45946 and
https://github.com/etsy/statsd/issues/646

(cherry picked from commit ba52f4cb76)
2018-09-05 16:49:05 +02:00
Daniël de Kok
e36e682d08 pythonPackages.thinc: fix darwin build (#46092)
thinc uses Accelerate on macOS as a blas library. Add the necessary
dependencies to allow building on unsandboxed Darwin machines.

(cherry picked from commit 348a153781)
2018-09-05 16:23:26 +02:00
Daniël de Kok
dd6d9aecca python[23]Packages.mxnet: fix build
Relax graphviz, numpy, requests dependency version bounds.

(cherry picked from commit e57e92bfa2)
2018-09-05 16:10:54 +02:00
Daniël de Kok
81b8016e39 python[23]Packages.graphviz: 0.5.2 -> 0.9
(cherry picked from commit 19ac917707)
2018-09-05 16:10:54 +02:00
Daniël de Kok
e2baf6a7bb mxnet: fix library dependencies.
- mxnet now builds the open source MKL DNN library. However, this
  was not included with the build.
- mxnet builds its own OpenMP library, even when OpenMP is provided
  by the system. This leads to problems, so remove the included
  OpenMP implementation:

  https://github.com/apache/incubator-mxnet/pull/12160

(cherry picked from commit 590ce7d1ae)
2018-09-05 16:10:54 +02:00
Sebastien Maret
d23bc7fc56 gildas: ignore clang warnings for unused command line arguments
See #46044

(cherry picked from commit b76cf0b54c)
2018-09-05 16:04:47 +02:00
Sebastien Maret
38f590a034 gildas: fix makefile rule
(cherry picked from commit 3bc898035d)
2018-09-05 16:04:47 +02:00
Tim Steinbach
6f01302d9e linux: 4.18.5 -> 4.18.6
(cherry picked from commit 25cad43f85)
2018-09-05 08:24:17 -04:00
Tim Steinbach
b232cee0c3 linux: 4.14.67 -> 4.14.68
(cherry picked from commit de9a2fd061)
2018-09-05 08:24:17 -04:00
Tim Steinbach
2bb649fd65 linux: 4.9.124 -> 4.9.125
(cherry picked from commit 92010b7a88)
2018-09-05 08:24:17 -04:00
Tim Steinbach
6db1351f15 linux: 4.4.153 -> 4.4.154
(cherry picked from commit f685edba08)
2018-09-05 08:24:17 -04:00
Urban Skudnik
96ae9a3522 restic: Fix autocomplete for zsh
zsh requires for files to be prepended with underscore to be
recognized as widgets, see [1] for more details.

[1] https://github.com/NixOS/nixpkgs/pull/46001#issuecomment-418567160

(cherry picked from commit e9fe3a334b)
2018-09-05 10:42:46 +01:00
Daniël de Kok
e928fd9f33 spacy: relax dependency versions
(cherry picked from commit da8475736e)
2018-09-05 10:35:42 +01:00
Daniël de Kok
7888e2602e thinc: relax dependency version requirements
(cherry picked from commit ffb094f939)
2018-09-05 10:35:42 +01:00
Vladimír Čunát
cba0654682 Merge #46047: ghostscript: 9.22 -> 9.24 (security)
(cherry picked from commit 281a629c2a)
2018-09-05 11:15:16 +02:00
Samuel Dionne-Riel
dea9a04ae6 qtkeychain: Fixes Qt4 build. (#46085)
(cherry picked from commit c59d9d371e)
2018-09-05 09:29:39 +02:00
Samuel Dionne-Riel
dd1afaab7d solarus-quest-editor: 1.4.5 -> 1.5.3
(cherry picked from commit 455f8151fd)
2018-09-05 08:54:42 +02:00
Samuel Dionne-Riel
508608d572 solarus: 1.4.5 -> 1.5.3
(cherry picked from commit 83a0d5d013)
2018-09-05 08:54:24 +02:00
Samuel Dionne-Riel
f8585bb4d5 qmapshack: 1.11.1 -> 1.12.0 (#46084)
(cherry picked from commit a394d08f11)
2018-09-05 08:39:57 +02:00
Samuel Dionne-Riel
85a10bcdd2 qtchan: Fixes build from Qt upgrade. (#46082)
Uses an upstream fix.

(cherry picked from commit 7ec9a333df)
2018-09-05 08:24:21 +02:00
Sarah Brofeldt
3e87977e38 go_1_11: Allow only one of GOARM={5,6,7}
(cherry picked from commit e153a988ec)
Backport of #46031 to release-18.09
2018-09-05 01:05:58 +02:00
Andreas Rammhold
2c844ce13a python.pkgs.pytest-fixture-config: disable tests (#46021)
Tests seem to fail on all recent versions even outside of our build
system. The upstream CI tests seem to somehow succeed but I wasn't able
to reproduce that locally. For not it is probably best to disable them.

(cherry picked from commit d814c98ec8)
2018-09-05 01:03:07 +02:00
Orivej Desh
b25eb04b03 swift-im: fix build with Qt 5.11 and split QtWebKit
(cherry picked from commit 205f3e941a)
2018-09-04 21:52:05 +00:00
Orivej Desh
ebaaaf693e psi-plus: 1.2.235 -> 1.3.410
(cherry picked from commit 6767396e38)
2018-09-04 21:51:56 +00:00
Orivej Desh
375234df52 libsignal-protocol-c: init at 2.3.2
(cherry picked from commit 2e0befd22e)
2018-09-04 21:51:45 +00:00
Orivej Desh
90d0fdaa4d psi: specify license (#43716)
(cherry picked from commit 0f1125975a)
2018-09-04 21:51:30 +00:00
worldofpeace
ac690fc18d dbus-sharp-2_0: fix build (#46060)
(cherry picked from commit 33fa23f6b3)
2018-09-04 23:38:37 +02:00
Will Dietz
6c449eb729 zsh: 5.5.1 -> 5.6 (#46052)
Security, see:

https://github.com/zsh-users/zsh/blob/zsh-5.6/NEWS#L7
(cherry picked from commit 59f5a65e72)

Backported because it contains a CVE fix
2018-09-04 23:33:29 +02:00
Uli Baum
1ee95ca8c9 nixos/tests/novacomd: prevent non-deterministic failure
A sporadic failure occured on Hydra because a request was sent
to the daemon after the systemd unit was started, but before the
daemon was actually listening. Fix by checking for open port first.

(cherry picked from commit 62086c6be6)
2018-09-04 23:20:56 +02:00
Tim Steinbach
d38c50caf4 oh-my-zsh: 2018-07-29 -> 2018-09-03
(cherry picked from commit 98ef33ec74)
2018-09-04 16:20:17 -04:00
symphorien
94b8a71dc3 sound-juicer: fix build (#46051)
(cherry picked from commit 16e776fde7)
2018-09-04 21:16:34 +02:00
Uli Baum
11c2595e40 boost: fix faulty cherry-pick in c70ff28
the change in c70ff28 accidentally ended up in the wrong line
2018-09-04 18:28:46 +02:00
Stephen
c70ff28968 boost: disable python explicitly in b2Args (#45679)
fixes the build of boost_162

(cherry picked from commit 775d1ecf57)
2018-09-04 18:23:33 +02:00
Uli Baum
8fb90de88c systemd: don't use options from fstab on remount
Include fix by @aszlig to fix remount with comment/application-specific
fstab options.

(cherry picked from commit 03c1f567d5)
2018-09-04 13:03:32 +02:00
Uli Baum
f3ed8122dc texlive: add IPFS URL for package source snapshot
(cherry picked from commit 20d88c1a4b)
2018-09-04 12:59:20 +02:00
Uli Baum
b9a33159b6 biber: 2.10 -> 2.11
2.11 is the version used in TexLive 2018

(cherry picked from commit 5c9ebf4fc7)
2018-09-04 12:59:20 +02:00
Uli Baum
6ce6f557ce texlive.bin.core-big: disable luatex53
build failed on Darwin
Patch by @veprbl

(cherry picked from commit 831551a9a1)
2018-09-04 12:59:20 +02:00
Uli Baum
1fab25f991 texlive.bin.core-big: remove unneeded compiler flags
(cherry picked from commit ac03d2e571)
2018-09-04 12:59:20 +02:00
Uli Baum
1ab0bd7190 texlive: add detailed upgrade instructions in separate file
(cherry picked from commit 2737f17d38)
2018-09-04 12:59:19 +02:00
Uli Baum
1bec29aec6 texlive-packages: snapshot 2017-final -> 20180827
and use fixed hashes

(cherry picked from commit f3961e5dae)
2018-09-04 12:59:19 +02:00
Uli Baum
292413f567 texlive: make packages fixed-output derivations
This reverts a part of the changes made in #40826.
Fixed-output derivations save time and space on rebuilds.

(cherry picked from commit 738bae4ec2)
2018-09-04 12:59:19 +02:00
Uli Baum
d2c300b757 texlive: update server URLs
(cherry picked from commit d5816c9bcb)
2018-09-04 12:59:19 +02:00
Uli Baum
0bf565747f texlive.bin: 20170524 -> 20180414
(cherry picked from commit 149b180f18)
2018-09-04 12:59:19 +02:00
Uli Baum
17bcaf17f7 poppler_min: 0.61 -> 0.67
currently only used for texlive

(cherry picked from commit c52174030e)
2018-09-04 12:59:18 +02:00
Timo Kaufmann
6f8e07ac0f Merge #46016: openblas: fix pkg-config alias name
(cherry picked from commit a774988e44)
2018-09-04 12:11:35 +02:00
Daniël de Kok
4b666f1118 mxnet: 1.1.0 -> 1.2.1 (#46026)
Update and fix the build:

- Perl is a build-time requirement.
- Fix hardcoded /bin/bash invocation.

(cherry picked from commit 93a5947158)
2018-09-04 11:38:35 +02:00
Daniël de Kok
b4479796e3 vowpalwabbit: mark broken on aarch64.
(cherry picked from commit 69d418aeac)
2018-09-04 08:59:28 +02:00
Daniël de Kok
07ec5b577b vowpal-wabbit: fix Darwin build.
- Follow the same logic for finding boost-python as for Linux.
- Set DYLD_LIBRARY_PATH so that ctypes find_library can find
  boost-python.
- Do not use '-mt' suffix when linking against boost-serialization
  and boost-program_options on Darwin.

(cherry picked from commit fe7e89ba3b)
2018-09-04 08:59:28 +02:00
Daniël de Kok
8f33594a10 vowpalwabbit: fix build against boost-python.
Patch setup.py to look for libboost_python{Major}{Minor}.

(cherry picked from commit 875bb6bcb9)
2018-09-04 08:59:28 +02:00
John Ericson
46f4a934dc Merge pull request #46024 from Ericson2314/fix-45993
mkDerivation: Fix cross compilation for 18.09
2018-09-04 01:29:10 -04:00
markuskowa
a2aacb218c gnss-sdr: set boost version to 1.66 (#46014)
(cherry picked from commit 7c915abd52)
2018-09-04 00:21:22 +02:00
Daniël de Kok
d0182e0917 magit-todos: fix build by providing git as input. (#45999)
magit-todos requires git during builds. Fixes #45868.

(cherry picked from commit 9d6ff38f70)
2018-09-03 23:43:17 +02:00
symphorien
f391f6fe73 gede: 2.6.1 -> 2.10.9 (#45995)
reverting to qt 5.9 fixed the build.

(cherry picked from commit 3549879b45)
2018-09-03 23:25:08 +02:00
Dmitry Kalinkin
6c988bce77 Revert "arrow-cpp: 0.9.0 -> 0.10.0" (#45991)
Hold off the upgrade until parquet 1.5.0 is released.

This reverts commit 72d630779d.

(cherry picked from commit 992d64bf3e7210185e7145014bfc63f9b3719a9f)
2018-09-03 22:44:54 +02:00
Vladyslav M
05c52a7afb ion: broken on darwin (#46010)
(cherry picked from commit 8954c1f719)
2018-09-03 22:38:51 +02:00
aanderse
427ac1a21a kodi: fix nfs support (#46006)
libnfs is required to be in the LD_LIBRARY_PATH for kodi if you want nfs support 
see: https://www.reddit.com/r/NixOS/comments/9aiquo/how_to_enable_nfs_support_in_kodi/

(cherry picked from commit 435eccf15e)
2018-09-03 22:34:12 +02:00
worldofpeace
00a43c05d9 photoflow: mark broken for aarch64
(cherry picked from commit 507dfccdf8)
2018-09-03 22:29:53 +02:00
worldofpeace
d22277b59d sayonara: 1.0.0-git5-20180115 -> 1.1.1-git1-20180828
(cherry picked from commit 3149f84a92)
2018-09-03 22:29:52 +02:00
worldofpeace
2aab2027be photoflow: 2018-03-06 -> 2018-08-28
(cherry picked from commit a3db67282d)
2018-09-03 22:29:52 +02:00
worldofpeace
46733c68f9 imgcat: fix build
(cherry picked from commit 66385a66dc)
2018-09-03 22:29:52 +02:00
worldofpeace
c5c046907d amule: fix build
(cherry picked from commit 9069908680)
2018-09-03 22:29:52 +02:00
worldofpeace
e36aa2dd95 xfce4-mixer: fix build
(cherry picked from commit 6ed0823e15)
2018-09-03 22:29:51 +02:00
worldofpeace
74dfea0922 SkypeExport: fix build
(cherry picked from commit 451e04fb4d)
2018-09-03 22:29:51 +02:00
worldofpeace
2fd6a4a224 valadoc: fix build
(cherry picked from commit f828bb313b)
2018-09-03 22:29:51 +02:00
volth
f370254427 perlPackages.TestAggregate: broken with perl 5.26+ (#46003)
(cherry picked from commit c36bfa7211)
2018-09-03 22:05:18 +02:00
volth
414202cd18 perlPackages.UNIVERSALref: broken with perl 5.26+
(cherry picked from commit 9173c37e05)
2018-09-03 21:04:24 +01:00
Daniël de Kok
08a86afbb7 Keras: fix build by updating expected dependencies. (#45992)
Keras expects keras_preprocessing 1.0.2 and 1.0.4. 1.0.3 and 1.0.5
are respectively in nixpkgs.

ZHF #45960

(cherry picked from commit e33be2ab56)
2018-09-03 22:00:08 +02:00
Uli Baum
4c00a04f47 Revert "[cpan2nix] perlPackages.GetoptLongDescriptive: 0.102 -> 0.103"
It broke perlPackages.MouseXGetOpt

This reverts commit ad47c381bd.

(cherry picked from commit 9889c0f241)
2018-09-03 21:54:21 +02:00
Elis Hirwing
d7cd099d6f gitea: 1.5.0 -> 1.5.1 (#45968)
Changelog: https://github.com/go-gitea/gitea/releases/tag/v1.5.1
(cherry picked from commit fcccb9e5ca)
2018-09-03 20:30:48 +02:00
Tim Steinbach
c0bde692f6 kernel: Remove Copperhead
The patches are unmaintained and suggest a false sense of security

(cherry picked from commit 5fccac2b8d)
2018-09-03 11:19:10 -04:00
Vladimír Čunát
e185954cf9 treewide: fix various links (homepage, src)
(cherry picked from commit 9b48a67731)
2018-09-03 16:55:08 +02:00
Vladimír Čunát
ad8c446c20 aefs: fix meta.homepage
(cherry picked from commit 0d388e1bb6)
2018-09-03 16:30:35 +02:00
Vladimír Čunát
347e4c26f0 Merge #45974: purple-matrix: 2016-07-11 -> 2018-08-02
(cherry picked from commit 956790acaf)
2018-09-03 16:16:01 +02:00
Vladimír Čunát
2ba2f91a7f knot-dns: 2.7.1 -> 2.7.2
https://lists.nic.cz/pipermail/knot-dns-users/2018-August/001423.html
(cherry picked from commit 0a5b8ef8c4)
2018-09-03 14:41:00 +02:00
Vladimír Čunát
efe9acb17f tarball job: more --show-trace
Without that I couldn't well do the parent commit.

(cherry picked from commit 8d7439eb19)
2018-09-03 14:29:16 +02:00
Vladimír Čunát
102e0168dd lib/trivial.nix: fix missing parens
Broken in 62dca7c9a; the tricky thing is that it depends on nix version.

(cherry picked from commit 608730af44)
2018-09-03 14:29:12 +02:00
Domen Kožar
e62269f3c8 nix-prefetch-git: needs findutils as it depends on find/xargs
(cherry picked from commit 66d6e847bb)
Signed-off-by: Domen Kožar <domen@dev.si>
2018-09-03 13:23:41 +01:00
Christian Kauhaus
1845c6e3f7 poppler 0.61: patch against CVE-2018-13988 (#45916)
Out of bounds vulnerability in versions up to 0.62.

Generally, we use a newer poppler version but some pkgs still depend on
0.61. Patch named in https://nvd.nist.gov/vuln/detail/CVE-2018-13988.

(cherry picked from commit 542a86037d)
2018-09-03 08:56:35 +02:00
Uli Baum
4d0a22db7f nixos/release.nix: fix eval of closures
missing parentheses

cc: @samueldr
2018-09-03 08:55:58 +02:00
Samuel Dionne-Riel
0d8c216dd2 nixos: Sets channel and version for 18.09 2018-09-02 21:58:13 -04:00
aszlig
ee2463cd71 nixos: Document option description changes
This adds a release notes entry to make users (and especially
developers) aware so they no longer need to use </para><para> in option
descriptions as this is now done automatically on every two consecutive
newlines.

More details can be found in the commit message of f865d0feab.

Signed-off-by: aszlig <aszlig@nix.build>
(cherry picked from commit 4652f2f87e)
2018-09-03 01:15:18 +02:00
aszlig
0d3cfcb958 nixos: Split paras by \n\n in option descriptions
What annoyed me for a long time was the fact, that in order to break
into a new paragraph, you need to insert </para><para> in the
description attribute of an option.

Now we will automatically create <para/> elements for every block that
is separated by two consecutive newlines.

I first tried to do this within options-to-docbook.xsl, but it turns
out[1] that this isn't directly possible with XSLT 1.0, so I added
another XSLT file that postprocesses the option descriptions that are
now enclosed in <nixos:option-description/> by options-to-docbook.xsl.

The splitting itself is a bit more involved, because we can't simply
split on every \n\n because we'd also split text nodes of elements, for
example:

  <screen><![CDATA[

    one line

    another one

  ]]></screen>

This would create one <para/> element for "one line" and another for
"another line", which we obviously don't want because <screen/> is used
to display verbatim contents of what a user is seeing on the screen.

So what we do instead is splitting *only* the top-level text nodes
within the outermost <para/> and leave all elements as-is. If there are
more than one <para/> elements at the top-level, we simply don't process
it at all, because the description then already contains </para><para>.

https://www.mhonarc.org/archive/html/xsl-list/2012-09/msg00319.html

Signed-off-by: aszlig <aszlig@nix.build>
Cc: @edolstra, @domenkozar
(cherry picked from commit f865d0feab)
2018-09-02 18:31:36 -04:00
1205 changed files with 53263 additions and 28288 deletions

View File

@@ -12,12 +12,12 @@ build daemon as so-called channels. To get channel information via git, add
```
For stability and maximum binary package support, it is recommended to maintain
custom changes on top of one of the channels, e.g. `nixos-18.03` for the latest
custom changes on top of one of the channels, e.g. `nixos-18.09` for the latest
release and `nixos-unstable` for the latest successful build of master:
```
% git remote update channels
% git rebase channels/nixos-18.03
% git rebase channels/nixos-18.09
```
For pull-requests, please rebase onto nixpkgs `master`.
@@ -31,9 +31,9 @@ For pull-requests, please rebase onto nixpkgs `master`.
* [Manual (NixOS)](https://nixos.org/nixos/manual/)
* [Community maintained wiki](https://nixos.wiki/)
* [Continuous package builds for unstable/master](https://hydra.nixos.org/jobset/nixos/trunk-combined)
* [Continuous package builds for 18.03 release](https://hydra.nixos.org/jobset/nixos/release-18.03)
* [Continuous package builds for 18.09 release](https://hydra.nixos.org/jobset/nixos/release-18.09)
* [Tests for unstable/master](https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents)
* [Tests for 18.03 release](https://hydra.nixos.org/job/nixos/release-18.03/tested#tabs-constituents)
* [Tests for 18.09 release](https://hydra.nixos.org/job/nixos/release-18.09/tested#tabs-constituents)
Communication:

1
doc/.gitignore vendored
View File

@@ -4,3 +4,4 @@
out
manual-full.xml
highlightjs
functions/library/locations.xml

View File

@@ -19,7 +19,7 @@ fix-misc-xml:
.PHONY: clean
clean:
rm -f ${MD_TARGETS} .version manual-full.xml
rm -f ${MD_TARGETS} .version manual-full.xml functions/library/locations.xml
rm -rf ./out/ ./highlightjs
.PHONY: validate
@@ -69,13 +69,17 @@ highlightjs:
cp -r "$$HIGHLIGHTJS/loader.js" highlightjs/
manual-full.xml: ${MD_TARGETS} .version *.xml
manual-full.xml: ${MD_TARGETS} .version functions/library/locations.xml *.xml **/*.xml **/**/*.xml
xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
.version:
nix-instantiate --eval \
-E '(import ../lib).version' > .version
functions/library/locations.xml:
nix-build ./lib-function-locations.nix \
--out-link ./functions/library/locations.xml
%.section.xml: %.section.md
pandoc $^ -w docbook+smart \
-f markdown+smart \

View File

@@ -47,9 +47,10 @@
<para>
In Nixpkgs, these three platforms are defined as attribute sets under the
names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and
<literal>targetPlatform</literal>. They are always defined as attributes in
the standard environment. That means one can access them like:
names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>,
and <literal>targetPlatform</literal>. They are always defined as
attributes in the standard environment. That means one can access them
like:
<programlisting>{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...</programlisting>
.
</para>

View File

@@ -1,6 +1,7 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
pkgs = import ./.. { };
lib = pkgs.lib;
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
in
pkgs.stdenv.mkDerivation {
name = "nixpkgs-manual";
@@ -29,6 +30,8 @@ pkgs.stdenv.mkDerivation {
];
postPatch = ''
rm -rf ./functions/library/locations.xml
ln -s ${locationsXml} ./functions/library/locations.xml
echo ${lib.version} > .version
'';

View File

@@ -7,793 +7,12 @@
The nixpkgs repository has several utility functions to manipulate Nix
expressions.
</para>
<section xml:id="sec-overrides">
<title>Overriding</title>
<para>
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
derivation attributes, the results of derivations or even the whole package
set.
</para>
<section xml:id="sec-pkg-override">
<title>&lt;pkg&gt;.override</title>
<para>
The function <varname>override</varname> is usually available for all the
derivations in the nixpkgs expression (<varname>pkgs</varname>).
</para>
<para>
It is used to override the arguments passed to a function.
</para>
<para>
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<programlisting>import pkgs.path { overlays = [ (self: super: {
foo = super.foo.override { barSupport = true ; };
})]};</programlisting>
<programlisting>mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
}</programlisting>
</para>
<para>
In the first example, <varname>pkgs.foo</varname> is the result of a
function call with some default arguments, usually a derivation. Using
<varname>pkgs.foo.override</varname> will call the same function with the
given new arguments.
</para>
</section>
<section xml:id="sec-pkg-overrideAttrs">
<title>&lt;pkg&gt;.overrideAttrs</title>
<para>
The function <varname>overrideAttrs</varname> allows overriding the
attribute set passed to a <varname>stdenv.mkDerivation</varname> call,
producing a new derivation based on the original one. This function is
available on all derivations produced by the
<varname>stdenv.mkDerivation</varname> function, which is most packages in
the nixpkgs expression <varname>pkgs</varname>.
</para>
<para>
Example usage:
<programlisting>helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
separateDebugInfo = true;
});</programlisting>
</para>
<para>
In the above example, the <varname>separateDebugInfo</varname> attribute is
overridden to be true, thus building debug info for
<varname>helloWithDebug</varname>, while all other attributes will be
retained from the original <varname>hello</varname> package.
</para>
<para>
The argument <varname>oldAttrs</varname> is conventionally used to refer to
the attr set originally passed to <varname>stdenv.mkDerivation</varname>.
</para>
<note>
<para>
Note that <varname>separateDebugInfo</varname> is processed only by the
<varname>stdenv.mkDerivation</varname> function, not the generated, raw
Nix derivation. Thus, using <varname>overrideDerivation</varname> will not
work in this case, as it overrides only the attributes of the final
derivation. It is for this reason that <varname>overrideAttrs</varname>
should be preferred in (almost) all cases to
<varname>overrideDerivation</varname>, i.e. to allow using
<varname>sdenv.mkDerivation</varname> to process input arguments, as well
as the fact that it is easier to use (you can use the same attribute names
you see in your Nix code, instead of the ones generated (e.g.
<varname>buildInputs</varname> vs <varname>nativeBuildInputs</varname>,
and involves less typing.
</para>
</note>
</section>
<section xml:id="sec-pkg-overrideDerivation">
<title>&lt;pkg&gt;.overrideDerivation</title>
<warning>
<para>
You should prefer <varname>overrideAttrs</varname> in almost all cases,
see its documentation for the reasons why.
<varname>overrideDerivation</varname> is not deprecated and will continue
to work, but is less nice to use and does not have as many abilities as
<varname>overrideAttrs</varname>.
</para>
</warning>
<warning>
<para>
Do not use this function in Nixpkgs as it evaluates a Derivation before
modifying it, which breaks package abstraction and removes error-checking
of function arguments. In addition, this evaluation-per-function
application incurs a performance penalty, which can become a problem if
many overrides are used. It is only intended for ad-hoc customisation,
such as in <filename>~/.config/nixpkgs/config.nix</filename>.
</para>
</warning>
<para>
The function <varname>overrideDerivation</varname> creates a new derivation
based on an existing one by overriding the original's attributes with the
attribute set produced by the specified function. This function is
available on all derivations defined using the
<varname>makeOverridable</varname> function. Most standard
derivation-producing functions, such as
<varname>stdenv.mkDerivation</varname>, are defined using this function,
which means most packages in the nixpkgs expression,
<varname>pkgs</varname>, have this function.
</para>
<para>
Example usage:
<programlisting>mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
name = "sed-4.2.2-pre";
src = fetchurl {
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k";
};
patches = [];
});</programlisting>
</para>
<para>
In the above example, the <varname>name</varname>, <varname>src</varname>,
and <varname>patches</varname> of the derivation will be overridden, while
all other attributes will be retained from the original derivation.
</para>
<para>
The argument <varname>oldAttrs</varname> is used to refer to the attribute
set of the original derivation.
</para>
<note>
<para>
A package's attributes are evaluated *before* being modified by the
<varname>overrideDerivation</varname> function. For example, the
<varname>name</varname> attribute reference in <varname>url =
"mirror://gnu/hello/${name}.tar.gz";</varname> is filled-in *before* the
<varname>overrideDerivation</varname> function modifies the attribute set.
This means that overriding the <varname>name</varname> attribute, in this
example, *will not* change the value of the <varname>url</varname>
attribute. Instead, we need to override both the <varname>name</varname>
*and* <varname>url</varname> attributes.
</para>
</note>
</section>
<section xml:id="sec-lib-makeOverridable">
<title>lib.makeOverridable</title>
<para>
The function <varname>lib.makeOverridable</varname> is used to make the
result of a function easily customizable. This utility only makes sense for
functions that accept an argument set and return an attribute set.
</para>
<para>
Example usage:
<programlisting>f = { a, b }: { result = a+b; }
c = lib.makeOverridable f { a = 1; b = 2; }</programlisting>
</para>
<para>
The variable <varname>c</varname> is the value of the <varname>f</varname>
function applied with some default arguments. Hence the value of
<varname>c.result</varname> is <literal>3</literal>, in this example.
</para>
<para>
The variable <varname>c</varname> however also has some additional
functions, like <link linkend="sec-pkg-override">c.override</link> which
can be used to override the default arguments. In this example the value of
<varname>(c.override { a = 4; }).result</varname> is 6.
</para>
</section>
</section>
<section xml:id="sec-generators">
<title>Generators</title>
<para>
Generators are functions that create file formats from nix data structures,
e.g. for configuration files. There are generators available for:
<literal>INI</literal>, <literal>JSON</literal> and <literal>YAML</literal>
</para>
<para>
All generators follow a similar call interface: <code>generatorName
configFunctions data</code>, where <literal>configFunctions</literal> is an
attrset of user-defined functions that format nested parts of the content.
They each have common defaults, so often they do not need to be set
manually. An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]"
] name)</code> from the <literal>INI</literal> generator. It receives the
name of a section and sanitizes it. The default
<literal>mkSectionName</literal> escapes <literal>[</literal> and
<literal>]</literal> with a backslash.
</para>
<para>
Generators can be fine-tuned to produce exactly the file format required by
your application/service. One example is an INI-file format which uses
<literal>: </literal> as separator, the strings
<literal>"yes"</literal>/<literal>"no"</literal> as boolean values and
requires all string values to be quoted:
</para>
<programlisting>
with lib;
let
customToINI = generators.toINI {
# specifies how to format a key/value pair
mkKeyValue = generators.mkKeyValueDefault {
# specifies the generated string for a subset of nix values
mkValueString = v:
if v == true then ''"yes"''
else if v == false then ''"no"''
else if isString v then ''"${v}"''
# and delegats all other values to the default generator
else generators.mkValueStringDefault {} v;
} ":";
};
# the INI file can now be given as plain old nix values
in customToINI {
main = {
pushinfo = true;
autopush = false;
host = "localhost";
port = 42;
};
mergetool = {
merge = "diff3";
};
}
</programlisting>
<para>
This will produce the following INI file as nix string:
</para>
<programlisting>
[main]
autopush:"no"
host:"localhost"
port:42
pushinfo:"yes"
str\:ange:"very::strange"
[mergetool]
merge:"diff3"
</programlisting>
<note>
<para>
Nix store paths can be converted to strings by enclosing a derivation
attribute like so: <code>"${drv}"</code>.
</para>
</note>
<para>
Detailed documentation for each generator can be found in
<literal>lib/generators.nix</literal>.
</para>
</section>
<section xml:id="sec-debug">
<title>Debugging Nix Expressions</title>
<para>
Nix is a unityped, dynamic language, this means every value can potentially
appear anywhere. Since it is also non-strict, evaluation order and what
ultimately is evaluated might surprise you. Therefore it is important to be
able to debug nix expressions.
</para>
<para>
In the <literal>lib/debug.nix</literal> file you will find a number of
functions that help (pretty-)printing values while evaluation is runnnig.
You can even specify how deep these values should be printed recursively,
and transform them on the fly. Please consult the docstrings in
<literal>lib/debug.nix</literal> for usage information.
</para>
</section>
<section xml:id="sec-fhs-environments">
<title>buildFHSUserEnv</title>
<para>
<function>buildFHSUserEnv</function> provides a way to build and run
FHS-compatible lightweight sandboxes. It creates an isolated root with bound
<filename>/nix/store</filename>, so its footprint in terms of disk space
needed is quite small. This allows one to run software which is hard or
unfeasible to patch for NixOS -- 3rd-party source trees with FHS
assumptions, games distributed as tarballs, software with integrity checking
and/or external self-updated binaries. It uses Linux namespaces feature to
create temporary lightweight environments which are destroyed after all
child processes exit, without root user rights requirement. Accepted
arguments are:
</para>
<variablelist>
<varlistentry>
<term>
<literal>name</literal>
</term>
<listitem>
<para>
Environment name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>targetPkgs</literal>
</term>
<listitem>
<para>
Packages to be installed for the main host's architecture (i.e. x86_64 on
x86_64 installations). Along with libraries binaries are also installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>multiPkgs</literal>
</term>
<listitem>
<para>
Packages to be installed for all architectures supported by a host (i.e.
i686 and x86_64 on x86_64 installations). Only libraries are installed by
default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the directory
structure.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommandsMulti</literal>
</term>
<listitem>
<para>
Like <literal>extraBuildCommands</literal>, but executed only on multilib
architectures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraOutputsToInstall</literal>
</term>
<listitem>
<para>
Additional derivation outputs to be linked for both target and
multi-architecture packages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraInstallCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the derivation with
runner script.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>runScript</literal>
</term>
<listitem>
<para>
A command that would be executed inside the sandbox and passed all the
command line arguments. It defaults to <literal>bash</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
One can create a simple environment using a <literal>shell.nix</literal>
like that:
</para>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSUserEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]) ++ (with pkgs.xorg;
[ libX11
libXcursor
libXrandr
]);
multiPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]);
runScript = "bash";
}).env
]]></programlisting>
<para>
Running <literal>nix-shell</literal> would then drop you into a shell with
these libraries and binaries available. You can use this to run
closed-source applications which expect FHS structure without hassles:
simply change <literal>runScript</literal> to the application path, e.g.
<filename>./bin/start.sh</filename> -- relative paths are supported.
</para>
</section>
<xi:include href="shell.section.xml" />
<section xml:id="sec-pkgs-dockerTools">
<title>pkgs.dockerTools</title>
<para>
<varname>pkgs.dockerTools</varname> is a set of functions for creating and
manipulating Docker images according to the
<link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120">
Docker Image Specification v1.2.0 </link>. Docker itself is not used to
perform any of the operations done by these functions.
</para>
<warning>
<para>
The <varname>dockerTools</varname> API is unstable and may be subject to
backwards-incompatible changes in the future.
</para>
</warning>
<section xml:id="ssec-pkgs-dockerTools-buildImage">
<title>buildImage</title>
<para>
This function is analogous to the <command>docker build</command> command,
in that can used to build a Docker-compatible repository tarball containing
a single image with one or multiple layers. As such, the result is suitable
for being loaded in Docker with <command>docker load</command>.
</para>
<para>
The parameters of <varname>buildImage</varname> with relative example
values are described below:
</para>
<example xml:id='ex-dockerTools-buildImage'>
<title>Docker build</title>
<programlisting>
buildImage {
name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />
fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' />
fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' />
fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' />
contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' />
runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' />
#!${stdenv.shell}
mkdir -p /data
'';
config = { <co xml:id='ex-dockerTools-buildImage-8' />
Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data";
Volumes = {
"/data" = {};
};
};
}
</programlisting>
</example>
<para>
The above example will build a Docker image <literal>redis/latest</literal>
from the given base image. Loading and running this image in Docker results
in <literal>redis-server</literal> being started automatically.
</para>
<calloutlist>
<callout arearefs='ex-dockerTools-buildImage-1'>
<para>
<varname>name</varname> specifies the name of the resulting image. This
is the only required argument for <varname>buildImage</varname>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-2'>
<para>
<varname>tag</varname> specifies the tag of the resulting image. By
default it's <literal>null</literal>, which indicates that the nix output
hash will be used as tag.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-3'>
<para>
<varname>fromImage</varname> is the repository tarball containing the
base image. It must be a valid Docker image, such as exported by
<command>docker save</command>. By default it's <literal>null</literal>,
which can be seen as equivalent to <literal>FROM scratch</literal> of a
<filename>Dockerfile</filename>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-4'>
<para>
<varname>fromImageName</varname> can be used to further specify the base
image within the repository, in case it contains multiple images. By
default it's <literal>null</literal>, in which case
<varname>buildImage</varname> will peek the first image available in the
repository.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-5'>
<para>
<varname>fromImageTag</varname> can be used to further specify the tag of
the base image within the repository, in case an image contains multiple
tags. By default it's <literal>null</literal>, in which case
<varname>buildImage</varname> will peek the first tag available for the
base image.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-6'>
<para>
<varname>contents</varname> is a derivation that will be copied in the
new layer of the resulting image. This can be similarly seen as
<command>ADD contents/ /</command> in a <filename>Dockerfile</filename>.
By default it's <literal>null</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-runAsRoot'>
<para>
<varname>runAsRoot</varname> is a bash script that will run as root in an
environment that overlays the existing layers of the base image with the
new resulting layer, including the previously copied
<varname>contents</varname> derivation. This can be similarly seen as
<command>RUN ...</command> in a <filename>Dockerfile</filename>.
<note>
<para>
Using this parameter requires the <literal>kvm</literal> device to be
available.
</para>
</note>
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-8'>
<para>
<varname>config</varname> is used to specify the configuration of the
containers that will be started off the built image in Docker. The
available options are listed in the
<link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions">
Docker Image Specification v1.2.0 </link>.
</para>
</callout>
</calloutlist>
<para>
After the new layer has been created, its closure (to which
<varname>contents</varname>, <varname>config</varname> and
<varname>runAsRoot</varname> contribute) will be copied in the layer
itself. Only new dependencies that are not already in the existing layers
will be copied.
</para>
<para>
At the end of the process, only one new single layer will be produced and
added to the resulting image.
</para>
<para>
The resulting repository will only list the single image
<varname>image/tag</varname>. In the case of
<xref linkend='ex-dockerTools-buildImage'/> it would be
<varname>redis/latest</varname>.
</para>
<para>
It is possible to inspect the arguments with which an image was built using
its <varname>buildArgs</varname> attribute.
</para>
<note>
<para>
If you see errors similar to <literal>getProtocolByName: does not exist
(no such protocol name: tcp)</literal> you may need to add
<literal>pkgs.iana-etc</literal> to <varname>contents</varname>.
</para>
</note>
<note>
<para>
If you see errors similar to <literal>Error_Protocol ("certificate has
unknown CA",True,UnknownCa)</literal> you may need to add
<literal>pkgs.cacert</literal> to <varname>contents</varname>.
</para>
</note>
</section>
<section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry">
<title>pullImage</title>
<para>
This function is analogous to the <command>docker pull</command> command,
in that can be used to pull a Docker image from a Docker registry. By
default <link xlink:href="https://hub.docker.com/">Docker Hub</link> is
used to pull images.
</para>
<para>
Its parameters are described in the example below:
</para>
<example xml:id='ex-dockerTools-pullImage'>
<title>Docker pull</title>
<programlisting>
pullImage {
imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
}
</programlisting>
</example>
<calloutlist>
<callout arearefs='ex-dockerTools-pullImage-1'>
<para>
<varname>imageName</varname> specifies the name of the image to be
downloaded, which can also include the registry namespace (e.g.
<literal>nixos</literal>). This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-2'>
<para>
<varname>imageDigest</varname> specifies the digest of the image to be
downloaded. Skopeo can be used to get the digest of an image, with its
<varname>inspect</varname> subcommand. Since a given
<varname>imageName</varname> may transparently refer to a manifest list
of images which support multiple architectures and/or operating systems,
supply the `--override-os` and `--override-arch` arguments to specify
exactly which image you want. By default it will match the OS and
architecture of the host the command is run on.
<programlisting>
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
</programlisting>
This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-3'>
<para>
<varname>finalImageTag</varname>, if specified, this is the tag of the
image to be created. Note it is never used to fetch the image since we
prefer to rely on the immutable digest ID. By default it's
<literal>latest</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-4'>
<para>
<varname>sha256</varname> is the checksum of the whole fetched image.
This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-5'>
<para>
<varname>os</varname>, if specified, is the operating system of the
fetched image. By default it's <literal>linux</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-6'>
<para>
<varname>arch</varname>, if specified, is the cpu architecture of the
fetched image. By default it's <literal>x86_64</literal>.
</para>
</callout>
</calloutlist>
</section>
<section xml:id="ssec-pkgs-dockerTools-exportImage">
<title>exportImage</title>
<para>
This function is analogous to the <command>docker export</command> command,
in that can used to flatten a Docker image that contains multiple layers.
It is in fact the result of the merge of all the layers of the image. As
such, the result is suitable for being imported in Docker with
<command>docker import</command>.
</para>
<note>
<para>
Using this function requires the <literal>kvm</literal> device to be
available.
</para>
</note>
<para>
The parameters of <varname>exportImage</varname> are the following:
</para>
<example xml:id='ex-dockerTools-exportImage'>
<title>Docker export</title>
<programlisting>
exportImage {
fromImage = someLayeredImage;
fromImageName = null;
fromImageTag = null;
name = someLayeredImage.name;
}
</programlisting>
</example>
<para>
The parameters relative to the base image have the same synopsis as
described in <xref linkend='ssec-pkgs-dockerTools-buildImage'/>, except
that <varname>fromImage</varname> is the only required argument in this
case.
</para>
<para>
The <varname>name</varname> argument is the name of the derivation output,
which defaults to <varname>fromImage.name</varname>.
</para>
</section>
<section xml:id="ssec-pkgs-dockerTools-shadowSetup">
<title>shadowSetup</title>
<para>
This constant string is a helper for setting up the base files for managing
users and groups, only if such files don't exist already. It is suitable
for being used in a <varname>runAsRoot</varname>
<xref linkend='ex-dockerTools-buildImage-runAsRoot'/> script for cases like
in the example below:
</para>
<example xml:id='ex-dockerTools-shadowSetup'>
<title>Shadow base files</title>
<programlisting>
buildImage {
name = "shadow-basic";
runAsRoot = ''
#!${stdenv.shell}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
chown redis:redis /data
'';
}
</programlisting>
</example>
<para>
Creating base files like <literal>/etc/passwd</literal> or
<literal>/etc/login.defs</literal> are necessary for shadow-utils to
manipulate users and groups.
</para>
</section>
</section>
<xi:include href="functions/library.xml" />
<xi:include href="functions/overrides.xml" />
<xi:include href="functions/generators.xml" />
<xi:include href="functions/debug.xml" />
<xi:include href="functions/fhs-environments.xml" />
<xi:include href="functions/shell.xml" />
<xi:include href="functions/dockertools.xml" />
</chapter>

21
doc/functions/debug.xml Normal file
View File

@@ -0,0 +1,21 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-debug">
<title>Debugging Nix Expressions</title>
<para>
Nix is a unityped, dynamic language, this means every value can potentially
appear anywhere. Since it is also non-strict, evaluation order and what
ultimately is evaluated might surprise you. Therefore it is important to be
able to debug nix expressions.
</para>
<para>
In the <literal>lib/debug.nix</literal> file you will find a number of
functions that help (pretty-)printing values while evaluation is runnnig. You
can even specify how deep these values should be printed recursively, and
transform them on the fly. Please consult the docstrings in
<literal>lib/debug.nix</literal> for usage information.
</para>
</section>

View File

@@ -0,0 +1,564 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-dockerTools">
<title>pkgs.dockerTools</title>
<para>
<varname>pkgs.dockerTools</varname> is a set of functions for creating and
manipulating Docker images according to the
<link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#docker-image-specification-v120">
Docker Image Specification v1.2.0 </link>. Docker itself is not used to
perform any of the operations done by these functions.
</para>
<warning>
<para>
The <varname>dockerTools</varname> API is unstable and may be subject to
backwards-incompatible changes in the future.
</para>
</warning>
<section xml:id="ssec-pkgs-dockerTools-buildImage">
<title>buildImage</title>
<para>
This function is analogous to the <command>docker build</command> command,
in that can used to build a Docker-compatible repository tarball containing
a single image with one or multiple layers. As such, the result is suitable
for being loaded in Docker with <command>docker load</command>.
</para>
<para>
The parameters of <varname>buildImage</varname> with relative example values
are described below:
</para>
<example xml:id='ex-dockerTools-buildImage'>
<title>Docker build</title>
<programlisting>
buildImage {
name = "redis"; <co xml:id='ex-dockerTools-buildImage-1' />
tag = "latest"; <co xml:id='ex-dockerTools-buildImage-2' />
fromImage = someBaseImage; <co xml:id='ex-dockerTools-buildImage-3' />
fromImageName = null; <co xml:id='ex-dockerTools-buildImage-4' />
fromImageTag = "latest"; <co xml:id='ex-dockerTools-buildImage-5' />
contents = pkgs.redis; <co xml:id='ex-dockerTools-buildImage-6' />
runAsRoot = '' <co xml:id='ex-dockerTools-buildImage-runAsRoot' />
#!${stdenv.shell}
mkdir -p /data
'';
config = { <co xml:id='ex-dockerTools-buildImage-8' />
Cmd = [ "/bin/redis-server" ];
WorkingDir = "/data";
Volumes = {
"/data" = {};
};
};
}
</programlisting>
</example>
<para>
The above example will build a Docker image <literal>redis/latest</literal>
from the given base image. Loading and running this image in Docker results
in <literal>redis-server</literal> being started automatically.
</para>
<calloutlist>
<callout arearefs='ex-dockerTools-buildImage-1'>
<para>
<varname>name</varname> specifies the name of the resulting image. This is
the only required argument for <varname>buildImage</varname>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-2'>
<para>
<varname>tag</varname> specifies the tag of the resulting image. By
default it's <literal>null</literal>, which indicates that the nix output
hash will be used as tag.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-3'>
<para>
<varname>fromImage</varname> is the repository tarball containing the base
image. It must be a valid Docker image, such as exported by
<command>docker save</command>. By default it's <literal>null</literal>,
which can be seen as equivalent to <literal>FROM scratch</literal> of a
<filename>Dockerfile</filename>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-4'>
<para>
<varname>fromImageName</varname> can be used to further specify the base
image within the repository, in case it contains multiple images. By
default it's <literal>null</literal>, in which case
<varname>buildImage</varname> will peek the first image available in the
repository.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-5'>
<para>
<varname>fromImageTag</varname> can be used to further specify the tag of
the base image within the repository, in case an image contains multiple
tags. By default it's <literal>null</literal>, in which case
<varname>buildImage</varname> will peek the first tag available for the
base image.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-6'>
<para>
<varname>contents</varname> is a derivation that will be copied in the new
layer of the resulting image. This can be similarly seen as <command>ADD
contents/ /</command> in a <filename>Dockerfile</filename>. By default
it's <literal>null</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-runAsRoot'>
<para>
<varname>runAsRoot</varname> is a bash script that will run as root in an
environment that overlays the existing layers of the base image with the
new resulting layer, including the previously copied
<varname>contents</varname> derivation. This can be similarly seen as
<command>RUN ...</command> in a <filename>Dockerfile</filename>.
<note>
<para>
Using this parameter requires the <literal>kvm</literal> device to be
available.
</para>
</note>
</para>
</callout>
<callout arearefs='ex-dockerTools-buildImage-8'>
<para>
<varname>config</varname> is used to specify the configuration of the
containers that will be started off the built image in Docker. The
available options are listed in the
<link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions">
Docker Image Specification v1.2.0 </link>.
</para>
</callout>
</calloutlist>
<para>
After the new layer has been created, its closure (to which
<varname>contents</varname>, <varname>config</varname> and
<varname>runAsRoot</varname> contribute) will be copied in the layer itself.
Only new dependencies that are not already in the existing layers will be
copied.
</para>
<para>
At the end of the process, only one new single layer will be produced and
added to the resulting image.
</para>
<para>
The resulting repository will only list the single image
<varname>image/tag</varname>. In the case of
<xref linkend='ex-dockerTools-buildImage'/> it would be
<varname>redis/latest</varname>.
</para>
<para>
It is possible to inspect the arguments with which an image was built using
its <varname>buildArgs</varname> attribute.
</para>
<note>
<para>
If you see errors similar to <literal>getProtocolByName: does not exist (no
such protocol name: tcp)</literal> you may need to add
<literal>pkgs.iana-etc</literal> to <varname>contents</varname>.
</para>
</note>
<note>
<para>
If you see errors similar to <literal>Error_Protocol ("certificate has
unknown CA",True,UnknownCa)</literal> you may need to add
<literal>pkgs.cacert</literal> to <varname>contents</varname>.
</para>
</note>
<example xml:id="example-pkgs-dockerTools-buildImage-creation-date">
<title>Impurely Defining a Docker Layer's Creation Date</title>
<para>
By default <function>buildImage</function> will use a static date of one
second past the UNIX Epoch. This allows <function>buildImage</function> to
produce binary reproducible images. When listing images with
<command>docker list images</command>, the newly created images will be
listed like this:
</para>
<screen><![CDATA[
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest 08c791c7846e 48 years ago 25.2MB
]]></screen>
<para>
You can break binary reproducibility but have a sorted, meaningful
<literal>CREATED</literal> column by setting <literal>created</literal> to
<literal>now</literal>.
</para>
<programlisting><![CDATA[
pkgs.dockerTools.buildImage {
name = "hello";
tag = "latest";
created = "now";
contents = pkgs.hello;
config.Cmd = [ "/bin/hello" ];
}
]]></programlisting>
<para>
and now the Docker CLI will display a reasonable date and sort the images
as expected:
<screen><![CDATA[
$ docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
hello latest de2bf4786de6 About a minute ago 25.2MB
]]></screen>
however, the produced images will not be binary reproducible.
</para>
</example>
</section>
<section xml:id="ssec-pkgs-dockerTools-buildLayeredImage">
<title>buildLayeredImage</title>
<para>
Create a Docker image with many of the store paths being on their own layer
to improve sharing between images.
</para>
<variablelist>
<varlistentry>
<term>
<varname>name</varname>
</term>
<listitem>
<para>
The name of the resulting image.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>tag</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Tag of the generated image.
</para>
<para>
<emphasis>Default:</emphasis> the output path's hash
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>contents</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Top level paths in the container. Either a single derivation, or a list
of derivations.
</para>
<para>
<emphasis>Default:</emphasis> <literal>[]</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>config</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Run-time configuration of the container. A full list of the options are
available at in the
<link xlink:href="https://github.com/moby/moby/blob/master/image/spec/v1.2.md#image-json-field-descriptions">
Docker Image Specification v1.2.0 </link>.
</para>
<para>
<emphasis>Default:</emphasis> <literal>{}</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>created</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Date and time the layers were created. Follows the same
<literal>now</literal> exception supported by
<literal>buildImage</literal>.
</para>
<para>
<emphasis>Default:</emphasis> <literal>1970-01-01T00:00:01Z</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>maxLayers</varname> <emphasis>optional</emphasis>
</term>
<listitem>
<para>
Maximum number of layers to create.
</para>
<para>
<emphasis>Default:</emphasis> <literal>24</literal>
</para>
</listitem>
</varlistentry>
</variablelist>
<section xml:id="dockerTools-buildLayeredImage-arg-contents">
<title>Behavior of <varname>contents</varname> in the final image</title>
<para>
Each path directly listed in <varname>contents</varname> will have a
symlink in the root of the image.
</para>
<para>
For example:
<programlisting><![CDATA[
pkgs.dockerTools.buildLayeredImage {
name = "hello";
contents = [ pkgs.hello ];
}
]]></programlisting>
will create symlinks for all the paths in the <literal>hello</literal>
package:
<screen><![CDATA[
/bin/hello -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/bin/hello
/share/info/hello.info -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/info/hello.info
/share/locale/bg/LC_MESSAGES/hello.mo -> /nix/store/h1zb1padqbbb7jicsvkmrym3r6snphxg-hello-2.10/share/locale/bg/LC_MESSAGES/hello.mo
]]></screen>
</para>
</section>
<section xml:id="dockerTools-buildLayeredImage-arg-config">
<title>Automatic inclusion of <varname>config</varname> references</title>
<para>
The closure of <varname>config</varname> is automatically included in the
closure of the final image.
</para>
<para>
This allows you to make very simple Docker images with very little code.
This container will start up and run <command>hello</command>:
<programlisting><![CDATA[
pkgs.dockerTools.buildLayeredImage {
name = "hello";
config.Cmd = [ "${pkgs.hello}/bin/hello" ];
}
]]></programlisting>
</para>
</section>
<section xml:id="dockerTools-buildLayeredImage-arg-maxLayers">
<title>Adjusting <varname>maxLayers</varname></title>
<para>
Increasing the <varname>maxLayers</varname> increases the number of layers
which have a chance to be shared between different images.
</para>
<para>
Modern Docker installations support up to 128 layers, however older
versions support as few as 42.
</para>
<para>
If the produced image will not be extended by other Docker builds, it is
safe to set <varname>maxLayers</varname> to <literal>128</literal>. However
it will be impossible to extend the image further.
</para>
<para>
The first (<literal>maxLayers-2</literal>) most "popular" paths will have
their own individual layers, then layer #<literal>maxLayers-1</literal>
will contain all the remaining "unpopular" paths, and finally layer
#<literal>maxLayers</literal> will contain the Image configuration.
</para>
<para>
Docker's Layers are not inherently ordered, they are content-addressable
and are not explicitly layered until they are composed in to an Image.
</para>
</section>
</section>
<section xml:id="ssec-pkgs-dockerTools-fetchFromRegistry">
<title>pullImage</title>
<para>
This function is analogous to the <command>docker pull</command> command, in
that can be used to pull a Docker image from a Docker registry. By default
<link xlink:href="https://hub.docker.com/">Docker Hub</link> is used to pull
images.
</para>
<para>
Its parameters are described in the example below:
</para>
<example xml:id='ex-dockerTools-pullImage'>
<title>Docker pull</title>
<programlisting>
pullImage {
imageName = "nixos/nix"; <co xml:id='ex-dockerTools-pullImage-1' />
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
}
</programlisting>
</example>
<calloutlist>
<callout arearefs='ex-dockerTools-pullImage-1'>
<para>
<varname>imageName</varname> specifies the name of the image to be
downloaded, which can also include the registry namespace (e.g.
<literal>nixos</literal>). This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-2'>
<para>
<varname>imageDigest</varname> specifies the digest of the image to be
downloaded. Skopeo can be used to get the digest of an image, with its
<varname>inspect</varname> subcommand. Since a given
<varname>imageName</varname> may transparently refer to a manifest list of
images which support multiple architectures and/or operating systems,
supply the `--override-os` and `--override-arch` arguments to specify
exactly which image you want. By default it will match the OS and
architecture of the host the command is run on.
<programlisting>
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
</programlisting>
This argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-3'>
<para>
<varname>finalImageTag</varname>, if specified, this is the tag of the
image to be created. Note it is never used to fetch the image since we
prefer to rely on the immutable digest ID. By default it's
<literal>latest</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-4'>
<para>
<varname>sha256</varname> is the checksum of the whole fetched image. This
argument is required.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-5'>
<para>
<varname>os</varname>, if specified, is the operating system of the
fetched image. By default it's <literal>linux</literal>.
</para>
</callout>
<callout arearefs='ex-dockerTools-pullImage-6'>
<para>
<varname>arch</varname>, if specified, is the cpu architecture of the
fetched image. By default it's <literal>x86_64</literal>.
</para>
</callout>
</calloutlist>
</section>
<section xml:id="ssec-pkgs-dockerTools-exportImage">
<title>exportImage</title>
<para>
This function is analogous to the <command>docker export</command> command,
in that can used to flatten a Docker image that contains multiple layers. It
is in fact the result of the merge of all the layers of the image. As such,
the result is suitable for being imported in Docker with <command>docker
import</command>.
</para>
<note>
<para>
Using this function requires the <literal>kvm</literal> device to be
available.
</para>
</note>
<para>
The parameters of <varname>exportImage</varname> are the following:
</para>
<example xml:id='ex-dockerTools-exportImage'>
<title>Docker export</title>
<programlisting>
exportImage {
fromImage = someLayeredImage;
fromImageName = null;
fromImageTag = null;
name = someLayeredImage.name;
}
</programlisting>
</example>
<para>
The parameters relative to the base image have the same synopsis as
described in <xref linkend='ssec-pkgs-dockerTools-buildImage'/>, except that
<varname>fromImage</varname> is the only required argument in this case.
</para>
<para>
The <varname>name</varname> argument is the name of the derivation output,
which defaults to <varname>fromImage.name</varname>.
</para>
</section>
<section xml:id="ssec-pkgs-dockerTools-shadowSetup">
<title>shadowSetup</title>
<para>
This constant string is a helper for setting up the base files for managing
users and groups, only if such files don't exist already. It is suitable for
being used in a <varname>runAsRoot</varname>
<xref linkend='ex-dockerTools-buildImage-runAsRoot'/> script for cases like
in the example below:
</para>
<example xml:id='ex-dockerTools-shadowSetup'>
<title>Shadow base files</title>
<programlisting>
buildImage {
name = "shadow-basic";
runAsRoot = ''
#!${stdenv.shell}
${shadowSetup}
groupadd -r redis
useradd -r -g redis redis
mkdir /data
chown redis:redis /data
'';
}
</programlisting>
</example>
<para>
Creating base files like <literal>/etc/passwd</literal> or
<literal>/etc/login.defs</literal> are necessary for shadow-utils to
manipulate users and groups.
</para>
</section>
</section>

View File

@@ -0,0 +1,142 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-fhs-environments">
<title>buildFHSUserEnv</title>
<para>
<function>buildFHSUserEnv</function> provides a way to build and run
FHS-compatible lightweight sandboxes. It creates an isolated root with bound
<filename>/nix/store</filename>, so its footprint in terms of disk space
needed is quite small. This allows one to run software which is hard or
unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions,
games distributed as tarballs, software with integrity checking and/or
external self-updated binaries. It uses Linux namespaces feature to create
temporary lightweight environments which are destroyed after all child
processes exit, without root user rights requirement. Accepted arguments are:
</para>
<variablelist>
<varlistentry>
<term>
<literal>name</literal>
</term>
<listitem>
<para>
Environment name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>targetPkgs</literal>
</term>
<listitem>
<para>
Packages to be installed for the main host's architecture (i.e. x86_64 on
x86_64 installations). Along with libraries binaries are also installed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>multiPkgs</literal>
</term>
<listitem>
<para>
Packages to be installed for all architectures supported by a host (i.e.
i686 and x86_64 on x86_64 installations). Only libraries are installed by
default.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the directory structure.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraBuildCommandsMulti</literal>
</term>
<listitem>
<para>
Like <literal>extraBuildCommands</literal>, but executed only on multilib
architectures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraOutputsToInstall</literal>
</term>
<listitem>
<para>
Additional derivation outputs to be linked for both target and
multi-architecture packages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>extraInstallCommands</literal>
</term>
<listitem>
<para>
Additional commands to be executed for finalizing the derivation with
runner script.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<literal>runScript</literal>
</term>
<listitem>
<para>
A command that would be executed inside the sandbox and passed all the
command line arguments. It defaults to <literal>bash</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
One can create a simple environment using a <literal>shell.nix</literal> like
that:
</para>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSUserEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]) ++ (with pkgs.xorg;
[ libX11
libXcursor
libXrandr
]);
multiPkgs = pkgs: (with pkgs;
[ udev
alsaLib
]);
runScript = "bash";
}).env
]]></programlisting>
<para>
Running <literal>nix-shell</literal> would then drop you into a shell with
these libraries and binaries available. You can use this to run closed-source
applications which expect FHS structure without hassles: simply change
<literal>runScript</literal> to the application path, e.g.
<filename>./bin/start.sh</filename> -- relative paths are supported.
</para>
</section>

View File

@@ -0,0 +1,89 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-generators">
<title>Generators</title>
<para>
Generators are functions that create file formats from nix data structures,
e.g. for configuration files. There are generators available for:
<literal>INI</literal>, <literal>JSON</literal> and <literal>YAML</literal>
</para>
<para>
All generators follow a similar call interface: <code>generatorName
configFunctions data</code>, where <literal>configFunctions</literal> is an
attrset of user-defined functions that format nested parts of the content.
They each have common defaults, so often they do not need to be set manually.
An example is <code>mkSectionName ? (name: libStr.escape [ "[" "]" ]
name)</code> from the <literal>INI</literal> generator. It receives the name
of a section and sanitizes it. The default <literal>mkSectionName</literal>
escapes <literal>[</literal> and <literal>]</literal> with a backslash.
</para>
<para>
Generators can be fine-tuned to produce exactly the file format required by
your application/service. One example is an INI-file format which uses
<literal>: </literal> as separator, the strings
<literal>"yes"</literal>/<literal>"no"</literal> as boolean values and
requires all string values to be quoted:
</para>
<programlisting>
with lib;
let
customToINI = generators.toINI {
# specifies how to format a key/value pair
mkKeyValue = generators.mkKeyValueDefault {
# specifies the generated string for a subset of nix values
mkValueString = v:
if v == true then ''"yes"''
else if v == false then ''"no"''
else if isString v then ''"${v}"''
# and delegats all other values to the default generator
else generators.mkValueStringDefault {} v;
} ":";
};
# the INI file can now be given as plain old nix values
in customToINI {
main = {
pushinfo = true;
autopush = false;
host = "localhost";
port = 42;
};
mergetool = {
merge = "diff3";
};
}
</programlisting>
<para>
This will produce the following INI file as nix string:
</para>
<programlisting>
[main]
autopush:"no"
host:"localhost"
port:42
pushinfo:"yes"
str\:ange:"very::strange"
[mergetool]
merge:"diff3"
</programlisting>
<note>
<para>
Nix store paths can be converted to strings by enclosing a derivation
attribute like so: <code>"${drv}"</code>.
</para>
</note>
<para>
Detailed documentation for each generator can be found in
<literal>lib/generators.nix</literal>.
</para>
</section>

13
doc/functions/library.xml Normal file
View File

@@ -0,0 +1,13 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-functions-library">
<title>Nixpkgs Library Functions</title>
<para>
Nixpkgs provides a standard library at <varname>pkgs.lib</varname>, or
through <code>import &lt;nixpkgs/lib&gt;</code>.
</para>
<xi:include href="./library/attrsets.xml" />
</section>

File diff suppressed because it is too large Load Diff

193
doc/functions/overrides.xml Normal file
View File

@@ -0,0 +1,193 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-overrides">
<title>Overriding</title>
<para>
Sometimes one wants to override parts of <literal>nixpkgs</literal>, e.g.
derivation attributes, the results of derivations or even the whole package
set.
</para>
<section xml:id="sec-pkg-override">
<title>&lt;pkg&gt;.override</title>
<para>
The function <varname>override</varname> is usually available for all the
derivations in the nixpkgs expression (<varname>pkgs</varname>).
</para>
<para>
It is used to override the arguments passed to a function.
</para>
<para>
Example usages:
<programlisting>pkgs.foo.override { arg1 = val1; arg2 = val2; ... }</programlisting>
<programlisting>import pkgs.path { overlays = [ (self: super: {
foo = super.foo.override { barSupport = true ; };
})]};</programlisting>
<programlisting>mypkg = pkgs.callPackage ./mypkg.nix {
mydep = pkgs.mydep.override { ... };
}</programlisting>
</para>
<para>
In the first example, <varname>pkgs.foo</varname> is the result of a
function call with some default arguments, usually a derivation. Using
<varname>pkgs.foo.override</varname> will call the same function with the
given new arguments.
</para>
</section>
<section xml:id="sec-pkg-overrideAttrs">
<title>&lt;pkg&gt;.overrideAttrs</title>
<para>
The function <varname>overrideAttrs</varname> allows overriding the
attribute set passed to a <varname>stdenv.mkDerivation</varname> call,
producing a new derivation based on the original one. This function is
available on all derivations produced by the
<varname>stdenv.mkDerivation</varname> function, which is most packages in
the nixpkgs expression <varname>pkgs</varname>.
</para>
<para>
Example usage:
<programlisting>helloWithDebug = pkgs.hello.overrideAttrs (oldAttrs: rec {
separateDebugInfo = true;
});</programlisting>
</para>
<para>
In the above example, the <varname>separateDebugInfo</varname> attribute is
overridden to be true, thus building debug info for
<varname>helloWithDebug</varname>, while all other attributes will be
retained from the original <varname>hello</varname> package.
</para>
<para>
The argument <varname>oldAttrs</varname> is conventionally used to refer to
the attr set originally passed to <varname>stdenv.mkDerivation</varname>.
</para>
<note>
<para>
Note that <varname>separateDebugInfo</varname> is processed only by the
<varname>stdenv.mkDerivation</varname> function, not the generated, raw Nix
derivation. Thus, using <varname>overrideDerivation</varname> will not work
in this case, as it overrides only the attributes of the final derivation.
It is for this reason that <varname>overrideAttrs</varname> should be
preferred in (almost) all cases to <varname>overrideDerivation</varname>,
i.e. to allow using <varname>sdenv.mkDerivation</varname> to process input
arguments, as well as the fact that it is easier to use (you can use the
same attribute names you see in your Nix code, instead of the ones
generated (e.g. <varname>buildInputs</varname> vs
<varname>nativeBuildInputs</varname>, and involves less typing.
</para>
</note>
</section>
<section xml:id="sec-pkg-overrideDerivation">
<title>&lt;pkg&gt;.overrideDerivation</title>
<warning>
<para>
You should prefer <varname>overrideAttrs</varname> in almost all cases, see
its documentation for the reasons why.
<varname>overrideDerivation</varname> is not deprecated and will continue
to work, but is less nice to use and does not have as many abilities as
<varname>overrideAttrs</varname>.
</para>
</warning>
<warning>
<para>
Do not use this function in Nixpkgs as it evaluates a Derivation before
modifying it, which breaks package abstraction and removes error-checking
of function arguments. In addition, this evaluation-per-function
application incurs a performance penalty, which can become a problem if
many overrides are used. It is only intended for ad-hoc customisation, such
as in <filename>~/.config/nixpkgs/config.nix</filename>.
</para>
</warning>
<para>
The function <varname>overrideDerivation</varname> creates a new derivation
based on an existing one by overriding the original's attributes with the
attribute set produced by the specified function. This function is available
on all derivations defined using the <varname>makeOverridable</varname>
function. Most standard derivation-producing functions, such as
<varname>stdenv.mkDerivation</varname>, are defined using this function,
which means most packages in the nixpkgs expression,
<varname>pkgs</varname>, have this function.
</para>
<para>
Example usage:
<programlisting>mySed = pkgs.gnused.overrideDerivation (oldAttrs: {
name = "sed-4.2.2-pre";
src = fetchurl {
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
sha256 = "11nq06d131y4wmf3drm0yk502d2xc6n5qy82cg88rb9nqd2lj41k";
};
patches = [];
});</programlisting>
</para>
<para>
In the above example, the <varname>name</varname>, <varname>src</varname>,
and <varname>patches</varname> of the derivation will be overridden, while
all other attributes will be retained from the original derivation.
</para>
<para>
The argument <varname>oldAttrs</varname> is used to refer to the attribute
set of the original derivation.
</para>
<note>
<para>
A package's attributes are evaluated *before* being modified by the
<varname>overrideDerivation</varname> function. For example, the
<varname>name</varname> attribute reference in <varname>url =
"mirror://gnu/hello/${name}.tar.gz";</varname> is filled-in *before* the
<varname>overrideDerivation</varname> function modifies the attribute set.
This means that overriding the <varname>name</varname> attribute, in this
example, *will not* change the value of the <varname>url</varname>
attribute. Instead, we need to override both the <varname>name</varname>
*and* <varname>url</varname> attributes.
</para>
</note>
</section>
<section xml:id="sec-lib-makeOverridable">
<title>lib.makeOverridable</title>
<para>
The function <varname>lib.makeOverridable</varname> is used to make the
result of a function easily customizable. This utility only makes sense for
functions that accept an argument set and return an attribute set.
</para>
<para>
Example usage:
<programlisting>f = { a, b }: { result = a+b; }
c = lib.makeOverridable f { a = 1; b = 2; }</programlisting>
</para>
<para>
The variable <varname>c</varname> is the value of the <varname>f</varname>
function applied with some default arguments. Hence the value of
<varname>c.result</varname> is <literal>3</literal>, in this example.
</para>
<para>
The variable <varname>c</varname> however also has some additional
functions, like <link linkend="sec-pkg-override">c.override</link> which can
be used to override the default arguments. In this example the value of
<varname>(c.override { a = 4; }).result</varname> is 6.
</para>
</section>
</section>

26
doc/functions/shell.xml Normal file
View File

@@ -0,0 +1,26 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-pkgs-mkShell">
<title>pkgs.mkShell</title>
<para>
<function>pkgs.mkShell</function> is a special kind of derivation that is
only useful when using it combined with <command>nix-shell</command>. It will
in fact fail to instantiate when invoked with <command>nix-build</command>.
</para>
<section xml:id="sec-pkgs-mkShell-usage">
<title>Usage</title>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# this will make all the build inputs from hello and gnutar
# available to the shell environment
inputsFrom = with pkgs; [ hello gnutar ];
buildInputs = [ pkgs.gnumake ];
}
]]></programlisting>
</section>
</section>

View File

@@ -487,7 +487,7 @@ and in this case the `python35` interpreter is automatically used.
Versions 2.7, 3.4, 3.5, 3.6 and 3.7 of the CPython interpreter are available as
respectively `python27`, `python34`, `python35` and `python36`. The PyPy interpreter
is available as `pypy`. The aliases `python2` and `python3` correspond to respectively `python27` and
`python35`. The default interpreter, `python`, maps to `python2`.
`python36`. The default interpreter, `python`, maps to `python2`.
The Nix expressions for the interpreters can be found in
`pkgs/development/interpreters/python`.

View File

@@ -64,9 +64,6 @@ When the `Cargo.lock`, provided by upstream, is not in sync with the
added in `cargoPatches` will also be prepended to the patches in `patches` at
build-time.
To install crates with nix there is also an experimental project called
[nixcrates](https://github.com/fractalide/nixcrates).
## Compiling Rust crates using Nix instead of Cargo
### Simple operation

View File

@@ -49,12 +49,12 @@ texlive.combine {
</listitem>
<listitem>
<para>
You can list packages e.g. by <command>nix-repl</command>.
<programlisting>
$ nix-repl
nix-repl> :l &lt;nixpkgs>
nix-repl> texlive.collection-&lt;TAB>
</programlisting>
You can list packages e.g. by <command>nix repl</command>.
<programlisting><![CDATA[
$ nix repl
nix-repl> :l <nixpkgs>
nix-repl> texlive.collection-<TAB>
]]></programlisting>
</para>
</listitem>
<listitem>

View File

@@ -5,11 +5,16 @@ date: 2016-06-25
---
# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
You'll get a vim(-your-suffix) in PATH also loading the plugins you want.
Both Neovim and Vim can be configured to include your favorite plugins
and additional libraries.
Loading can be deferred; see examples.
Vim packages, VAM (=vim-addon-manager) and Pathogen are supported to load
packages.
At the moment we support three different methods for managing plugins:
- Vim packages (*recommend*)
- VAM (=vim-addon-manager)
- Pathogen
## Custom configuration
@@ -17,6 +22,7 @@ Adding custom .vimrc lines can be done using the following code:
```
vim_configurable.customize {
# `name` specifies the name of the executable and package
name = "vim-with-plugins";
vimrcConfig.customRC = ''
@@ -25,7 +31,21 @@ vim_configurable.customize {
}
```
## Vim packages
This configuration is used when vim is invoked with the command specified as name, in this case `vim-with-plugins`.
For Neovim the `configure` argument can be overridden to achieve the same:
```
neovim.override {
configure = {
customRC = ''
# here your custom configuration goes!
'';
};
}
```
## Managing plugins with Vim packages
To store you plugins in Vim packages the following example can be used:
@@ -38,13 +58,51 @@ vim_configurable.customize {
opt = [ phpCompletion elm-vim ];
# To automatically load a plugin when opening a filetype, add vimrc lines like:
# autocmd FileType php :packadd phpCompletion
}
};
};
}
```
## VAM
For Neovim the syntax is
### dependencies by Vim plugins
```
neovim.override {
configure = {
customRC = ''
# here your custom configuration goes!
'';
packages.myVimPackage = with pkgs.vimPlugins; {
# see examples below how to use custom packages
start = [ ];
opt = [ ];
};
};
}
```
The resulting package can be added to `packageOverrides` in `~/.nixpkgs/config.nix` to make it installable:
```
{
packageOverrides = pkgs: with pkgs; {
myVim = vim_configurable.customize {
# `name` specifies the name of the executable and package
name = "vim-with-plugins";
# add here code from the example section
};
myNeovim = neovim.override {
configure = {
# add here code from the example section
};
};
};
}
```
After that you can install your special grafted `myVim` or `myNeovim` packages.
## Managing plugins with VAM
### Handling dependencies of Vim plugins
VAM introduced .json files supporting dependencies without versioning
assuming that "using latest version" is ok most of the time.

View File

@@ -0,0 +1,85 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
revision = pkgs.lib.trivial.revisionWithDefault (nixpkgs.revision or "master");
libDefPos = set:
builtins.map
(name: {
name = name;
location = builtins.unsafeGetAttrPos name set;
})
(builtins.attrNames set);
libset = toplib:
builtins.map
(subsetname: {
subsetname = subsetname;
functions = libDefPos toplib."${subsetname}";
})
(builtins.filter
(name: builtins.isAttrs toplib."${name}")
(builtins.attrNames toplib));
nixpkgsLib = pkgs.lib;
flattenedLibSubset = { subsetname, functions }:
builtins.map
(fn: {
name = "lib.${subsetname}.${fn.name}";
value = fn.location;
})
functions;
locatedlibsets = libs: builtins.map flattenedLibSubset (libset libs);
removeFilenamePrefix = prefix: filename:
let
prefixLen = (builtins.stringLength prefix) + 1; # +1 to remove the leading /
filenameLen = builtins.stringLength filename;
substr = builtins.substring prefixLen filenameLen filename;
in substr;
removeNixpkgs = removeFilenamePrefix (builtins.toString pkgs.path);
liblocations =
builtins.filter
(elem: elem.value != null)
(nixpkgsLib.lists.flatten
(locatedlibsets nixpkgsLib));
fnLocationRelative = { name, value }:
{
inherit name;
value = value // { file = removeNixpkgs value.file; };
};
relativeLocs = (builtins.map fnLocationRelative liblocations);
sanitizeId = builtins.replaceStrings
[ "'" ]
[ "-prime" ];
urlPrefix = "https://github.com/NixOS/nixpkgs/blob/${revision}";
xmlstrings = (nixpkgsLib.strings.concatMapStrings
({ name, value }:
''
<section><title>${name}</title>
<para xml:id="${sanitizeId name}">
Located at
<link
xlink:href="${urlPrefix}/${value.file}#L${builtins.toString value.line}">${value.file}:${builtins.toString value.line}</link>
in <literal>&lt;nixpkgs&gt;</literal>.
</para>
</section>
'')
relativeLocs);
in pkgs.writeText
"locations.xml"
''
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5">
<title>All the locations for every lib function</title>
<para>This file is only for inclusion by other files.</para>
${xmlstrings}
</section>
''

View File

@@ -671,6 +671,9 @@ overrides = self: super: rec {
plugins = with availablePlugins; [ python perl ];
}
}</programlisting>
If the <literal>configure</literal> function returns an attrset without the
<literal>plugins</literal> attribute, <literal>availablePlugins</literal>
will be used automatically.
</para>
<para>
@@ -704,6 +707,61 @@ overrides = self: super: rec {
}; }
</programlisting>
</para>
<para>
WeeChat allows to set defaults on startup using the
<literal>--run-command</literal>. The <literal>configure</literal> method
can be used to pass commands to the program:
<programlisting>weechat.override {
configure = { availablePlugins, ... }: {
init = ''
/set foo bar
/server add freenode chat.freenode.org
'';
};
}</programlisting>
Further values can be added to the list of commands when running
<literal>weechat --run-command "your-commands"</literal>.
</para>
<para>
Additionally it's possible to specify scripts to be loaded when starting
<literal>weechat</literal>. These will be loaded before the commands from
<literal>init</literal>:
<programlisting>weechat.override {
configure = { availablePlugins, ... }: {
scripts = with pkgs.weechatScripts; [
weechat-xmpp weechat-matrix-bridge wee-slack
];
init = ''
/set plugins.var.python.jabber.key "val"
'':
};
}</programlisting>
</para>
<para>
In <literal>nixpkgs</literal> there's a subpackage which contains
derivations for WeeChat scripts. Such derivations expect a
<literal>passthru.scripts</literal> attribute which contains a list of all
scripts inside the store path. Furthermore all scripts have to live in
<literal>$out/share</literal>. An exemplary derivation looks like this:
<programlisting>{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "exemplary-weechat-script";
src = fetchurl {
url = "https://scripts.tld/your-scripts.tar.gz";
sha256 = "...";
};
passthru.scripts = [ "foo.py" "bar.lua" ];
installPhase = ''
mkdir $out/share
cp foo.py $out/share
cp bar.lua $out/share
'';
}</programlisting>
</para>
</section>
<section xml:id="sec-citrix">
<title>Citrix Receiver</title>

View File

@@ -1,5 +1,5 @@
{ pkgs ? import ../. {} }:
(import ./default.nix).overrideAttrs (x: {
(import ./default.nix {}).overrideAttrs (x: {
buildInputs = x.buildInputs ++ [ pkgs.xmloscopy pkgs.ruby ];
})

View File

@@ -1,22 +0,0 @@
---
title: pkgs.mkShell
author: zimbatm
date: 2017-10-30
---
# mkShell
pkgs.mkShell is a special kind of derivation that is only useful when using
it combined with nix-shell. It will in fact fail to instantiate when invoked
with nix-build.
## Usage
```nix
{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
# this will make all the build inputs from hello and gnutar available to the shell environment
inputsFrom = with pkgs; [ hello gnutar ];
buildInputs = [ pkgs.gnumake ];
}
```

View File

@@ -372,7 +372,7 @@ let f(h, h + 1, i) = i + h
They are programs/libraries used at build time that furthermore produce
programs/libraries also used at build time. If the dependency doesn't
care about the target platform (i.e. isn't a compiler or similar tool),
put it in <varname>nativeBuildInputs</varname>instead. The most common
put it in <varname>nativeBuildInputs</varname> instead. The most common
use for this <literal>buildPackages.stdenv.cc</literal>, the default C
compiler for this role. That example crops up more than one might think
in old commonly used C libraries.
@@ -2092,7 +2092,7 @@ someVar=$(stripHash $name)
Nix itself considers a build-time dependency merely something that should
previously be built and accessible at build time—packages themselves are
on their own to perform any additional setup. In most cases, that is fine,
and the downstream derivation can deal with it's own dependencies. But for a
and the downstream derivation can deal with its own dependencies. But for a
few common tasks, that would result in almost every package doing the same
sort of setup work---depending not on the package itself, but entirely on
which dependencies were used.
@@ -2100,7 +2100,7 @@ someVar=$(stripHash $name)
<para>
In order to alleviate this burden, the <firstterm>setup
hook></firstterm>mechanism was written, where any package can include a
hook</firstterm> mechanism was written, where any package can include a
shell script that [by convention rather than enforcement by Nix], any
downstream reverse-dependency will source as part of its build process. That
allows the downstream dependency to merely specify its dependencies, and
@@ -2146,10 +2146,10 @@ someVar=$(stripHash $name)
<literal>n + 1</literal> dependencies, as only those ones match the
compiler's target platform. The <envar>hostOffset</envar> variable is
defined with the current dependency's host offset
<envar>targetOffset</envar> with its target offset, before it's setup hook
is sourced. Additionally, since most environment hooks don't care about the
target platform, That means the setup hook can append to the right bash
array by doing something like
<envar>targetOffset</envar> with its target offset, before its setup hook is
sourced. Additionally, since most environment hooks don't care about the
target platform, That means the setup hook can append to the right bash array
by doing something like
<programlisting language="bash">
addEnvHooks "$hostOffset" myBashFunction
</programlisting>
@@ -2157,7 +2157,7 @@ addEnvHooks "$hostOffset" myBashFunction
<para>
The <emphasis>existence</emphasis> of setups hooks has long been documented
and packages inside Nixpkgs are free to use these mechanism. Other packages,
and packages inside Nixpkgs are free to use this mechanism. Other packages,
however, should not rely on these mechanisms not changing between Nixpkgs
versions. Because of the existing issues with this system, there's little
benefit from mandating it be stable for any period of time.
@@ -2445,6 +2445,28 @@ addEnvHooks "$hostOffset" myBashFunction
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
breakpointHook
</term>
<listitem>
<para>
This hook will make a build pause instead of stopping when a failure
happen. It prevents nix from cleaning up the build environment immediatly and
allows the user to attach to a build environment using the
<command>cntr</command> command. On build error it will print the
instruction that are neccessary for <command>cntr</command>. Installing
cntr and running the command will provide shell access to the build
sandbox of failed build. At <filename>/var/lib/cntr</filename> the
sandbox filesystem is mounted. All commands and files of the system are
still accessible within the shell. To execute commands from the sandbox
use the cntr exec subcommand. Note that <command>cntr</command> also
needs to be executed on the machine that is doing the build, which might
be not the case when remote builders are enabled.
<command>cntr</command> is only supported on linux based platforms.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</section>

View File

@@ -196,7 +196,7 @@ rec {
newScope = scope: newScope (self // scope);
callPackage = self.newScope {};
overrideScope = g: lib.warn
"`overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: self: { })` instead of `overrideScope (super: self: { })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern."
"`overrideScope` (from `lib.makeScope`) is deprecated. Do `overrideScope' (self: super: { })` instead of `overrideScope (super: self: { })`. All other overrides have the parameters in that order, including other definitions of `overrideScope`. This was the only definition violating the pattern."
(makeScope newScope (lib.fixedPoints.extends (lib.flip g) f));
overrideScope' = g: makeScope newScope (lib.fixedPoints.extends g f);
packages = f;

View File

@@ -23,27 +23,54 @@ rec {
# -- TRACING --
/* Trace msg, but only if pred is true.
/* Conditionally trace the supplied message, based on a predicate.
Type: traceIf :: bool -> string -> a -> a
Example:
traceIf true "hello" 3
trace: hello
=> 3
*/
traceIf = pred: msg: x: if pred then trace msg x else x;
traceIf =
# Predicate to check
pred:
# Message that should be traced
msg:
# Value to return
x: if pred then trace msg x else x;
/* Trace the value and also return it.
/* Trace the supplied value after applying a function to it, and
return the original value.
Type: traceValFn :: (a -> b) -> a -> a
Example:
traceValFn (v: "mystring ${v}") "foo"
trace: mystring foo
=> "foo"
*/
traceValFn = f: x: trace (f x) x;
traceValFn =
# Function to apply
f:
# Value to trace and return
x: trace (f x) x;
/* Trace the supplied value and return it.
Type: traceVal :: a -> a
Example:
traceVal 42
# trace: 42
=> 42
*/
traceVal = traceValFn id;
/* `builtins.trace`, but the value is `builtins.deepSeq`ed first.
Type: traceSeq :: a -> b -> b
Example:
trace { a.b.c = 3; } null
trace: { a = <CODE>; }
@@ -52,7 +79,11 @@ rec {
trace: { a = { b = { c = 3; }; }; }
=> null
*/
traceSeq = x: y: trace (builtins.deepSeq x x) y;
traceSeq =
# The value to trace
x:
# The value to return
y: trace (builtins.deepSeq x x) y;
/* Like `traceSeq`, but only evaluate down to depth n.
This is very useful because lots of `traceSeq` usages
@@ -76,27 +107,49 @@ rec {
in trace (generators.toPretty { allowPrettyValues = true; }
(modify depth snip x)) y;
/* A combination of `traceVal` and `traceSeq` */
traceValSeqFn = f: v: traceValFn f (builtins.deepSeq v v);
/* A combination of `traceVal` and `traceSeq` that applies a
provided function to the value to be traced after `deepSeq`ing
it.
*/
traceValSeqFn =
# Function to apply
f:
# Value to trace
v: traceValFn f (builtins.deepSeq v v);
/* A combination of `traceVal` and `traceSeq`. */
traceValSeq = traceValSeqFn id;
/* A combination of `traceVal` and `traceSeqN` that applies a
provided function to the value to be traced. */
traceValSeqNFn =
# Function to apply
f:
depth:
# Value to trace
v: traceSeqN depth (f v) v;
/* A combination of `traceVal` and `traceSeqN`. */
traceValSeqNFn = f: depth: v: traceSeqN depth (f v) v;
traceValSeqN = traceValSeqNFn id;
# -- TESTING --
/* Evaluate a set of tests. A test is an attribute set {expr,
expected}, denoting an expression and its expected result. The
result is a list of failed tests, each represented as {name,
expected, actual}, denoting the attribute name of the failing
test and its expected and actual results. Used for regression
testing of the functions in lib; see tests.nix for an example.
Only tests having names starting with "test" are run.
Add attr { tests = ["testName"]; } to run these test only
/* Evaluate a set of tests. A test is an attribute set `{expr,
expected}`, denoting an expression and its expected result. The
result is a list of failed tests, each represented as `{name,
expected, actual}`, denoting the attribute name of the failing
test and its expected and actual results.
Used for regression testing of the functions in lib; see
tests.nix for an example. Only tests having names starting with
"test" are run.
Add attr { tests = ["testName"]; } to run these tests only.
*/
runTests = tests: lib.concatLists (lib.attrValues (lib.mapAttrs (name: test:
runTests =
# Tests to run
tests: lib.concatLists (lib.attrValues (lib.mapAttrs (name: test:
let testsToRun = if tests ? tests then tests.tests else [];
in if (substring 0 4 name == "test" || elem name testsToRun)
&& ((testsToRun == []) || elem name tests.tests)
@@ -105,8 +158,11 @@ rec {
then [ { inherit name; expected = test.expected; result = test.expr; } ]
else [] ) tests));
# create a test assuming that list elements are true
# usage: { testX = allTrue [ true ]; }
/* Create a test assuming that list elements are `true`.
Example:
{ testX = allTrue [ true ]; }
*/
testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };

View File

@@ -42,6 +42,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
amd = {
fullName = "AMD License Agreement";
url = http://developer.amd.com/amd-license-agreement/;
free = false;
};
apsl20 = spdx {
@@ -99,14 +100,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = ''BSD 4-clause "Original" or "Old" License'';
};
bsl10 = {
fullName = "Business Source License 1.0";
url = https://mariadb.com/bsl10;
};
bsl11 = {
fullName = "Business Source License 1.1";
url = https://mariadb.com/bsl11;
free = false;
};
clArtistic = spdx {
@@ -355,6 +352,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = "Independent JPEG Group License";
};
imagemagick = spdx {
fullName = "ImageMagick License";
spdxId = "imagemagick";
};
inria-compcert = {
fullName = "INRIA Non-Commercial License Agreement for the CompCert verified compiler";
url = "http://compcert.inria.fr/doc/LICENSE";

View File

@@ -1,4 +1,5 @@
# General list operations.
{ lib }:
with lib.trivial;
let
@@ -8,21 +9,23 @@ rec {
inherit (builtins) head tail length isList elemAt concatLists filter elem genList;
/* Create a list consisting of a single element. `singleton x' is
sometimes more convenient with respect to indentation than `[x]'
/* Create a list consisting of a single element. `singleton x` is
sometimes more convenient with respect to indentation than `[x]`
when x spans multiple lines.
Type: singleton :: a -> [a]
Example:
singleton "foo"
=> [ "foo" ]
*/
singleton = x: [x];
/* right fold a binary function `op' between successive elements of
`list' with `nul' as the starting value, i.e.,
`foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))'.
Type:
foldr :: (a -> b -> b) -> b -> [a] -> b
/* right fold a binary function `op` between successive elements of
`list` with `nul' as the starting value, i.e.,
`foldr op nul [x_1 x_2 ... x_n] == op x_1 (op x_2 ... (op x_n nul))`.
Type: foldr :: (a -> b -> b) -> b -> [a] -> b
Example:
concat = foldr (a: b: a + b) "z"
@@ -42,16 +45,15 @@ rec {
else op (elemAt list n) (fold' (n + 1));
in fold' 0;
/* `fold' is an alias of `foldr' for historic reasons */
/* `fold` is an alias of `foldr` for historic reasons */
# FIXME(Profpatsch): deprecate?
fold = foldr;
/* left fold, like `foldr', but from the left:
/* left fold, like `foldr`, but from the left:
`foldl op nul [x_1 x_2 ... x_n] == op (... (op (op nul x_1) x_2) ... x_n)`.
Type:
foldl :: (b -> a -> b) -> b -> [a] -> b
Type: foldl :: (b -> a -> b) -> b -> [a] -> b
Example:
lconcat = foldl (a: b: a + b) "z"
@@ -70,16 +72,20 @@ rec {
else op (foldl' (n - 1)) (elemAt list n);
in foldl' (length list - 1);
/* Strict version of `foldl'.
/* Strict version of `foldl`.
The difference is that evaluation is forced upon access. Usually used
with small whole results (in contract with lazily-generated list or large
lists where only a part is consumed.)
Type: foldl' :: (b -> a -> b) -> b -> [a] -> b
*/
foldl' = builtins.foldl' or foldl;
/* Map with index starting from 0
Type: imap0 :: (int -> a -> b) -> [a] -> [b]
Example:
imap0 (i: v: "${v}-${toString i}") ["a" "b"]
=> [ "a-0" "b-1" ]
@@ -88,6 +94,8 @@ rec {
/* Map with index starting from 1
Type: imap1 :: (int -> a -> b) -> [a] -> [b]
Example:
imap1 (i: v: "${v}-${toString i}") ["a" "b"]
=> [ "a-1" "b-2" ]
@@ -96,6 +104,8 @@ rec {
/* Map and concatenate the result.
Type: concatMap :: (a -> [b]) -> [a] -> [b]
Example:
concatMap (x: [x] ++ ["z"]) ["a" "b"]
=> [ "a" "z" "b" "z" ]
@@ -118,15 +128,21 @@ rec {
/* Remove elements equal to 'e' from a list. Useful for buildInputs.
Type: remove :: a -> [a] -> [a]
Example:
remove 3 [ 1 3 4 3 ]
=> [ 1 4 ]
*/
remove = e: filter (x: x != e);
remove =
# Element to remove from the list
e: filter (x: x != e);
/* Find the sole element in the list matching the specified
predicate, returns `default' if no such element exists, or
`multiple' if there are multiple matching elements.
predicate, returns `default` if no such element exists, or
`multiple` if there are multiple matching elements.
Type: findSingle :: (a -> bool) -> a -> a -> [a] -> a
Example:
findSingle (x: x == 3) "none" "multiple" [ 1 3 3 ]
@@ -136,14 +152,24 @@ rec {
findSingle (x: x == 3) "none" "multiple" [ 1 9 ]
=> "none"
*/
findSingle = pred: default: multiple: list:
findSingle =
# Predicate
pred:
# Default value to return if element was not found.
default:
# Default value to return if more than one element was found
multiple:
# Input list
list:
let found = filter pred list; len = length found;
in if len == 0 then default
else if len != 1 then multiple
else head found;
/* Find the first element in the list matching the specified
predicate or returns `default' if no such element exists.
predicate or return `default` if no such element exists.
Type: findFirst :: (a -> bool) -> a -> [a] -> a
Example:
findFirst (x: x > 3) 7 [ 1 6 4 ]
@@ -151,12 +177,20 @@ rec {
findFirst (x: x > 9) 7 [ 1 6 4 ]
=> 7
*/
findFirst = pred: default: list:
findFirst =
# Predicate
pred:
# Default value to return
default:
# Input list
list:
let found = filter pred list;
in if found == [] then default else head found;
/* Return true iff function `pred' returns true for at least element
of `list'.
/* Return true if function `pred` returns true for at least one
element of `list`.
Type: any :: (a -> bool) -> [a] -> bool
Example:
any isString [ 1 "a" { } ]
@@ -166,8 +200,10 @@ rec {
*/
any = builtins.any or (pred: foldr (x: y: if pred x then true else y) false);
/* Return true iff function `pred' returns true for all elements of
`list'.
/* Return true if function `pred` returns true for all elements of
`list`.
Type: all :: (a -> bool) -> [a] -> bool
Example:
all (x: x < 3) [ 1 2 ]
@@ -177,19 +213,25 @@ rec {
*/
all = builtins.all or (pred: foldr (x: y: if pred x then y else false) true);
/* Count how many times function `pred' returns true for the elements
of `list'.
/* Count how many elements of `list` match the supplied predicate
function.
Type: count :: (a -> bool) -> [a] -> int
Example:
count (x: x == 3) [ 3 2 3 4 6 ]
=> 2
*/
count = pred: foldl' (c: x: if pred x then c + 1 else c) 0;
count =
# Predicate
pred: foldl' (c: x: if pred x then c + 1 else c) 0;
/* Return a singleton list or an empty list, depending on a boolean
value. Useful when building lists with optional elements
(e.g. `++ optional (system == "i686-linux") flashplayer').
Type: optional :: bool -> a -> [a]
Example:
optional true "foo"
=> [ "foo" ]
@@ -200,13 +242,19 @@ rec {
/* Return a list or an empty list, depending on a boolean value.
Type: optionals :: bool -> [a] -> [a]
Example:
optionals true [ 2 3 ]
=> [ 2 3 ]
optionals false [ 2 3 ]
=> [ ]
*/
optionals = cond: elems: if cond then elems else [];
optionals =
# Condition
cond:
# List to return if condition is true
elems: if cond then elems else [];
/* If argument is a list, return it; else, wrap it in a singleton
@@ -223,20 +271,28 @@ rec {
/* Return a list of integers from `first' up to and including `last'.
Type: range :: int -> int -> [int]
Example:
range 2 4
=> [ 2 3 4 ]
range 3 2
=> [ ]
*/
range = first: last:
range =
# First integer in the range
first:
# Last integer in the range
last:
if first > last then
[]
else
genList (n: first + n) (last - first + 1);
/* Splits the elements of a list in two lists, `right' and
`wrong', depending on the evaluation of a predicate.
/* Splits the elements of a list in two lists, `right` and
`wrong`, depending on the evaluation of a predicate.
Type: (a -> bool) -> [a] -> { right :: [a], wrong :: [a] }
Example:
partition (x: x > 2) [ 5 1 2 3 4 ]
@@ -252,7 +308,7 @@ rec {
/* Splits the elements of a list into many lists, using the return value of a predicate.
Predicate should return a string which becomes keys of attrset `groupBy' returns.
`groupBy'' allows to customise the combining function and initial value
`groupBy'` allows to customise the combining function and initial value
Example:
groupBy (x: boolToString (x > 2)) [ 5 1 2 3 4 ]
@@ -268,10 +324,6 @@ rec {
xfce = [ { name = "xfce"; script = "xfce4-session &"; } ];
}
groupBy' allows to customise the combining function and initial value
Example:
groupBy' builtins.add 0 (x: boolToString (x > 2)) [ 5 1 2 3 4 ]
=> { true = 12; false = 3; }
*/
@@ -289,17 +341,27 @@ rec {
the merging stops at the shortest. How both lists are merged is defined
by the first argument.
Type: zipListsWith :: (a -> b -> c) -> [a] -> [b] -> [c]
Example:
zipListsWith (a: b: a + b) ["h" "l"] ["e" "o"]
=> ["he" "lo"]
*/
zipListsWith = f: fst: snd:
zipListsWith =
# Function to zip elements of both lists
f:
# First list
fst:
# Second list
snd:
genList
(n: f (elemAt fst n) (elemAt snd n)) (min (length fst) (length snd));
/* Merges two lists of the same size together. If the sizes aren't the same
the merging stops at the shortest.
Type: zipLists :: [a] -> [b] -> [{ fst :: a, snd :: b}]
Example:
zipLists [ 1 2 ] [ "a" "b" ]
=> [ { fst = 1; snd = "a"; } { fst = 2; snd = "b"; } ]
@@ -308,6 +370,8 @@ rec {
/* Reverse the order of the elements of a list.
Type: reverseList :: [a] -> [a]
Example:
reverseList [ "b" "o" "j" ]
@@ -321,8 +385,7 @@ rec {
`before a b == true` means that `b` depends on `a` (there's an
edge from `b` to `a`).
Examples:
Example:
listDfs true hasPrefix [ "/home/user" "other" "/" "/home" ]
== { minimal = "/"; # minimal element
visited = [ "/home/user" ]; # seen elements (in reverse order)
@@ -336,7 +399,6 @@ rec {
rest = [ "/home" "other" ]; # everything else
*/
listDfs = stopOnCycles: before: list:
let
dfs' = us: visited: rest:
@@ -361,7 +423,7 @@ rec {
`before a b == true` means that `b` should be after `a`
in the result.
Examples:
Example:
toposort hasPrefix [ "/home/user" "other" "/" "/home" ]
== { result = [ "/" "/home" "/home/user" "other" ]; }
@@ -376,7 +438,6 @@ rec {
toposort (a: b: a < b) [ 3 2 1 ] == { result = [ 1 2 3 ]; }
*/
toposort = before: list:
let
dfsthis = listDfs true before list;
@@ -467,26 +528,38 @@ rec {
/* Return the first (at most) N elements of a list.
Type: take :: int -> [a] -> [a]
Example:
take 2 [ "a" "b" "c" "d" ]
=> [ "a" "b" ]
take 2 [ ]
=> [ ]
*/
take = count: sublist 0 count;
take =
# Number of elements to take
count: sublist 0 count;
/* Remove the first (at most) N elements of a list.
Type: drop :: int -> [a] -> [a]
Example:
drop 2 [ "a" "b" "c" "d" ]
=> [ "c" "d" ]
drop 2 [ ]
=> [ ]
*/
drop = count: list: sublist count (length list) list;
drop =
# Number of elements to drop
count:
# Input list
list: sublist count (length list) list;
/* Return a list consisting of at most count elements of list,
starting at index start.
/* Return a list consisting of at most `count` elements of `list`,
starting at index `start`.
Type: sublist :: int -> int -> [a] -> [a]
Example:
sublist 1 3 [ "a" "b" "c" "d" "e" ]
@@ -494,7 +567,13 @@ rec {
sublist 1 3 [ ]
=> [ ]
*/
sublist = start: count: list:
sublist =
# Index at which to start the sublist
start:
# Number of elements to take
count:
# Input list
list:
let len = length list; in
genList
(n: elemAt list (n + start))
@@ -504,6 +583,10 @@ rec {
/* Return the last element of a list.
This function throws an error if the list is empty.
Type: last :: [a] -> a
Example:
last [ 1 2 3 ]
=> 3
@@ -511,7 +594,11 @@ rec {
last = list:
assert list != []; elemAt list (length list - 1);
/* Return all elements but the last
/* Return all elements but the last.
This function throws an error if the list is empty.
Type: init :: [a] -> [a]
Example:
init [ 1 2 3 ]
@@ -520,7 +607,7 @@ rec {
init = list: assert list != []; take (length list - 1) list;
/* return the image of the cross product of some lists by a function
/* Return the image of the cross product of some lists by a function.
Example:
crossLists (x:y: "${toString x}${toString y}") [[1 2] [3 4]]
@@ -531,8 +618,9 @@ rec {
/* Remove duplicate elements from the list. O(n^2) complexity.
Example:
Type: unique :: [a] -> [a]
Example:
unique [ 3 2 3 4 ]
=> [ 3 2 4 ]
*/

View File

@@ -1,2 +1,2 @@
# Expose the minimum required version for evaluating Nixpkgs
"2.0"
"1.11"

View File

@@ -7,34 +7,72 @@ with lib.attrsets;
with lib.strings;
rec {
/* Returns true when the given argument is an option
Type: isOption :: a -> bool
Example:
isOption 1 // => false
isOption (mkOption {}) // => true
*/
isOption = lib.isType "option";
/* Creates an Option attribute set. mkOption accepts an attribute set with the following keys:
All keys default to `null` when not given.
Example:
mkOption { } // => { _type = "option"; }
mkOption { defaultText = "foo"; } // => { _type = "option"; defaultText = "foo"; }
*/
mkOption =
{ default ? null # Default value used when no definition is given in the configuration.
, defaultText ? null # Textual representation of the default, for in the manual.
, example ? null # Example value used in the manual.
, description ? null # String describing the option.
, relatedPackages ? null # Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix).
, type ? null # Option type, providing type-checking and value merging.
, apply ? null # Function that converts the option value to something else.
, internal ? null # Whether the option is for NixOS developers only.
, visible ? null # Whether the option shows up in the manual.
, readOnly ? null # Whether the option can be set only once
, options ? null # Obsolete, used by types.optionSet.
{
# Default value used when no definition is given in the configuration.
default ? null,
# Textual representation of the default, for the manual.
defaultText ? null,
# Example value used in the manual.
example ? null,
# String describing the option.
description ? null,
# Related packages used in the manual (see `genRelatedPackages` in ../nixos/doc/manual/default.nix).
relatedPackages ? null,
# Option type, providing type-checking and value merging.
type ? null,
# Function that converts the option value to something else.
apply ? null,
# Whether the option is for NixOS developers only.
internal ? null,
# Whether the option shows up in the manual.
visible ? null,
# Whether the option can be set only once
readOnly ? null,
# Obsolete, used by types.optionSet.
options ? null
} @ attrs:
attrs // { _type = "option"; };
mkEnableOption = name: mkOption {
/* Creates an Option attribute set for a boolean value option i.e an
option to be toggled on or off:
Example:
mkEnableOption "foo"
=> { _type = "option"; default = false; description = "Whether to enable foo."; example = true; type = { ... }; }
*/
mkEnableOption =
# Name for the created option
name: mkOption {
default = false;
example = true;
description = "Whether to enable ${name}.";
type = lib.types.bool;
};
# This option accept anything, but it does not produce any result. This
# is useful for sharing a module across different module sets without
# having to implement similar features as long as the value of the options
# are not expected.
/* This option accepts anything, but it does not produce any result.
This is useful for sharing a module across different module sets
without having to implement similar features as long as the
values of the options are not accessed. */
mkSinkUndeclaredOptions = attrs: mkOption ({
internal = true;
visible = false;
@@ -74,7 +112,24 @@ rec {
else
val) (head defs).value defs;
/* Extracts values of all "value" keys of the given list.
Type: getValues :: [ { value :: a } ] -> [a]
Example:
getValues [ { value = 1; } { value = 2; } ] // => [ 1 2 ]
getValues [ ] // => [ ]
*/
getValues = map (x: x.value);
/* Extracts values of all "file" keys of the given list
Type: getFiles :: [ { file :: a } ] -> [a]
Example:
getFiles [ { file = "file1"; } { file = "file2"; } ] // => [ "file1" "file2" ]
getFiles [ ] // => [ ]
*/
getFiles = map (x: x.file);
# Generate documentation template from the list of option declaration like
@@ -107,10 +162,13 @@ rec {
/* This function recursively removes all derivation attributes from
`x' except for the `name' attribute. This is to make the
generation of `options.xml' much more efficient: the XML
representation of derivations is very large (on the order of
megabytes) and is not actually used by the manual generator. */
`x` except for the `name` attribute.
This is to make the generation of `options.xml` much more
efficient: the XML representation of derivations is very large
(on the order of megabytes) and is not actually used by the
manual generator.
*/
scrubOptionValue = x:
if isDerivation x then
{ type = "derivation"; drvPath = x.name; outPath = x.name; name = x.name; }
@@ -119,20 +177,21 @@ rec {
else x;
/* For use in the example option attribute. It causes the given
text to be included verbatim in documentation. This is necessary
for example values that are not simple values, e.g.,
functions. */
/* For use in the `example` option attribute. It causes the given
text to be included verbatim in documentation. This is necessary
for example values that are not simple values, e.g., functions.
*/
literalExample = text: { _type = "literalExample"; inherit text; };
# Helper functions.
/* Helper functions. */
/* Convert an option, described as a list of the option parts in to a
safe, human readable version.
# Convert an option, described as a list of the option parts in to a
# safe, human readable version. ie:
#
# (showOption ["foo" "bar" "baz"]) == "foo.bar.baz"
# (showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux"
Example:
(showOption ["foo" "bar" "baz"]) == "foo.bar.baz"
(showOption ["foo" "bar.baz" "tux"]) == "foo.\"bar.baz\".tux"
*/
showOption = parts: let
escapeOptionPart = part:
let

View File

@@ -12,6 +12,8 @@ rec {
/* Concatenate a list of strings.
Type: concatStrings :: [string] -> string
Example:
concatStrings ["foo" "bar"]
=> "foobar"
@@ -20,15 +22,19 @@ rec {
/* Map a function over a list and concatenate the resulting strings.
Type: concatMapStrings :: (a -> string) -> [a] -> string
Example:
concatMapStrings (x: "a" + x) ["foo" "bar"]
=> "afooabar"
*/
concatMapStrings = f: list: concatStrings (map f list);
/* Like `concatMapStrings' except that the f functions also gets the
/* Like `concatMapStrings` except that the f functions also gets the
position as a parameter.
Type: concatImapStrings :: (int -> a -> string) -> [a] -> string
Example:
concatImapStrings (pos: x: "${toString pos}-${x}") ["foo" "bar"]
=> "1-foo2-bar"
@@ -37,17 +43,25 @@ rec {
/* Place an element between each element of a list
Type: intersperse :: a -> [a] -> [a]
Example:
intersperse "/" ["usr" "local" "bin"]
=> ["usr" "/" "local" "/" "bin"].
*/
intersperse = separator: list:
intersperse =
# Separator to add between elements
separator:
# Input list
list:
if list == [] || length list == 1
then list
else tail (lib.concatMap (x: [separator x]) list);
/* Concatenate a list of strings with a separator between each element
Type: concatStringsSep :: string -> [string] -> string
Example:
concatStringsSep "/" ["usr" "local" "bin"]
=> "usr/local/bin"
@@ -55,43 +69,77 @@ rec {
concatStringsSep = builtins.concatStringsSep or (separator: list:
concatStrings (intersperse separator list));
/* First maps over the list and then concatenates it.
/* Maps a function over a list of strings and then concatenates the
result with the specified separator interspersed between
elements.
Type: concatMapStringsSep :: string -> (string -> string) -> [string] -> string
Example:
concatMapStringsSep "-" (x: toUpper x) ["foo" "bar" "baz"]
=> "FOO-BAR-BAZ"
*/
concatMapStringsSep = sep: f: list: concatStringsSep sep (map f list);
concatMapStringsSep =
# Separator to add between elements
sep:
# Function to map over the list
f:
# List of input strings
list: concatStringsSep sep (map f list);
/* First imaps over the list and then concatenates it.
/* Same as `concatMapStringsSep`, but the mapping function
additionally receives the position of its argument.
Type: concatMapStringsSep :: string -> (int -> string -> string) -> [string] -> string
Example:
concatImapStringsSep "-" (pos: x: toString (x / pos)) [ 6 6 6 ]
=> "6-3-2"
*/
concatImapStringsSep = sep: f: list: concatStringsSep sep (lib.imap1 f list);
concatImapStringsSep =
# Separator to add between elements
sep:
# Function that receives elements and their positions
f:
# List of input strings
list: concatStringsSep sep (lib.imap1 f list);
/* Construct a Unix-style search path consisting of each `subDir"
directory of the given list of packages.
/* Construct a Unix-style, colon-separated search path consisting of
the given `subDir` appended to each of the given paths.
Type: makeSearchPath :: string -> [string] -> string
Example:
makeSearchPath "bin" ["/root" "/usr" "/usr/local"]
=> "/root/bin:/usr/bin:/usr/local/bin"
makeSearchPath "bin" ["/"]
=> "//bin"
makeSearchPath "bin" [""]
=> "/bin"
*/
makeSearchPath = subDir: packages:
concatStringsSep ":" (map (path: path + "/" + subDir) (builtins.filter (x: x != null) packages));
makeSearchPath =
# Directory name to append
subDir:
# List of base paths
paths:
concatStringsSep ":" (map (path: path + "/" + subDir) (builtins.filter (x: x != null) paths));
/* Construct a Unix-style search path, using given package output.
If no output is found, fallback to `.out` and then to the default.
/* Construct a Unix-style search path by appending the given
`subDir` to the specified `output` of each of the packages. If no
output by the given name is found, fallback to `.out` and then to
the default.
Type: string -> string -> [package] -> string
Example:
makeSearchPathOutput "dev" "bin" [ pkgs.openssl pkgs.zlib ]
=> "/nix/store/9rz8gxhzf8sw4kf2j2f1grr49w8zx5vj-openssl-1.0.1r-dev/bin:/nix/store/wwh7mhwh269sfjkm6k5665b5kgp7jrk2-zlib-1.2.8/bin"
*/
makeSearchPathOutput = output: subDir: pkgs: makeSearchPath subDir (map (lib.getOutput output) pkgs);
makeSearchPathOutput =
# Package output to use
output:
# Directory name to append
subDir:
# List of packages
pkgs: makeSearchPath subDir (map (lib.getOutput output) pkgs);
/* Construct a library search path (such as RPATH) containing the
libraries for a set of packages
@@ -117,13 +165,12 @@ rec {
/* Construct a perl search path (such as $PERL5LIB)
FIXME(zimbatm): this should be moved in perl-specific code
Example:
pkgs = import <nixpkgs> { }
makePerlPath [ pkgs.perlPackages.libnet ]
=> "/nix/store/n0m1fk9c960d8wlrs62sncnadygqqc6y-perl-Net-SMTP-1.25/lib/perl5/site_perl"
*/
# FIXME(zimbatm): this should be moved in perl-specific code
makePerlPath = makeSearchPathOutput "lib" "lib/perl5/site_perl";
/* Construct a perl search path recursively including all dependencies (such as $PERL5LIB)
@@ -138,34 +185,51 @@ rec {
/* Depending on the boolean `cond', return either the given string
or the empty string. Useful to concatenate against a bigger string.
Type: optionalString :: bool -> string -> string
Example:
optionalString true "some-string"
=> "some-string"
optionalString false "some-string"
=> ""
*/
optionalString = cond: string: if cond then string else "";
optionalString =
# Condition
cond:
# String to return if condition is true
string: if cond then string else "";
/* Determine whether a string has given prefix.
Type: hasPrefix :: string -> string -> bool
Example:
hasPrefix "foo" "foobar"
=> true
hasPrefix "foo" "barfoo"
=> false
*/
hasPrefix = pref: str:
substring 0 (stringLength pref) str == pref;
hasPrefix =
# Prefix to check for
pref:
# Input string
str: substring 0 (stringLength pref) str == pref;
/* Determine whether a string has given suffix.
Type: hasSuffix :: string -> string -> bool
Example:
hasSuffix "foo" "foobar"
=> false
hasSuffix "foo" "barfoo"
=> true
*/
hasSuffix = suffix: content:
hasSuffix =
# Suffix to check for
suffix:
# Input string
content:
let
lenContent = stringLength content;
lenSuffix = stringLength suffix;
@@ -180,6 +244,8 @@ rec {
Also note that Nix treats strings as a list of bytes and thus doesn't
handle unicode.
Type: stringtoCharacters :: string -> [string]
Example:
stringToCharacters ""
=> [ ]
@@ -194,18 +260,25 @@ rec {
/* Manipulate a string character by character and replace them by
strings before concatenating the results.
Type: stringAsChars :: (string -> string) -> string -> string
Example:
stringAsChars (x: if x == "a" then "i" else x) "nax"
=> "nix"
*/
stringAsChars = f: s:
concatStrings (
stringAsChars =
# Function to map over each individual character
f:
# Input string
s: concatStrings (
map f (stringToCharacters s)
);
/* Escape occurrence of the elements of list in string by
/* Escape occurrence of the elements of `list` in `string` by
prefixing it with a backslash.
Type: escape :: [string] -> string -> string
Example:
escape ["(" ")"] "(foo)"
=> "\\(foo\\)"
@@ -214,6 +287,8 @@ rec {
/* Quote string to be used safely within the Bourne shell.
Type: escapeShellArg :: string -> string
Example:
escapeShellArg "esc'ape\nme"
=> "'esc'\\''ape\nme'"
@@ -222,6 +297,8 @@ rec {
/* Quote all arguments to be safely passed to the Bourne shell.
Type: escapeShellArgs :: [string] -> string
Example:
escapeShellArgs ["one" "two three" "four'five"]
=> "'one' 'two three' 'four'\\''five'"
@@ -230,13 +307,15 @@ rec {
/* Turn a string into a Nix expression representing that string
Type: string -> string
Example:
escapeNixString "hello\${}\n"
=> "\"hello\\\${}\\n\""
*/
escapeNixString = s: escape ["$"] (builtins.toJSON s);
/* Obsolete - use replaceStrings instead. */
# Obsolete - use replaceStrings instead.
replaceChars = builtins.replaceStrings or (
del: new: s:
let
@@ -256,6 +335,8 @@ rec {
/* Converts an ASCII string to lower-case.
Type: toLower :: string -> string
Example:
toLower "HOME"
=> "home"
@@ -264,6 +345,8 @@ rec {
/* Converts an ASCII string to upper-case.
Type: toUpper :: string -> string
Example:
toUpper "home"
=> "HOME"
@@ -273,7 +356,7 @@ rec {
/* Appends string context from another string. This is an implementation
detail of Nix.
Strings in Nix carry an invisible `context' which is a list of strings
Strings in Nix carry an invisible `context` which is a list of strings
representing store paths. If the string is later used in a derivation
attribute, the derivation will properly populate the inputDrvs and
inputSrcs.
@@ -319,8 +402,9 @@ rec {
in
recurse 0 0;
/* Return the suffix of the second argument if the first argument matches
its prefix.
/* Return a string without the specified prefix, if the prefix matches.
Type: string -> string -> string
Example:
removePrefix "foo." "foo.bar.baz"
@@ -328,18 +412,23 @@ rec {
removePrefix "xxx" "foo.bar.baz"
=> "foo.bar.baz"
*/
removePrefix = pre: s:
removePrefix =
# Prefix to remove if it matches
prefix:
# Input string
str:
let
preLen = stringLength pre;
sLen = stringLength s;
preLen = stringLength prefix;
sLen = stringLength str;
in
if hasPrefix pre s then
substring preLen (sLen - preLen) s
if hasPrefix prefix str then
substring preLen (sLen - preLen) str
else
s;
str;
/* Return the prefix of the second argument if the first argument matches
its suffix.
/* Return a string without the specified suffix, if the suffix matches.
Type: string -> string -> string
Example:
removeSuffix "front" "homefront"
@@ -347,17 +436,21 @@ rec {
removeSuffix "xxx" "homefront"
=> "homefront"
*/
removeSuffix = suf: s:
removeSuffix =
# Suffix to remove if it matches
suffix:
# Input string
str:
let
sufLen = stringLength suf;
sLen = stringLength s;
sufLen = stringLength suffix;
sLen = stringLength str;
in
if sufLen <= sLen && suf == substring (sLen - sufLen) sufLen s then
substring 0 (sLen - sufLen) s
if sufLen <= sLen && suffix == substring (sLen - sufLen) sufLen str then
substring 0 (sLen - sufLen) str
else
s;
str;
/* Return true iff string v1 denotes a version older than v2.
/* Return true if string v1 denotes a version older than v2.
Example:
versionOlder "1.1" "1.2"
@@ -367,7 +460,7 @@ rec {
*/
versionOlder = v1: v2: builtins.compareVersions v2 v1 == 1;
/* Return true iff string v1 denotes a version equal to or newer than v2.
/* Return true if string v1 denotes a version equal to or newer than v2.
Example:
versionAtLeast "1.1" "1.0"
@@ -459,6 +552,11 @@ rec {
/* Create a fixed width string with additional prefix to match
required width.
This function will fail if the input string is longer than the
requested length.
Type: fixedWidthString :: int -> string -> string
Example:
fixedWidthString 5 "0" (toString 15)
=> "00015"
@@ -503,8 +601,9 @@ rec {
&& builtins.substring 0 1 (toString x) == "/"
&& dirOf (builtins.toPath x) == builtins.storeDir;
/* Convert string to int
Obviously, it is a bit hacky to use fromJSON that way.
/* Parse a string string as an int.
Type: string -> int
Example:
toInt "1337"
@@ -514,17 +613,18 @@ rec {
toInt "3.14"
=> error: floating point JSON numbers are not supported
*/
# Obviously, it is a bit hacky to use fromJSON this way.
toInt = str:
let may_be_int = builtins.fromJSON str; in
if builtins.isInt may_be_int
then may_be_int
else throw "Could not convert ${str} to int.";
/* Read a list of paths from `file', relative to the `rootPath'. Lines
beginning with `#' are treated as comments and ignored. Whitespace
is significant.
/* Read a list of paths from `file`, relative to the `rootPath`.
Lines beginning with `#` are treated as comments and ignored.
Whitespace is significant.
NOTE: this function is not performant and should be avoided
NOTE: This function is not performant and should be avoided.
Example:
readPathsFromFile /prefix
@@ -547,6 +647,8 @@ rec {
/* Read the contents of a file removing the trailing \n
Type: fileContents :: path -> string
Example:
$ echo "1.0" > ./version

View File

@@ -9,23 +9,37 @@ rec {
Type: id :: a -> a
*/
id = x: x;
id =
# The value to return
x: x;
/* The constant function
Ignores the second argument.
Or: Construct a function that always returns a static value.
Ignores the second argument. If called with only one argument,
constructs a function that always returns a static value.
Type: const :: a -> b -> a
Example:
let f = const 5; in f 10
=> 5
*/
const = x: y: x;
const =
# Value to return
x:
# Value to ignore
y: x;
## Named versions corresponding to some builtin operators.
/* Concatenate two lists */
/* Concatenate two lists
Type: concat :: [a] -> [a] -> [a]
Example:
concat [ 1 2 ] [ 3 4 ]
=> [ 1 2 3 4 ]
*/
concat = x: y: x ++ y;
/* boolean or */
@@ -36,44 +50,57 @@ rec {
/* bitwise and */
bitAnd = builtins.bitAnd
or import ./zip-int-bits.nix
(a: b: if a==1 && b==1 then 1 else 0);
or (import ./zip-int-bits.nix
(a: b: if a==1 && b==1 then 1 else 0));
/* bitwise or */
bitOr = builtins.bitOr
or import ./zip-int-bits.nix
(a: b: if a==1 || b==1 then 1 else 0);
or (import ./zip-int-bits.nix
(a: b: if a==1 || b==1 then 1 else 0));
/* bitwise xor */
bitXor = builtins.bitXor
or import ./zip-int-bits.nix
(a: b: if a!=b then 1 else 0);
or (import ./zip-int-bits.nix
(a: b: if a!=b then 1 else 0));
/* bitwise not */
bitNot = builtins.sub (-1);
/* Convert a boolean to a string.
Note that toString on a bool returns "1" and "".
This function uses the strings "true" and "false" to represent
boolean values. Calling `toString` on a bool instead returns "1"
and "" (sic!).
Type: boolToString :: bool -> string
*/
boolToString = b: if b then "true" else "false";
/* Merge two attribute sets shallowly, right side trumps left
mergeAttrs :: attrs -> attrs -> attrs
Example:
mergeAttrs { a = 1; b = 2; } { b = 3; c = 4; }
=> { a = 1; b = 3; c = 4; }
*/
mergeAttrs = x: y: x // y;
mergeAttrs =
# Left attribute set
x:
# Right attribute set (higher precedence for equal keys)
y: x // y;
/* Flip the order of the arguments of a binary function.
Type: flip :: (a -> b -> c) -> (b -> a -> c)
Example:
flip concat [1] [2]
=> [ 2 1 ]
*/
flip = f: a: b: f b a;
/* Apply function if argument is non-null.
/* Apply function if the supplied argument is non-null.
Example:
mapNullable (x: x+1) null
@@ -81,7 +108,11 @@ rec {
mapNullable (x: x+1) 22
=> 23
*/
mapNullable = f: a: if isNull a then a else f a;
mapNullable =
# Function to call
f:
# Argument to check for null before passing it to `f`
a: if isNull a then a else f a;
# Pull in some builtins not included elsewhere.
inherit (builtins)
@@ -92,29 +123,51 @@ rec {
## nixpks version strings
# The current full nixpkgs version number.
/* Returns the current full nixpkgs version number. */
version = release + versionSuffix;
# The current nixpkgs version number as string.
/* Returns the current nixpkgs release number as string. */
release = lib.strings.fileContents ../.version;
# The current nixpkgs version suffix as string.
/* Returns the current nixpkgs version suffix as string. */
versionSuffix =
let suffixFile = ../.version-suffix;
in if pathExists suffixFile
then lib.strings.fileContents suffixFile
else "pre-git";
/* Attempts to return the the current revision of nixpkgs and
returns the supplied default value otherwise.
Type: revisionWithDefault :: string -> string
*/
revisionWithDefault =
# Default value to return if revision can not be determined
default:
let
revisionFile = "${toString ./..}/.git-revision";
gitRepo = "${toString ./..}/.git";
in if lib.pathIsDirectory gitRepo
then lib.commitIdFromGitRepo gitRepo
else if lib.pathExists revisionFile then lib.fileContents revisionFile
else default;
nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
# Whether we're being called by nix-shell.
/* Determine whether the function is being called from inside a Nix
shell.
Type: inNixShell :: bool
*/
inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
## Integer operations
# Return minimum/maximum of two numbers.
/* Return minimum of two numbers. */
min = x: y: if x < y then x else y;
/* Return maximum of two numbers. */
max = x: y: if x > y then x else y;
/* Integer modulus
@@ -148,8 +201,9 @@ rec {
second subtype, compare elements of a single subtype with `yes`
and `no` respectively.
Example:
Type: (a -> bool) -> (a -> a -> int) -> (a -> a -> int) -> (a -> a -> int)
Example:
let cmp = splitByAndCompare (hasPrefix "foo") compare compare; in
cmp "a" "z" => -1
@@ -160,31 +214,44 @@ rec {
# while
compare "fooa" "a" => 1
*/
splitByAndCompare = p: yes: no: a: b:
splitByAndCompare =
# Predicate
p:
# Comparison function if predicate holds for both values
yes:
# Comparison function if predicate holds for neither value
no:
# First value to compare
a:
# Second value to compare
b:
if p a
then if p b then yes a b else -1
else if p b then 1 else no a b;
/* Reads a JSON file. */
/* Reads a JSON file.
Type :: path -> any
*/
importJSON = path:
builtins.fromJSON (builtins.readFile path);
## Warnings and asserts
/* See https://github.com/NixOS/nix/issues/749. Eventually we'd like these
to expand to Nix builtins that carry metadata so that Nix can filter out
the INFO messages without parsing the message string.
# See https://github.com/NixOS/nix/issues/749. Eventually we'd like these
# to expand to Nix builtins that carry metadata so that Nix can filter out
# the INFO messages without parsing the message string.
#
# Usage:
# {
# foo = lib.warn "foo is deprecated" oldFoo;
# }
#
# TODO: figure out a clever way to integrate location information from
# something like __unsafeGetAttrPos.
Usage:
{
foo = lib.warn "foo is deprecated" oldFoo;
}
TODO: figure out a clever way to integrate location information from
something like __unsafeGetAttrPos.
*/
warn = msg: builtins.trace "WARNING: ${msg}";
info = msg: builtins.trace "INFO: ${msg}";

View File

@@ -192,7 +192,10 @@ rec {
# separator between the values).
separatedString = sep: mkOptionType rec {
name = "separatedString";
description = "string";
description = if sep == ""
then "Concatenated string" # for types.string.
else "strings concatenated with ${builtins.toJSON sep}"
;
check = isString;
merge = loc: defs: concatStringsSep sep (getValues defs);
functor = (defaultFunctor name) // {

View File

@@ -18,6 +18,11 @@
for an example on how to work with this data.
*/
{
"1000101" = {
email = "jan.hrnko@satoshilabs.com";
github = "1000101";
name = "Jan Hrnko";
};
a1russell = {
email = "adamlr6+pub@gmail.com";
github = "a1russell";
@@ -3259,6 +3264,11 @@
github = "proglodyte";
name = "Proglodyte";
};
prusnak = {
email = "stick@gk2.sk";
github = "prusnak";
name = "Pavol Rusnak";
};
pshendry = {
email = "paul@pshendry.com";
github = "pshendry";
@@ -3888,6 +3898,11 @@
github = "StillerHarpo";
name = "Florian Engel";
};
stites = {
email = "sam@stites.io";
github = "stites";
name = "Sam Stites";
};
stumoss = {
email = "samoss@gmail.com";
github = "stumoss";

View File

@@ -4,7 +4,7 @@ all: manual-combined.xml format
.PHONY: debug
debug: generated manual-combined.xml
manual-combined.xml: generated *.xml
manual-combined.xml: generated *.xml **/*.xml
rm -f ./manual-combined.xml
nix-shell --packages xmloscopy \
--run "xmloscopy --docbook5 ./manual.xml ./manual-combined.xml"

View File

@@ -84,18 +84,17 @@ nixpkgs.config.packageOverrides = pkgs:
allowImportFromDerivation = true;
};
]]></screen>
You can edit the config with this snippet (by default <command>make menuconfig</command> won't work
out of the box on nixos):
<screen><![CDATA[
You can edit the config with this snippet (by default <command>make
menuconfig</command> won't work out of the box on nixos):
<screen><![CDATA[
nix-shell -E 'with import <nixpkgs> {}; kernelToOverride.overrideAttrs (o: {nativeBuildInputs=o.nativeBuildInputs ++ [ pkgconfig ncurses ];})'
]]></screen>
or you can let nixpkgs generate the configuration.
Nixpkgs generates it via answering the interactive kernel utility <command>make config</command>.
The answers depend on parameters passed to <filename>pkgs/os-specific/linux/kernel/generic.nix</filename>
(which you can influence by overriding <literal>extraConfig, autoModules, modDirVersion, preferBuiltin, extraConfig</literal>).
or you can let nixpkgs generate the configuration. Nixpkgs generates it via
answering the interactive kernel utility <command>make config</command>. The
answers depend on parameters passed to
<filename>pkgs/os-specific/linux/kernel/generic.nix</filename> (which you
can influence by overriding <literal>extraConfig, autoModules,
modDirVersion, preferBuiltin, extraConfig</literal>).
<screen><![CDATA[
mptcp93.override ({

View File

@@ -113,12 +113,10 @@ $ nixos-option <xref linkend="opt-boot.kernelModules"/>
[ "tun" "ipv6" "loop" <replaceable>...</replaceable> ]
</screen>
Interactive exploration of the configuration is possible using
<command
xlink:href="https://github.com/edolstra/nix-repl">nix-repl</command>,
a read-eval-print loop for Nix expressions. Its not installed by default;
run <literal>nix-env -i nix-repl</literal> to get it. A typical use:
<command>nix repl</command>, a read-eval-print loop for Nix expressions.
A typical use:
<screen>
$ nix-repl '&lt;nixpkgs/nixos>'
$ nix repl '&lt;nixpkgs/nixos>'
nix-repl> config.<xref linkend="opt-networking.hostName"/>
"mandark"

View File

@@ -90,7 +90,9 @@ let
fi
${buildPackages.libxslt.bin}/bin/xsltproc \
--stringparam revision '${revision}' \
-o $out ${./options-to-docbook.xsl} $optionsXML
-o intermediate.xml ${./options-to-docbook.xsl} $optionsXML
${buildPackages.libxslt.bin}/bin/xsltproc \
-o "$out" ${./postprocess-option-descriptions.xsl} intermediate.xml
'';
sources = lib.sourceFilesBySuffices ./. [".xml"];

View File

@@ -0,0 +1,37 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-debugging-nixos-tests">
<title>Debugging NixOS tests</title>
<para>
Tests may fail and infrastructure offers access to inspect machine state.
</para>
<para>
To prevent test from stopping and cleaning up, insert a sleep command:
</para>
<programlisting>
$machine->succeed("sleep 84000");
</programlisting>
<para>
As soon as machine starts run as root:
</para>
<programlisting>
nix-shell -p socat --run "socat STDIO,raw,echo=0,escape=0x11 UNIX:/tmp/nix-build-vm-test-run-*.drv-0/vm-state-machine/backdoor"
</programlisting>
<para>
You may need to find the correct path, replacing <literal>/tmp</literal>,
<literal>*</literal> or <literal>machine</literal>.
</para>
<para>
Press "enter" to open up console and login as "root". After you're done,
press "ctrl-q" to exit the console.
</para>
</section>

View File

@@ -16,4 +16,5 @@ xlink:href="https://github.com/NixOS/nixpkgs/tree/master/nixos/tests">nixos/test
<xi:include href="writing-nixos-tests.xml" />
<xi:include href="running-nixos-tests.xml" />
<xi:include href="running-nixos-tests-interactively.xml" />
<xi:include href="debugging-nixos-tests.xml" />
</chapter>

View File

@@ -5,28 +5,29 @@
xml:id="sec-installing-behind-proxy">
<title>Installing behind a proxy</title>
<para>
<para>
To install NixOS behind a proxy, do the following before running
<literal>nixos-install</literal>.
</para>
<orderedlist numeration="arabic">
</para>
<orderedlist numeration="arabic">
<listitem>
<para>
Update proxy configuration in
<literal>/mnt/etc/nixos/configuration.nix</literal> to keep the
internet accessible after reboot.
</para>
<programlisting>
<para>
Update proxy configuration in
<literal>/mnt/etc/nixos/configuration.nix</literal> to keep the internet
accessible after reboot.
</para>
<programlisting>
networking.proxy.default = &quot;http://user:password@proxy:port/&quot;;
networking.proxy.noProxy = &quot;127.0.0.1,localhost,internal.domain&quot;;
</programlisting>
</listitem>
<listitem>
<para>
Setup the proxy environment variables in the shell where you are
running <literal>nixos-install</literal>.
</para>
<programlisting>
<para>
Setup the proxy environment variables in the shell where you are running
<literal>nixos-install</literal>.
</para>
<programlisting>
# proxy_url=&quot;http://user:password@proxy:port/&quot;
# export http_proxy=&quot;$proxy_url&quot;
# export HTTP_PROXY=&quot;$proxy_url&quot;
@@ -34,14 +35,14 @@ networking.proxy.noProxy = &quot;127.0.0.1,localhost,internal.domain&quot;;
# export HTTPS_PROXY=&quot;$proxy_url&quot;
</programlisting>
</listitem>
</orderedlist>
</orderedlist>
<note>
<para>
If you are switching networks with different proxy configurations, use the
<literal>nesting.clone</literal> option in
<literal>configuration.nix</literal> to switch proxies at runtime.
Refer to <xref linkend="ch-options" /> for more information.
</para>
</note>
<note>
<para>
If you are switching networks with different proxy configurations, use the
<literal>nesting.clone</literal> option in
<literal>configuration.nix</literal> to switch proxies at runtime. Refer to
<xref linkend="ch-options" /> for more information.
</para>
</note>
</section>

View File

@@ -9,13 +9,12 @@
For systems without CD drive, the NixOS live CD can be booted from a USB
stick. You can use the <command>dd</command> utility to write the image:
<command>dd if=<replaceable>path-to-image</replaceable>
of=<replaceable>/dev/sdb</replaceable></command>. Be careful about specifying
of=<replaceable>/dev/sdX</replaceable></command>. Be careful about specifying
the correct drive; you can use the <command>lsblk</command> command to get a
list of block devices.
</para>
<para>
On macOS:
<note>
<title>On macOS</title>
<para>
<programlisting>
$ diskutil list
[..]
@@ -26,43 +25,16 @@ $ diskutil unmountDisk diskN
Unmount of all volumes on diskN was successful
$ sudo dd bs=1m if=nix.iso of=/dev/rdiskN
</programlisting>
Using the 'raw' <command>rdiskN</command> device instead of
<command>diskN</command> completes in minutes instead of hours. After
<command>dd</command> completes, a GUI dialog "The disk you inserted was not
readable by this computer" will pop up, which can be ignored.
Using the 'raw' <command>rdiskN</command> device instead of
<command>diskN</command> completes in minutes instead of hours. After
<command>dd</command> completes, a GUI dialog "The disk you inserted was
not readable by this computer" will pop up, which can be ignored.
</para>
</note>
</para>
<para>
The <command>dd</command> utility will write the image verbatim to the drive,
making it the recommended option for both UEFI and non-UEFI installations.
For non-UEFI installations, you can alternatively use
<link xlink:href="http://unetbootin.sourceforge.net/">unetbootin</link>. If
you cannot use <command>dd</command> for a UEFI installation, you can also
mount the ISO, copy its contents verbatim to your drive, then either:
<itemizedlist>
<listitem>
<para>
Change the label of the disk partition to the label of the ISO (visible
with the blkid command), or
</para>
</listitem>
<listitem>
<para>
Edit <filename>loader/entries/nixos-livecd.conf</filename> on the drive
and change the <literal>root=</literal> field in the
<literal>options</literal> line to point to your drive (see the
documentation on <literal>root=</literal> in
<link xlink:href="https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt">
the kernel documentation</link> for more details).
</para>
</listitem>
<listitem>
<para>
If you want to load the contents of the ISO to ram after bootin (So you
can remove the stick after bootup) you can append the parameter
<literal>copytoram</literal> to the <literal>options</literal> field.
</para>
</listitem>
</itemizedlist>
</para>
</section>

View File

@@ -4,60 +4,46 @@
version="5.0"
xml:id="sec-installation">
<title>Installing NixOS</title>
<para>
NixOS can be installed on BIOS or UEFI systems. The procedure for a UEFI
installation is by and large the same as a BIOS installation. The differences
are mentioned in the steps that follow.
</para>
<orderedlist>
<listitem>
<para>
Boot from the CD.
</para>
<variablelist>
<varlistentry>
<term>
UEFI systems
</term>
<listitem>
<para>
You should boot the live CD in UEFI mode (consult your specific
hardware's documentation for instructions). You may find the
<link xlink:href="http://www.rodsbooks.com/refind">rEFInd boot
manager</link> useful.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
<listitem>
<para>
The CD contains a basic NixOS installation. (It also contains Memtest86+,
useful if you want to test new hardware). When its finished booting, it
should have detected most of your hardware.
</para>
</listitem>
<listitem>
<para>
The NixOS manual is available on virtual console 8 (press Alt+F8 to access)
or by running <command>nixos-help</command>.
</para>
</listitem>
<listitem>
<para>
You get logged in as <literal>root</literal> (with empty password).
</para>
</listitem>
<listitem>
<para>
If you downloaded the graphical ISO image, you can run <command>systemctl
start display-manager</command> to start KDE. If you want to continue on
the terminal, you can use <command>loadkeys</command> to switch to your
preferred keyboard layout. (We even provide neo2 via <command>loadkeys de
neo</command>!)
</para>
</listitem>
<listitem>
<section xml:id="sec-installation-booting">
<title>Booting the system</title>
<para>
NixOS can be installed on BIOS or UEFI systems. The procedure for a UEFI
installation is by and large the same as a BIOS installation. The
differences are mentioned in the steps that follow.
</para>
<para>
The installation media can be burned to a CD, or now more commonly, "burned"
to a USB drive (see <xref linkend="sec-booting-from-usb"/>).
</para>
<para>
The installation media contains a basic NixOS installation. When its
finished booting, it should have detected most of your hardware.
</para>
<para>
The NixOS manual is available on virtual console 8 (press Alt+F8 to access)
or by running <command>nixos-help</command>.
</para>
<para>
You are logged-in automatically as <literal>root</literal>. (The
<literal>root</literal> user account has an empty password.)
</para>
<para>
If you downloaded the graphical ISO image, you can run <command>systemctl
start display-manager</command> to start KDE. If you want to continue on the
terminal, you can use <command>loadkeys</command> to switch to your
preferred keyboard layout. (We even provide neo2 via <command>loadkeys de
neo</command>!)
</para>
<section xml:id="sec-installation-booting-networking">
<title>Networking in the installer</title>
<para>
The boot process should have brought up networking (check <command>ip
a</command>). Networking is necessary for the installer, since it will
@@ -65,58 +51,165 @@
binaries). Its best if you have a DHCP server on your network. Otherwise
configure networking manually using <command>ifconfig</command>.
</para>
<para>
To manually configure the network on the graphical installer, first disable
network-manager with <command>systemctl stop network-manager</command>.
</para>
<para>
To manually configure the wifi on the minimal installer, run
<command>wpa_supplicant -B -i interface -c &lt;(wpa_passphrase 'SSID'
'key')</command>.
</para>
</listitem>
<listitem>
<para>
If you would like to continue the installation from a different machine you
need to activate the SSH daemon via <literal>systemctl start
sshd</literal>. In order to be able to login you also need to set a
password for <literal>root</literal> using <literal>passwd</literal>.
</para>
</listitem>
<listitem>
</section>
</section>
<section xml:id="sec-installation-partitioning">
<title>Partitioning and formatting</title>
<para>
The NixOS installer doesnt do any partitioning or formatting, so you need
to do that yourself.
</para>
<para>
The NixOS installer ships with multiple partitioning tools. The examples
below use <command>parted</command>, but also provides
<command>fdisk</command>, <command>gdisk</command>,
<command>cfdisk</command>, and <command>cgdisk</command>.
</para>
<para>
The recommended partition scheme differs depending if the computer uses
<emphasis>Legacy Boot</emphasis> or <emphasis>UEFI</emphasis>.
</para>
<section xml:id="sec-installation-partitioning-UEFI">
<title>UEFI (GPT)</title>
<para>
The NixOS installer doesnt do any partitioning or formatting yet, so you
need to do that yourself. Use the following commands:
<itemizedlist>
Here's an example partition scheme for UEFI, using
<filename>/dev/sda</filename> as the device.
<note>
<para>
You can safely ignore <command>parted</command>'s informational message
about needing to update /etc/fstab.
</para>
</note>
</para>
<para>
<orderedlist>
<listitem>
<para>
For partitioning: <command>fdisk</command>.
<screen>
# fdisk /dev/sda # <lineannotation>(or whatever device you want to install on)</lineannotation>
-- for UEFI systems only
> n # <lineannotation>(create a new partition for /boot)</lineannotation>
> 3 # <lineannotation>(make it a partition number 3)</lineannotation>
> # <lineannotation>(press enter to accept the default)</lineannotation>
> +512M # <lineannotation>(the size of the UEFI boot partition)</lineannotation>
> t # <lineannotation>(change the partition type ...)</lineannotation>
> 3 # <lineannotation>(... of the boot partition ...)</lineannotation>
> 1 # <lineannotation>(... to 'UEFI System')</lineannotation>
-- for BIOS or UEFI systems
> n # <lineannotation>(create a new partition for /swap)</lineannotation>
> 2 # <lineannotation>(make it a partition number 2)</lineannotation>
> # <lineannotation>(press enter to accept the default)</lineannotation>
> +8G # <lineannotation>(the size of the swap partition, set to whatever you like)</lineannotation>
> n # <lineannotation>(create a new partition for /)</lineannotation>
> 1 # <lineannotation>(make it a partition number 1)</lineannotation>
> # <lineannotation>(press enter to accept the default)</lineannotation>
> # <lineannotation>(press enter to accept the default and use the rest of the remaining space)</lineannotation>
> a # <lineannotation>(make the partition bootable)</lineannotation>
> x # <lineannotation>(enter expert mode)</lineannotation>
> f # <lineannotation>(fix up the partition ordering)</lineannotation>
> r # <lineannotation>(exit expert mode)</lineannotation>
> w # <lineannotation>(write the partition table to disk and exit)</lineannotation></screen>
Create a <emphasis>GPT</emphasis> partition table.
<screen language="commands"># parted /dev/sda -- mklabel gpt</screen>
</para>
</listitem>
<listitem>
<para>
Add the <emphasis>root</emphasis> partition. This will fill the disk
except for the end part, where the swap will live, and the space left in
front (512MiB) which will be used by the boot partition.
<screen language="commands"># parted /dev/sda -- mkpart primary 512MiB -8GiB</screen>
</para>
</listitem>
<listitem>
<para>
Next, add a <emphasis>swap</emphasis> partition. The size required will
vary according to needs, here a 8GiB one is created.
<screen language="commands"># parted /dev/sda -- mkpart primary linux-swap -8GiB 100%</screen>
<note>
<para>
The swap partition size rules are no different than for other Linux
distributions.
</para>
</note>
</para>
</listitem>
<listitem>
<para>
Finally, the <emphasis>boot</emphasis> partition. NixOS by default uses
the ESP (EFI system partition) as its <emphasis>/boot</emphasis>
partition. It uses the initially reserved 512MiB at the start of the
disk.
<screen language="commands"># parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
# parted /dev/sda -- set 3 boot on</screen>
</para>
</listitem>
</orderedlist>
</para>
<para>
Once complete, you can follow with
<xref linkend="sec-installation-partitioning-formatting"/>.
</para>
</section>
<section xml:id="sec-installation-partitioning-MBR">
<title>Legacy Boot (MBR)</title>
<para>
Here's an example partition scheme for Legacy Boot, using
<filename>/dev/sda</filename> as the device.
<note>
<para>
You can safely ignore <command>parted</command>'s informational message
about needing to update /etc/fstab.
</para>
</note>
</para>
<para>
<orderedlist>
<listitem>
<para>
Create a <emphasis>MBR</emphasis> partition table.
<screen language="commands"># parted /dev/sda -- mklabel msdos</screen>
</para>
</listitem>
<listitem>
<para>
Add the <emphasis>root</emphasis> partition. This will fill the the disk
except for the end part, where the swap will live.
<screen language="commands"># parted /dev/sda -- mkpart primary 1MiB -8GiB</screen>
</para>
</listitem>
<listitem>
<para>
Finally, add a <emphasis>swap</emphasis> partition. The size required
will vary according to needs, here a 8GiB one is created.
<screen language="commands"># parted /dev/sda -- mkpart primary linux-swap -8GiB 100%</screen>
<note>
<para>
The swap partition size rules are no different than for other Linux
distributions.
</para>
</note>
</para>
</listitem>
</orderedlist>
</para>
<para>
Once complete, you can follow with
<xref linkend="sec-installation-partitioning-formatting"/>.
</para>
</section>
<section xml:id="sec-installation-partitioning-formatting">
<title>Formatting</title>
<para>
Use the following commands:
<itemizedlist>
<listitem>
<para>
For initialising Ext4 partitions: <command>mkfs.ext4</command>. It is
@@ -169,242 +262,249 @@
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
Mount the target file system on which NixOS should be installed on
<filename>/mnt</filename>, e.g.
</section>
</section>
<section xml:id="sec-installation-installing">
<title>Installing</title>
<orderedlist>
<listitem>
<para>
Mount the target file system on which NixOS should be installed on
<filename>/mnt</filename>, e.g.
<screen>
# mount /dev/disk/by-label/nixos /mnt
</screen>
</para>
</listitem>
<listitem>
<variablelist>
<varlistentry>
<term>
UEFI systems
</term>
<listitem>
<para>
Mount the boot file system on <filename>/mnt/boot</filename>, e.g.
</para>
</listitem>
<listitem>
<variablelist>
<varlistentry>
<term>
UEFI systems
</term>
<listitem>
<para>
Mount the boot file system on <filename>/mnt/boot</filename>, e.g.
<screen>
# mkdir -p /mnt/boot
# mount /dev/disk/by-label/boot /mnt/boot
</screen>
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
<listitem>
<para>
If your machine has a limited amount of memory, you may want to activate
swap devices now (<command>swapon
<replaceable>device</replaceable></command>). The installer (or rather, the
build actions that it may spawn) may need quite a bit of RAM, depending on
your configuration.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
<listitem>
<para>
If your machine has a limited amount of memory, you may want to activate
swap devices now (<command>swapon
<replaceable>device</replaceable></command>). The installer (or rather,
the build actions that it may spawn) may need quite a bit of RAM,
depending on your configuration.
<screen>
# swapon /dev/sda2</screen>
</para>
</listitem>
<listitem>
<para>
You now need to create a file
<filename>/mnt/etc/nixos/configuration.nix</filename> that specifies the
intended configuration of the system. This is because NixOS has a
<emphasis>declarative</emphasis> configuration model: you create or edit a
description of the desired configuration of your system, and then NixOS
takes care of making it happen. The syntax of the NixOS configuration file
is described in <xref linkend="sec-configuration-syntax"/>, while a list of
available configuration options appears in
<xref
</para>
</listitem>
<listitem>
<para>
You now need to create a file
<filename>/mnt/etc/nixos/configuration.nix</filename> that specifies the
intended configuration of the system. This is because NixOS has a
<emphasis>declarative</emphasis> configuration model: you create or edit a
description of the desired configuration of your system, and then NixOS
takes care of making it happen. The syntax of the NixOS configuration file
is described in <xref linkend="sec-configuration-syntax"/>, while a list
of available configuration options appears in
<xref
linkend="ch-options"/>. A minimal example is shown in
<xref
<xref
linkend="ex-config"/>.
</para>
<para>
The command <command>nixos-generate-config</command> can generate an
initial configuration file for you:
</para>
<para>
The command <command>nixos-generate-config</command> can generate an
initial configuration file for you:
<screen>
# nixos-generate-config --root /mnt</screen>
You should then edit <filename>/mnt/etc/nixos/configuration.nix</filename>
to suit your needs:
You should then edit <filename>/mnt/etc/nixos/configuration.nix</filename>
to suit your needs:
<screen>
# nano /mnt/etc/nixos/configuration.nix
</screen>
If youre using the graphical ISO image, other editors may be available
(such as <command>vim</command>). If you have network access, you can also
install other editors — for instance, you can install Emacs by running
<literal>nix-env -i emacs</literal>.
</para>
<variablelist>
<varlistentry>
<term>
BIOS systems
</term>
<listitem>
<para>
You <emphasis>must</emphasis> set the option
<xref linkend="opt-boot.loader.grub.device"/> to specify on which disk
the GRUB boot loader is to be installed. Without it, NixOS cannot boot.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
UEFI systems
</term>
<listitem>
<para>
You <emphasis>must</emphasis> set the option
<xref linkend="opt-boot.loader.systemd-boot.enable"/> to
<literal>true</literal>. <command>nixos-generate-config</command> should
do this automatically for new configurations when booted in UEFI mode.
</para>
<para>
You may want to look at the options starting with
<option><link linkend="opt-boot.loader.efi.canTouchEfiVariables">boot.loader.efi</link></option>
and
<option><link linkend="opt-boot.loader.systemd-boot.enable">boot.loader.systemd</link></option>
as well.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
If there are other operating systems running on the machine before
installing NixOS, the <xref linkend="opt-boot.loader.grub.useOSProber"/>
option can be set to <literal>true</literal> to automatically add them to
the grub menu.
</para>
<para>
Another critical option is <option>fileSystems</option>, specifying the
file systems that need to be mounted by NixOS. However, you typically
dont need to set it yourself, because
<command>nixos-generate-config</command> sets it automatically in
<filename>/mnt/etc/nixos/hardware-configuration.nix</filename> from your
currently mounted file systems. (The configuration file
<filename>hardware-configuration.nix</filename> is included from
<filename>configuration.nix</filename> and will be overwritten by future
invocations of <command>nixos-generate-config</command>; thus, you
generally should not modify it.)
</para>
<note>
<para>
Depending on your hardware configuration or type of file system, you may
need to set the option <option>boot.initrd.kernelModules</option> to
include the kernel modules that are necessary for mounting the root file
system, otherwise the installed system will not be able to boot. (If this
happens, boot from the CD again, mount the target file system on
<filename>/mnt</filename>, fix
<filename>/mnt/etc/nixos/configuration.nix</filename> and rerun
<filename>nixos-install</filename>.) In most cases,
<command>nixos-generate-config</command> will figure out the required
modules.
If youre using the graphical ISO image, other editors may be available
(such as <command>vim</command>). If you have network access, you can also
install other editors — for instance, you can install Emacs by running
<literal>nix-env -i emacs</literal>.
</para>
</note>
</listitem>
<listitem>
<para>
Do the installation:
<variablelist>
<varlistentry>
<term>
BIOS systems
</term>
<listitem>
<para>
You <emphasis>must</emphasis> set the option
<xref linkend="opt-boot.loader.grub.device"/> to specify on which disk
the GRUB boot loader is to be installed. Without it, NixOS cannot boot.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
UEFI systems
</term>
<listitem>
<para>
You <emphasis>must</emphasis> set the option
<xref linkend="opt-boot.loader.systemd-boot.enable"/> to
<literal>true</literal>. <command>nixos-generate-config</command>
should do this automatically for new configurations when booted in UEFI
mode.
</para>
<para>
You may want to look at the options starting with
<option><link linkend="opt-boot.loader.efi.canTouchEfiVariables">boot.loader.efi</link></option>
and
<option><link linkend="opt-boot.loader.systemd-boot.enable">boot.loader.systemd</link></option>
as well.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
If there are other operating systems running on the machine before
installing NixOS, the <xref linkend="opt-boot.loader.grub.useOSProber"/>
option can be set to <literal>true</literal> to automatically add them to
the grub menu.
</para>
<para>
Another critical option is <option>fileSystems</option>, specifying the
file systems that need to be mounted by NixOS. However, you typically
dont need to set it yourself, because
<command>nixos-generate-config</command> sets it automatically in
<filename>/mnt/etc/nixos/hardware-configuration.nix</filename> from your
currently mounted file systems. (The configuration file
<filename>hardware-configuration.nix</filename> is included from
<filename>configuration.nix</filename> and will be overwritten by future
invocations of <command>nixos-generate-config</command>; thus, you
generally should not modify it.)
</para>
<note>
<para>
Depending on your hardware configuration or type of file system, you may
need to set the option <option>boot.initrd.kernelModules</option> to
include the kernel modules that are necessary for mounting the root file
system, otherwise the installed system will not be able to boot. (If this
happens, boot from the installation media again, mount the target file
system on <filename>/mnt</filename>, fix
<filename>/mnt/etc/nixos/configuration.nix</filename> and rerun
<filename>nixos-install</filename>.) In most cases,
<command>nixos-generate-config</command> will figure out the required
modules.
</para>
</note>
</listitem>
<listitem>
<para>
Do the installation:
<screen>
# nixos-install</screen>
Cross fingers. If this fails due to a temporary problem (such as a network
issue while downloading binaries from the NixOS binary cache), you can just
re-run <command>nixos-install</command>. Otherwise, fix your
<filename>configuration.nix</filename> and then re-run
<command>nixos-install</command>.
</para>
<para>
As the last step, <command>nixos-install</command> will ask you to set the
password for the <literal>root</literal> user, e.g.
Cross fingers. If this fails due to a temporary problem (such as a network
issue while downloading binaries from the NixOS binary cache), you can
just re-run <command>nixos-install</command>. Otherwise, fix your
<filename>configuration.nix</filename> and then re-run
<command>nixos-install</command>.
</para>
<para>
As the last step, <command>nixos-install</command> will ask you to set the
password for the <literal>root</literal> user, e.g.
<screen>
setting root password...
Enter new UNIX password: ***
Retype new UNIX password: ***
</screen>
<note>
<para>
For unattended installations, it is possible to use
<command>nixos-install --no-root-passwd</command>
in order to disable the password prompt entirely.
</para>
</note>
</para>
</listitem>
<listitem>
<para>
If everything went well:
Retype new UNIX password: ***</screen>
<note>
<para>
For unattended installations, it is possible to use
<command>nixos-install --no-root-passwd</command> in order to disable
the password prompt entirely.
</para>
</note>
</para>
</listitem>
<listitem>
<para>
If everything went well:
<screen>
# reboot</screen>
</para>
</listitem>
<listitem>
<para>
You should now be able to boot into the installed NixOS. The GRUB boot menu
shows a list of <emphasis>available configurations</emphasis> (initially
just one). Every time you change the NixOS configuration (see
<link
# reboot</screen>
</para>
</listitem>
<listitem>
<para>
You should now be able to boot into the installed NixOS. The GRUB boot
menu shows a list of <emphasis>available configurations</emphasis>
(initially just one). Every time you change the NixOS configuration (see
<link
linkend="sec-changing-config">Changing Configuration</link>
), a new item is added to the menu. This allows you to easily roll back to
a previous configuration if something goes wrong.
</para>
<para>
You should log in and change the <literal>root</literal> password with
<command>passwd</command>.
</para>
<para>
Youll probably want to create some user accounts as well, which can be
done with <command>useradd</command>:
), a new item is added to the menu. This allows you to easily roll back to
a previous configuration if something goes wrong.
</para>
<para>
You should log in and change the <literal>root</literal> password with
<command>passwd</command>.
</para>
<para>
Youll probably want to create some user accounts as well, which can be
done with <command>useradd</command>:
<screen>
$ useradd -c 'Eelco Dolstra' -m eelco
$ passwd eelco</screen>
</para>
<para>
You may also want to install some software. For instance,
</para>
<para>
You may also want to install some software. For instance,
<screen>
$ nix-env -qa \*</screen>
shows what packages are available, and
shows what packages are available, and
<screen>
$ nix-env -i w3m</screen>
install the <literal>w3m</literal> browser.
</para>
</listitem>
</orderedlist>
<para>
To summarise, <xref linkend="ex-install-sequence" /> shows a typical sequence
of commands for installing NixOS on an empty hard drive (here
<filename>/dev/sda</filename>). <xref linkend="ex-config"
install the <literal>w3m</literal> browser.
</para>
</listitem>
</orderedlist>
</section>
<section xml:id="sec-installation-summary">
<title>Installation summary</title>
<para>
To summarise, <xref linkend="ex-install-sequence" /> shows a typical
sequence of commands for installing NixOS on an empty hard drive (here
<filename>/dev/sda</filename>). <xref linkend="ex-config"
/> shows a
corresponding configuration Nix expression.
</para>
<example xml:id='ex-install-sequence'>
<title>Commands for Installing NixOS on <filename>/dev/sda</filename></title>
<screen>
# fdisk /dev/sda # <lineannotation>(or whatever device you want to install on)</lineannotation>
-- for UEFI systems only
> n # <lineannotation>(create a new partition for /boot)</lineannotation>
> 3 # <lineannotation>(make it a partition number 3)</lineannotation>
> # <lineannotation>(press enter to accept the default)</lineannotation>
> +512M # <lineannotation>(the size of the UEFI boot partition)</lineannotation>
> t # <lineannotation>(change the partition type ...)</lineannotation>
> 3 # <lineannotation>(... of the boot partition ...)</lineannotation>
> 1 # <lineannotation>(... to 'UEFI System')</lineannotation>
-- for BIOS or UEFI systems
> n # <lineannotation>(create a new partition for /swap)</lineannotation>
> 2 # <lineannotation>(make it a partition number 2)</lineannotation>
> # <lineannotation>(press enter to accept the default)</lineannotation>
> +8G # <lineannotation>(the size of the swap partition)</lineannotation>
> n # <lineannotation>(create a new partition for /)</lineannotation>
> 1 # <lineannotation>(make it a partition number 1)</lineannotation>
> # <lineannotation>(press enter to accept the default)</lineannotation>
> # <lineannotation>(press enter to accept the default and use the rest of the remaining space)</lineannotation>
> a # <lineannotation>(make the partition bootable)</lineannotation>
> x # <lineannotation>(enter expert mode)</lineannotation>
> f # <lineannotation>(fix up the partition ordering)</lineannotation>
> r # <lineannotation>(exit expert mode)</lineannotation>
> w # <lineannotation>(write the partition table to disk and exit)</lineannotation>
corresponding configuration Nix expression.
</para>
<example xml:id="ex-partition-scheme-MBR">
<title>Example partition schemes for NixOS on <filename>/dev/sda</filename> (MBR)</title>
<screen language="commands">
# parted /dev/sda -- mklabel msdos
# parted /dev/sda -- mkpart primary 1MiB -8GiB
# parted /dev/sda -- mkpart primary linux-swap -8GiB 100%</screen>
</example>
<example xml:id="ex-partition-scheme-UEFI">
<title>Example partition schemes for NixOS on <filename>/dev/sda</filename> (UEFI)</title>
<screen language="commands">
# parted /dev/sda -- mklabel gpt
# parted /dev/sda -- mkpart primary 512MiB -8GiB
# parted /dev/sda -- mkpart primary linux-swap -8GiB 100%
# parted /dev/sda -- mkpart ESP fat32 1MiB 512MiB
# parted /dev/sda -- set 3 boot on</screen>
</example>
<example xml:id="ex-install-sequence">
<title>Commands for Installing NixOS on <filename>/dev/sda</filename></title>
<para>
With a partitioned disk.
<screen language="commands">
# mkfs.ext4 -L nixos /dev/sda1
# mkswap -L swap /dev/sda2
# swapon /dev/sda2
@@ -416,9 +516,11 @@ $ nix-env -i w3m</screen>
# nano /mnt/etc/nixos/configuration.nix
# nixos-install
# reboot</screen>
</example>
<example xml:id='ex-config'>
<title>NixOS Configuration</title>
</para>
</example>
<example xml:id='ex-config'>
<title>NixOS Configuration</title>
<screen>
{ config, pkgs, ... }: {
imports = [
@@ -438,10 +540,19 @@ $ nix-env -i w3m</screen>
services.sshd.enable = true;
}
</screen>
</example>
<xi:include href="installing-usb.xml" />
<xi:include href="installing-pxe.xml" />
<xi:include href="installing-virtualbox-guest.xml" />
<xi:include href="installing-from-other-distro.xml" />
<xi:include href="installing-behind-a-proxy.xml" />
</example>
</section>
<section xml:id="sec-installation-additional-notes">
<title>Additional installation notes</title>
<xi:include href="installing-usb.xml" />
<xi:include href="installing-pxe.xml" />
<xi:include href="installing-virtualbox-guest.xml" />
<xi:include href="installing-from-other-distro.xml" />
<xi:include href="installing-behind-a-proxy.xml" />
</section>
</chapter>

View File

@@ -52,10 +52,13 @@
</listitem>
</itemizedlist>
To see what channels are available, go to
<link
xlink:href="https://nixos.org/channels"/>. (Note that the URIs of the
<link xlink:href="https://nixos.org/channels"/>. (Note that the URIs of the
various channels redirect to a directory that contains the channels latest
version and includes ISO images and VirtualBox appliances.)
version and includes ISO images and VirtualBox appliances.) Please note that
during the release process, channels that are not yet released will be
present here as well. See the Getting NixOS page
<link xlink:href="https://nixos.org/nixos/download.html"/> to find the newest
supported stable release.
</para>
<para>
When you first install NixOS, youre automatically subscribed to the NixOS

View File

@@ -17,8 +17,8 @@
<para>
If you encounter problems, please report them on the
<literal
xlink:href="https://discourse.nixos.org">Discourse</literal>
or on the <link
xlink:href="https://discourse.nixos.org">Discourse</literal> or
on the <link
xlink:href="irc://irc.freenode.net/#nixos">
<literal>#nixos</literal> channel on Freenode</link>. Bugs should be
reported in

View File

@@ -4,6 +4,7 @@
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:str="http://exslt.org/strings"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:nixos="tag:nixos.org"
xmlns="http://docbook.org/ns/docbook"
extension-element-prefixes="str"
>
@@ -30,10 +31,12 @@
<listitem>
<para>
<xsl:value-of disable-output-escaping="yes"
select="attr[@name = 'description']/string/@value" />
</para>
<nixos:option-description>
<para>
<xsl:value-of disable-output-escaping="yes"
select="attr[@name = 'description']/string/@value" />
</para>
</nixos:option-description>
<xsl:if test="attr[@name = 'type']">
<para>

View File

@@ -0,0 +1,115 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:str="http://exslt.org/strings"
xmlns:exsl="http://exslt.org/common"
xmlns:db="http://docbook.org/ns/docbook"
xmlns:nixos="tag:nixos.org"
extension-element-prefixes="str exsl">
<xsl:output method='xml' encoding="UTF-8" />
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:template name="break-up-description">
<xsl:param name="input" />
<xsl:param name="buffer" />
<!-- Every time we have two newlines following each other, we want to
break it into </para><para>. -->
<xsl:variable name="parbreak" select="'&#xa;&#xa;'" />
<!-- Similar to "(head:tail) = input" in Haskell. -->
<xsl:variable name="head" select="$input[1]" />
<xsl:variable name="tail" select="$input[position() &gt; 1]" />
<xsl:choose>
<xsl:when test="$head/self::text() and contains($head, $parbreak)">
<!-- If the haystack provided to str:split() directly starts or
ends with $parbreak, it doesn't generate a <token/> for that,
so we are doing this here. -->
<xsl:variable name="splitted-raw">
<xsl:if test="starts-with($head, $parbreak)"><token /></xsl:if>
<xsl:for-each select="str:split($head, $parbreak)">
<token><xsl:value-of select="node()" /></token>
</xsl:for-each>
<!-- Something like ends-with($head, $parbreak), but there is
no ends-with() in XSLT, so we need to use substring(). -->
<xsl:if test="
substring($head, string-length($head) -
string-length($parbreak) + 1) = $parbreak
"><token /></xsl:if>
</xsl:variable>
<xsl:variable name="splitted"
select="exsl:node-set($splitted-raw)/token" />
<!-- The buffer we had so far didn't contain any text nodes that
contain a $parbreak, so we can put the buffer along with the
first token of $splitted into a para element. -->
<para xmlns="http://docbook.org/ns/docbook">
<xsl:apply-templates select="exsl:node-set($buffer)" />
<xsl:apply-templates select="$splitted[1]/node()" />
</para>
<!-- We have already emitted the first splitted result, so the
last result is going to be set as the new $buffer later
because its contents may not be directly followed up by a
$parbreak. -->
<xsl:for-each select="$splitted[position() &gt; 1
and position() &lt; last()]">
<para xmlns="http://docbook.org/ns/docbook">
<xsl:apply-templates select="node()" />
</para>
</xsl:for-each>
<xsl:call-template name="break-up-description">
<xsl:with-param name="input" select="$tail" />
<xsl:with-param name="buffer" select="$splitted[last()]/node()" />
</xsl:call-template>
</xsl:when>
<!-- Either non-text node or one without $parbreak, which we just
want to buffer and continue recursing. -->
<xsl:when test="$input">
<xsl:call-template name="break-up-description">
<xsl:with-param name="input" select="$tail" />
<!-- This essentially appends $head to $buffer. -->
<xsl:with-param name="buffer">
<xsl:if test="$buffer">
<xsl:for-each select="exsl:node-set($buffer)">
<xsl:apply-templates select="." />
</xsl:for-each>
</xsl:if>
<xsl:apply-templates select="$head" />
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<!-- No more $input, just put the remaining $buffer in a para. -->
<xsl:otherwise>
<para xmlns="http://docbook.org/ns/docbook">
<xsl:apply-templates select="exsl:node-set($buffer)" />
</para>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="nixos:option-description">
<xsl:choose>
<!--
Only process nodes that are comprised of a single <para/> element,
because if that's not the case the description already contains
</para><para> in between and we need no further processing.
-->
<xsl:when test="count(db:para) > 1">
<xsl:apply-templates select="node()" />
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="break-up-description">
<xsl:with-param name="input"
select="exsl:node-set(db:para/node())" />
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -435,11 +435,11 @@ system.autoUpgrade.enable = true;
<programlisting>
system.stateVersion = "14.12";
</programlisting>
The new option <option>system.stateVersion</option> ensures that
certain configuration changes that could break existing systems (such as
the <command>sshd</command> host key setting) will maintain compatibility
with the specified NixOS release. NixOps sets the state version of
existing deployments automatically.
The new option <option>system.stateVersion</option> ensures that certain
configuration changes that could break existing systems (such as the
<command>sshd</command> host key setting) will maintain compatibility with
the specified NixOS release. NixOps sets the state version of existing
deployments automatically.
</para>
</listitem>
<listitem>

View File

@@ -3,7 +3,7 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-release-18.09">
<title>Release 18.09 (“Jellyfish”, 2018/09/??)</title>
<title>Release 18.09 (“Jellyfish”, 2018/10/05)</title>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
@@ -14,18 +14,56 @@
<para>
In addition to numerous new and upgraded packages, this release has the
following highlights:
following notable updates:
</para>
<itemizedlist>
<listitem>
<para>
Support for wrapping binaries using <literal>firejail</literal> has been
added through <varname>programs.firejail.wrappedBinaries</varname>.
</para>
<para>
For example
</para>
<para>
End of support is planned for end of April 2019, handing over to 19.03.
</para>
</listitem>
<listitem>
<para>
Platform support: x86_64-linux and x86_64-darwin as always. Support for
aarch64-linux is as with the previous releases, not equivalent to the
x86-64-linux release, but with efforts to reach parity.
</para>
</listitem>
<listitem>
<para>
Nix has been updated to 2.1; see its
<link xlink:href="https://nixos.org/nix/manual/#ssec-relnotes-2.1">release
notes</link>.
</para>
</listitem>
<listitem>
<para>
Core versions: linux: 4.14 LTS (unchanged), glibc: 2.26 → 2.27, gcc: 7
(unchanged), systemd: 237 → 239.
</para>
</listitem>
<listitem>
<para>
Desktop version changes: gnome: 3.26 → 3.28, (KDE) plasma-desktop: 5.12
→ 5.13.
</para>
</listitem>
</itemizedlist>
<para>
Notable changes and additions for 18.09 include:
</para>
<itemizedlist>
<listitem>
<para>
Support for wrapping binaries using <literal>firejail</literal> has been
added through <varname>programs.firejail.wrappedBinaries</varname>.
</para>
<para>
For example
</para>
<programlisting>
programs.firejail = {
enable = true;
@@ -35,9 +73,10 @@ programs.firejail = {
};
};
</programlisting>
<para>
This will place <literal>firefox</literal> and <literal>mpv</literal> binaries in the global path wrapped by firejail.
</para>
<para>
This will place <literal>firefox</literal> and <literal>mpv</literal>
binaries in the global path wrapped by firejail.
</para>
</listitem>
<listitem>
<para>
@@ -69,52 +108,355 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
<title>New Services</title>
<para>
The following new services were added since the last release:
A curated selection of new services that were added since the last release:
</para>
<itemizedlist>
<listitem>
<para>
The <varname>services.cassandra</varname> module has been reworked and
was rewritten from scratch. The service has succeeding tests for
the versions 2.1, 2.2, 3.0 and 3.11 of <link
xlink:href="https://cassandra.apache.org/">Apache Cassandra</link>.
The <varname>services.cassandra</varname> module has been reworked and was
rewritten from scratch. The service has succeeding tests for the versions
2.1, 2.2, 3.0 and 3.11 of
<link
xlink:href="https://cassandra.apache.org/">Apache
Cassandra</link>.
</para>
</listitem>
<listitem>
<para>
There is a new <varname>services.foundationdb</varname> module for deploying
<link xlink:href="https://www.foundationdb.org">FoundationDB</link> clusters.
There is a new <varname>services.foundationdb</varname> module for
deploying
<link xlink:href="https://www.foundationdb.org">FoundationDB</link>
clusters.
</para>
</listitem>
<listitem>
<para>
When enabled the <literal>iproute2</literal> will copy the files expected
by ip route (e.g., <filename>rt_tables</filename>) in
<filename>/run/iproute2</filename>. This allows to write aliases for
<filename>/etc/iproute2</filename>. This allows to write aliases for
routing tables for instance.
</para>
</listitem>
<listitem>
<para>
<varname>services.strongswan-swanctl</varname>
is a modern replacement for <varname>services.strongswan</varname>.
You can use either one of them to setup IPsec VPNs but not both at the same time.
<varname>services.strongswan-swanctl</varname> is a modern replacement for
<varname>services.strongswan</varname>. You can use either one of them to
setup IPsec VPNs but not both at the same time.
</para>
<para>
<varname>services.strongswan-swanctl</varname> uses the
<link xlink:href="https://wiki.strongswan.org/projects/strongswan/wiki/swanctl">swanctl</link>
command which uses the modern
<link xlink:href="https://github.com/strongswan/strongswan/blob/master/src/libcharon/plugins/vici/README.md">vici</link>
<emphasis>Versatile IKE Configuration Interface</emphasis>.
The deprecated <literal>ipsec</literal> command used in <varname>services.strongswan</varname> is using the legacy
<link xlink:href="https://github.com/strongswan/strongswan/blob/master/README_LEGACY.md">stroke configuration interface</link>.
<varname>services.strongswan-swanctl</varname> uses the
<link xlink:href="https://wiki.strongswan.org/projects/strongswan/wiki/swanctl">swanctl</link>
command which uses the modern
<link xlink:href="https://github.com/strongswan/strongswan/blob/master/src/libcharon/plugins/vici/README.md">vici</link>
<emphasis>Versatile IKE Configuration Interface</emphasis>. The deprecated
<literal>ipsec</literal> command used in
<varname>services.strongswan</varname> is using the legacy
<link xlink:href="https://github.com/strongswan/strongswan/blob/master/README_LEGACY.md">stroke
configuration interface</link>.
</para>
</listitem>
<listitem>
<para>
The new <varname>services.elasticsearch-curator</varname> service
periodically curates or manages, your Elasticsearch indices and snapshots.
The new <varname>services.elasticsearch-curator</varname> service
periodically curates or manages, your Elasticsearch indices and snapshots.
</para>
</listitem>
</itemizedlist>
<para>
Every new services:
</para>
<itemizedlist>
<listitem>
<para>
<literal>./config/xdg/autostart.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./config/xdg/icons.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./config/xdg/menus.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./config/xdg/mime.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./hardware/brightnessctl.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./hardware/onlykey.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./hardware/video/uvcvideo/default.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./misc/documentation.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./programs/firejail.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./programs/iftop.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./programs/sedutil.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./programs/singularity.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./programs/xss-lock.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./programs/zsh/zsh-autosuggestions.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/admin/oxidized.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/backup/duplicati.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/backup/restic.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/backup/restic-rest-server.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/cluster/hadoop/default.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/databases/aerospike.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/databases/monetdb.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/desktops/bamf.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/desktops/flatpak.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/desktops/zeitgeist.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/development/bloop.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/development/jupyter/default.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/hardware/lcd.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/hardware/undervolt.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/misc/clipmenu.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/misc/gitweb.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/misc/serviio.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/misc/safeeyes.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/misc/sysprof.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/misc/weechat.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/monitoring/datadog-agent.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/monitoring/incron.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/dnsdist.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/freeradius.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/hans.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/morty.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/ndppd.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/ocserv.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/owamp.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/quagga.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/shadowsocks.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/stubby.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/networking/zeronet.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/security/certmgr.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/security/cfssl.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/security/oauth2_proxy_nginx.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/web-apps/virtlyst.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/web-apps/youtrack.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/web-servers/hitch/default.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/web-servers/hydron.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/web-servers/meguca.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./services/web-servers/nginx/gitweb.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./virtualisation/kvmgt.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>./virtualisation/qemu-guest-agent.nix</literal>
</para>
</listitem>
</itemizedlist>
@@ -135,8 +477,50 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
<itemizedlist>
<listitem>
<para>
The deprecated <varname>services.cassandra</varname> module has
seen a complete rewrite. (See above.)
Some licenses that were incorrectly not marked as unfree now are. This is
the case for:
<itemizedlist>
<listitem>
<para>
cc-by-nc-sa-20: Creative Commons Attribution Non Commercial Share Alike
2.0
</para>
</listitem>
<listitem>
<para>
cc-by-nc-sa-25: Creative Commons Attribution Non Commercial Share Alike
2.5
</para>
</listitem>
<listitem>
<para>
cc-by-nc-sa-30: Creative Commons Attribution Non Commercial Share Alike
3.0
</para>
</listitem>
<listitem>
<para>
cc-by-nc-sa-40: Creative Commons Attribution Non Commercial Share Alike
4.0
</para>
</listitem>
<listitem>
<para>
cc-by-nd-30: Creative Commons Attribution-No Derivative Works v3.00
</para>
</listitem>
<listitem>
<para>
msrla: Microsoft Research License Agreement
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
<para>
The deprecated <varname>services.cassandra</varname> module has seen a
complete rewrite. (See above.)
</para>
</listitem>
<listitem>
@@ -186,41 +570,44 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
</listitem>
<listitem>
<para>
<varname>services.munge</varname> now runs as user (and group) <literal>munge</literal> instead of root.
Make sure the key file is accessible to the daemon.
<varname>services.munge</varname> now runs as user (and group)
<literal>munge</literal> instead of root. Make sure the key file is
accessible to the daemon.
</para>
</listitem>
<listitem>
<para>
<varname>dockerTools.buildImage</varname> now uses <literal>null</literal> as default value for <varname>tag</varname>,
which indicates that the nix output hash will be used as tag.
<varname>dockerTools.buildImage</varname> now uses <literal>null</literal>
as default value for <varname>tag</varname>, which indicates that the nix
output hash will be used as tag.
</para>
</listitem>
<listitem>
<para>
The ELK stack: <varname>elasticsearch</varname>, <varname>logstash</varname> and <varname>kibana</varname>
has been upgraded from 2.* to 6.3.*.
The 2.* versions have been <link xlink:href="https://www.elastic.co/support/eol">unsupported since last year</link>
so they have been removed. You can still use the 5.* versions under the names
<varname>elasticsearch5</varname>, <varname>logstash5</varname> and
<varname>kibana5</varname>.
The ELK stack: <varname>elasticsearch</varname>,
<varname>logstash</varname> and <varname>kibana</varname> has been
upgraded from 2.* to 6.3.*. The 2.* versions have been
<link xlink:href="https://www.elastic.co/support/eol">unsupported since
last year</link> so they have been removed. You can still use the 5.*
versions under the names <varname>elasticsearch5</varname>,
<varname>logstash5</varname> and <varname>kibana5</varname>.
</para>
<para>
The elastic beats:
<varname>filebeat</varname>, <varname>heartbeat</varname>,
<varname>metricbeat</varname> and <varname>packetbeat</varname>
have had the same treatment: they now target 6.3.* as well.
The 5.* versions are available under the names:
The elastic beats: <varname>filebeat</varname>,
<varname>heartbeat</varname>, <varname>metricbeat</varname> and
<varname>packetbeat</varname> have had the same treatment: they now target
6.3.* as well. The 5.* versions are available under the names:
<varname>filebeat5</varname>, <varname>heartbeat5</varname>,
<varname>metricbeat5</varname> and <varname>packetbeat5</varname>
</para>
<para>
The ELK-6.3 stack now comes with
<link xlink:href="https://www.elastic.co/products/x-pack/open">X-Pack by default</link>.
Since X-Pack is licensed under the
<link xlink:href="https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE.txt">Elastic License</link>
the ELK packages now have an unfree license. To use them you need to specify
<literal>allowUnfree = true;</literal> in your nixpkgs configuration.
<link xlink:href="https://www.elastic.co/products/x-pack/open">X-Pack by
default</link>. Since X-Pack is licensed under the
<link xlink:href="https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE.txt">Elastic
License</link> the ELK packages now have an unfree license. To use them
you need to specify <literal>allowUnfree = true;</literal> in your nixpkgs
configuration.
</para>
<para>
Fortunately there is also a free variant of the ELK stack without X-Pack.
@@ -231,20 +618,28 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
</listitem>
<listitem>
<para>
Options
<literal>boot.initrd.luks.devices.<replaceable>name</replaceable>.yubikey.ramfsMountPoint</literal>
<literal>boot.initrd.luks.devices.<replaceable>name</replaceable>.yubikey.storage.mountPoint</literal>
were removed. <literal>luksroot.nix</literal> module never supported more than one YubiKey at
a time anyway, hence those options never had any effect. You should be able to remove them
from your config without any issues.
Options
<literal>boot.initrd.luks.devices.<replaceable>name</replaceable>.yubikey.ramfsMountPoint</literal>
<literal>boot.initrd.luks.devices.<replaceable>name</replaceable>.yubikey.storage.mountPoint</literal>
were removed. <literal>luksroot.nix</literal> module never supported more
than one YubiKey at a time anyway, hence those options never had any
effect. You should be able to remove them from your config without any
issues.
</para>
</listitem>
<listitem>
<para>
<literal>stdenv.system</literal> and <literal>system</literal> in nixpkgs now refer to the host platform instead of the build platform.
For native builds this is not change, let alone a breaking one.
For cross builds, it is a breaking change, and <literal>stdenv.buildPlatform.system</literal> can be used instead for the old behavior.
They should be using that anyways for clarity.
<literal>stdenv.system</literal> and <literal>system</literal> in nixpkgs
now refer to the host platform instead of the build platform. For native
builds this is not change, let alone a breaking one. For cross builds, it
is a breaking change, and <literal>stdenv.buildPlatform.system</literal>
can be used instead for the old behavior. They should be using that
anyways for clarity.
</para>
</listitem>
<listitem>
<para>
Groups <literal>kvm</literal> and <literal>render</literal> are introduced now, as systemd requires them.
</para>
</listitem>
</itemizedlist>
@@ -298,26 +693,33 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
</listitem>
<listitem>
<para>
The <literal>pkgs</literal> argument to NixOS modules can now be set directly using <literal>nixpkgs.pkgs</literal>. Previously, only the <literal>system</literal>, <literal>config</literal> and <literal>overlays</literal> arguments could be used to influence <literal>pkgs</literal>.
The <literal>pkgs</literal> argument to NixOS modules can now be set
directly using <literal>nixpkgs.pkgs</literal>. Previously, only the
<literal>system</literal>, <literal>config</literal> and
<literal>overlays</literal> arguments could be used to influence
<literal>pkgs</literal>.
</para>
</listitem>
<listitem>
<para>
A NixOS system can now be constructed more easily based on a preexisting invocation of Nixpkgs. For example:
<programlisting>
A NixOS system can now be constructed more easily based on a preexisting
invocation of Nixpkgs. For example:
<programlisting>
inherit (pkgs.nixos {
boot.loader.grub.enable = false;
fileSystems."/".device = "/dev/xvda1";
}) toplevel kernel initialRamdisk manual;
</programlisting>
This benefits evaluation performance, lets you write Nixpkgs packages that depend on NixOS images and is consistent with a deployment architecture that would be centered around Nixpkgs overlays.
This benefits evaluation performance, lets you write Nixpkgs packages that
depend on NixOS images and is consistent with a deployment architecture
that would be centered around Nixpkgs overlays.
</para>
</listitem>
<listitem>
<para>
<literal>lib.traceValIfNot</literal> has been deprecated. Use
<literal>if/then/else</literal> and <literal>lib.traceValSeq</literal> instead.
<literal>lib.traceValIfNot</literal> has been deprecated. Use
<literal>if/then/else</literal> and <literal>lib.traceValSeq</literal>
instead.
</para>
</listitem>
<listitem>
@@ -336,9 +738,9 @@ inherit (pkgs.nixos {
</listitem>
<listitem>
<para>
<literal>lib.recursiveUpdateUntil</literal> was not acting according to its
specification. It has been fixed to act according to the docstring, and a
test has been added.
<literal>lib.recursiveUpdateUntil</literal> was not acting according to
its specification. It has been fixed to act according to the docstring,
and a test has been added.
</para>
</listitem>
<listitem>
@@ -408,11 +810,11 @@ inherit (pkgs.nixos {
</para>
</listitem>
<listitem>
<para>
The Kubernetes package has been bumped to major version 1.11.
Please consult the
<link xlink:href="https://github.com/kubernetes/kubernetes/blob/release-1.11/CHANGELOG-1.11.md">release notes</link>
for details on new features and api changes.
<para>
The Kubernetes package has been bumped to major version 1.11. Please
consult the
<link xlink:href="https://github.com/kubernetes/kubernetes/blob/release-1.11/CHANGELOG-1.11.md">release
notes</link> for details on new features and api changes.
</para>
</listitem>
<listitem>
@@ -432,8 +834,8 @@ inherit (pkgs.nixos {
</listitem>
<listitem>
<para>
The option <varname>services.kubernetes.apiserver.address</varname>
was renamed to <varname>services.kubernetes.apiserver.bindAddress</varname>.
The option <varname>services.kubernetes.apiserver.address</varname> was
renamed to <varname>services.kubernetes.apiserver.bindAddress</varname>.
Note that the default value has changed from 127.0.0.1 to 0.0.0.0.
</para>
</listitem>
@@ -445,76 +847,86 @@ inherit (pkgs.nixos {
</listitem>
<listitem>
<para>
The option <varname>services.kubernetes.addons.dashboard.enableRBAC</varname>
was renamed to <varname>services.kubernetes.addons.dashboard.rbac.enable</varname>.
The option
<varname>services.kubernetes.addons.dashboard.enableRBAC</varname> was
renamed to
<varname>services.kubernetes.addons.dashboard.rbac.enable</varname>.
</para>
</listitem>
<listitem>
<para>
The Kubernetes Dashboard now has only minimal RBAC permissions by default.
If dashboard cluster-admin rights are desired,
set <varname>services.kubernetes.addons.dashboard.rbac.clusterAdmin</varname> to true.
On existing clusters, in order for the revocation of privileges to take effect,
the current ClusterRoleBinding for kubernetes-dashboard must be manually removed:
<literal>kubectl delete clusterrolebinding kubernetes-dashboard</literal>
If dashboard cluster-admin rights are desired, set
<varname>services.kubernetes.addons.dashboard.rbac.clusterAdmin</varname>
to true. On existing clusters, in order for the revocation of privileges
to take effect, the current ClusterRoleBinding for kubernetes-dashboard
must be manually removed: <literal>kubectl delete clusterrolebinding
kubernetes-dashboard</literal>
</para>
</listitem>
<listitem>
<para>
The <varname>programs.screen</varname> module provides allows to configure
<literal>/etc/screenrc</literal>, however the module behaved fairly counterintuitive as
the config exists, but the package wasn't available. Since 18.09 <literal>pkgs.screen</literal>
will be added to <literal>environment.systemPackages</literal>.
<literal>/etc/screenrc</literal>, however the module behaved fairly
counterintuitive as the config exists, but the package wasn't available.
Since 18.09 <literal>pkgs.screen</literal> will be added to
<literal>environment.systemPackages</literal>.
</para>
</listitem>
<listitem>
<para>
The module <option>services.networking.hostapd</option> now uses WPA2 by default.
The module <option>services.networking.hostapd</option> now uses WPA2 by
default.
</para>
</listitem>
<listitem>
<para>
<varname>s6Dns</varname>, <varname>s6Networking</varname>,
<varname>s6LinuxUtils</varname> and <varname>s6PortableUtils</varname>
renamed to
<varname>s6-dns</varname>, <varname>s6-networking</varname>,
<varname>s6-linux-utils</varname> and <varname>s6-portable-utils</varname> respectively.
<varname>s6Dns</varname>, <varname>s6Networking</varname>,
<varname>s6LinuxUtils</varname> and <varname>s6PortableUtils</varname>
renamed to <varname>s6-dns</varname>, <varname>s6-networking</varname>,
<varname>s6-linux-utils</varname> and <varname>s6-portable-utils</varname>
respectively.
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
The module option <option>nix.useSandbox</option> is now defaulted to <literal>true</literal>.
The module option <option>nix.useSandbox</option> is now defaulted to
<literal>true</literal>.
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
The config activation script of <literal>nixos-rebuild</literal> now
<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemctl.html#Manager%20Lifecycle%20Commands">reloads</link>
all user units for each authenticated user.
The config activation script of <literal>nixos-rebuild</literal> now
<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemctl.html#Manager%20Lifecycle%20Commands">reloads</link>
all user units for each authenticated user.
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
The default display manager is now LightDM.
To use SLiM set <literal>services.xserver.displayManager.slim.enable</literal>
to <literal>true</literal>.
The default display manager is now LightDM. To use SLiM set
<literal>services.xserver.displayManager.slim.enable</literal> to
<literal>true</literal>.
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
NixOS option descriptions are now automatically broken up into individual
paragraphs if the text contains two consecutive newlines, so it's no
longer necessary to use <code>&lt;/para&gt;&lt;para&gt;</code> to start
a new paragraph.
NixOS option descriptions are now automatically broken up into individual
paragraphs if the text contains two consecutive newlines, so it's no
longer necessary to use <code>&lt;/para&gt;&lt;para&gt;</code> to start a
new paragraph.
</para>
</listitem>
<listitem>
</listitem>
<listitem>
<para>
Top-level <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and <literal>targetPlatform</literal> in Nixpkgs are deprecated.
Please use their equivalents in <literal>stdenv</literal> instead:
<literal>stdenv.buildPlatform</literal>, <literal>stdenv.hostPlatform</literal>, and <literal>stdenv.targetPlatform</literal>.
Top-level <literal>buildPlatform</literal>,
<literal>hostPlatform</literal>, and <literal>targetPlatform</literal> in
Nixpkgs are deprecated. Please use their equivalents in
<literal>stdenv</literal> instead:
<literal>stdenv.buildPlatform</literal>,
<literal>stdenv.hostPlatform</literal>, and
<literal>stdenv.targetPlatform</literal>.
</para>
</listitem>
</listitem>
</itemizedlist>
</section>
</section>

View File

@@ -94,5 +94,24 @@ pkgs.stdenv.mkDerivation {
cat errorlog
return 1
fi
(
# Resizes **snugly** to its actual limits (or closer to)
free=$(dumpe2fs $out | grep '^Free blocks:')
blocksize=$(dumpe2fs $out | grep '^Block size:')
blocks=$(dumpe2fs $out | grep '^Block count:')
blocks=$((''${blocks##*:})) # format the number.
blocksize=$((''${blocksize##*:})) # format the number.
# System can't boot with 0 blocks free.
# Add 16MiB of free space
fudge=$(( 16 * 1024 * 1024 / blocksize ))
size=$(( blocks - ''${free##*:} + fudge ))
echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)"
EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size
)
# And a final fsck, because of the previous truncating.
fsck.ext4 -n -f $out
'';
}

View File

@@ -155,8 +155,10 @@ sub start {
$ENV{USE_TMPDIR} = 1;
$ENV{QEMU_OPTS} =
($self->{allowReboot} ? "" : "-no-reboot ") .
"-monitor unix:./monitor -chardev socket,id=shell,path=./shell " .
"-device virtio-serial -device virtconsole,chardev=shell " .
"-monitor unix:./monitor " .
"-chardev socket,id=shell,path=./shell -device virtio-serial -device virtconsole,chardev=shell " .
# socket backdoor, see "Debugging NixOS tests" section in NixOS manual
"-chardev socket,id=backdoor,path=./backdoor,server,nowait -device virtio-serial -device virtconsole,chardev=backdoor " .
"-device virtio-rng-pci " .
($showGraphics ? "-serial stdio" : "-nographic") . " " . ($ENV{QEMU_OPTS} || "");
chdir $self->{stateDir} or die;

View File

@@ -269,7 +269,7 @@ in
};
config = mkIf (config.fonts.fontconfig.enable && cfg.enable) {
config = mkIf (config.fonts.fontconfig.enable && config.fonts.fontconfig.penultimate.enable) {
fonts.fontconfig.confPackages = [ penultimateConf ];

View File

@@ -4,20 +4,29 @@ with lib;
let
cfg = config.networking.iproute2;
confDir = "/run/iproute2";
in
{
options.networking.iproute2.enable = mkEnableOption "copy IP route configuration files";
config = mkMerge [
({ nixpkgs.config.iproute2.confDir = confDir; })
(mkIf cfg.enable {
system.activationScripts.iproute2 = ''
cp -R ${pkgs.iproute}/etc/iproute2 ${confDir}
chmod -R 664 ${confDir}
chmod +x ${confDir}
options.networking.iproute2 = {
enable = mkEnableOption "copy IP route configuration files";
rttablesExtraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Verbatim lines to add to /etc/iproute2/rt_tables
'';
})
];
};
};
config = mkIf cfg.enable {
environment.etc."iproute2/bpf_pinning" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/bpf_pinning"; };
environment.etc."iproute2/ematch_map" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/ematch_map"; };
environment.etc."iproute2/group" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/group"; };
environment.etc."iproute2/nl_protos" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/nl_protos"; };
environment.etc."iproute2/rt_dsfield" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_dsfield"; };
environment.etc."iproute2/rt_protos" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_protos"; };
environment.etc."iproute2/rt_realms" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_realms"; };
environment.etc."iproute2/rt_scopes" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_scopes"; };
environment.etc."iproute2/rt_tables" = { mode = "0644"; text = (fileContents "${pkgs.iproute}/etc/iproute2/rt_tables")
+ (optionalString (cfg.rttablesExtraConfig != "") "\n\n${cfg.rttablesExtraConfig}"); };
};
}

View File

@@ -233,6 +233,10 @@ in
# a collision with an apparently unrelated environment
# variable with the same name exported by dhcpcd.
interface_order='lo lo[0-9]*'
'' + optionalString config.services.nscd.enable ''
# Invalidate the nscd cache whenever resolv.conf is
# regenerated.
libc_restart='${pkgs.systemd}/bin/systemctl try-restart --no-block nscd.service 2> /dev/null'
'' + optionalString (length resolvconfOptions > 0) ''
# Options as described in resolv.conf(5)
resolv_conf_options='${concatStringsSep " " resolvconfOptions}'

View File

@@ -163,15 +163,24 @@ in
/bin/sh
'';
# For resetting environment with `. /etc/set-environment` when needed
# and discoverability (see motivation of #30418).
environment.etc."set-environment".source = config.system.build.setEnvironment;
system.build.setEnvironment = pkgs.writeText "set-environment"
''
${exportedEnvVars}
''
# DO NOT EDIT -- this file has been generated automatically.
${cfg.extraInit}
# Prevent this file from being sourced by child shells.
export __NIXOS_SET_ENVIRONMENT_DONE=1
# ~/bin if it exists overrides other bin directories.
export PATH="$HOME/bin:$PATH"
'';
${exportedEnvVars}
${cfg.extraInit}
# ~/bin if it exists overrides other bin directories.
export PATH="$HOME/bin:$PATH"
'';
system.activationScripts.binsh = stringAfter [ "stdio" ]
''

View File

@@ -23,7 +23,7 @@ with lib;
];
environment.extraSetup = ''
if [ -w $out/share/mime ]; then
if [ -w $out/share/mime ] && [ -d $out/share/mime/packages ]; then
XDG_DATA_DIRS=$out/share ${pkgs.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null
fi

View File

@@ -26,25 +26,135 @@ let
nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
enabled = nvidia_x11 != null;
cfg = config.hardware.nvidia;
optimusCfg = cfg.optimus_prime;
in
{
options = {
hardware.nvidia.modesetting.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable kernel modesetting when using the NVIDIA proprietary driver.
Enabling this fixes screen tearing when using Optimus via PRIME (see
<option>hardware.nvidia.optimus_prime.enable</option>. This is not enabled
by default because it is not officially supported by NVIDIA and would not
work with SLI.
'';
};
hardware.nvidia.optimus_prime.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME.
If enabled, the NVIDIA GPU will be always on and used for all rendering,
while enabling output to displays attached only to the integrated Intel GPU
without a multiplexer.
Note that this option only has any effect if the "nvidia" driver is specified
in <option>services.xserver.videoDrivers</option>, and it should preferably
be the only driver there.
If this is enabled, then the bus IDs of the NVIDIA and Intel GPUs have to be
specified (<option>hardware.nvidia.optimus_prime.nvidiaBusId</option> and
<option>hardware.nvidia.optimus_prime.intelBusId</option>).
If you enable this, you may want to also enable kernel modesetting for the
NVIDIA driver (<option>hardware.nvidia.modesetting.enable</option>) in order
to prevent tearing.
Note that this configuration will only be successful when a display manager
for which the <option>services.xserver.displayManager.setupCommands</option>
option is supported is used; notably, SLiM is not supported.
'';
};
hardware.nvidia.optimus_prime.nvidiaBusId = lib.mkOption {
type = lib.types.string;
default = "";
example = "PCI:1:0:0";
description = ''
Bus ID of the NVIDIA GPU. You can find it using lspci; for example if lspci
shows the NVIDIA GPU at "01:00.0", set this option to "PCI:1:0:0".
'';
};
hardware.nvidia.optimus_prime.intelBusId = lib.mkOption {
type = lib.types.string;
default = "";
example = "PCI:0:2:0";
description = ''
Bus ID of the Intel GPU. You can find it using lspci; for example if lspci
shows the Intel GPU at "00:02.0", set this option to "PCI:0:2:0".
'';
};
};
config = mkIf enabled {
assertions = [
{
assertion = config.services.xserver.displayManager.gdm.wayland;
assertion = with config.services.xserver.displayManager; gdm.enable -> !gdm.wayland;
message = "NVidia drivers don't support wayland";
}
{
assertion = !optimusCfg.enable ||
(optimusCfg.nvidiaBusId != "" && optimusCfg.intelBusId != "");
message = ''
When NVIDIA Optimus via PRIME is enabled, the GPU bus IDs must configured.
'';
}
];
services.xserver.drivers = singleton
{ name = "nvidia"; modules = [ nvidia_x11.bin ]; libPath = [ nvidia_x11 ]; };
# If Optimus/PRIME is enabled, we:
# - Specify the configured NVIDIA GPU bus ID in the Device section for the
# "nvidia" driver.
# - Add the AllowEmptyInitialConfiguration option to the Screen section for the
# "nvidia" driver, in order to allow the X server to start without any outputs.
# - Add a separate Device section for the Intel GPU, using the "modesetting"
# driver and with the configured BusID.
# - Reference that Device section from the ServerLayout section as an inactive
# device.
# - Configure the display manager to run specific `xrandr` commands which will
# configure/enable displays connected to the Intel GPU.
services.xserver.screenSection =
services.xserver.drivers = singleton {
name = "nvidia";
modules = [ nvidia_x11.bin ];
libPath = [ nvidia_x11 ];
deviceSection = optionalString optimusCfg.enable
''
BusID "${optimusCfg.nvidiaBusId}"
'';
screenSection =
''
Option "RandRRotation" "on"
${optionalString optimusCfg.enable "Option \"AllowEmptyInitialConfiguration\""}
'';
};
services.xserver.extraConfig = optionalString optimusCfg.enable
''
Option "RandRRotation" "on"
Section "Device"
Identifier "nvidia-optimus-intel"
Driver "modesetting"
BusID "${optimusCfg.intelBusId}"
Option "AccelMethod" "none"
EndSection
'';
services.xserver.serverLayoutSection = optionalString optimusCfg.enable
''
Inactive "nvidia-optimus-intel"
'';
services.xserver.displayManager.setupCommands = optionalString optimusCfg.enable ''
# Added by nvidia configuration module for Optimus/PRIME.
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource modesetting NVIDIA-0
${pkgs.xorg.xrandr}/bin/xrandr --auto
'';
environment.etc."nvidia/nvidia-application-profiles-rc" = mkIf nvidia_x11.useProfiles {
source = "${nvidia_x11.bin}/share/nvidia/nvidia-application-profiles-rc";
@@ -62,6 +172,8 @@ in
boot.kernelModules = [ "nvidia-uvm" ] ++
lib.optionals config.services.xserver.enable [ "nvidia" "nvidia_modeset" "nvidia_drm" ];
# If requested enable modesetting via kernel parameter.
boot.kernelParams = optional cfg.modesetting.enable "nvidia-drm.modeset=1";
# Create /dev/nvidia-uvm when the nvidia-uvm module is loaded.
services.udev.extraRules =

View File

@@ -3,32 +3,50 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-input-methods">
<title>Input Methods</title>
<para>
Input methods are an operating system component that allows any data, such as
keyboard strokes or mouse movements, to be received as input. In this way
users can enter characters and symbols not found on their input devices.
Using an input method is obligatory for any language that has more graphemes
than there are keys on the keyboard.
</para>
<para>
The following input methods are available in NixOS:
</para>
<itemizedlist>
<listitem>
<para>
IBus: The intelligent input bus.
</para>
</listitem>
<listitem>
<para>
Fcitx: A customizable lightweight input method.
</para>
</listitem>
<listitem>
<para>
Nabi: A Korean input method based on XIM.
</para>
</listitem>
<listitem>
<para>
Uim: The universal input method, is a library with a XIM bridge.
</para>
</listitem>
</itemizedlist>
<section xml:id="module-services-input-methods-ibus">
<title>IBus</title>
<title>Input Methods</title>
<para>
IBus is an Intelligent Input Bus. It provides full featured and user
friendly input method user interface.
</para>
<para>Input methods are an operating system component that allows any data, such
as keyboard strokes or mouse movements, to be received as input. In this way
users can enter characters and symbols not found on their input devices. Using
an input method is obligatory for any language that has more graphemes than
there are keys on the keyboard.</para>
<para>The following input methods are available in NixOS:</para>
<itemizedlist>
<listitem><para>IBus: The intelligent input bus.</para></listitem>
<listitem><para>Fcitx: A customizable lightweight input
method.</para></listitem>
<listitem><para>Nabi: A Korean input method based on XIM.</para></listitem>
<listitem><para>Uim: The universal input method, is a library with a XIM
bridge.</para></listitem>
</itemizedlist>
<section xml:id="module-services-input-methods-ibus"><title>IBus</title>
<para>IBus is an Intelligent Input Bus. It provides full featured and user
friendly input method user interface.</para>
<para>The following snippet can be used to configure IBus:</para>
<para>
The following snippet can be used to configure IBus:
</para>
<programlisting>
i18n.inputMethod = {
@@ -37,57 +55,89 @@ i18n.inputMethod = {
};
</programlisting>
<para><literal>i18n.inputMethod.ibus.engines</literal> is optional and can be
used to add extra IBus engines.</para>
<para>
<literal>i18n.inputMethod.ibus.engines</literal> is optional and can be used
to add extra IBus engines.
</para>
<para>Available extra IBus engines are:</para>
<para>
Available extra IBus engines are:
</para>
<itemizedlist>
<listitem><para>Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a
system for Japanese input method. It converts Hiragana text to Kana Kanji
mixed text.</para></listitem>
<listitem><para>Hangul (<literal>ibus-engines.hangul</literal>): Korean input
method.</para></listitem>
<listitem><para>m17n (<literal>ibus-engines.m17n</literal>): m17n is an input
method that uses input methods and corresponding icons in the m17n
database.</para></listitem>
<listitem><para>mozc (<literal>ibus-engines.mozc</literal>): A Japanese input
method from Google.</para></listitem>
<listitem><para>Table (<literal>ibus-engines.table</literal>): An input method
that load tables of input methods.</para></listitem>
<listitem><para>table-others (<literal>ibus-engines.table-others</literal>):
Various table-based input methods. To use this, and any other table-based
input methods, it must appear in the list of engines along with
<literal>table</literal>. For example:
<itemizedlist>
<listitem>
<para>
Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a system for
Japanese input method. It converts Hiragana text to Kana Kanji mixed text.
</para>
</listitem>
<listitem>
<para>
Hangul (<literal>ibus-engines.hangul</literal>): Korean input method.
</para>
</listitem>
<listitem>
<para>
m17n (<literal>ibus-engines.m17n</literal>): m17n is an input method that
uses input methods and corresponding icons in the m17n database.
</para>
</listitem>
<listitem>
<para>
mozc (<literal>ibus-engines.mozc</literal>): A Japanese input method from
Google.
</para>
</listitem>
<listitem>
<para>
Table (<literal>ibus-engines.table</literal>): An input method that load
tables of input methods.
</para>
</listitem>
<listitem>
<para>
table-others (<literal>ibus-engines.table-others</literal>): Various
table-based input methods. To use this, and any other table-based input
methods, it must appear in the list of engines along with
<literal>table</literal>. For example:
<programlisting>
ibus.engines = with pkgs.ibus-engines; [ table table-others ];
</programlisting>
</para></listitem>
</itemizedlist>
</para>
</listitem>
</itemizedlist>
<para>To use any input method, the package must be added in the configuration,
as shown above, and also (after running <literal>nixos-rebuild</literal>) the
input method must be added from IBus' preference dialog.</para>
<para>
To use any input method, the package must be added in the configuration, as
shown above, and also (after running <literal>nixos-rebuild</literal>) the
input method must be added from IBus' preference dialog.
</para>
<simplesect xml:id="module-services-input-methods-troubleshooting">
<title>Troubleshooting</title>
<para>If IBus works in some applications but not others, a likely cause of
this is that IBus is depending on a different version of
<literal>glib</literal> to what the applications are depending on. This can
be checked by running <literal>nix-store -q --requisites &lt;path&gt; | grep
glib</literal>, where <literal>&lt;path&gt;</literal> is the path of either
IBus or an application in the Nix store. The <literal>glib</literal>
packages must match exactly. If they do not, uninstalling and reinstalling
the application is a likely fix.</para>
</simplesect>
</section>
<simplesect xml:id="module-services-input-methods-troubleshooting">
<title>Troubleshooting</title>
<para>
If IBus works in some applications but not others, a likely cause of this
is that IBus is depending on a different version of <literal>glib</literal>
to what the applications are depending on. This can be checked by running
<literal>nix-store -q --requisites &lt;path&gt; | grep glib</literal>,
where <literal>&lt;path&gt;</literal> is the path of either IBus or an
application in the Nix store. The <literal>glib</literal> packages must
match exactly. If they do not, uninstalling and reinstalling the
application is a likely fix.
</para>
</simplesect>
</section>
<section xml:id="module-services-input-methods-fcitx">
<title>Fcitx</title>
<section xml:id="module-services-input-methods-fcitx"><title>Fcitx</title>
<para>
Fcitx is an input method framework with extension support. It has three
built-in Input Method Engine, Pinyin, QuWei and Table-based input methods.
</para>
<para>Fcitx is an input method framework with extension support. It has three
built-in Input Method Engine, Pinyin, QuWei and Table-based input
methods.</para>
<para>The following snippet can be used to configure Fcitx:</para>
<para>
The following snippet can be used to configure Fcitx:
</para>
<programlisting>
i18n.inputMethod = {
@@ -96,51 +146,89 @@ i18n.inputMethod = {
};
</programlisting>
<para><literal>i18n.inputMethod.fcitx.engines</literal> is optional and can be
used to add extra Fcitx engines.</para>
<para>
<literal>i18n.inputMethod.fcitx.engines</literal> is optional and can be
used to add extra Fcitx engines.
</para>
<para>Available extra Fcitx engines are:</para>
<para>
Available extra Fcitx engines are:
</para>
<itemizedlist>
<listitem><para>Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a
system for Japanese input method. It converts Hiragana text to Kana Kanji
mixed text.</para></listitem>
<listitem><para>Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is
an intelligent Zhuyin input method. It is one of the most popular input
methods among Traditional Chinese Unix users.</para></listitem>
<listitem><para>Hangul (<literal>fcitx-engines.hangul</literal>): Korean input
method.</para></listitem>
<listitem><para>Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese input
method.</para></listitem>
<listitem><para>m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input
method that uses input methods and corresponding icons in the m17n
database.</para></listitem>
<listitem><para>mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input
method from Google.</para></listitem>
<listitem><para>table-others (<literal>fcitx-engines.table-others</literal>):
Various table-based input methods.</para></listitem>
</itemizedlist>
</section>
<itemizedlist>
<listitem>
<para>
Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a system for
Japanese input method. It converts Hiragana text to Kana Kanji mixed text.
</para>
</listitem>
<listitem>
<para>
Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is an
intelligent Zhuyin input method. It is one of the most popular input
methods among Traditional Chinese Unix users.
</para>
</listitem>
<listitem>
<para>
Hangul (<literal>fcitx-engines.hangul</literal>): Korean input method.
</para>
</listitem>
<listitem>
<para>
Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese input method.
</para>
</listitem>
<listitem>
<para>
m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input method that
uses input methods and corresponding icons in the m17n database.
</para>
</listitem>
<listitem>
<para>
mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input method from
Google.
</para>
</listitem>
<listitem>
<para>
table-others (<literal>fcitx-engines.table-others</literal>): Various
table-based input methods.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="module-services-input-methods-nabi">
<title>Nabi</title>
<section xml:id="module-services-input-methods-nabi"><title>Nabi</title>
<para>
Nabi is an easy to use Korean X input method. It allows you to enter
phonetic Korean characters (hangul) and pictographic Korean characters
(hanja).
</para>
<para>Nabi is an easy to use Korean X input method. It allows you to enter
phonetic Korean characters (hangul) and pictographic Korean characters
(hanja).</para>
<para>The following snippet can be used to configure Nabi:</para>
<para>
The following snippet can be used to configure Nabi:
</para>
<programlisting>
i18n.inputMethod = {
<link linkend="opt-i18n.inputMethod.enabled">enabled</link> = "nabi";
};
</programlisting>
</section>
</section>
<section xml:id="module-services-input-methods-uim">
<title>Uim</title>
<section xml:id="module-services-input-methods-uim"><title>Uim</title>
<para>
Uim (short for "universal input method") is a multilingual input method
framework. Applications can use it through so-called bridges.
</para>
<para>Uim (short for "universal input method") is a multilingual input method
framework. Applications can use it through so-called bridges.</para>
<para>The following snippet can be used to configure uim:</para>
<para>
The following snippet can be used to configure uim:
</para>
<programlisting>
i18n.inputMethod = {
@@ -148,8 +236,9 @@ i18n.inputMethod = {
};
</programlisting>
<para>Note: The <xref linkend="opt-i18n.inputMethod.uim.toolbar"/> option can be
used to choose uim toolbar.</para>
</section>
<para>
Note: The <xref linkend="opt-i18n.inputMethod.uim.toolbar"/> option can be
used to choose uim toolbar.
</para>
</section>
</chapter>

View File

@@ -233,7 +233,7 @@ let
"
# Make our own efi program, we can't rely on "grub-install" since it seems to
# probe for devices, even with --skip-fs-probe.
${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/${if targetArch == "x64" then "bootx64" else "bootx32"}.efi -p /EFI/boot -O ${if targetArch == "x64" then "x86_64" else "i386"}-efi \
${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/${if targetArch == "x64" then "bootx64" else "bootia32"}.efi -p /EFI/boot -O ${if targetArch == "x64" then "x86_64" else "i386"}-efi \
$MODULES
cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/

View File

@@ -134,7 +134,9 @@ in
${config.sdImage.populateBootCommands}
# Copy the populated /boot into the SD image
(cd boot; mcopy -bpsvm -i ../bootpart.img ./* ::)
(cd boot; mcopy -psvm -i ../bootpart.img ./* ::)
# Verify the FAT partition before copying it.
fsck.vfat -vn bootpart.img
dd conv=notrunc if=bootpart.img of=$img seek=$START count=$SECTORS
'';
}) {};

View File

@@ -1,6 +1,6 @@
{
x86_64-linux = "/nix/store/0d60i73mcv8z1m8d2m74yfn84980gfsa-nix-2.0.4";
i686-linux = "/nix/store/6ssafj2s5a2g9x28yld7b70vwd6vw6lb-nix-2.0.4";
aarch64-linux = "/nix/store/3wwch7bp7n7xsl8apgy2a4b16yzyij1z-nix-2.0.4";
x86_64-darwin = "/nix/store/771l8i0mz4c8kry8cz3sz8rr3alalckg-nix-2.0.4";
x86_64-linux = "/nix/store/cdcia67siabmj6li7vyffgv2cry86fq8-nix-2.1.3";
i686-linux = "/nix/store/6q3xi6y5qnsv7d62b8n00hqfxi8rs2xs-nix-2.1.3";
aarch64-linux = "/nix/store/2v93d0vimlm28jg0ms6v1i6lc0fq13pn-nix-2.1.3";
x86_64-darwin = "/nix/store/dkjlfkrknmxbjmpfk3dg4q3nmb7m3zvk-nix-2.1.3";
}

View File

@@ -277,8 +277,7 @@ if ($virt eq "qemu" || $virt eq "kvm" || $virt eq "bochs") {
# Also for Hyper-V.
if ($virt eq "microsoft") {
push @initrdAvailableKernelModules, "hv_storvsc";
$videoDriver = "fbdev";
push @attrs, "virtualisation.hypervGuest.enable = true;"
}

View File

@@ -82,7 +82,7 @@ evalNix(){
set -e
if test $exit_code -eq 0; then
cat <<EOF
sed '/^warning: Nix search path/d' <<EOF
$result
EOF
return 0;
@@ -90,7 +90,7 @@ EOF
sed -n '
/^error/ { s/, at (string):[0-9]*:[0-9]*//; p; };
/^warning: Nix search path/ { p; };
' <<EOF
' >&2 <<EOF
$result
EOF
exit_code=1

View File

@@ -383,7 +383,7 @@
virtuoso = 44;
#rtkit = 45; # unused
dovecot2 = 46;
#dovenull = 47; # unused
dovenull2 = 47;
prayer = 49;
mpd = 50;
clamav = 51;

View File

@@ -5,7 +5,6 @@ with lib;
let
cfg = config.system.nixos;
revisionFile = "${toString pkgs.path}/.git-revision";
gitRepo = "${toString pkgs.path}/.git";
gitCommitId = lib.substring 0 7 (commitIdFromGitRepo gitRepo);
in
@@ -37,9 +36,7 @@ in
nixos.revision = mkOption {
internal = true;
type = types.str;
default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
else if pathExists revisionFile then fileContents revisionFile
else "master";
default = lib.trivial.revisionWithDefault "master";
description = "The Git revision from which this NixOS configuration was built.";
};
@@ -68,7 +65,7 @@ in
defaultChannel = mkOption {
internal = true;
type = types.str;
default = https://nixos.org/channels/nixos-unstable;
default = https://nixos.org/channels/nixos-18.09;
description = "Default NixOS channel to which the root user is subscribed.";
};

View File

@@ -406,6 +406,7 @@
./services/misc/taskserver
./services/misc/tzupdate.nix
./services/misc/uhub.nix
./services/misc/weechat.nix
./services/misc/xmr-stak.nix
./services/misc/zookeeper.nix
./services/monitoring/apcupsd.nix
@@ -678,6 +679,7 @@
./services/web-apps/atlassian/jira.nix
./services/web-apps/frab.nix
./services/web-apps/mattermost.nix
./services/web-apps/nextcloud.nix
./services/web-apps/nexus.nix
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/matomo.nix

View File

@@ -46,7 +46,7 @@
];
# Include support for various filesystems.
boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ];
# Configure host id for ZFS to work
networking.hostId = lib.mkDefault "8425e349";

View File

@@ -11,5 +11,5 @@
libinput.enable = true; # for touchpad support on many laptops
};
environment.systemPackages = [ pkgs.glxinfo ];
environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
}

View File

@@ -62,7 +62,7 @@ with lib;
# Tell the Nix evaluator to garbage collect more aggressively.
# This is desirable in memory-constrained environments that don't
# (yet) have swap set up.
environment.variables.GC_INITIAL_HEAP_SIZE = "100000";
environment.variables.GC_INITIAL_HEAP_SIZE = "1M";
# Make the installer more likely to succeed in low memory
# environments. The kernel's overcommit heustistics bite us

View File

@@ -126,7 +126,9 @@ in
programs.bash = {
shellInit = ''
${config.system.build.setEnvironment.text}
if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then
. ${config.system.build.setEnvironment}
fi
${cfge.shellInit}
'';
@@ -166,11 +168,11 @@ in
# Read system-wide modifications.
if test -f /etc/profile.local; then
. /etc/profile.local
. /etc/profile.local
fi
if [ -n "''${BASH_VERSION:-}" ]; then
. /etc/bashrc
. /etc/bashrc
fi
'';
@@ -191,12 +193,12 @@ in
# We are not always an interactive shell.
if [ -n "$PS1" ]; then
${cfg.interactiveShellInit}
${cfg.interactiveShellInit}
fi
# Read system-wide modifications.
if test -f /etc/bashrc.local; then
. /etc/bashrc.local
. /etc/bashrc.local
fi
'';

View File

@@ -3,75 +3,64 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-programs-digitalbitbox">
<title>Digital Bitbox</title>
<para>
Digital Bitbox is a hardware wallet and second-factor authenticator.
</para>
<para>
The <literal>digitalbitbox</literal> programs module may be
installed by setting <literal>programs.digitalbitbox</literal>
to <literal>true</literal> in a manner similar to
<title>Digital Bitbox</title>
<para>
Digital Bitbox is a hardware wallet and second-factor authenticator.
</para>
<para>
The <literal>digitalbitbox</literal> programs module may be installed by
setting <literal>programs.digitalbitbox</literal> to <literal>true</literal>
in a manner similar to
<programlisting>
<xref linkend="opt-programs.digitalbitbox.enable"/> = true;
</programlisting>
and bundles the <literal>digitalbitbox</literal> package (see <xref
and bundles the <literal>digitalbitbox</literal> package (see
<xref
linkend="sec-digitalbitbox-package" />), which contains the
<literal>dbb-app</literal> and <literal>dbb-cli</literal> binaries,
along with the hardware module (see <xref
<literal>dbb-app</literal> and <literal>dbb-cli</literal> binaries, along
with the hardware module (see
<xref
linkend="sec-digitalbitbox-hardware-module" />) which sets up the
necessary udev rules to access the device.
</para>
necessary udev rules to access the device.
</para>
<para>
Enabling the digitalbitbox module is pretty much the easiest way to get a
Digital Bitbox device working on your system.
</para>
<para>
For more information, see
<link xlink:href="https://digitalbitbox.com/start_linux" />.
</para>
<section xml:id="sec-digitalbitbox-package">
<title>Package</title>
<para>
Enabling the digitalbitbox module is pretty much the easiest way to
get a Digital Bitbox device working on your system.
</para>
<para>
For more information, see
<link xlink:href="https://digitalbitbox.com/start_linux" />.
</para>
<section xml:id="sec-digitalbitbox-package">
<title>Package</title>
<para>
The binaries, <literal>dbb-app</literal> (a GUI tool) and
<literal>dbb-cli</literal> (a CLI tool), are available through the
<literal>digitalbitbox</literal> package which could be installed
as follows:
The binaries, <literal>dbb-app</literal> (a GUI tool) and
<literal>dbb-cli</literal> (a CLI tool), are available through the
<literal>digitalbitbox</literal> package which could be installed as
follows:
<programlisting>
<xref linkend="opt-environment.systemPackages"/> = [
pkgs.digitalbitbox
];
</programlisting>
</para>
</section>
<section xml:id="sec-digitalbitbox-hardware-module">
<title>Hardware</title>
<para>
The digitalbitbox hardware package enables the udev rules for
Digital Bitbox devices and may be installed as follows:
</para>
</section>
<section xml:id="sec-digitalbitbox-hardware-module">
<title>Hardware</title>
<para>
The digitalbitbox hardware package enables the udev rules for Digital Bitbox
devices and may be installed as follows:
<programlisting>
<xref linkend="opt-hardware.digitalbitbox.enable"/> = true;
</programlisting>
</para>
<para>
In order to alter the udev rules, one may provide different values for
the <literal>udevRule51</literal> and <literal>udevRule52</literal>
attributes by means of overriding as follows:
</para>
<para>
In order to alter the udev rules, one may provide different values for the
<literal>udevRule51</literal> and <literal>udevRule52</literal> attributes
by means of overriding as follows:
<programlisting>
programs.digitalbitbox = {
<link linkend="opt-programs.digitalbitbox.enable">enable</link> = true;
@@ -80,6 +69,6 @@ programs.digitalbitbox = {
};
};
</programlisting>
</para>
</section>
</para>
</section>
</chapter>

View File

@@ -27,7 +27,7 @@ in
'';
type = types.bool;
};
vendor.config.enable = mkOption {
type = types.bool;
default = true;
@@ -43,7 +43,7 @@ in
Whether fish should use completion files provided by other packages.
'';
};
vendor.functions.enable = mkOption {
type = types.bool;
default = true;
@@ -107,9 +107,11 @@ in
# This happens before $__fish_datadir/config.fish sets fish_function_path, so it is currently
# unset. We set it and then completely erase it, leaving its configuration to $__fish_datadir/config.fish
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $__fish_datadir/functions
# source the NixOS environment config
fenv source ${config.system.build.setEnvironment}
if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]
fenv source ${config.system.build.setEnvironment}
end
# clear fish_function_path so that it will be correctly set when we return to $__fish_datadir/config.fish
set -e fish_function_path
@@ -123,7 +125,7 @@ in
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path
fenv source /etc/fish/foreign-env/shellInit > /dev/null
set -e fish_function_path[1]
${cfg.shellInit}
# and leave a note so we don't source this config section again from
@@ -137,7 +139,7 @@ in
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path
fenv source /etc/fish/foreign-env/loginShellInit > /dev/null
set -e fish_function_path[1]
${cfg.loginShellInit}
# and leave a note so we don't source this config section again from
@@ -149,12 +151,11 @@ in
status --is-interactive; and not set -q __fish_nixos_interactive_config_sourced
and begin
${fishAliases}
set fish_function_path ${pkgs.fish-foreign-env}/share/fish-foreign-env/functions $fish_function_path
fenv source /etc/fish/foreign-env/interactiveShellInit > /dev/null
set -e fish_function_path[1]
${cfg.promptInit}
${cfg.interactiveShellInit}
@@ -170,7 +171,7 @@ in
++ optional cfg.vendor.config.enable "/share/fish/vendor_conf.d"
++ optional cfg.vendor.completions.enable "/share/fish/vendor_completions.d"
++ optional cfg.vendor.functions.enable "/share/fish/vendor_functions.d";
environment.systemPackages = [ pkgs.fish ];
environment.shells = [

View File

@@ -3,23 +3,28 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-program-plotinus">
<title>Plotinus</title>
<para><emphasis>Source:</emphasis> <filename>modules/programs/plotinus.nix</filename></para>
<para><emphasis>Upstream documentation:</emphasis> <link xlink:href="https://github.com/p-e-w/plotinus"/></para>
<para>Plotinus is a searchable command palette in every modern GTK+ application.</para>
<para>When in a GTK+3 application and Plotinus is enabled, you can press <literal>Ctrl+Shift+P</literal> to open the command palette. The command palette provides a searchable list of of all menu items in the application.</para>
<para>To enable Plotinus, add the following to your <filename>configuration.nix</filename>:
<title>Plotinus</title>
<para>
<emphasis>Source:</emphasis>
<filename>modules/programs/plotinus.nix</filename>
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="https://github.com/p-e-w/plotinus"/>
</para>
<para>
Plotinus is a searchable command palette in every modern GTK+ application.
</para>
<para>
When in a GTK+3 application and Plotinus is enabled, you can press
<literal>Ctrl+Shift+P</literal> to open the command palette. The command
palette provides a searchable list of of all menu items in the application.
</para>
<para>
To enable Plotinus, add the following to your
<filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-programs.plotinus.enable"/> = true;
</programlisting>
</para>
</para>
</chapter>

View File

@@ -44,10 +44,23 @@ in
enable = mkEnableOption "yabar";
package = mkOption {
default = pkgs.yabar;
example = literalExample "pkgs.yabar-unstable";
default = pkgs.yabar-unstable;
example = literalExample "pkgs.yabar";
type = types.package;
# `yabar-stable` segfaults under certain conditions.
apply = x: if x == pkgs.yabar-unstable then x else flip warn x ''
It's not recommended to use `yabar' with `programs.yabar', the (old) stable release
tends to segfault under certain circumstances:
* https://github.com/geommer/yabar/issues/86
* https://github.com/geommer/yabar/issues/68
* https://github.com/geommer/yabar/issues/143
Most of them don't occur on master anymore, until a new release is published, it's recommended
to use `yabar-unstable'.
'';
description = ''
The package which contains the `yabar` binary.

View File

@@ -3,18 +3,20 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-programs-zsh-ohmyzsh">
<title>Oh my ZSH</title>
<para>
<literal><link xlink:href="https://ohmyz.sh/">oh-my-zsh</link></literal> is a
framework to manage your <link xlink:href="https://www.zsh.org/">ZSH</link>
configuration including completion scripts for several CLI tools or custom
prompt themes.
</para>
<section xml:id="module-programs-oh-my-zsh-usage">
<title>Basic usage</title>
<title>Oh my ZSH</title>
<para><literal><link xlink:href="https://ohmyz.sh/">oh-my-zsh</link></literal> is a framework
to manage your <link xlink:href="https://www.zsh.org/">ZSH</link> configuration
including completion scripts for several CLI tools or custom prompt themes.</para>
<section xml:id="module-programs-oh-my-zsh-usage"><title>Basic usage</title>
<para>The module uses the <literal>oh-my-zsh</literal> package with all available features. The
initial setup using Nix expressions is fairly similar to the configuration format
of <literal>oh-my-zsh</literal>.
<para>
The module uses the <literal>oh-my-zsh</literal> package with all available
features. The initial setup using Nix expressions is fairly similar to the
configuration format of <literal>oh-my-zsh</literal>.
<programlisting>
{
programs.ohMyZsh = {
@@ -24,39 +26,50 @@ of <literal>oh-my-zsh</literal>.
};
}
</programlisting>
For a detailed explanation of these arguments please refer to the
<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki"><literal>oh-my-zsh</literal>
docs</link>.
</para>
For a detailed explanation of these arguments please refer to the
<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki"><literal>oh-my-zsh</literal> docs</link>.
</para>
<para>The expression generates the needed
configuration and writes it into your <literal>/etc/zshrc</literal>.
</para></section>
<para>
The expression generates the needed configuration and writes it into your
<literal>/etc/zshrc</literal>.
</para>
</section>
<section xml:id="module-programs-oh-my-zsh-additions">
<title>Custom additions</title>
<section xml:id="module-programs-oh-my-zsh-additions"><title>Custom additions</title>
<para>Sometimes third-party or custom scripts such as a modified theme may be needed.
<literal>oh-my-zsh</literal> provides the
<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals"><literal>ZSH_CUSTOM</literal></link>
environment variable for this which points to a directory with additional scripts.</para>
<para>The module can do this as well:
<para>
Sometimes third-party or custom scripts such as a modified theme may be
needed. <literal>oh-my-zsh</literal> provides the
<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals"><literal>ZSH_CUSTOM</literal></link>
environment variable for this which points to a directory with additional
scripts.
</para>
<para>
The module can do this as well:
<programlisting>
{
programs.ohMyZsh.custom = "~/path/to/custom/scripts";
}
</programlisting>
</para></section>
</para>
</section>
<section xml:id="module-programs-oh-my-zsh-environments">
<title>Custom environments</title>
<section xml:id="module-programs-oh-my-zsh-environments"><title>Custom environments</title>
<para>There are several extensions for <literal>oh-my-zsh</literal> packaged in <literal>nixpkgs</literal>.
One of them is <link xlink:href="https://github.com/spwhitt/nix-zsh-completions">nix-zsh-completions</link>
which bundles completion scripts and a plugin for <literal>oh-my-zsh</literal>.</para>
<para>Rather than using a single mutable path for <literal>ZSH_CUSTOM</literal>, it's also possible to
generate this path from a list of Nix packages:
<para>
There are several extensions for <literal>oh-my-zsh</literal> packaged in
<literal>nixpkgs</literal>. One of them is
<link xlink:href="https://github.com/spwhitt/nix-zsh-completions">nix-zsh-completions</link>
which bundles completion scripts and a plugin for
<literal>oh-my-zsh</literal>.
</para>
<para>
Rather than using a single mutable path for <literal>ZSH_CUSTOM</literal>,
it's also possible to generate this path from a list of Nix packages:
<programlisting>
{ pkgs, ... }:
{
@@ -66,42 +79,59 @@ generate this path from a list of Nix packages:
];
}
</programlisting>
Internally a single store path will be created using
<literal>buildEnv</literal>. Please refer to the docs of
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-building-environment"><literal>buildEnv</literal></link>
for further reference.
</para>
Internally a single store path will be created using <literal>buildEnv</literal>.
Please refer to the docs of
<link xlink:href="https://nixos.org/nixpkgs/manual/#sec-building-environment"><literal>buildEnv</literal></link>
for further reference.</para>
<para>
<emphasis>Please keep in mind that this is not compatible with
<literal>programs.ohMyZsh.custom</literal> as it requires an immutable store
path while <literal>custom</literal> shall remain mutable! An evaluation
failure will be thrown if both <literal>custom</literal> and
<literal>customPkgs</literal> are set.</emphasis>
</para>
</section>
<section xml:id="module-programs-oh-my-zsh-packaging-customizations">
<title>Package your own customizations</title>
<para><emphasis>Please keep in mind that this is not compatible with <literal>programs.ohMyZsh.custom</literal>
as it requires an immutable store path while <literal>custom</literal> shall remain mutable! An evaluation failure
will be thrown if both <literal>custom</literal> and <literal>customPkgs</literal> are set.</emphasis>
</para></section>
<para>
If third-party customizations (e.g. new themes) are supposed to be added to
<literal>oh-my-zsh</literal> there are several pitfalls to keep in mind:
</para>
<section xml:id="module-programs-oh-my-zsh-packaging-customizations"><title>Package your own customizations</title>
<para>If third-party customizations (e.g. new themes) are supposed to be added to <literal>oh-my-zsh</literal>
there are several pitfalls to keep in mind:</para>
<itemizedlist>
<listitem>
<para>To comply with the default structure of <literal>ZSH</literal> the entire output needs to be written to
<literal>$out/share/zsh.</literal></para>
</listitem>
<listitem>
<para>Completion scripts are supposed to be stored at <literal>$out/share/zsh/site-functions</literal>. This directory
is part of the <literal><link xlink:href="http://zsh.sourceforge.net/Doc/Release/Functions.html">fpath</link></literal>
and the package should be compatible with pure <literal>ZSH</literal> setups. The module will automatically link
the contents of <literal>site-functions</literal> to completions directory in the proper store path.</para>
</listitem>
<listitem>
<para>The <literal>plugins</literal> directory needs the structure <literal>pluginname/pluginname.plugin.zsh</literal>
as structured in the <link xlink:href="https://github.com/robbyrussell/oh-my-zsh/tree/91b771914bc7c43dd7c7a43b586c5de2c225ceb7/plugins">upstream repo.</link>
<itemizedlist>
<listitem>
<para>
To comply with the default structure of <literal>ZSH</literal> the entire
output needs to be written to <literal>$out/share/zsh.</literal>
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
Completion scripts are supposed to be stored at
<literal>$out/share/zsh/site-functions</literal>. This directory is part
of the
<literal><link xlink:href="http://zsh.sourceforge.net/Doc/Release/Functions.html">fpath</link></literal>
and the package should be compatible with pure <literal>ZSH</literal>
setups. The module will automatically link the contents of
<literal>site-functions</literal> to completions directory in the proper
store path.
</para>
</listitem>
<listitem>
<para>
The <literal>plugins</literal> directory needs the structure
<literal>pluginname/pluginname.plugin.zsh</literal> as structured in the
<link xlink:href="https://github.com/robbyrussell/oh-my-zsh/tree/91b771914bc7c43dd7c7a43b586c5de2c225ceb7/plugins">upstream
repo.</link>
</para>
</listitem>
</itemizedlist>
<para>
A derivation for <literal>oh-my-zsh</literal> may look like this:
<para>
A derivation for <literal>oh-my-zsh</literal> may look like this:
<programlisting>
{ stdenv, fetchFromGitHub }:
@@ -120,6 +150,6 @@ stdenv.mkDerivation rec {
'';
}
</programlisting>
</para>
</section>
</para>
</section>
</chapter>

View File

@@ -70,7 +70,7 @@ in
promptInit = mkOption {
default = ''
if [ "$TERM" != dumb ]; then
autoload -U promptinit && promptinit && prompt walters
autoload -U promptinit && promptinit && prompt walters
fi
'';
description = ''
@@ -116,7 +116,9 @@ in
if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi
export __ETC_ZSHENV_SOURCED=1
${config.system.build.setEnvironment.text}
if [ -z "$__NIXOS_SET_ENVIRONMENT_DONE" ]; then
. ${config.system.build.setEnvironment}
fi
${cfge.shellInit}
@@ -124,7 +126,7 @@ in
# Read system-wide modifications.
if test -f /etc/zshenv.local; then
. /etc/zshenv.local
. /etc/zshenv.local
fi
'';
@@ -143,7 +145,7 @@ in
# Read system-wide modifications.
if test -f /etc/zprofile.local; then
. /etc/zprofile.local
. /etc/zprofile.local
fi
'';
@@ -169,7 +171,7 @@ in
# Tell zsh how to find installed completions
for p in ''${(z)NIX_PROFILES}; do
fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
done
${optionalString cfg.enableGlobalCompInit "autoload -U compinit && compinit"}
@@ -184,7 +186,7 @@ in
# Read system-wide modifications.
if test -f /etc/zshrc.local; then
. /etc/zshrc.local
. /etc/zshrc.local
fi
'';

View File

@@ -302,15 +302,15 @@ in
workdir="$(mktemp -d)"
# Create CA
openssl genrsa -des3 -passout pass:x -out $workdir/ca.pass.key 2048
openssl rsa -passin pass:x -in $workdir/ca.pass.key -out $workdir/ca.key
openssl genrsa -des3 -passout pass:xxxx -out $workdir/ca.pass.key 2048
openssl rsa -passin pass:xxxx -in $workdir/ca.pass.key -out $workdir/ca.key
openssl req -new -key $workdir/ca.key -out $workdir/ca.csr \
-subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=Security Department/CN=example.com"
openssl x509 -req -days 1 -in $workdir/ca.csr -signkey $workdir/ca.key -out $workdir/ca.crt
# Create key
openssl genrsa -des3 -passout pass:x -out $workdir/server.pass.key 2048
openssl rsa -passin pass:x -in $workdir/server.pass.key -out $workdir/server.key
openssl genrsa -des3 -passout pass:xxxx -out $workdir/server.pass.key 2048
openssl rsa -passin pass:xxxx -in $workdir/server.pass.key -out $workdir/server.key
openssl req -new -key $workdir/server.key -out $workdir/server.csr \
-subj "/C=UK/ST=Warwickshire/L=Leamington/O=OrgName/OU=IT Department/CN=example.com"
openssl x509 -req -days 1 -in $workdir/server.csr -CA $workdir/ca.crt \

View File

@@ -3,23 +3,25 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-security-acme">
<title>SSL/TLS Certificates with ACME</title>
<para>
NixOS supports automatic domain validation &amp; certificate retrieval and
renewal using the ACME protocol. This is currently only implemented by and
for Let's Encrypt. The alternative ACME client <literal>simp_le</literal> is
used under the hood.
</para>
<section xml:id="module-security-acme-prerequisites">
<title>Prerequisites</title>
<title>SSL/TLS Certificates with ACME</title>
<para>NixOS supports automatic domain validation &amp; certificate
retrieval and renewal using the ACME protocol. This is currently only
implemented by and for Let's Encrypt. The alternative ACME client
<literal>simp_le</literal> is used under the hood.</para>
<section xml:id="module-security-acme-prerequisites"><title>Prerequisites</title>
<para>You need to have a running HTTP server for verification. The server must
have a webroot defined that can serve
<filename>.well-known/acme-challenge</filename>. This directory must be
writeable by the user that will run the ACME client.</para>
<para>For instance, this generic snippet could be used for Nginx:
<para>
You need to have a running HTTP server for verification. The server must
have a webroot defined that can serve
<filename>.well-known/acme-challenge</filename>. This directory must be
writeable by the user that will run the ACME client.
</para>
<para>
For instance, this generic snippet could be used for Nginx:
<programlisting>
http {
server {
@@ -37,43 +39,47 @@ http {
}
}
</programlisting>
</para>
</section>
<section xml:id="module-security-acme-configuring"><title>Configuring</title>
<para>To enable ACME certificate retrieval &amp; renewal for a certificate for
<literal>foo.example.com</literal>, add the following in your
<filename>configuration.nix</filename>:
</para>
</section>
<section xml:id="module-security-acme-configuring">
<title>Configuring</title>
<para>
To enable ACME certificate retrieval &amp; renewal for a certificate for
<literal>foo.example.com</literal>, add the following in your
<filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-security.acme.certs"/>."foo.example.com" = {
<link linkend="opt-security.acme.certs._name_.webroot">webroot</link> = "/var/www/challenges";
<link linkend="opt-security.acme.certs._name_.email">email</link> = "foo@example.com";
};
</programlisting>
</para>
</para>
<para>The private key <filename>key.pem</filename> and certificate
<filename>fullchain.pem</filename> will be put into
<filename>/var/lib/acme/foo.example.com</filename>. The target directory can
be configured with the option <xref linkend="opt-security.acme.directory"/>.
</para>
<para>
The private key <filename>key.pem</filename> and certificate
<filename>fullchain.pem</filename> will be put into
<filename>/var/lib/acme/foo.example.com</filename>. The target directory can
be configured with the option <xref linkend="opt-security.acme.directory"/>.
</para>
<para>Refer to <xref linkend="ch-options" /> for all available configuration
options for the <link linkend="opt-security.acme.certs">security.acme</link> module.</para>
<para>
Refer to <xref linkend="ch-options" /> for all available configuration
options for the <link linkend="opt-security.acme.certs">security.acme</link>
module.
</para>
</section>
<section xml:id="module-security-acme-nginx">
<title>Using ACME certificates in Nginx</title>
</section>
<section xml:id="module-security-acme-nginx"><title>Using ACME certificates in Nginx</title>
<para>NixOS supports fetching ACME certificates for you by setting
<literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;</literal> in a virtualHost config. We
first create self-signed placeholder certificates in place of the
real ACME certs. The placeholder certs are overwritten when the ACME
certs arrive. For <literal>foo.example.com</literal> the config would
look like.
</para>
<para>
NixOS supports fetching ACME certificates for you by setting
<literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link>
= true;</literal> in a virtualHost config. We first create self-signed
placeholder certificates in place of the real ACME certs. The placeholder
certs are overwritten when the ACME certs arrive. For
<literal>foo.example.com</literal> the config would look like.
</para>
<programlisting>
services.nginx = {
@@ -89,5 +95,5 @@ services.nginx = {
};
}
</programlisting>
</section>
</section>
</chapter>

View File

@@ -3,31 +3,26 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-hidepid">
<title>Hiding process information</title>
<para>
Setting
<title>Hiding process information</title>
<para>
Setting
<programlisting>
<xref linkend="opt-security.hideProcessInformation"/> = true;
</programlisting>
ensures that access to process information is restricted to the
owning user. This implies, among other things, that command-line
arguments remain private. Unless your deployment relies on unprivileged
users being able to inspect the process information of other users, this
option should be safe to enable.
</para>
<para>
Members of the <literal>proc</literal> group are exempt from process
information hiding.
</para>
<para>
To allow a service <replaceable>foo</replaceable> to run without process information hiding, set
ensures that access to process information is restricted to the owning user.
This implies, among other things, that command-line arguments remain private.
Unless your deployment relies on unprivileged users being able to inspect the
process information of other users, this option should be safe to enable.
</para>
<para>
Members of the <literal>proc</literal> group are exempt from process
information hiding.
</para>
<para>
To allow a service <replaceable>foo</replaceable> to run without process
information hiding, set
<programlisting>
<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.<replaceable>foo</replaceable>.serviceConfig</link>.SupplementaryGroups = [ "proc" ];
</programlisting>
</para>
</para>
</chapter>

View File

@@ -20,6 +20,8 @@ let
'';
script = ''
umask 0077 # ensure backup is only readable by postgres user
if [ -e ${cfg.location}/${db}.sql.gz ]; then
${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
fi

View File

@@ -3,42 +3,50 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-foundationdb">
<title>FoundationDB</title>
<para>
<emphasis>Source:</emphasis>
<filename>modules/services/databases/foundationdb.nix</filename>
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="https://apple.github.io/foundationdb/"/>
</para>
<para>
<emphasis>Maintainer:</emphasis> Austin Seipp
</para>
<para>
<emphasis>Available version(s):</emphasis> 5.1.x, 5.2.x, 6.0.x
</para>
<para>
FoundationDB (or "FDB") is an open source, distributed, transactional
key-value store.
</para>
<section xml:id="module-services-foundationdb-configuring">
<title>Configuring and basic setup</title>
<title>FoundationDB</title>
<para><emphasis>Source:</emphasis> <filename>modules/services/databases/foundationdb.nix</filename></para>
<para><emphasis>Upstream documentation:</emphasis> <link xlink:href="https://apple.github.io/foundationdb/"/></para>
<para><emphasis>Maintainer:</emphasis> Austin Seipp</para>
<para><emphasis>Available version(s):</emphasis> 5.1.x, 5.2.x, 6.0.x</para>
<para>FoundationDB (or "FDB") is an open source, distributed, transactional
key-value store.</para>
<section xml:id="module-services-foundationdb-configuring"><title>Configuring and basic setup</title>
<para>To enable FoundationDB, add the following to your
<filename>configuration.nix</filename>:
<para>
To enable FoundationDB, add the following to your
<filename>configuration.nix</filename>:
<programlisting>
services.foundationdb.enable = true;
services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x
</programlisting>
</para>
</para>
<para>The <option>services.foundationdb.package</option> option is required,
and must always be specified. Due to the fact FoundationDB network protocols and
on-disk storage formats may change between (major) versions, and upgrades must
be explicitly handled by the user, you must always manually specify this
yourself so that the NixOS module will use the proper version. Note that minor,
bugfix releases are always compatible.</para>
<para>After running <command>nixos-rebuild</command>, you can verify whether
FoundationDB is running by executing <command>fdbcli</command> (which is added
to <option>environment.systemPackages</option>):
<para>
The <option>services.foundationdb.package</option> option is required, and
must always be specified. Due to the fact FoundationDB network protocols and
on-disk storage formats may change between (major) versions, and upgrades
must be explicitly handled by the user, you must always manually specify
this yourself so that the NixOS module will use the proper version. Note
that minor, bugfix releases are always compatible.
</para>
<para>
After running <command>nixos-rebuild</command>, you can verify whether
FoundationDB is running by executing <command>fdbcli</command> (which is
added to <option>environment.systemPackages</option>):
<programlisting>
$ sudo -u foundationdb fdbcli
Using cluster file `/etc/foundationdb/fdb.cluster'.
@@ -66,14 +74,14 @@ Cluster:
fdb>
</programlisting>
</para>
<para>You can also write programs using the available client libraries.
For example, the following Python program can be run in order to grab the
cluster status, as a quick example. (This example uses
<command>nix-shell</command> shebang support to automatically supply the
necessary Python modules).
</para>
<para>
You can also write programs using the available client libraries. For
example, the following Python program can be run in order to grab the
cluster status, as a quick example. (This example uses
<command>nix-shell</command> shebang support to automatically supply the
necessary Python modules).
<programlisting>
a@link> cat fdb-status.py
#! /usr/bin/env nix-shell
@@ -100,255 +108,336 @@ a@link> ./fdb-status.py
FoundationDB available: True
a@link>
</programlisting>
</para>
</para>
<para>FoundationDB is run under the <command>foundationdb</command> user and
group by default, but this may be changed in the NixOS configuration. The
systemd unit <command>foundationdb.service</command> controls the
<command>fdbmonitor</command> process.</para>
<para>
FoundationDB is run under the <command>foundationdb</command> user and group
by default, but this may be changed in the NixOS configuration. The systemd
unit <command>foundationdb.service</command> controls the
<command>fdbmonitor</command> process.
</para>
<para>By default, the NixOS module for FoundationDB creates a single
SSD-storage based database for development and basic usage. This storage engine
is designed for SSDs and will perform poorly on HDDs; however it can handle far
more data than the alternative "memory" engine and is a better default choice
for most deployments. (Note that you can change the storage backend on-the-fly
for a given FoundationDB cluster using <command>fdbcli</command>.)</para>
<para>
By default, the NixOS module for FoundationDB creates a single SSD-storage
based database for development and basic usage. This storage engine is
designed for SSDs and will perform poorly on HDDs; however it can handle far
more data than the alternative "memory" engine and is a better default
choice for most deployments. (Note that you can change the storage backend
on-the-fly for a given FoundationDB cluster using
<command>fdbcli</command>.)
</para>
<para>Furthermore, only 1 server process and 1 backup agent are started in the
default configuration. See below for more on scaling to increase this.</para>
<para>FoundationDB stores all data for all server processes under
<filename>/var/lib/foundationdb</filename>. You can override this using
<option>services.foundationdb.dataDir</option>, e.g.
<para>
Furthermore, only 1 server process and 1 backup agent are started in the
default configuration. See below for more on scaling to increase this.
</para>
<para>
FoundationDB stores all data for all server processes under
<filename>/var/lib/foundationdb</filename>. You can override this using
<option>services.foundationdb.dataDir</option>, e.g.
<programlisting>
services.foundationdb.dataDir = "/data/fdb";
</programlisting>
</para>
</para>
<para>
Similarly, logs are stored under <filename>/var/log/foundationdb</filename>
by default, and there is a corresponding
<option>services.foundationdb.logDir</option> as well.
</para>
</section>
<section xml:id="module-services-foundationdb-scaling">
<title>Scaling processes and backup agents</title>
<para>Similarly, logs are stored under
<filename>/var/log/foundationdb</filename> by default, and there is a
corresponding <option>services.foundationdb.logDir</option> as well.</para>
<para>
Scaling the number of server processes is quite easy; simply specify
<option>services.foundationdb.serverProcesses</option> to be the number of
FoundationDB worker processes that should be started on the machine.
</para>
</section>
<para>
FoundationDB worker processes typically require 4GB of RAM per-process at
minimum for good performance, so this option is set to 1 by default since
the maximum amount of RAM is unknown. You're advised to abide by this
restriction, so pick a number of processes so that each has 4GB or more.
</para>
<section xml:id="module-services-foundationdb-scaling"><title>Scaling processes and backup agents</title>
<para>
A similar option exists in order to scale backup agent processes,
<option>services.foundationdb.backupProcesses</option>. Backup agents are
not as performance/RAM sensitive, so feel free to experiment with the number
of available backup processes.
</para>
</section>
<section xml:id="module-services-foundationdb-clustering">
<title>Clustering</title>
<para>Scaling the number of server processes is quite easy; simply specify
<option>services.foundationdb.serverProcesses</option> to be the number of
FoundationDB worker processes that should be started on the machine.</para>
<para>
FoundationDB on NixOS works similarly to other Linux systems, so this
section will be brief. Please refer to the full FoundationDB documentation
for more on clustering.
</para>
<para>FoundationDB worker processes typically require 4GB of RAM per-process at
minimum for good performance, so this option is set to 1 by default since the
maximum amount of RAM is unknown. You're advised to abide by this restriction,
so pick a number of processes so that each has 4GB or more.</para>
<para>
FoundationDB organizes clusters using a set of
<emphasis>coordinators</emphasis>, which are just specially-designated
worker processes. By default, every installation of FoundationDB on NixOS
will start as its own individual cluster, with a single coordinator: the
first worker process on <command>localhost</command>.
</para>
<para>A similar option exists in order to scale backup agent processes,
<option>services.foundationdb.backupProcesses</option>. Backup agents are not
as performance/RAM sensitive, so feel free to experiment with the number of
available backup processes.</para>
<para>
Coordinators are specified globally using the
<command>/etc/foundationdb/fdb.cluster</command> file, which all servers and
client applications will use to find and join coordinators. Note that this
file <emphasis>can not</emphasis> be managed by NixOS so easily:
FoundationDB is designed so that it will rewrite the file at runtime for all
clients and nodes when cluster coordinators change, with clients
transparently handling this without intervention. It is fundamentally a
mutable file, and you should not try to manage it in any way in NixOS.
</para>
</section>
<para>
When dealing with a cluster, there are two main things you want to do:
</para>
<section xml:id="module-services-foundationdb-clustering"><title>Clustering</title>
<itemizedlist>
<listitem>
<para>
Add a node to the cluster for storage/compute.
</para>
</listitem>
<listitem>
<para>
Promote an ordinary worker to a coordinator.
</para>
</listitem>
</itemizedlist>
<para>FoundationDB on NixOS works similarly to other Linux systems, so this
section will be brief. Please refer to the full FoundationDB documentation for
more on clustering.</para>
<para>
A node must already be a member of the cluster in order to properly be
promoted to a coordinator, so you must always add it first if you wish to
promote it.
</para>
<para>FoundationDB organizes clusters using a set of
<emphasis>coordinators</emphasis>, which are just specially-designated worker
processes. By default, every installation of FoundationDB on NixOS will start
as its own individual cluster, with a single coordinator: the first worker
process on <command>localhost</command>.</para>
<para>
To add a machine to a FoundationDB cluster:
</para>
<para>Coordinators are specified globally using the
<command>/etc/foundationdb/fdb.cluster</command> file, which all servers and
client applications will use to find and join coordinators. Note that this file
<emphasis>can not</emphasis> be managed by NixOS so easily: FoundationDB is
designed so that it will rewrite the file at runtime for all clients and nodes
when cluster coordinators change, with clients transparently handling this
without intervention. It is fundamentally a mutable file, and you should not
try to manage it in any way in NixOS.</para>
<itemizedlist>
<listitem>
<para>
Choose one of the servers to start as the initial coordinator.
</para>
</listitem>
<listitem>
<para>
Copy the <command>/etc/foundationdb/fdb.cluster</command> file from this
server to all the other servers. Restart FoundationDB on all of these
other servers, so they join the cluster.
</para>
</listitem>
<listitem>
<para>
All of these servers are now connected and working together in the
cluster, under the chosen coordinator.
</para>
</listitem>
</itemizedlist>
<para>When dealing with a cluster, there are two main things you want to
do:</para>
<para>
At this point, you can add as many nodes as you want by just repeating the
above steps. By default there will still be a single coordinator: you can
use <command>fdbcli</command> to change this and add new coordinators.
</para>
<itemizedlist>
<listitem><para>Add a node to the cluster for storage/compute.</para></listitem>
<listitem><para>Promote an ordinary worker to a coordinator.</para></listitem>
</itemizedlist>
<para>
As a convenience, FoundationDB can automatically assign coordinators based
on the redundancy mode you wish to achieve for the cluster. Once all the
nodes have been joined, simply set the replication policy, and then issue
the <command>coordinators auto</command> command
</para>
<para>A node must already be a member of the cluster in order to properly be
promoted to a coordinator, so you must always add it first if you wish to
promote it.</para>
<para>To add a machine to a FoundationDB cluster:</para>
<itemizedlist>
<listitem><para>Choose one of the servers to start as the initial coordinator.
</para></listitem>
<listitem><para>Copy the <command>/etc/foundationdb/fdb.cluster</command> file
from this server to all the other servers. Restart FoundationDB on all of
these other servers, so they join the cluster.</para></listitem>
<listitem><para>All of these servers are now connected and working together
in the cluster, under the chosen coordinator.</para></listitem>
</itemizedlist>
<para>At this point, you can add as many nodes as you want by just repeating
the above steps. By default there will still be a single coordinator: you can
use <command>fdbcli</command> to change this and add new coordinators.</para>
<para>As a convenience, FoundationDB can automatically assign coordinators
based on the redundancy mode you wish to achieve for the cluster. Once all the
nodes have been joined, simply set the replication policy, and then issue the
<command>coordinators auto</command> command</para>
<para>For example, assuming we have 3 nodes available, we can enable double
redundancy mode, then auto-select coordinators. For double redundancy, 3
coordinators is ideal: therefore FoundationDB will make
<emphasis>every</emphasis> node a coordinator automatically:</para>
<para>
For example, assuming we have 3 nodes available, we can enable double
redundancy mode, then auto-select coordinators. For double redundancy, 3
coordinators is ideal: therefore FoundationDB will make
<emphasis>every</emphasis> node a coordinator automatically:
</para>
<programlisting>
fdbcli> configure double ssd
fdbcli> coordinators auto
</programlisting>
<para>This will transparently update all the servers within seconds, and
appropriately rewrite the <command>fdb.cluster</command> file, as well as
informing all client processes to do the same.</para>
<para>
This will transparently update all the servers within seconds, and
appropriately rewrite the <command>fdb.cluster</command> file, as well as
informing all client processes to do the same.
</para>
</section>
<section xml:id="module-services-foundationdb-connectivity">
<title>Client connectivity</title>
</section>
<para>
By default, all clients must use the current <command>fdb.cluster</command>
file to access a given FoundationDB cluster. This file is located by default
in <command>/etc/foundationdb/fdb.cluster</command> on all machines with the
FoundationDB service enabled, so you may copy the active one from your
cluster to a new node in order to connect, if it is not part of the cluster.
</para>
</section>
<section xml:id="module-services-foundationdb-authorization">
<title>Client authorization and TLS</title>
<section xml:id="module-services-foundationdb-connectivity"><title>Client connectivity</title>
<para>
By default, any user who can connect to a FoundationDB process with the
correct cluster configuration can access anything. FoundationDB uses a
pluggable design to transport security, and out of the box it supports a
LibreSSL-based plugin for TLS support. This plugin not only does in-flight
encryption, but also performs client authorization based on the given
endpoint's certificate chain. For example, a FoundationDB server may be
configured to only accept client connections over TLS, where the client TLS
certificate is from organization <emphasis>Acme Co</emphasis> in the
<emphasis>Research and Development</emphasis> unit.
</para>
<para>By default, all clients must use the current
<command>fdb.cluster</command> file to access a given FoundationDB cluster.
This file is located by default in
<command>/etc/foundationdb/fdb.cluster</command> on all machines with the
FoundationDB service enabled, so you may copy the active one from your cluster
to a new node in order to connect, if it is not part of the cluster.</para>
<para>
Configuring TLS with FoundationDB is done using the
<option>services.foundationdb.tls</option> options in order to control the
peer verification string, as well as the certificate and its private key.
</para>
</section>
<para>
Note that the certificate and its private key must be accessible to the
FoundationDB user account that the server runs under. These files are also
NOT managed by NixOS, as putting them into the store may reveal private
information.
</para>
<section xml:id="module-services-foundationdb-authorization"><title>Client authorization and TLS</title>
<para>By default, any user who can connect to a FoundationDB process with the
correct cluster configuration can access anything. FoundationDB uses a
pluggable design to transport security, and out of the box it supports a
LibreSSL-based plugin for TLS support. This plugin not only does in-flight
encryption, but also performs client authorization based on the given
endpoint's certificate chain. For example, a FoundationDB server may be
configured to only accept client connections over TLS, where the client TLS
certificate is from organization <emphasis>Acme Co</emphasis> in the
<emphasis>Research and Development</emphasis> unit.</para>
<para>Configuring TLS with FoundationDB is done using the
<option>services.foundationdb.tls</option> options in order to control the peer
verification string, as well as the certificate and its private key.</para>
<para>Note that the certificate and its private key must be accessible to the
FoundationDB user account that the server runs under. These files are also NOT
managed by NixOS, as putting them into the store may reveal private
information.</para>
<para>After you have a key and certificate file in place, it is not enough to
simply set the NixOS module options -- you must also configure the
<command>fdb.cluster</command> file to specify that a given set of coordinators
use TLS. This is as simple as adding the suffix <command>:tls</command> to your
cluster coordinator configuration, after the port number. For example, assuming
you have a coordinator on localhost with the default configuration, simply
specifying:</para>
<para>
After you have a key and certificate file in place, it is not enough to
simply set the NixOS module options -- you must also configure the
<command>fdb.cluster</command> file to specify that a given set of
coordinators use TLS. This is as simple as adding the suffix
<command>:tls</command> to your cluster coordinator configuration, after the
port number. For example, assuming you have a coordinator on localhost with
the default configuration, simply specifying:
</para>
<programlisting>
XXXXXX:XXXXXX@127.0.0.1:4500:tls
</programlisting>
<para>will configure all clients and server processes to use TLS from now
on.</para>
<para>
will configure all clients and server processes to use TLS from now on.
</para>
</section>
<section xml:id="module-services-foundationdb-disaster-recovery">
<title>Backups and Disaster Recovery</title>
</section>
<para>
The usual rules for doing FoundationDB backups apply on NixOS as written in
the FoundationDB manual. However, one important difference is the security
profile for NixOS: by default, the <command>foundationdb</command> systemd
unit uses <emphasis>Linux namespaces</emphasis> to restrict write access to
the system, except for the log directory, data directory, and the
<command>/etc/foundationdb/</command> directory. This is enforced by default
and cannot be disabled.
</para>
<section xml:id="module-services-foundationdb-disaster-recovery"><title>Backups and Disaster Recovery</title>
<para>
However, a side effect of this is that the <command>fdbbackup</command>
command doesn't work properly for local filesystem backups: FoundationDB
uses a server process alongside the database processes to perform backups
and copy the backups to the filesystem. As a result, this process is put
under the restricted namespaces above: the backup process can only write to
a limited number of paths.
</para>
<para>The usual rules for doing FoundationDB backups apply on NixOS as written
in the FoundationDB manual. However, one important difference is the security
profile for NixOS: by default, the <command>foundationdb</command> systemd unit
uses <emphasis>Linux namespaces</emphasis> to restrict write access to the
system, except for the log directory, data directory, and the
<command>/etc/foundationdb/</command> directory. This is enforced by default
and cannot be disabled.</para>
<para>
In order to allow flexible backup locations on local disks, the FoundationDB
NixOS module supports a
<option>services.foundationdb.extraReadWritePaths</option> option. This
option takes a list of paths, and adds them to the systemd unit, allowing
the processes inside the service to write (and read) the specified
directories.
</para>
<para>However, a side effect of this is that the <command>fdbbackup</command>
command doesn't work properly for local filesystem backups: FoundationDB uses a
server process alongside the database processes to perform backups and copy the
backups to the filesystem. As a result, this process is put under the
restricted namespaces above: the backup process can only write to a limited
number of paths.</para>
<para>In order to allow flexible backup locations on local disks, the
FoundationDB NixOS module supports a
<option>services.foundationdb.extraReadWritePaths</option> option. This option
takes a list of paths, and adds them to the systemd unit, allowing the
processes inside the service to write (and read) the specified
directories.</para>
<para>For example, to create backups in <command>/opt/fdb-backups</command>,
first set up the paths in the module options:</para>
<para>
For example, to create backups in <command>/opt/fdb-backups</command>, first
set up the paths in the module options:
</para>
<programlisting>
services.foundationdb.extraReadWritePaths = [ "/opt/fdb-backups" ];
</programlisting>
<para>Restart the FoundationDB service, and it will now be able to write to
this directory (even if it does not yet exist.) Note: this path
<emphasis>must</emphasis> exist before restarting the unit. Otherwise, systemd
will not include it in the private FoundationDB namespace (and it will not add
it dynamically at runtime).</para>
<para>
Restart the FoundationDB service, and it will now be able to write to this
directory (even if it does not yet exist.) Note: this path
<emphasis>must</emphasis> exist before restarting the unit. Otherwise,
systemd will not include it in the private FoundationDB namespace (and it
will not add it dynamically at runtime).
</para>
<para>You can now perform a backup:</para>
<para>
You can now perform a backup:
</para>
<programlisting>
$ sudo -u foundationdb fdbbackup start -t default -d file:///opt/fdb-backups
$ sudo -u foundationdb fdbbackup status -t default
</programlisting>
</section>
<section xml:id="module-services-foundationdb-limitations">
<title>Known limitations</title>
</section>
<para>
The FoundationDB setup for NixOS should currently be considered beta.
FoundationDB is not new software, but the NixOS compilation and integration
has only undergone fairly basic testing of all the available functionality.
</para>
<section xml:id="module-services-foundationdb-limitations"><title>Known limitations</title>
<itemizedlist>
<listitem>
<para>
There is no way to specify individual parameters for individual
<command>fdbserver</command> processes. Currently, all server processes
inherit all the global <command>fdbmonitor</command> settings.
</para>
</listitem>
<listitem>
<para>
Ruby bindings are not currently installed.
</para>
</listitem>
<listitem>
<para>
Go bindings are not currently installed.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="module-services-foundationdb-options">
<title>Options</title>
<para>The FoundationDB setup for NixOS should currently be considered beta.
FoundationDB is not new software, but the NixOS compilation and integration has
only undergone fairly basic testing of all the available functionality.</para>
<itemizedlist>
<listitem><para>There is no way to specify individual parameters for
individual <command>fdbserver</command> processes. Currently, all server
processes inherit all the global <command>fdbmonitor</command> settings.
</para></listitem>
<listitem><para>Ruby bindings are not currently installed.</para></listitem>
<listitem><para>Go bindings are not currently installed.</para></listitem>
</itemizedlist>
</section>
<section xml:id="module-services-foundationdb-options"><title>Options</title>
<para>NixOS's FoundationDB module allows you to configure all of the most
relevant configuration options for <command>fdbmonitor</command>, matching it
quite closely. A complete list of options for the FoundationDB module may be
found <link linkend="opt-services.foundationdb.enable">here</link>. You should
also read the FoundationDB documentation as well.</para>
</section>
<section xml:id="module-services-foundationdb-full-docs"><title>Full documentation</title>
<para>FoundationDB is a complex piece of software, and requires careful
administration to properly use. Full documentation for administration can be
found here: <link xlink:href="https://apple.github.io/foundationdb/"/>.</para>
</section>
<para>
NixOS's FoundationDB module allows you to configure all of the most relevant
configuration options for <command>fdbmonitor</command>, matching it quite
closely. A complete list of options for the FoundationDB module may be found
<link linkend="opt-services.foundationdb.enable">here</link>. You should
also read the FoundationDB documentation as well.
</para>
</section>
<section xml:id="module-services-foundationdb-full-docs">
<title>Full documentation</title>
<para>
FoundationDB is a complex piece of software, and requires careful
administration to properly use. Full documentation for administration can be
found here: <link xlink:href="https://apple.github.io/foundationdb/"/>.
</para>
</section>
</chapter>

View File

@@ -12,12 +12,22 @@ let
let
pName = _p: (builtins.parseDrvName (_p.name)).name;
in pName mysql == pName pkgs.mariadb;
isMysqlAtLeast57 =
let
pName = _p: (builtins.parseDrvName (_p.name)).name;
in (pName mysql == pName pkgs.mysql57)
&& ((builtins.compareVersions mysql.version "5.7") >= 0);
pidFile = "${cfg.pidDir}/mysqld.pid";
mysqldAndInstallOptions =
"--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}";
mysqldOptions =
"--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql} " +
"--pid-file=${pidFile}";
"${mysqldAndInstallOptions} --pid-file=${pidFile}";
# For MySQL 5.7+, --insecure creates the root user without password
# (earlier versions and MariaDB do this by default).
installOptions =
"${mysqldAndInstallOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}";
myCnf = pkgs.writeText "my.cnf"
''
@@ -252,7 +262,7 @@ in
if ! test -e ${cfg.dataDir}/mysql; then
mkdir -m 0700 -p ${cfg.dataDir}
chown -R ${cfg.user} ${cfg.dataDir}
${mysql}/bin/mysql_install_db ${mysqldOptions}
${mysql}/bin/mysql_install_db ${installOptions}
touch /tmp/mysql_init
fi

View File

@@ -188,6 +188,8 @@ in
uid = config.ids.uids.postgres;
group = "postgres";
description = "PostgreSQL server user";
home = "${cfg.dataDir}";
useDefaultShell = true;
};
users.groups.postgres.gid = config.ids.gids.postgres;
@@ -245,6 +247,8 @@ in
# Give Postgres a decent amount of time to clean up after
# receiving systemd's SIGINT.
TimeoutSec = 120;
Type = if versionAtLeast cfg.package.psqlSchema "9.6" then "notify" else "simple";
};
# Wait for PostgreSQL to be ready to accept connections.

View File

@@ -3,36 +3,39 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-postgresql">
<title>PostgreSQL</title>
<title>PostgreSQL</title>
<!-- FIXME: render nicely -->
<!-- FIXME: source can be added automatically -->
<para><emphasis>Source:</emphasis> <filename>modules/services/databases/postgresql.nix</filename></para>
<para><emphasis>Upstream documentation:</emphasis> <link xlink:href="http://www.postgresql.org/docs/"/></para>
<para>
<emphasis>Source:</emphasis>
<filename>modules/services/databases/postgresql.nix</filename>
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="http://www.postgresql.org/docs/"/>
</para>
<!-- FIXME: more stuff, like maintainer? -->
<para>
PostgreSQL is an advanced, free relational database.
<!-- MORE -->
</para>
<section xml:id="module-services-postgres-configuring">
<title>Configuring</title>
<para>PostgreSQL is an advanced, free relational database.<!-- MORE --></para>
<section xml:id="module-services-postgres-configuring"><title>Configuring</title>
<para>To enable PostgreSQL, add the following to your
<filename>configuration.nix</filename>:
<para>
To enable PostgreSQL, add the following to your
<filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-services.postgresql.enable"/> = true;
<xref linkend="opt-services.postgresql.package"/> = pkgs.postgresql94;
</programlisting>
Note that you are required to specify the desired version of
PostgreSQL (e.g. <literal>pkgs.postgresql94</literal>). Since
upgrading your PostgreSQL version requires a database dump and reload
(see below), NixOS cannot provide a default value for
<xref linkend="opt-services.postgresql.package"/> such as the most recent
release of PostgreSQL.</para>
Note that you are required to specify the desired version of PostgreSQL
(e.g. <literal>pkgs.postgresql94</literal>). Since upgrading your PostgreSQL
version requires a database dump and reload (see below), NixOS cannot
provide a default value for
<xref linkend="opt-services.postgresql.package"/> such as the most recent
release of PostgreSQL.
</para>
<!--
<para>After running <command>nixos-rebuild</command>, you can verify
@@ -47,31 +50,28 @@ alice=>
</screen>
-->
<para>By default, PostgreSQL stores its databases in
<filename>/var/db/postgresql</filename>. You can override this using
<xref linkend="opt-services.postgresql.dataDir"/>, e.g.
<para>
By default, PostgreSQL stores its databases in
<filename>/var/db/postgresql</filename>. You can override this using
<xref linkend="opt-services.postgresql.dataDir"/>, e.g.
<programlisting>
<xref linkend="opt-services.postgresql.dataDir"/> = "/data/postgresql";
</programlisting>
</para>
</section>
<section xml:id="module-services-postgres-upgrading">
<title>Upgrading</title>
</para>
</section>
<section xml:id="module-services-postgres-upgrading"><title>Upgrading</title>
<para>FIXME: document dump/upgrade/load cycle.</para>
</section>
<section xml:id="module-services-postgres-options"><title>Options</title>
<para>A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>.</para>
</section>
<para>
FIXME: document dump/upgrade/load cycle.
</para>
</section>
<section xml:id="module-services-postgres-options">
<title>Options</title>
<para>
A complete list of options for the PostgreSQL module may be found
<link linkend="opt-services.postgresql.enable">here</link>.
</para>
</section>
</chapter>

View File

@@ -3,51 +3,54 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-flatpak">
<title>Flatpak</title>
<para><emphasis>Source:</emphasis> <filename>modules/services/desktop/flatpak.nix</filename></para>
<para><emphasis>Upstream documentation:</emphasis> <link xlink:href="https://github.com/flatpak/flatpak/wiki"/></para>
<para>Flatpak is a system for building, distributing, and running sandboxed desktop applications on Linux.</para>
<para>
To enable Flatpak, add the following to your <filename>configuration.nix</filename>:
<programlisting>
<title>Flatpak</title>
<para>
<emphasis>Source:</emphasis>
<filename>modules/services/desktop/flatpak.nix</filename>
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="https://github.com/flatpak/flatpak/wiki"/>
</para>
<para>
Flatpak is a system for building, distributing, and running sandboxed desktop
applications on Linux.
</para>
<para>
To enable Flatpak, add the following to your
<filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-services.flatpak.enable"/> = true;
</programlisting>
</para>
<para>
For the sandboxed apps to work correctly, desktop integration portals need to be installed. If you run GNOME, this will be handled automatically for you; in other cases, you will need to add something like the following to your <filename>configuration.nix</filename>:
<programlisting>
</para>
<para>
For the sandboxed apps to work correctly, desktop integration portals need to
be installed. If you run GNOME, this will be handled automatically for you;
in other cases, you will need to add something like the following to your
<filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-services.flatpak.extraPortals"/> = [ pkgs.xdg-desktop-portal-gtk ];
</programlisting>
</para>
<para>
Then, you will need to add a repository, for example, <link xlink:href="https://github.com/flatpak/flatpak/wiki">Flathub</link>, either using the following commands:
<programlisting>
</para>
<para>
Then, you will need to add a repository, for example,
<link xlink:href="https://github.com/flatpak/flatpak/wiki">Flathub</link>,
either using the following commands:
<programlisting>
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak update
</programlisting>
or by opening the <link xlink:href="https://flathub.org/repo/flathub.flatpakrepo">repository file</link> in GNOME Software.
</para>
<para>
or by opening the
<link xlink:href="https://flathub.org/repo/flathub.flatpakrepo">repository
file</link> in GNOME Software.
</para>
<para>
Finally, you can search and install programs:
<programlisting>
<programlisting>
flatpak search bustle
flatpak install flathub org.freedesktop.Bustle
flatpak run org.freedesktop.Bustle
</programlisting>
Again, GNOME Software offers graphical interface for these tasks.
</para>
</para>
</chapter>

View File

@@ -145,6 +145,7 @@ in {
systemd.services.jupyter = {
description = "Jupyter development server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
# TODO: Patch notebook so we can explicitly pass in a shell

View File

@@ -3,150 +3,148 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-emacs">
<title>Emacs</title>
<!--
<title>Emacs</title>
<!--
Documentation contributors:
Damien Cassou @DamienCassou
Thomas Tuegel @ttuegel
Rodney Lorrimar @rvl
-->
<para>
<link xlink:href="http://www.gnu.org/software/emacs/">Emacs</link> is an
extensible, customizable, self-documenting real-time display editor — and
more. At its core is an interpreter for Emacs Lisp, a dialect of the Lisp
programming language with extensions to support text editing.
</para>
<para>
Emacs runs within a graphical desktop environment using the X Window System,
but works equally well on a text terminal. Under
<productname>macOS</productname>, a "Mac port" edition is available, which
uses Apple's native GUI frameworks.
</para>
<para>
<productname>Nixpkgs</productname> provides a superior environment for
running <application>Emacs</application>. It's simple to create custom builds
by overriding the default packages. Chaotic collections of Emacs Lisp code
and extensions can be brought under control using declarative package
management. <productname>NixOS</productname> even provides a
<command>systemd</command> user service for automatically starting the Emacs
daemon.
</para>
<section xml:id="module-services-emacs-installing">
<title>Installing <application>Emacs</application></title>
<para>
<link xlink:href="http://www.gnu.org/software/emacs/">Emacs</link>
is an extensible, customizable, self-documenting real-time display
editor — and more. At its core is an interpreter for Emacs Lisp, a
dialect of the Lisp programming language with extensions to
support text editing.
Emacs can be installed in the normal way for Nix (see
<xref linkend="sec-package-management" />). In addition, a NixOS
<emphasis>service</emphasis> can be enabled.
</para>
<para>
Emacs runs within a graphical desktop environment using the X
Window System, but works equally well on a text terminal. Under
<productname>macOS</productname>, a "Mac port" edition is
available, which uses Apple's native GUI frameworks.
</para>
<section xml:id="module-services-emacs-releases">
<title>The Different Releases of Emacs</title>
<para>
<productname>Nixpkgs</productname> provides a superior environment
for running <application>Emacs</application>. It's simple to
create custom builds by overriding the default packages. Chaotic
collections of Emacs Lisp code and extensions can be brought under
control using declarative package
management. <productname>NixOS</productname> even provides a
<command>systemd</command> user service for automatically
starting the Emacs daemon.
</para>
<para>
<productname>Nixpkgs</productname> defines several basic Emacs packages.
The following are attributes belonging to the <varname>pkgs</varname> set:
<variablelist>
<varlistentry>
<term>
<varname>emacs</varname>
</term>
<term>
<varname>emacs25</varname>
</term>
<listitem>
<para>
The latest stable version of Emacs 25 using the
<link
xlink:href="http://www.gtk.org">GTK+ 2</link>
widget toolkit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>emacs25-nox</varname>
</term>
<listitem>
<para>
Emacs 25 built without any dependency on X11 libraries.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>emacsMacport</varname>
</term>
<term>
<varname>emacs25Macport</varname>
</term>
<listitem>
<para>
Emacs 25 with the "Mac port" patches, providing a more native look and
feel under macOS.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<section xml:id="module-services-emacs-installing">
<title>Installing <application>Emacs</application></title>
<para>
If those aren't suitable, then the following imitation Emacs editors are
also available in Nixpkgs:
<link xlink:href="https://www.gnu.org/software/zile/">Zile</link>,
<link xlink:href="http://homepage.boetes.org/software/mg/">mg</link>,
<link xlink:href="http://yi-editor.github.io/">Yi</link>.
</para>
</section>
<para>
Emacs can be installed in the normal way for Nix (see
<xref linkend="sec-package-management" />).
In addition, a NixOS <emphasis>service</emphasis>
can be enabled.
</para>
<section xml:id="module-services-emacs-adding-packages">
<title>Adding Packages to Emacs</title>
<section xml:id="module-services-emacs-releases">
<title>The Different Releases of Emacs</title>
<para>
Emacs includes an entire ecosystem of functionality beyond text editing,
including a project planner, mail and news reader, debugger interface,
calendar, and more.
</para>
<para>
<productname>Nixpkgs</productname> defines several basic Emacs
packages. The following are attributes belonging to the
<varname>pkgs</varname> set:
<variablelist>
<varlistentry>
<term><varname>emacs</varname></term>
<term><varname>emacs25</varname></term>
<listitem>
<para>
The latest stable version of Emacs 25 using the <link
xlink:href="http://www.gtk.org">GTK+ 2</link> widget
toolkit.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>emacs25-nox</varname></term>
<listitem>
<para>
Emacs 25 built without any dependency on X11
libraries.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><varname>emacsMacport</varname></term>
<term><varname>emacs25Macport</varname></term>
<listitem>
<para>
Emacs 25 with the "Mac port" patches, providing a more
native look and feel under macOS.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>
If those aren't suitable, then the following imitation Emacs
editors are also available in Nixpkgs:
<link xlink:href="https://www.gnu.org/software/zile/">Zile</link>,
<link xlink:href="http://homepage.boetes.org/software/mg/">mg</link>,
<link xlink:href="http://yi-editor.github.io/">Yi</link>.
</para>
</section>
<section xml:id="module-services-emacs-adding-packages">
<title>Adding Packages to Emacs</title>
<para>
Emacs includes an entire ecosystem of functionality beyond
text editing, including a project planner, mail and news
reader, debugger interface, calendar, and more.
</para>
<para>
Most extensions are gotten with the Emacs packaging system
(<filename>package.el</filename>) from <link
<para>
Most extensions are gotten with the Emacs packaging system
(<filename>package.el</filename>) from
<link
xlink:href="https://elpa.gnu.org/">Emacs Lisp Package Archive
(<acronym>ELPA</acronym>)</link>,
<link xlink:href="https://melpa.org/"><acronym>MELPA</acronym></link>,
<link xlink:href="https://stable.melpa.org/">MELPA Stable</link>,
and <link xlink:href="http://orgmode.org/elpa.html">Org ELPA</link>.
Nixpkgs is regularly updated to mirror all these archives.
</para>
(<acronym>ELPA</acronym>)</link>,
<link xlink:href="https://melpa.org/"><acronym>MELPA</acronym></link>,
<link xlink:href="https://stable.melpa.org/">MELPA Stable</link>, and
<link xlink:href="http://orgmode.org/elpa.html">Org ELPA</link>. Nixpkgs is
regularly updated to mirror all these archives.
</para>
<para>
Under NixOS, you can continue to use
<function>package-list-packages</function> and
<function>package-install</function> to install packages. You
can also declare the set of Emacs packages you need using the
derivations from Nixpkgs. The rest of this section discusses
declarative installation of Emacs packages through nixpkgs.
</para>
<para>
Under NixOS, you can continue to use
<function>package-list-packages</function> and
<function>package-install</function> to install packages. You can also
declare the set of Emacs packages you need using the derivations from
Nixpkgs. The rest of this section discusses declarative installation of
Emacs packages through nixpkgs.
</para>
<note>
<para>
This documentation describes the new Emacs packages
framework in NixOS 16.03
(<varname>emacsPackagesNg</varname>) which should not be
confused with the previous and deprecated framework
(<varname>emacs24Packages</varname>).
</para>
</note>
<note>
<para>
This documentation describes the new Emacs packages framework in NixOS
16.03 (<varname>emacsPackagesNg</varname>) which should not be confused
with the previous and deprecated framework
(<varname>emacs24Packages</varname>).
</para>
</note>
<para>
The first step to declare the list of packages you want in
your Emacs installation is to create a dedicated
derivation. This can be done in a dedicated
<filename>emacs.nix</filename> file such as:
<example xml:id="ex-emacsNix">
<title>Nix expression to build Emacs with packages (<filename>emacs.nix</filename>)</title>
<programlisting language="nix">
<para>
The first step to declare the list of packages you want in your Emacs
installation is to create a dedicated derivation. This can be done in a
dedicated <filename>emacs.nix</filename> file such as:
<example xml:id="ex-emacsNix">
<title>Nix expression to build Emacs with packages (<filename>emacs.nix</filename>)</title>
<programlisting language="nix">
/*
This is a nix expression to build Emacs and some Emacs packages I like
from source on any distribution where Nix is installed. This will install
@@ -181,119 +179,104 @@ in
pkgs.notmuch # From main packages set <co xml:id="ex-emacsNix-7" />
])
</programlisting>
</example>
<calloutlist>
<callout arearefs="ex-emacsNix-1">
<para>
The first non-comment line in this file
(<literal>{ pkgs ? ... }</literal>)
indicates that the whole file represents a function.
</para>
</callout>
<callout arearefs="ex-emacsNix-2">
<para>
The <varname>let</varname> expression below defines a
<varname>myEmacs</varname> binding pointing to the current
stable version of Emacs. This binding is here to separate the
choice of the Emacs binary from the specification of the
required packages.
</para>
</callout>
<callout arearefs="ex-emacsNix-3">
<para>
This generates an <varname>emacsWithPackages</varname>
function. It takes a single argument: a function from a
package set to a list of packages (the packages that will
be available in Emacs).
</para>
</callout>
<callout arearefs="ex-emacsNix-4">
<para>
The rest of the file specifies the list of packages to
install. In the example, two packages
(<varname>magit</varname> and
<varname>zerodark-theme</varname>) are taken from MELPA
stable.
</para>
</callout>
<callout arearefs="ex-emacsNix-5">
<para>
Two packages (<varname>undo-tree</varname> and
<varname>zoom-frm</varname>) are taken from MELPA.
</para>
</callout>
<callout arearefs="ex-emacsNix-6">
<para>Three packages are taken from GNU ELPA.</para>
</callout>
<callout arearefs="ex-emacsNix-7">
<para>
<varname>notmuch</varname> is taken from a nixpkgs derivation
which contains an Emacs mode.
</para>
</callout>
</calloutlist>
</para>
</example>
<calloutlist>
<callout arearefs="ex-emacsNix-1">
<para>
The result of this configuration will be an
<command>emacs</command> command which launches Emacs with all
of your chosen packages in the <varname>load-path</varname>.
The first non-comment line in this file (<literal>{ pkgs ? ...
}</literal>) indicates that the whole file represents a function.
</para>
</callout>
<callout arearefs="ex-emacsNix-2">
<para>
You can check that it works by executing this in a terminal:
The <varname>let</varname> expression below defines a
<varname>myEmacs</varname> binding pointing to the current stable
version of Emacs. This binding is here to separate the choice of the
Emacs binary from the specification of the required packages.
</para>
</callout>
<callout arearefs="ex-emacsNix-3">
<para>
This generates an <varname>emacsWithPackages</varname> function. It
takes a single argument: a function from a package set to a list of
packages (the packages that will be available in Emacs).
</para>
</callout>
<callout arearefs="ex-emacsNix-4">
<para>
The rest of the file specifies the list of packages to install. In the
example, two packages (<varname>magit</varname> and
<varname>zerodark-theme</varname>) are taken from MELPA stable.
</para>
</callout>
<callout arearefs="ex-emacsNix-5">
<para>
Two packages (<varname>undo-tree</varname> and
<varname>zoom-frm</varname>) are taken from MELPA.
</para>
</callout>
<callout arearefs="ex-emacsNix-6">
<para>
Three packages are taken from GNU ELPA.
</para>
</callout>
<callout arearefs="ex-emacsNix-7">
<para>
<varname>notmuch</varname> is taken from a nixpkgs derivation which
contains an Emacs mode.
</para>
</callout>
</calloutlist>
</para>
<para>
The result of this configuration will be an <command>emacs</command>
command which launches Emacs with all of your chosen packages in the
<varname>load-path</varname>.
</para>
<para>
You can check that it works by executing this in a terminal:
<screen>
$ nix-build emacs.nix
$ ./result/bin/emacs -q
</screen>
and then typing <literal>M-x package-initialize</literal>. Check that you
can use all the packages you want in this Emacs instance. For example, try
switching to the zerodark theme through <literal>M-x load-theme &lt;RET&gt;
zerodark &lt;RET&gt; y</literal>.
</para>
and then typing <literal>M-x package-initialize</literal>.
Check that you can use all the packages you want in this
Emacs instance. For example, try switching to the zerodark
theme through
<literal>M-x load-theme &lt;RET&gt; zerodark &lt;RET&gt; y</literal>.
</para>
<tip>
<para>
A few popular extensions worth checking out are: auctex, company,
edit-server, flycheck, helm, iedit, magit, multiple-cursors, projectile,
and yasnippet.
</para>
</tip>
<tip>
<para>
A few popular extensions worth checking out are: auctex,
company, edit-server, flycheck, helm, iedit, magit,
multiple-cursors, projectile, and yasnippet.
</para>
</tip>
<para>
The list of available packages in the various ELPA
repositories can be seen with the following commands:
<example xml:id="module-services-emacs-querying-packages">
<title>Querying Emacs packages</title>
<programlisting><![CDATA[
<para>
The list of available packages in the various ELPA repositories can be seen
with the following commands:
<example xml:id="module-services-emacs-querying-packages">
<title>Querying Emacs packages</title>
<programlisting><![CDATA[
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.elpaPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.melpaPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.melpaStablePackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.orgPackages
]]></programlisting>
</example>
</para>
</example>
</para>
<para>
If you are on NixOS, you can install this particular Emacs for
all users by adding it to the list of system packages
(see <xref linkend="sec-declarative-package-mgmt" />). Simply
modify your file <filename>configuration.nix</filename> to
make it contain:
<example xml:id="module-services-emacs-configuration-nix">
<title>Custom Emacs in <filename>configuration.nix</filename></title>
<programlisting><![CDATA[
<para>
If you are on NixOS, you can install this particular Emacs for all users by
adding it to the list of system packages (see
<xref linkend="sec-declarative-package-mgmt" />). Simply modify your file
<filename>configuration.nix</filename> to make it contain:
<example xml:id="module-services-emacs-configuration-nix">
<title>Custom Emacs in <filename>configuration.nix</filename></title>
<programlisting><![CDATA[
{
environment.systemPackages = [
# [...]
@@ -301,60 +284,59 @@ nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.orgPackages
];
}
]]></programlisting>
</example>
</para>
</example>
</para>
<para>
In this case, the next <command>nixos-rebuild switch</command>
will take care of adding your <command>emacs</command> to the
<varname>PATH</varname> environment variable
(see <xref linkend="sec-changing-config" />).
</para>
<para>
In this case, the next <command>nixos-rebuild switch</command> will take
care of adding your <command>emacs</command> to the <varname>PATH</varname>
environment variable (see <xref linkend="sec-changing-config" />).
</para>
<!-- fixme: i think the following is better done with config.nix
https://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides
-->
<para>
If you are not on NixOS or want to install this particular
Emacs only for yourself, you can do so by adding it to your
<filename>~/.config/nixpkgs/config.nix</filename>
(see <link xlink:href="http://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides">Nixpkgs manual</link>):
<example xml:id="module-services-emacs-config-nix">
<title>Custom Emacs in <filename>~/.config/nixpkgs/config.nix</filename></title>
<programlisting><![CDATA[
<para>
If you are not on NixOS or want to install this particular Emacs only for
yourself, you can do so by adding it to your
<filename>~/.config/nixpkgs/config.nix</filename> (see
<link xlink:href="http://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides">Nixpkgs
manual</link>):
<example xml:id="module-services-emacs-config-nix">
<title>Custom Emacs in <filename>~/.config/nixpkgs/config.nix</filename></title>
<programlisting><![CDATA[
{
packageOverrides = super: let self = super.pkgs; in {
myemacs = import /path/to/emacs.nix { pkgs = self; };
};
}
]]></programlisting>
</example>
</para>
</example>
</para>
<para>
In this case, the next
<literal>nix-env -f '&lt;nixpkgs&gt;' -iA myemacs</literal>
will take care of adding your emacs to the
<varname>PATH</varname> environment variable.
</para>
</section>
<para>
In this case, the next <literal>nix-env -f '&lt;nixpkgs&gt;' -iA
myemacs</literal> will take care of adding your emacs to the
<varname>PATH</varname> environment variable.
</para>
</section>
<section xml:id="module-services-emacs-advanced">
<title>Advanced Emacs Configuration</title>
<section xml:id="module-services-emacs-advanced">
<title>Advanced Emacs Configuration</title>
<para>
If you want, you can tweak the Emacs package itself from your
<filename>emacs.nix</filename>. For example, if you want to
have a GTK+3-based Emacs instead of the default GTK+2-based
binary and remove the automatically generated
<filename>emacs.desktop</filename> (useful is you only use
<command>emacsclient</command>), you can change your file
<filename>emacs.nix</filename> in this way:
</para>
<para>
If you want, you can tweak the Emacs package itself from your
<filename>emacs.nix</filename>. For example, if you want to have a
GTK+3-based Emacs instead of the default GTK+2-based binary and remove the
automatically generated <filename>emacs.desktop</filename> (useful is you
only use <command>emacsclient</command>), you can change your file
<filename>emacs.nix</filename> in this way:
</para>
<example xml:id="ex-emacsGtk3Nix">
<title>Custom Emacs build</title>
<programlisting><![CDATA[
<example xml:id="ex-emacsGtk3Nix">
<title>Custom Emacs build</title>
<programlisting><![CDATA[
{ pkgs ? import <nixpkgs> {} }:
let
myEmacs = (pkgs.emacs.override {
@@ -370,161 +352,143 @@ let
});
in [...]
]]></programlisting>
</example>
</example>
<para>
After building this file as shown in <xref linkend="ex-emacsNix" />,
you will get an GTK3-based Emacs binary pre-loaded with your
favorite packages.
</para>
</section>
<para>
After building this file as shown in <xref linkend="ex-emacsNix" />, you
will get an GTK3-based Emacs binary pre-loaded with your favorite packages.
</para>
</section>
<section xml:id="module-services-emacs-running">
</section>
<section xml:id="module-services-emacs-running">
<title>Running Emacs as a Service</title>
<para>
<productname>NixOS</productname> provides an optional
<command>systemd</command> service which launches
<link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html">
Emacs daemon
</link>
with the user's login session.
<productname>NixOS</productname> provides an optional
<command>systemd</command> service which launches
<link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html">
Emacs daemon </link> with the user's login session.
</para>
<para>
<emphasis>Source:</emphasis>
<filename>modules/services/editors/emacs.nix</filename>
<emphasis>Source:</emphasis>
<filename>modules/services/editors/emacs.nix</filename>
</para>
<section xml:id="module-services-emacs-enabling">
<title>Enabling the Service</title>
<para>
To install and enable the <command>systemd</command>
user service for Emacs daemon, add the following to your
<filename>configuration.nix</filename>:
<title>Enabling the Service</title>
<para>
To install and enable the <command>systemd</command> user service for Emacs
daemon, add the following to your <filename>configuration.nix</filename>:
<programlisting>
<xref linkend="opt-services.emacs.enable"/> = true;
<xref linkend="opt-services.emacs.package"/> = import /home/cassou/.emacs.d { pkgs = pkgs; };
</programlisting>
</para>
</para>
<para>
The <varname>services.emacs.package</varname> option allows a
custom derivation to be used, for example, one created by
<function>emacsWithPackages</function>.
</para>
<para>
The <varname>services.emacs.package</varname> option allows a custom
derivation to be used, for example, one created by
<function>emacsWithPackages</function>.
</para>
<para>
Ensure that the Emacs server is enabled for your user's Emacs
configuration, either by customizing the
<varname>server-mode</varname> variable, or by adding
<literal>(server-start)</literal> to
<filename>~/.emacs.d/init.el</filename>.
</para>
<para>
To start the daemon, execute the following:
<para>
Ensure that the Emacs server is enabled for your user's Emacs
configuration, either by customizing the <varname>server-mode</varname>
variable, or by adding <literal>(server-start)</literal> to
<filename>~/.emacs.d/init.el</filename>.
</para>
<para>
To start the daemon, execute the following:
<screen>
$ nixos-rebuild switch # to activate the new configuration.nix
$ systemctl --user daemon-reload # to force systemd reload
$ systemctl --user start emacs.service # to start the Emacs daemon
</screen>
The server should now be ready to serve Emacs clients.
</para>
The server should now be ready to serve Emacs clients.
</para>
</section>
<section xml:id="module-services-emacs-starting-client">
<title>Starting the client</title>
<para>
Ensure that the emacs server is enabled, either by customizing
the <varname>server-mode</varname> variable, or by adding
<literal>(server-start)</literal> to
<filename>~/.emacs</filename>.
</para>
<title>Starting the client</title>
<para>
To connect to the emacs daemon, run one of the following:
<programlisting><![CDATA[
<para>
Ensure that the emacs server is enabled, either by customizing the
<varname>server-mode</varname> variable, or by adding
<literal>(server-start)</literal> to <filename>~/.emacs</filename>.
</para>
<para>
To connect to the emacs daemon, run one of the following:
<programlisting><![CDATA[
emacsclient FILENAME
emacsclient --create-frame # opens a new frame (window)
emacsclient --create-frame --tty # opens a new frame on the current terminal
]]></programlisting>
</para>
</para>
</section>
<section xml:id="module-services-emacs-editor-variable">
<title>Configuring the <varname>EDITOR</varname> variable</title>
<!--<title><command>emacsclient</command> as the Default Editor</title>-->
<title>Configuring the <varname>EDITOR</varname> variable</title>
<para>
If <xref linkend="opt-services.emacs.defaultEditor"/> is
<literal>true</literal>, the <varname>EDITOR</varname> variable
will be set to a wrapper script which launches
<command>emacsclient</command>.
</para>
<!--<title><command>emacsclient</command> as the Default Editor</title>-->
<para>
Any setting of <varname>EDITOR</varname> in the shell config
files will override
<varname>services.emacs.defaultEditor</varname>.
To make sure <varname>EDITOR</varname> refers to the Emacs
wrapper script, remove any existing <varname>EDITOR</varname>
assignment from <filename>.profile</filename>,
<filename>.bashrc</filename>, <filename>.zshenv</filename> or
any other shell config file.
</para>
<para>
If <xref linkend="opt-services.emacs.defaultEditor"/> is
<literal>true</literal>, the <varname>EDITOR</varname> variable will be set
to a wrapper script which launches <command>emacsclient</command>.
</para>
<para>
If you have formed certain bad habits when editing files,
these can be corrected with a shell alias to the wrapper
script:
<programlisting>alias vi=$EDITOR</programlisting>
</para>
<para>
Any setting of <varname>EDITOR</varname> in the shell config files will
override <varname>services.emacs.defaultEditor</varname>. To make sure
<varname>EDITOR</varname> refers to the Emacs wrapper script, remove any
existing <varname>EDITOR</varname> assignment from
<filename>.profile</filename>, <filename>.bashrc</filename>,
<filename>.zshenv</filename> or any other shell config file.
</para>
<para>
If you have formed certain bad habits when editing files, these can be
corrected with a shell alias to the wrapper script:
<programlisting>alias vi=$EDITOR</programlisting>
</para>
</section>
<section xml:id="module-services-emacs-per-user">
<title>Per-User Enabling of the Service</title>
<para>
In general, <command>systemd</command> user services
are globally enabled by symlinks in
<filename>/etc/systemd/user</filename>. In the case where
Emacs daemon is not wanted for all users, it is possible to
install the service but not globally enable it:
<title>Per-User Enabling of the Service</title>
<para>
In general, <command>systemd</command> user services are globally enabled
by symlinks in <filename>/etc/systemd/user</filename>. In the case where
Emacs daemon is not wanted for all users, it is possible to install the
service but not globally enable it:
<programlisting>
<xref linkend="opt-services.emacs.enable"/> = false;
<xref linkend="opt-services.emacs.install"/> = true;
</programlisting>
</para>
</para>
<para>
To enable the <command>systemd</command> user service for just
the currently logged in user, run:
<programlisting>systemctl --user enable emacs</programlisting>
This will add the symlink
<filename>~/.config/systemd/user/emacs.service</filename>.
</para>
<para>
To enable the <command>systemd</command> user service for just the
currently logged in user, run:
<programlisting>systemctl --user enable emacs</programlisting>
This will add the symlink
<filename>~/.config/systemd/user/emacs.service</filename>.
</para>
</section>
</section>
<section xml:id="module-services-emacs-configuring">
</section>
<section xml:id="module-services-emacs-configuring">
<title>Configuring Emacs</title>
<para>
The Emacs init file should be changed to load the extension
packages at startup:
<example xml:id="module-services-emacs-package-initialisation">
<title>Package initialization in <filename>.emacs</filename></title>
<programlisting><![CDATA[
The Emacs init file should be changed to load the extension packages at
startup:
<example xml:id="module-services-emacs-package-initialisation">
<title>Package initialization in <filename>.emacs</filename></title>
<programlisting><![CDATA[
(require 'package)
;; optional. makes unpure packages archives unavailable
@@ -533,66 +497,71 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
(setq package-enable-at-startup nil)
(package-initialize)
]]></programlisting>
</example>
</example>
</para>
<para>
After the declarative emacs package configuration has been
tested, previously downloaded packages can be cleaned up by
removing <filename>~/.emacs.d/elpa</filename> (do make a backup
first, in case you forgot a package).
After the declarative emacs package configuration has been tested,
previously downloaded packages can be cleaned up by removing
<filename>~/.emacs.d/elpa</filename> (do make a backup first, in case you
forgot a package).
</para>
<!--
<!--
todo: is it worth documenting customizations for
server-switch-hook, server-done-hook?
-->
<section xml:id="module-services-emacs-major-mode">
<title>A Major Mode for Nix Expressions</title>
<title>A Major Mode for Nix Expressions</title>
<para>
Of interest may be <varname>melpaPackages.nix-mode</varname>,
which provides syntax highlighting for the Nix language. This is
particularly convenient if you regularly edit Nix files.
</para>
<para>
Of interest may be <varname>melpaPackages.nix-mode</varname>, which
provides syntax highlighting for the Nix language. This is particularly
convenient if you regularly edit Nix files.
</para>
</section>
<section xml:id="module-services-emacs-man-pages">
<title>Accessing man pages</title>
<para>
You can use <function>woman</function> to get completion of all
available man pages. For example, type <literal>M-x woman
&lt;RET&gt; nixos-rebuild &lt;RET&gt;.</literal>
</para>
<title>Accessing man pages</title>
<para>
You can use <function>woman</function> to get completion of all available
man pages. For example, type <literal>M-x woman &lt;RET&gt; nixos-rebuild
&lt;RET&gt;.</literal>
</para>
</section>
<section xml:id="sec-emacs-docbook-xml">
<title>Editing DocBook 5 XML Documents</title>
<para>
Emacs includes <link
<title>Editing DocBook 5 XML Documents</title>
<para>
Emacs includes
<link
xlink:href="https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html">nXML</link>,
a major-mode for validating and editing XML documents.
When editing DocBook 5.0 documents, such as
<link linkend="book-nixos-manual">this one</link>,
nXML needs to be configured with the relevant schema, which is
not included.
</para>
a major-mode for validating and editing XML documents. When editing DocBook
5.0 documents, such as <link linkend="book-nixos-manual">this one</link>,
nXML needs to be configured with the relevant schema, which is not
included.
</para>
<para>
To install the DocBook 5.0 schemas, either add
<varname>pkgs.docbook5</varname> to
<xref linkend="opt-environment.systemPackages"/> (<link
<para>
To install the DocBook 5.0 schemas, either add
<varname>pkgs.docbook5</varname> to
<xref linkend="opt-environment.systemPackages"/>
(<link
linkend="sec-declarative-package-mgmt">NixOS</link>), or run
<literal>nix-env -i pkgs.docbook5</literal>
(<link linkend="sec-ad-hoc-packages">Nix</link>).
</para>
<literal>nix-env -i pkgs.docbook5</literal>
(<link linkend="sec-ad-hoc-packages">Nix</link>).
</para>
<para>
Then customize the variable <varname>rng-schema-locating-files</varname> to include <filename>~/.emacs.d/schemas.xml</filename> and put the following text into that file:
<example xml:id="ex-emacs-docbook-xml">
<title>nXML Schema Configuration (<filename>~/.emacs.d/schemas.xml</filename>)</title>
<programlisting language="xml"><![CDATA[
<para>
Then customize the variable <varname>rng-schema-locating-files</varname> to
include <filename>~/.emacs.d/schemas.xml</filename> and put the following
text into that file:
<example xml:id="ex-emacs-docbook-xml">
<title>nXML Schema Configuration (<filename>~/.emacs.d/schemas.xml</filename>)</title>
<programlisting language="xml"><![CDATA[
<?xml version="1.0"?>
<!--
To let emacs find this file, evaluate:
@@ -612,9 +581,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
</locatingRules>
]]></programlisting>
</example>
</para>
</para>
</section>
</section>
</section>
</chapter>

View File

@@ -26,15 +26,14 @@ in {
name = "trezord-udev-rules";
destination = "/etc/udev/rules.d/51-trezor.rules";
text = ''
# Trezor 1
SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0666", GROUP="dialout"
# TREZOR v1 (One)
SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0660", GROUP="trezord", TAG+="uaccess", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001", MODE="0660", GROUP="trezord", TAG+="uaccess"
# Trezor 2 (Model-T)
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c0", MODE="0661", GROUP="dialout", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c1", MODE="0660", GROUP="dialout", TAG+="uaccess", TAG+="udev-acl", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="dialout", TAG+="uaccess", TAG+="udev-acl"
];
# TREZOR v2 (T)
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c0", MODE="0660", GROUP="trezord", TAG+="uaccess", SYMLINK+="trezor%n"
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="53c1", MODE="0660", GROUP="trezord", TAG+="uaccess", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="53c1", MODE="0660", GROUP="trezord", TAG+="uaccess"
'';
});

View File

@@ -7,7 +7,7 @@
# to be set.
#
# For further information please consult the documentation in the
# upstream repository at: https://github.com/aprilabank/journaldriver/
# upstream repository at: https://github.com/tazjin/journaldriver/
{ config, lib, pkgs, ...}:

View File

@@ -311,7 +311,7 @@ in
{ name = "dovenull";
uid = config.ids.uids.dovenull2;
description = "Dovecot user for untrusted logins";
group = cfg.group;
group = "dovenull";
}
] ++ optional (cfg.user == "dovecot2")
{ name = "dovecot2";
@@ -332,6 +332,10 @@ in
}
++ optional (cfg.createMailUser && cfg.mailGroup != null)
{ name = cfg.mailGroup;
}
++ singleton
{ name = "dovenull";
gid = config.ids.gids.dovenull2;
};
environment.etc."dovecot/modules".source = modulesDir;

View File

@@ -2,7 +2,7 @@
let
inherit (lib) mkIf mkOption singleton types;
inherit (pkgs) coreutils exim;
inherit (pkgs) coreutils;
cfg = config.services.exim;
in
@@ -57,6 +57,16 @@ in
'';
};
package = mkOption {
type = types.package;
default = pkgs.exim;
defaultText = "pkgs.exim";
description = ''
The Exim derivation to use.
This can be used to enable features such as LDAP or PAM support.
'';
};
};
};
@@ -74,7 +84,7 @@ in
spool_directory = ${cfg.spoolDir}
${cfg.config}
'';
systemPackages = [ exim ];
systemPackages = [ cfg.package ];
};
users.users = singleton {
@@ -89,14 +99,14 @@ in
gid = config.ids.gids.exim;
};
security.wrappers.exim.source = "${exim}/bin/exim";
security.wrappers.exim.source = "${cfg.package}/bin/exim";
systemd.services.exim = {
description = "Exim Mail Daemon";
wantedBy = [ "multi-user.target" ];
restartTriggers = [ config.environment.etc."exim.conf".source ];
serviceConfig = {
ExecStart = "${exim}/bin/exim -bdf -q30m";
ExecStart = "${cfg.package}/bin/exim -bdf -q30m";
ExecReload = "${coreutils}/bin/kill -HUP $MAINPID";
};
preStart = ''

View File

@@ -52,7 +52,7 @@ in
enable = mkOption {
type = types.bool;
default = cfg.rspamd.enable;
default = false;
description = "Whether to run the rmilter daemon.";
};
@@ -89,7 +89,7 @@ in
bindSocket.path = mkOption {
type = types.str;
default = "/run/rmilter/rmilter.sock";
default = "/run/rmilter.sock";
description = ''
Path to Unix domain socket to listen on.
'';
@@ -193,6 +193,9 @@ in
config = mkMerge [
(mkIf cfg.enable {
warnings = [
''`config.services.rmilter' is deprecated, `rmilter' deprecated and unsupported by upstream, and will be removed from next releases. Use built-in rspamd milter instead.''
];
users.users = singleton {
name = cfg.user;

View File

@@ -115,36 +115,10 @@ let
};
};
indexOf = default: start: list: e:
if list == []
then default
else if (head list) == e then start
else (indexOf default (start + (length (listenStreams (head list).socket))) (tail list) e);
systemdSocket = indexOf (abort "Socket not found") 0 allSockets;
isUnixSocket = socket: hasPrefix "/" (if (isString socket) then socket else socket.socket);
isPort = hasPrefix "*:";
isIPv4Socket = hasPrefix "*v4:";
isIPv6Socket = hasPrefix "*v6:";
isLocalHost = hasPrefix "localhost:";
listenStreams = socket:
if (isLocalHost socket) then
let port = (removePrefix "localhost:" socket);
in [ "127.0.0.1:${port}" ] ++ (if config.networking.enableIPv6 then ["[::1]:${port}"] else [])
else if (isIPv6Socket socket) then [removePrefix "*v6:" socket]
else if (isPort socket) then [removePrefix "*:" socket]
else if (isIPv4Socket socket) then
throw "error: IPv4 only socket not supported in rspamd with socket activation"
else if (length (splitString " " socket)) != 1 then
throw "error: string options not supported in rspamd with socket activation"
else [socket];
mkBindSockets = enabled: socks: concatStringsSep "\n " (flatten (map (each:
if cfg.socketActivation && enabled != false then
let systemd = (systemdSocket each);
in (imap (idx: e: "bind_socket = \"systemd:${toString (systemd + idx - 1)}\";") (listenStreams each.socket))
else "bind_socket = \"${each.rawEntry}\";") socks));
mkBindSockets = enabled: socks: concatStringsSep "\n "
(flatten (map (each: "bind_socket = \"${each.rawEntry}\";") socks));
rspamdConfFile = pkgs.writeText "rspamd.conf"
''
@@ -175,18 +149,6 @@ let
${cfg.extraConfig}
'';
allMappedSockets = flatten (mapAttrsToList (name: value:
if value.enable != false
then imap (idx: each: {
name = "${name}";
index = idx;
value = each;
}) value.bindSockets
else []) cfg.workers);
allSockets = map (e: e.value) allMappedSockets;
allSocketNames = map (each: "rspamd-${each.name}-${toString each.index}.socket") allMappedSockets;
in
{
@@ -205,13 +167,6 @@ in
description = "Whether to run the rspamd daemon in debug mode.";
};
socketActivation = mkOption {
type = types.bool;
description = ''
Enable systemd socket activation for rspamd.
'';
};
workers = mkOption {
type = with types; attrsOf (submodule workerOpts);
description = ''
@@ -272,13 +227,6 @@ in
config = mkIf cfg.enable {
services.rspamd.socketActivation = mkDefault (!opts.bindSocket.isDefined && !opts.bindUISocket.isDefined);
assertions = [ {
assertion = !cfg.socketActivation || !(opts.bindSocket.isDefined || opts.bindUISocket.isDefined);
message = "Can't use socketActivation for rspamd when using renamed bind socket options";
} ];
# Allow users to run 'rspamc' and 'rspamadm'.
environment.systemPackages = [ pkgs.rspamd ];
@@ -299,17 +247,14 @@ in
systemd.services.rspamd = {
description = "Rspamd Service";
wantedBy = mkIf (!cfg.socketActivation) [ "multi-user.target" ];
after = [ "network.target" ] ++
(if cfg.socketActivation then allSocketNames else []);
requires = mkIf cfg.socketActivation allSocketNames;
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = "${pkgs.rspamd}/bin/rspamd ${optionalString cfg.debug "-d"} --user=${cfg.user} --group=${cfg.group} --pid=/run/rspamd.pid -c ${rspamdConfFile} -f";
Restart = "always";
RuntimeDirectory = "rspamd";
PrivateTmp = true;
Sockets = mkIf cfg.socketActivation (concatStringsSep " " allSocketNames);
};
preStart = ''
@@ -317,24 +262,10 @@ in
${pkgs.coreutils}/bin/chown ${cfg.user}:${cfg.group} /var/lib/rspamd
'';
};
systemd.sockets = mkIf cfg.socketActivation
(listToAttrs (map (each: {
name = "rspamd-${each.name}-${toString each.index}";
value = {
description = "Rspamd socket ${toString each.index} for worker ${each.name}";
wantedBy = [ "sockets.target" ];
listenStreams = (listenStreams each.value.socket);
socketConfig = {
BindIPv6Only = mkIf (isIPv6Socket each.value.socket) "ipv6-only";
Service = "rspamd.service";
SocketUser = mkIf (isUnixSocket each.value.socket) each.value.owner;
SocketGroup = mkIf (isUnixSocket each.value.socket) each.value.group;
SocketMode = mkIf (isUnixSocket each.value.socket) each.value.mode;
};
};
}) allMappedSockets));
};
imports = [
(mkRemovedOptionModule [ "services" "rspamd" "socketActivation" ]
"Socket activation never worked correctly and could at this time not be fixed and so was removed")
(mkRenamedOptionModule [ "services" "rspamd" "bindSocket" ] [ "services" "rspamd" "workers" "normal" "bindSockets" ])
(mkRenamedOptionModule [ "services" "rspamd" "bindUISocket" ] [ "services" "rspamd" "workers" "controller" "bindSockets" ])
];

View File

@@ -36,11 +36,18 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
test -d ${cfg.dataDir} || {
echo "Creating initial Emby data directory in ${cfg.dataDir}"
mkdir -p ${cfg.dataDir}
chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
}
if [ -d ${cfg.dataDir} ]
then
for plugin in ${cfg.dataDir}/plugins/*
do
echo "Correcting permissions of plugin: $plugin"
chmod u+w $plugin
done
else
echo "Creating initial Emby data directory in ${cfg.dataDir}"
mkdir -p ${cfg.dataDir}
chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
fi
'';
serviceConfig = {
@@ -48,7 +55,7 @@ in
User = cfg.user;
Group = cfg.group;
PermissionsStartOnly = "true";
ExecStart = "${pkgs.emby}/bin/MediaBrowser.Server.Mono";
ExecStart = "${pkgs.emby}/bin/emby -programdata ${cfg.dataDir}";
Restart = "on-failure";
};
};

View File

@@ -405,6 +405,9 @@ in
cp -Rf ${pkgs.zookeeper}/* ${cfg.baseDir}/zookeeper
chown -R zookeeper ${cfg.baseDir}/zookeeper/conf
chmod -R u+w ${cfg.baseDir}/zookeeper/conf
replace_what=$(echo ${pkgs.zookeeper} | sed 's/[\/&]/\\&/g')
replace_with=$(echo ${cfg.baseDir}/zookeeper | sed 's/[\/&]/\\&/g')
sed -i 's/'"$replace_what"'/'"$replace_with"'/g' ${cfg.baseDir}/zookeeper/bin/zk*.sh
'';
};
users.users = singleton {

View File

@@ -6,6 +6,7 @@ let
cfg = config.services.gitea;
gitea = cfg.package;
pg = config.services.postgresql;
useMysql = cfg.database.type == "mysql";
usePostgresql = cfg.database.type == "postgres";
configFile = pkgs.writeText "app.ini" ''
APP_NAME = ${cfg.appName}
@@ -14,7 +15,7 @@ let
[database]
DB_TYPE = ${cfg.database.type}
HOST = ${cfg.database.host}:${toString cfg.database.port}
HOST = ${if cfg.database.socket != null then cfg.database.socket else cfg.database.host + ":" + toString cfg.database.port}
NAME = ${cfg.database.name}
USER = ${cfg.database.user}
PASSWD = #dbpass#
@@ -148,6 +149,13 @@ in
'';
};
socket = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/mysqld/mysqld.sock";
description = "Path to the unix socket file to use for authentication.";
};
path = mkOption {
type = types.str;
default = "${cfg.stateDir}/data/gitea.db";
@@ -253,7 +261,7 @@ in
systemd.services.gitea = {
description = "gitea";
after = [ "network.target" "postgresql.service" ];
after = [ "network.target" ] ++ lib.optional usePostgresql "postgresql.service" ++ lib.optional useMysql "mysql.service";
wantedBy = [ "multi-user.target" ];
path = [ gitea.bin ];

View File

@@ -14,15 +14,16 @@ let
pathUrlQuote = url: replaceStrings ["/"] ["%2F"] url;
pgSuperUser = config.services.postgresql.superUser;
databaseYml = ''
production:
adapter: postgresql
database: ${cfg.databaseName}
host: ${cfg.databaseHost}
password: ${cfg.databasePassword}
username: ${cfg.databaseUsername}
encoding: utf8
'';
databaseConfig = {
production = {
adapter = "postgresql";
database = cfg.databaseName;
host = cfg.databaseHost;
password = cfg.databasePassword;
username = cfg.databaseUsername;
encoding = "utf8";
};
};
gitalyToml = pkgs.writeText "gitaly.toml" ''
socket_path = "${lib.escape ["\""] gitalySocket}"
@@ -45,34 +46,31 @@ let
'') gitlabConfig.production.repositories.storages))}
'';
gitlabShellYml = ''
user: ${cfg.user}
gitlab_url: "http+unix://${pathUrlQuote gitlabSocket}"
http_settings:
self_signed_cert: false
repos_path: "${cfg.statePath}/repositories"
secret_file: "${cfg.statePath}/config/gitlab_shell_secret"
log_file: "${cfg.statePath}/log/gitlab-shell.log"
redis:
bin: ${pkgs.redis}/bin/redis-cli
host: 127.0.0.1
port: 6379
database: 0
namespace: resque:gitlab
'';
gitlabShellConfig = {
user = cfg.user;
gitlab_url = "http+unix://${pathUrlQuote gitlabSocket}";
http_settings.self_signed_cert = false;
repos_path = "${cfg.statePath}/repositories";
secret_file = "${cfg.statePath}/config/gitlab_shell_secret";
log_file = "${cfg.statePath}/log/gitlab-shell.log";
custom_hooks_dir = "${cfg.statePath}/custom_hooks";
redis = {
bin = "${pkgs.redis}/bin/redis-cli";
host = "127.0.0.1";
port = 6379;
database = 0;
namespace = "resque:gitlab";
};
};
redisYml = ''
production:
url: redis://localhost:6379/
'';
redisConfig.production.url = "redis://localhost:6379/";
secretsYml = ''
production:
secret_key_base: ${cfg.secrets.secret}
otp_key_base: ${cfg.secrets.otp}
db_key_base: ${cfg.secrets.db}
openid_connect_signing_key: ${builtins.toJSON cfg.secrets.jws}
'';
secretsConfig.production = {
secret_key_base = cfg.secrets.secret;
otp_key_base = cfg.secrets.otp;
db_key_base = cfg.secrets.db;
openid_connect_signing_key = cfg.secrets.jws;
};
gitlabConfig = {
# These are the default settings from config/gitlab.example.yml
@@ -114,12 +112,8 @@ let
upload_pack = true;
receive_pack = true;
};
workhorse = {
secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
};
git = {
bin_path = "git";
};
workhorse.secret_file = "${cfg.statePath}/.gitlab_workhorse_secret";
git.bin_path = "git";
monitoring = {
ip_whitelist = [ "127.0.0.0/8" "::1/128" ];
sidekiq_exporter = {
@@ -137,7 +131,7 @@ let
HOME = "${cfg.statePath}/home";
UNICORN_PATH = "${cfg.statePath}/";
GITLAB_PATH = "${cfg.packages.gitlab}/share/gitlab/";
GITLAB_STATE_PATH = "${cfg.statePath}";
GITLAB_STATE_PATH = cfg.statePath;
GITLAB_UPLOADS_PATH = "${cfg.statePath}/uploads";
SCHEMA = "${cfg.statePath}/db/schema.rb";
GITLAB_LOG_PATH = "${cfg.statePath}/log";
@@ -145,13 +139,11 @@ let
GITLAB_SHELL_CONFIG_PATH = "${cfg.statePath}/shell/config.yml";
GITLAB_SHELL_SECRET_PATH = "${cfg.statePath}/config/gitlab_shell_secret";
GITLAB_SHELL_HOOKS_PATH = "${cfg.statePath}/shell/hooks";
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "gitlab-redis.yml" redisYml;
GITLAB_REDIS_CONFIG_FILE = pkgs.writeText "redis.yml" (builtins.toJSON redisConfig);
prometheus_multiproc_dir = "/run/gitlab";
RAILS_ENV = "production";
};
unicornConfig = builtins.readFile ./defaultUnicornConfig.rb;
gitlab-rake = pkgs.stdenv.mkDerivation rec {
name = "gitlab-rake";
buildInputs = [ pkgs.makeWrapper ];
@@ -161,8 +153,7 @@ let
mkdir -p $out/bin
makeWrapper ${cfg.packages.gitlab.rubyEnv}/bin/rake $out/bin/gitlab-rake \
${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
--set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package ]}:$PATH' \
--set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip pkgs.git pkgs.gnutar config.services.postgresql.package pkgs.coreutils pkgs.procps ]}:$PATH' \
--set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
--run 'cd ${cfg.packages.gitlab}/share/gitlab'
'';
@@ -203,6 +194,7 @@ in {
default = pkgs.gitlab;
defaultText = "pkgs.gitlab";
description = "Reference to the gitlab package";
example = "pkgs.gitlab-ee";
};
packages.gitlab-shell = mkOption {
@@ -459,10 +451,30 @@ in {
}
];
systemd.tmpfiles.rules = [
"d /run/gitlab 0755 ${cfg.user} ${cfg.group} -"
"d ${gitlabEnv.HOME} 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.backupPath} 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/builds 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/config 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/db 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/log 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/repositories 2770 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/shell 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/tmp/pids 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/tmp/sockets 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/uploads 0700 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/custom_hooks/pre-receive.d 0700 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/custom_hooks/post-receive.d 0700 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/custom_hooks/update.d 0700 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/artifacts 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/lfs-objects 0750 ${cfg.user} ${cfg.group} -"
"d ${gitlabConfig.production.shared.path}/pages 0750 ${cfg.user} ${cfg.group} -"
];
systemd.services.gitlab-sidekiq = {
after = [ "network.target" "redis.service" ];
after = [ "network.target" "redis.service" "gitlab.service" ];
wantedBy = [ "multi-user.target" ];
partOf = [ "gitlab.service" ];
environment = gitlabEnv;
path = with pkgs; [
config.services.postgresql.package
@@ -484,10 +496,8 @@ in {
};
systemd.services.gitaly = {
after = [ "network.target" "gitlab.service" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment.HOME = gitlabEnv.HOME;
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
path = with pkgs; [ gitAndTools.git cfg.packages.gitaly.rubyEnv cfg.packages.gitaly.rubyEnv.wrappedRuby ];
serviceConfig = {
Type = "simple";
@@ -501,10 +511,8 @@ in {
};
systemd.services.gitlab-workhorse = {
after = [ "network.target" "gitlab.service" ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment.HOME = gitlabEnv.HOME;
environment.GITLAB_SHELL_CONFIG_PATH = gitlabEnv.GITLAB_SHELL_CONFIG_PATH;
path = with pkgs; [
gitAndTools.git
gnutar
@@ -512,10 +520,6 @@ in {
openssh
gitlab-workhorse
];
preStart = ''
mkdir -p /run/gitlab
chown ${cfg.user}:${cfg.group} /run/gitlab
'';
serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
Type = "simple";
@@ -536,7 +540,7 @@ in {
};
systemd.services.gitlab = {
after = [ "network.target" "postgresql.service" "redis.service" ];
after = [ "gitlab-workhorse.service" "gitaly.service" "network.target" "postgresql.service" "redis.service" ];
requires = [ "gitlab-sidekiq.service" ];
wantedBy = [ "multi-user.target" ];
environment = gitlabEnv;
@@ -549,95 +553,76 @@ in {
gnupg
];
preStart = ''
mkdir -p ${cfg.backupPath}
mkdir -p ${cfg.statePath}/builds
mkdir -p ${cfg.statePath}/repositories
mkdir -p ${gitlabConfig.production.shared.path}/artifacts
mkdir -p ${gitlabConfig.production.shared.path}/lfs-objects
mkdir -p ${gitlabConfig.production.shared.path}/pages
mkdir -p ${cfg.statePath}/log
mkdir -p ${cfg.statePath}/tmp/pids
mkdir -p ${cfg.statePath}/tmp/sockets
mkdir -p ${cfg.statePath}/shell
mkdir -p ${cfg.statePath}/db
mkdir -p ${cfg.statePath}/uploads
rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
mkdir -p ${cfg.statePath}/config
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret
mkdir -p /run/gitlab
mkdir -p ${cfg.statePath}/log
ln -sf ${cfg.statePath}/log /run/gitlab/log
ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
ln -sf $GITLAB_SHELL_CONFIG_PATH /run/gitlab/shell-config.yml
chown -R ${cfg.user}:${cfg.group} /run/gitlab
# Prepare home directory
mkdir -p ${gitlabEnv.HOME}/.ssh
touch ${gitlabEnv.HOME}/.ssh/authorized_keys
chown -R ${cfg.user}:${cfg.group} ${gitlabEnv.HOME}/
cp -rf ${cfg.packages.gitlab}/share/gitlab/db/* ${cfg.statePath}/db
rm -rf ${cfg.statePath}/config
mkdir ${cfg.statePath}/config
if [ -e ${cfg.statePath}/lib ]; then
rm ${cfg.statePath}/lib
fi
ln -sf ${cfg.packages.gitlab}/share/gitlab/lib ${cfg.statePath}/lib
[ -L /run/gitlab/config ] || ln -sf ${cfg.statePath}/config /run/gitlab/config
[ -L /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
[ -L /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
[ -L /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
${optionalString cfg.smtp.enable ''
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
''}
ln -sf ${cfg.statePath}/config /run/gitlab/config
if [ -e ${cfg.statePath}/lib ]; then
rm ${cfg.statePath}/lib
fi
ln -sf ${pkgs.gitlab}/share/gitlab/lib ${cfg.statePath}/lib
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret
# JSON is a subset of YAML
ln -fs ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
ln -fs ${pkgs.writeText "database.yml" databaseYml} ${cfg.statePath}/config/database.yml
ln -fs ${pkgs.writeText "secrets.yml" secretsYml} ${cfg.statePath}/config/secrets.yml
ln -fs ${pkgs.writeText "unicorn.rb" unicornConfig} ${cfg.statePath}/config/unicorn.rb
ln -sf ${pkgs.writeText "gitlab.yml" (builtins.toJSON gitlabConfig)} ${cfg.statePath}/config/gitlab.yml
ln -sf ${pkgs.writeText "database.yml" (builtins.toJSON databaseConfig)} ${cfg.statePath}/config/database.yml
ln -sf ${pkgs.writeText "secrets.yml" (builtins.toJSON secretsConfig)} ${cfg.statePath}/config/secrets.yml
ln -sf ${./defaultUnicornConfig.rb} ${cfg.statePath}/config/unicorn.rb
# Install the shell required to push repositories
ln -sf ${pkgs.writeText "config.yml" (builtins.toJSON gitlabShellConfig)} /run/gitlab/shell-config.yml
[ -L ${cfg.statePath}/shell/hooks ] || ln -sf ${cfg.packages.gitlab-shell}/hooks ${cfg.statePath}/shell/hooks
${cfg.packages.gitlab-shell}/bin/install
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}/
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}/
chown -R ${cfg.user}:${cfg.group} /run/gitlab
# Install the shell required to push repositories
ln -fs ${pkgs.writeText "config.yml" gitlabShellYml} "$GITLAB_SHELL_CONFIG_PATH"
ln -fs ${cfg.packages.gitlab-shell}/hooks "$GITLAB_SHELL_HOOKS_PATH"
${cfg.packages.gitlab-shell}/bin/install
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
if ! test -e "${cfg.statePath}/db-created"; then
if ! test -e "${cfg.statePath}/db-created"; then
if [ "${cfg.databaseHost}" = "127.0.0.1" ]; then
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql postgres -c "CREATE ROLE ${cfg.databaseUsername} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${cfg.databasePassword}'"
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} ${config.services.postgresql.package}/bin/createdb --owner ${cfg.databaseUsername} ${cfg.databaseName}
touch "${cfg.statePath}/db-created"
# enable required pg_trgm extension for gitlab
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql ${cfg.databaseName} -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
fi
# enable required pg_trgm extension for gitlab
${pkgs.sudo}/bin/sudo -u ${pgSuperUser} psql ${cfg.databaseName} -c "CREATE EXTENSION IF NOT EXISTS pg_trgm"
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake db:schema:load
touch "${cfg.statePath}/db-created"
fi
# Always do the db migrations just to be sure the database is up-to-date
${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake db:migrate
# The gitlab:setup task is horribly broken somehow, the db:migrate
# task above and the db:seed_fu below will do the same for setting
# up the initial database
if ! test -e "${cfg.statePath}/db-seeded"; then
${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \
${pkgs.sudo}/bin/sudo -u ${cfg.user} ${gitlab-rake}/bin/gitlab-rake db:seed_fu \
GITLAB_ROOT_PASSWORD='${cfg.initialRootPassword}' GITLAB_ROOT_EMAIL='${cfg.initialRootEmail}'
touch "${cfg.statePath}/db-seeded"
fi
# The gitlab:shell:setup regenerates the authorized_keys file so that
# the store path to the gitlab-shell in it gets updated
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H force=yes ${gitlab-rake}/bin/gitlab-rake gitlab:shell:setup
# The gitlab:shell:create_hooks task seems broken for fixing links
# so we instead delete all the hooks and create them anew
rm -f ${cfg.statePath}/repositories/**/*.git/hooks
${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks RAILS_ENV=production
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${gitlab-rake}/bin/gitlab-rake gitlab:shell:create_hooks
${pkgs.sudo}/bin/sudo -u ${cfg.user} -H ${pkgs.git}/bin/git config --global core.autocrlf "input"
# Change permissions in the last step because some of the
# intermediary scripts like to create directories as root.
chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
chmod -R ug+rwX,o-rwx+X ${cfg.statePath}
chmod -R u+rwX,go-rwx+X ${gitlabEnv.HOME}
chmod -R ug+rwX,o-rwx ${cfg.statePath}/repositories
chmod -R ug-s ${cfg.statePath}/repositories

View File

@@ -3,20 +3,22 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="module-services-gitlab">
<title>Gitlab</title>
<para>
Gitlab is a feature-rich git hosting service.
</para>
<section xml:id="module-services-gitlab-prerequisites">
<title>Prerequisites</title>
<title>Gitlab</title>
<para>Gitlab is a feature-rich git hosting service.</para>
<section xml:id="module-services-gitlab-prerequisites"><title>Prerequisites</title>
<para>The gitlab service exposes only an Unix socket at
<literal>/run/gitlab/gitlab-workhorse.socket</literal>. You need to configure a
webserver to proxy HTTP requests to the socket.</para>
<para>For instance, the following configuration could be used to use nginx as
frontend proxy:
<para>
The gitlab service exposes only an Unix socket at
<literal>/run/gitlab/gitlab-workhorse.socket</literal>. You need to
configure a webserver to proxy HTTP requests to the socket.
</para>
<para>
For instance, the following configuration could be used to use nginx as
frontend proxy:
<programlisting>
<link linkend="opt-services.nginx.enable">services.nginx</link> = {
<link linkend="opt-services.nginx.enable">enable</link> = true;
@@ -31,21 +33,24 @@ webserver to proxy HTTP requests to the socket.</para>
};
};
</programlisting>
</para>
</para>
</section>
<section xml:id="module-services-gitlab-configuring">
<title>Configuring</title>
</section>
<para>
Gitlab depends on both PostgreSQL and Redis and will automatically enable
both services. In the case of PostgreSQL, a database and a role will be
created.
</para>
<section xml:id="module-services-gitlab-configuring"><title>Configuring</title>
<para>Gitlab depends on both PostgreSQL and Redis and will automatically enable
both services. In the case of PostgreSQL, a database and a role will be created.
</para>
<para>The default state dir is <literal>/var/gitlab/state</literal>. This is where
all data like the repositories and uploads will be stored.</para>
<para>A basic configuration with some custom settings could look like this:
<para>
The default state dir is <literal>/var/gitlab/state</literal>. This is where
all data like the repositories and uploads will be stored.
</para>
<para>
A basic configuration with some custom settings could look like this:
<programlisting>
services.gitlab = {
<link linkend="opt-services.gitlab.enable">enable</link> = true;
@@ -105,40 +110,41 @@ services.gitlab = {
};
};
</programlisting>
</para>
</para>
<para>If you're setting up a new Gitlab instance, generate new secrets. You
for instance use <literal>tr -dc A-Za-z0-9 &lt; /dev/urandom | head -c 128</literal>
to generate a new secret. Gitlab encrypts sensitive data stored in the database.
If you're restoring an existing Gitlab instance, you must specify the secrets
secret from <literal>config/secrets.yml</literal> located in your Gitlab state
folder.</para>
<para>
If you're setting up a new Gitlab instance, generate new secrets. You for
instance use <literal>tr -dc A-Za-z0-9 &lt; /dev/urandom | head -c
128</literal> to generate a new secret. Gitlab encrypts sensitive data
stored in the database. If you're restoring an existing Gitlab instance, you
must specify the secrets secret from <literal>config/secrets.yml</literal>
located in your Gitlab state folder.
</para>
<para>Refer to <xref linkend="ch-options" /> for all available configuration
options for the <link linkend="opt-services.gitlab.enable">services.gitlab</link> module.</para>
<para>
Refer to <xref linkend="ch-options" /> for all available configuration
options for the
<link linkend="opt-services.gitlab.enable">services.gitlab</link> module.
</para>
</section>
<section xml:id="module-services-gitlab-maintenance">
<title>Maintenance</title>
</section>
<section xml:id="module-services-gitlab-maintenance"><title>Maintenance</title>
<para>You can run Gitlab's rake tasks with <literal>gitlab-rake</literal>
which will be available on the system when gitlab is enabled. You will
have to run the command as the user that you configured to run gitlab
with.</para>
<para>For example, to backup a Gitlab instance:
<para>
You can run Gitlab's rake tasks with <literal>gitlab-rake</literal> which
will be available on the system when gitlab is enabled. You will have to run
the command as the user that you configured to run gitlab with.
</para>
<para>
For example, to backup a Gitlab instance:
<programlisting>
$ sudo -u git -H gitlab-rake gitlab:backup:create
</programlisting>
A list of all availabe rake tasks can be obtained by running:
A list of all availabe rake tasks can be obtained by running:
<programlisting>
$ sudo -u git -H gitlab-rake -T
</programlisting>
</para>
</section>
</para>
</section>
</chapter>

View File

@@ -345,7 +345,6 @@ in
type = types.listOf types.str;
default =
[
"$HOME/.nix-defexpr/channels"
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=/etc/nixos/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels"
@@ -400,8 +399,8 @@ in
systemd.sockets.nix-daemon.wantedBy = [ "sockets.target" ];
systemd.services.nix-daemon =
{ path = [ nix pkgs.utillinux ]
++ optionals cfg.distributedBuilds [ config.programs.ssh.package pkgs.gzip ]
{ path = [ nix pkgs.utillinux config.programs.ssh.package ]
++ optionals cfg.distributedBuilds [ pkgs.gzip ]
++ optionals (!isNix20) [ pkgs.openssl.bin ];
environment = cfg.envVars
@@ -436,7 +435,7 @@ in
# Set up the environment variables for running Nix.
environment.sessionVariables = cfg.envVars //
{ NIX_PATH = concatStringsSep ":" cfg.nixPath;
{ NIX_PATH = cfg.nixPath;
};
environment.extraInit = optionalString (!isNix20)
@@ -446,6 +445,10 @@ in
if [ "$USER" != root -o ! -w /nix/var/nix/db ]; then
export NIX_REMOTE=daemon
fi
'' + ''
if [ -e "$HOME/.nix-defexpr/channels" ]; then
export NIX_PATH="$HOME/.nix-defexpr/channels''${NIX_PATH:+:$NIX_PATH}"
fi
'';
nix.nrBuildUsers = mkDefault (lib.max 32 cfg.maxJobs);

View File

@@ -5,7 +5,7 @@ with lib;
let
cfg = config.services.redmine;
bundle = "${pkgs.redmine}/share/redmine/bin/bundle";
bundle = "${cfg.package}/share/redmine/bin/bundle";
databaseYml = pkgs.writeText "database.yml" ''
production:
@@ -15,6 +15,7 @@ let
port: ${toString cfg.database.port}
username: ${cfg.database.user}
password: #dbpass#
${optionalString (cfg.database.socket != null) "socket: ${cfg.database.socket}"}
'';
configurationYml = pkgs.writeText "configuration.yml" ''
@@ -29,6 +30,19 @@ let
${cfg.extraConfig}
'';
unpackTheme = unpack "theme";
unpackPlugin = unpack "plugin";
unpack = id: (name: source:
pkgs.stdenv.mkDerivation {
name = "redmine-${id}-${name}";
buildInputs = [ pkgs.unzip ];
buildCommand = ''
mkdir -p $out
cd $out
unpackFile ${source}
'';
});
in
{
@@ -40,6 +54,14 @@ in
description = "Enable the Redmine service.";
};
package = mkOption {
type = types.package;
default = pkgs.redmine;
defaultText = "pkgs.redmine";
description = "Which Redmine package to use.";
example = "pkgs.redmine.override { ruby = pkgs.ruby_2_3; }";
};
user = mkOption {
type = types.str;
default = "redmine";
@@ -52,6 +74,12 @@ in
description = "Group under which Redmine is ran.";
};
port = mkOption {
type = types.int;
default = 3000;
description = "Port on which Redmine is ran.";
};
stateDir = mkOption {
type = types.str;
default = "/var/lib/redmine";
@@ -66,6 +94,41 @@ in
See https://guides.rubyonrails.org/action_mailer_basics.html#action-mailer-configuration
'';
example = literalExample ''
email_delivery:
delivery_method: smtp
smtp_settings:
address: mail.example.com
port: 25
'';
};
themes = mkOption {
type = types.attrsOf types.path;
default = {};
description = "Set of themes.";
example = literalExample ''
{
dkuk-redmine_alex_skin = builtins.fetchurl {
url = https://bitbucket.org/dkuk/redmine_alex_skin/get/1842ef675ef3.zip;
sha256 = "0hrin9lzyi50k4w2bd2b30vrf1i4fi1c0gyas5801wn8i7kpm9yl";
};
}
'';
};
plugins = mkOption {
type = types.attrsOf types.path;
default = {};
description = "Set of plugins.";
example = literalExample ''
{
redmine_env_auth = builtins.fetchurl {
url = https://github.com/Intera/redmine_env_auth/archive/0.6.zip;
sha256 = "0yyr1yjd8gvvh832wdc8m3xfnhhxzk2pk3gm2psg5w9jdvd6skak";
};
}
'';
};
database = {
@@ -78,7 +141,7 @@ in
host = mkOption {
type = types.str;
default = "127.0.0.1";
default = (if cfg.database.socket != null then "localhost" else "127.0.0.1");
description = "Database host address.";
};
@@ -119,6 +182,13 @@ in
<option>database.user</option>.
'';
};
socket = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/mysqld/mysqld.sock";
description = "Path to the unix socket file to use for authentication.";
};
};
};
};
@@ -126,17 +196,20 @@ in
config = mkIf cfg.enable {
assertions = [
{ assertion = cfg.database.passwordFile != null || cfg.database.password != "";
message = "either services.redmine.database.passwordFile or services.redmine.database.password must be set";
{ assertion = cfg.database.passwordFile != null || cfg.database.password != "" || cfg.database.socket != null;
message = "one of services.redmine.database.socket, services.redmine.database.passwordFile, or services.redmine.database.password must be set";
}
{ assertion = cfg.database.socket != null -> (cfg.database.type == "mysql2");
message = "Socket authentication is only available for the mysql2 database type";
}
];
environment.systemPackages = [ pkgs.redmine ];
environment.systemPackages = [ cfg.package ];
systemd.services.redmine = {
after = [ "network.target" (if cfg.database.type == "mysql2" then "mysql.service" else "postgresql.service") ];
wantedBy = [ "multi-user.target" ];
environment.HOME = "${pkgs.redmine}/share/redmine";
environment.HOME = "${cfg.package}/share/redmine";
environment.RAILS_ENV = "production";
environment.RAILS_CACHE = "${cfg.stateDir}/cache";
environment.REDMINE_LANG = "en";
@@ -151,43 +224,80 @@ in
subversion
];
preStart = ''
# start with a fresh config directory every time
rm -rf ${cfg.stateDir}/config
cp -r ${pkgs.redmine}/share/redmine/config.dist ${cfg.stateDir}/config
# ensure cache directory exists for db:migrate command
mkdir -p "${cfg.stateDir}/cache"
# create the basic state directory layout pkgs.redmine expects
mkdir -p /run/redmine
# create the basic directory layout the redmine package expects
mkdir -p /run/redmine/public
for i in config files log plugins tmp; do
mkdir -p ${cfg.stateDir}/$i
ln -fs ${cfg.stateDir}/$i /run/redmine/$i
mkdir -p "${cfg.stateDir}/$i"
ln -fs "${cfg.stateDir}/$i" /run/redmine/
done
# ensure cache directory exists for db:migrate command
mkdir -p ${cfg.stateDir}/cache
for i in plugin_assets themes; do
mkdir -p "${cfg.stateDir}/public/$i"
ln -fs "${cfg.stateDir}/public/$i" /run/redmine/public/
done
# start with a fresh config directory
# the config directory is copied instead of linked as some mutable data is stored in there
rm -rf "${cfg.stateDir}/config/"*
cp -r ${cfg.package}/share/redmine/config.dist/* "${cfg.stateDir}/config/"
# link in the application configuration
ln -fs ${configurationYml} ${cfg.stateDir}/config/configuration.yml
ln -fs ${configurationYml} "${cfg.stateDir}/config/configuration.yml"
chmod -R ug+rwX,o-rwx+x ${cfg.stateDir}/
# handle database.passwordFile
# link in all user specified themes
rm -rf "${cfg.stateDir}/public/themes/"*
for theme in ${concatStringsSep " " (mapAttrsToList unpackTheme cfg.themes)}; do
ln -fs $theme/* "${cfg.stateDir}/public/themes"
done
# link in redmine provided themes
ln -sf ${cfg.package}/share/redmine/public/themes.dist/* "${cfg.stateDir}/public/themes/"
# link in all user specified plugins
rm -rf "${cfg.stateDir}/plugins/"*
for plugin in ${concatStringsSep " " (mapAttrsToList unpackPlugin cfg.plugins)}; do
ln -fs $plugin/* "${cfg.stateDir}/plugins/''${plugin##*-redmine-plugin-}"
done
# ensure correct permissions for most files
chmod -R ug+rwX,o-rwx+x "${cfg.stateDir}/"
# handle database.passwordFile & permissions
DBPASS=$(head -n1 ${cfg.database.passwordFile})
cp -f ${databaseYml} ${cfg.stateDir}/config/database.yml
sed -e "s,#dbpass#,$DBPASS,g" -i ${cfg.stateDir}/config/database.yml
chmod 440 ${cfg.stateDir}/config/database.yml
cp -f ${databaseYml} "${cfg.stateDir}/config/database.yml"
sed -e "s,#dbpass#,$DBPASS,g" -i "${cfg.stateDir}/config/database.yml"
chmod 440 "${cfg.stateDir}/config/database.yml"
# generate a secret token if required
if ! test -e "${cfg.stateDir}/config/initializers/secret_token.rb"; then
${bundle} exec rake generate_secret_token
chmod 440 ${cfg.stateDir}/config/initializers/secret_token.rb
chmod 440 "${cfg.stateDir}/config/initializers/secret_token.rb"
fi
# ensure everything is owned by ${cfg.user}
chown -R ${cfg.user}:${cfg.group} ${cfg.stateDir}
${bundle} exec rake db:migrate
${bundle} exec rake redmine:load_default_data
# ensure everything is owned by ${cfg.user}
chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}"
# execute redmine required commands prior to starting the application
# NOTE: su required in case using mysql socket authentication
/run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake db:migrate'
/run/wrappers/bin/su -s ${pkgs.bash}/bin/bash -m -l redmine -c '${bundle} exec rake redmine:load_default_data'
# log files don't exist until after first command has been executed
# correct ownership of files generated by calling exec rake ...
chown -R ${cfg.user}:${cfg.group} "${cfg.stateDir}/log"
'';
serviceConfig = {
@@ -196,13 +306,13 @@ in
User = cfg.user;
Group = cfg.group;
TimeoutSec = "300";
WorkingDirectory = "${pkgs.redmine}/share/redmine";
ExecStart="${bundle} exec rails server webrick -e production -P ${cfg.stateDir}/redmine.pid";
WorkingDirectory = "${cfg.package}/share/redmine";
ExecStart="${bundle} exec rails server webrick -e production -p ${toString cfg.port} -P '${cfg.stateDir}/redmine.pid'";
};
};
users.extraUsers = optionalAttrs (cfg.user == "redmine") (singleton
users.users = optionalAttrs (cfg.user == "redmine") (singleton
{ name = "redmine";
group = cfg.group;
home = cfg.stateDir;
@@ -210,7 +320,7 @@ in
uid = config.ids.uids.redmine;
});
users.extraGroups = optionalAttrs (cfg.group == "redmine") (singleton
users.groups = optionalAttrs (cfg.group == "redmine") (singleton
{ name = "redmine";
gid = config.ids.gids.redmine;
});

View File

@@ -2,101 +2,93 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0"
xml:id="module-taskserver">
<title>Taskserver</title>
<title>Taskserver</title>
<para>
Taskserver is the server component of
<link xlink:href="https://taskwarrior.org/">Taskwarrior</link>, a free and
open source todo list application.
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="https://taskwarrior.org/docs/#taskd"/>
</para>
<section xml:id="module-services-taskserver-configuration">
<title>Configuration</title>
<para>
Taskserver is the server component of
<link xlink:href="https://taskwarrior.org/">Taskwarrior</link>, a free and
open source todo list application.
Taskserver does all of its authentication via TLS using client certificates,
so you either need to roll your own CA or purchase a certificate from a
known CA, which allows creation of client certificates. These certificates
are usually advertised as <quote>server certificates</quote>.
</para>
<para>
<emphasis>Upstream documentation:</emphasis>
<link xlink:href="https://taskwarrior.org/docs/#taskd"/>
So in order to make it easier to handle your own CA, there is a helper tool
called <command>nixos-taskserver</command> which manages the custom CA along
with Taskserver organisations, users and groups.
</para>
<section xml:id="module-services-taskserver-configuration">
<title>Configuration</title>
<para>
While the client certificates in Taskserver only authenticate whether a user
is allowed to connect, every user has its own UUID which identifies it as an
entity.
</para>
<para>
Taskserver does all of its authentication via TLS using client
certificates, so you either need to roll your own CA or purchase a
certificate from a known CA, which allows creation of client
certificates.
<para>
With <command>nixos-taskserver</command> the client certificate is created
along with the UUID of the user, so it handles all of the credentials needed
in order to setup the Taskwarrior client to work with a Taskserver.
</para>
</section>
<section xml:id="module-services-taskserver-nixos-taskserver-tool">
<title>The nixos-taskserver tool</title>
These certificates are usually advertised as
<quote>server certificates</quote>.
</para>
<para>
Because Taskserver by default only provides scripts to setup users
imperatively, the <command>nixos-taskserver</command> tool is used for
addition and deletion of organisations along with users and groups defined
by <xref linkend="opt-services.taskserver.organisations"/> and as well for
imperative set up.
</para>
<para>
So in order to make it easier to handle your own CA, there is a helper
tool called <command>nixos-taskserver</command> which manages the custom
CA along with Taskserver organisations, users and groups.
</para>
<para>
The tool is designed to not interfere if the command is used to manually set
up some organisations, users or groups.
</para>
<para>
While the client certificates in Taskserver only authenticate whether a
user is allowed to connect, every user has its own UUID which identifies
it as an entity.
</para>
<para>
For example if you add a new organisation using <command>nixos-taskserver
org add foo</command>, the organisation is not modified and deleted no
matter what you define in
<option>services.taskserver.organisations</option>, even if you're adding
the same organisation in that option.
</para>
<para>
With <command>nixos-taskserver</command> the client certificate is created
along with the UUID of the user, so it handles all of the credentials
needed in order to setup the Taskwarrior client to work with a Taskserver.
</para>
</section>
<para>
The tool is modelled to imitate the official <command>taskd</command>
command, documentation for each subcommand can be shown by using the
<option>--help</option> switch.
</para>
</section>
<section xml:id="module-services-taskserver-declarative-ca-management">
<title>Declarative/automatic CA management</title>
<section xml:id="module-services-taskserver-nixos-taskserver-tool">
<title>The nixos-taskserver tool</title>
<para>
Everything is done according to what you specify in the module options,
however in order to set up a Taskwarrior client for synchronisation with a
Taskserver instance, you have to transfer the keys and certificates to the
client machine.
</para>
<para>
Because Taskserver by default only provides scripts to setup users
imperatively, the <command>nixos-taskserver</command> tool is used for
addition and deletion of organisations along with users and groups defined
by <xref linkend="opt-services.taskserver.organisations"/> and as well for
imperative set up.
</para>
<para>
This is done using <command>nixos-taskserver user export $orgname
$username</command> which is printing a shell script fragment to stdout
which can either be used verbatim or adjusted to import the user on the
client machine.
</para>
<para>
The tool is designed to not interfere if the command is used to manually
set up some organisations, users or groups.
</para>
<para>
For example if you add a new organisation using
<command>nixos-taskserver org add foo</command>, the organisation is not
modified and deleted no matter what you define in
<option>services.taskserver.organisations</option>, even if you're adding
the same organisation in that option.
</para>
<para>
The tool is modelled to imitate the official <command>taskd</command>
command, documentation for each subcommand can be shown by using the
<option>--help</option> switch.
</para>
</section>
<section xml:id="module-services-taskserver-declarative-ca-management">
<title>Declarative/automatic CA management</title>
<para>
Everything is done according to what you specify in the module options,
however in order to set up a Taskwarrior client for synchronisation with a
Taskserver instance, you have to transfer the keys and certificates to the
client machine.
</para>
<para>
This is done using
<command>nixos-taskserver user export $orgname $username</command> which
is printing a shell script fragment to stdout which can either be used
verbatim or adjusted to import the user on the client machine.
</para>
<para>
For example, let's say you have the following configuration:
<para>
For example, let's say you have the following configuration:
<screen>
{
<xref linkend="opt-services.taskserver.enable"/> = true;
@@ -105,40 +97,39 @@
<link linkend="opt-services.taskserver.organisations._name_.users">services.taskserver.organisations.my-company.users</link> = [ "alice" ];
}
</screen>
This creates an organisation called <literal>my-company</literal> with the
user <literal>alice</literal>.
</para>
This creates an organisation called <literal>my-company</literal> with the
user <literal>alice</literal>.
</para>
<para>
Now in order to import the <literal>alice</literal> user to another
machine <literal>alicebox</literal>, all we need to do is something like
this:
<para>
Now in order to import the <literal>alice</literal> user to another machine
<literal>alicebox</literal>, all we need to do is something like this:
<screen>
$ ssh server nixos-taskserver user export my-company alice | sh
</screen>
Of course, if no SSH daemon is available on the server you can also copy
&amp; paste it directly into a shell.
</para>
Of course, if no SSH daemon is available on the server you can also copy
&amp; paste it directly into a shell.
</para>
<para>
After this step the user should be set up and you can start synchronising
your tasks for the first time with <command>task sync init</command> on
<literal>alicebox</literal>.
</para>
<para>
After this step the user should be set up and you can start synchronising
your tasks for the first time with <command>task sync init</command> on
<literal>alicebox</literal>.
</para>
<para>
Subsequent synchronisation requests merely require the command
<command>task sync</command> after that stage.
</para>
</section>
<section xml:id="module-services-taskserver-manual-ca-management">
<title>Manual CA management</title>
<para>
Subsequent synchronisation requests merely require the command <command>task
sync</command> after that stage.
</para>
</section>
<section xml:id="module-services-taskserver-manual-ca-management">
<title>Manual CA management</title>
<para>
If you set any options within
<link linkend="opt-services.taskserver.pki.manual.ca.cert">service.taskserver.pki.manual</link>.*,
<command>nixos-taskserver</command> won't issue certificates, but you can
still use it for adding or removing user accounts.
</para>
</section>
<para>
If you set any options within
<link linkend="opt-services.taskserver.pki.manual.ca.cert">service.taskserver.pki.manual</link>.*,
<command>nixos-taskserver</command> won't issue certificates, but you can
still use it for adding or removing user accounts.
</para>
</section>
</chapter>

Some files were not shown because too many files have changed in this diff Show More