Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: a8413d816aad
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ebf041d4bd3d
Choose a head ref

Commits on Apr 5, 2018

  1. glib: bin/gio is required by gvfs executables

    this fixes gvfs in caia (mate desktop)
    Mic92 committed Apr 5, 2018

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    starcraft66 Tristan
    Copy the full SHA
    9d6ac12 View commit details
  2. gtkd: correct glib output

    Mic92 committed Apr 5, 2018
    Copy the full SHA
    4b7c52e View commit details

Commits on Jun 19, 2018

  1. libinput: split utilities to a bin output

    libinput builds some executables which are useful for debugging or
    unusual configurations, but not necessary in normal use of the library.
    (See libinput(1) and the other referenced man pages.)
    
    Some of these programs require Python, which makes the closure
    significantly larger. Splitting /libexec/ and /bin/ to a separate "bin"
    output allows systems that don't need these utilities to avoid the
    substantial size hit.
    jameysharp committed Jun 19, 2018
    Copy the full SHA
    ae09fe2 View commit details

Commits on Jul 2, 2018

  1. Copy the full SHA
    7f308aa View commit details

Commits on Jul 27, 2018

  1. procps: enable systemd support when available

    `ps` can show various systemd-related information, like a unit to
    which a process belongs. But when it's not compiled it, it shows only
    '?' in such fields.
    
    Can be tested with:
    
        ps -o unit= ax
    binarin committed Jul 27, 2018
    Copy the full SHA
    86b0974 View commit details

Commits on Aug 13, 2018

  1. Copy the full SHA
    32cc3eb View commit details
  2. Copy the full SHA
    e8144a3 View commit details
  3. Copy the full SHA
    68ac282 View commit details
  4. Copy the full SHA
    07bd1d8 View commit details
  5. Copy the full SHA
    e841ffe View commit details

Commits on Aug 16, 2018

  1. Copy the full SHA
    ca3e9a7 View commit details

Commits on Aug 24, 2018

  1. libuv: 1.21.0 -> 1.23.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/libuv/versions.
    R. RyanTM committed Aug 24, 2018
    Copy the full SHA
    5a95b0b View commit details

Commits on Aug 27, 2018

  1. Merge pull request #45562 from r-ryantm/auto-update/libuv

    libuv: 1.21.0 -> 1.23.0
    adisbladis authored Aug 27, 2018
    Copy the full SHA
    d83273d View commit details
  2. nvidia_x11: 390.77 -> 390.87

    eadwu committed Aug 27, 2018
    Copy the full SHA
    7e405b9 View commit details
  3. boost: disable python explicitly in b2Args (#45679)

    (cherry picked from commit 3b862a638952c814c49291ca3efa13e8363c77a2)
    stephengroat authored and xeji committed Aug 27, 2018
    Copy the full SHA
    775d1ec View commit details

Commits on Aug 28, 2018

  1. e2fsprogs: fix w/musl, __GNUC_PREREQ is glibc-ism

    Fixes compilation on non-glibc at minor cost since these are only
    used to guard the use of pragmas selectively disabling warnings
    based on the GCC version used.
    dtzWill committed Aug 28, 2018
    Copy the full SHA
    a3f8a2c View commit details
  2. Merge pull request #45703 from dtzWill/fix/e2fsprogs-musl

    e2fsprogs: fix w/musl, __GNUC_PREREQ is glibc-ism
    dtzWill authored Aug 28, 2018
    Copy the full SHA
    4c2d822 View commit details
  3. coreutils nitpick: add --with-packager

    `tool --version` now gets additional line:
    Packaged by https://NixOS.org
    vcunat committed Aug 28, 2018
    Copy the full SHA
    85facc4 View commit details
  4. coreutils: split a coreutils-full version

    - default coreutils is stripped of /share/ (11 -> 2 MiB)
    - coreutils-full retains /share/ and adds openssl for faster *sum tools
    - NixOS systemPackages contains coreutils-full
    - *Support parameter defaults are moved inside
      (it seemed confusing to have `? false` and "at once" with `? isLinux`)
    
    Closure considerations:
    + typical build-time closure will get lighter by ~9 MiB
    - typical closure of NixOS installation will grow by ~2 MiB,
      due to referring to both versions.  I think it would be possible to
      re-use most of the utils between the two versions, but the expression
      would get much more complex.
    
    I considered having stdenv with minimal coreutils and the default
    `coreutils` attribute being full, but it turned out there were too many
    trivial references in nixpkgs, so it didn't seem easy to keep rebuild
    impact of openssl from growing significantly.
    vcunat committed Aug 28, 2018
    Copy the full SHA
    fd3927a View commit details

Commits on Aug 29, 2018

  1. poppler_min: 0.61 -> 0.67

    currently only used for texlive
    xeji committed Aug 29, 2018
    Copy the full SHA
    c521740 View commit details
  2. Copy the full SHA
    149b180 View commit details
  3. texlive: update server URLs

    xeji committed Aug 29, 2018
    Copy the full SHA
    d5816c9 View commit details
  4. 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.
    xeji committed Aug 29, 2018
    Copy the full SHA
    738bae4 View commit details
  5. texlive-packages: snapshot 2017-final -> 20180827

    and use fixed hashes
    xeji committed Aug 29, 2018
    Copy the full SHA
    f3961e5 View commit details
  6. Copy the full SHA
    2737f17 View commit details
  7. Copy the full SHA
    ac03d2e View commit details
  8. texlive.bin.core-big: disable luatex53

    build failed on Darwin
    Patch by @veprbl
    xeji committed Aug 29, 2018
    Copy the full SHA
    831551a View commit details
  9. biber: 2.10 -> 2.11

    2.11 is the version used in TexLive 2018
    xeji committed Aug 29, 2018
    Copy the full SHA
    5c9ebf4 View commit details
  10. Copy the full SHA
    20d88c1 View commit details
  11. pango: 1.42.1 → 1.42.4

    Fixes a horrendous bug that crashes IRC clients, text editors, terminal
    emulators that receive invalid Unicode sequence.
    jtojnar committed Aug 29, 2018
    Copy the full SHA
    f9943cd View commit details

Commits on Aug 30, 2018

  1. Copy the full SHA
    d28ce15 View commit details
  2. Copy the full SHA
    19c68fe View commit details
  3. systemd: don't use options from fstab on remount

    Include fix by @aszlig to fix remount with comment/application-specific
    fstab options.
    xeji committed Aug 30, 2018
    Copy the full SHA
    03c1f56 View commit details
  4. Copy the full SHA
    cc1b9b4 View commit details
  5. Copy the full SHA
    a29e9ed View commit details
  6. Copy the full SHA
    effef4f View commit details
  7. Copy the full SHA
    03c7e30 View commit details
  8. Copy the full SHA
    65b5563 View commit details
  9. Copy the full SHA
    d7b47e9 View commit details
  10. libinput: make .bin the first output

    That's the convention:
    vcunat committed Aug 30, 2018
    Copy the full SHA
    ab539ab View commit details
  11. Copy the full SHA
    6f2f91f View commit details
  12. Copy the full SHA
    b71b222 View commit details
  13. procps(-ng): drop the bootstrapping hack

    On master/staging the bootstrap mistake has been fixed,
    and it no longer pulls procps, so such a hack isn't required.
    vcunat committed Aug 30, 2018
    Copy the full SHA
    5ae438a View commit details
  14. Merge #43817: procps(-ng): enable systemd support

    The whole closure only grows by 5 MiB roughly,
    and it's all very common libraries (very low practical impact).
    vcunat committed Aug 30, 2018
    Copy the full SHA
    2a39174 View commit details
  15. Copy the full SHA
    3f80b81 View commit details
  16. Copy the full SHA
    8fc6472 View commit details
  17. treewide: use glib tools from build-time $PATH

    Using explicit output feels more flaky in case we e.g. move the binary.
    (No strong opinion on my side, feel free to revert if you think so.)
    vcunat committed Aug 30, 2018
    Copy the full SHA
    80b25db View commit details
  18. Copy the full SHA
    3947c7b View commit details
  19. Copy the full SHA
    8c971f0 View commit details
  20. Copy the full SHA
    538c733 View commit details
Showing with 20,058 additions and 9,013 deletions.
  1. +3 −7 doc/cross-compilation.xml
  2. +5 −0 maintainers/maintainer-list.nix
  3. +6 −1 nixos/doc/manual/default.nix
  4. +1 −1 nixos/doc/manual/development/building-parts.xml
  5. +1 −45 nixos/doc/manual/release-notes/rl-1809.xml
  6. +60 −0 nixos/doc/manual/release-notes/rl-1903.xml
  7. +1 −1 nixos/lib/build-vms.nix
  8. +22 −13 nixos/modules/config/iproute2.nix
  9. +1 −1 nixos/modules/config/system-path.nix
  10. +1 −1 nixos/modules/installer/cd-dvd/installation-cd-graphical-kde.nix
  11. +1 −1 nixos/modules/installer/cd-dvd/iso-image.nix
  12. +1 −1 nixos/modules/installer/cd-dvd/system-tarball-sheevaplug.nix
  13. +97 −2 nixos/modules/misc/documentation.nix
  14. +1 −1 nixos/modules/profiles/graphical.nix
  15. +1 −1 nixos/modules/profiles/installation-device.nix
  16. +1 −1 nixos/modules/profiles/minimal.nix
  17. +1 −0 nixos/modules/rename.nix
  18. +4 −1 nixos/modules/services/mail/rmilter.nix
  19. +12 −5 nixos/modules/services/misc/emby.nix
  20. +1 −0 nixos/modules/services/misc/nix-daemon.nix
  21. +23 −104 nixos/modules/services/misc/nixos-manual.nix
  22. +2 −0 nixos/modules/services/networking/iwd.nix
  23. +1 −1 nixos/modules/services/networking/teamspeak3.nix
  24. +1 −0 nixos/modules/services/x11/desktop-managers/plasma5.nix
  25. +1 −1 nixos/modules/services/x11/hardware/libinput.nix
  26. +2 −1 nixos/release.nix
  27. +1 −1 nixos/tests/misc.nix
  28. +3 −0 nixos/tests/prosody.nix
  29. +1 −1 pkgs/applications/audio/gradio/default.nix
  30. +2 −2 pkgs/applications/audio/opusfile/default.nix
  31. +2 −2 pkgs/applications/audio/quodlibet/default.nix
  32. +9 −1 pkgs/applications/gis/qgis/default.nix
  33. +8 −3 pkgs/applications/graphics/pbrt/default.nix
  34. +26 −0 pkgs/applications/graphics/pbrt/openexr-cmake-3.12.patch
  35. +9 −1 pkgs/applications/misc/curaengine/default.nix
  36. +13 −9 pkgs/applications/misc/electron-cash/default.nix
  37. +38 −0 pkgs/applications/misc/gnuradio/limesdr.nix
  38. +3 −3 pkgs/applications/misc/gnuradio/nacl.nix
  39. +2 −2 pkgs/applications/misc/gnuradio/rds.nix
  40. +2 −2 pkgs/applications/misc/mwic/default.nix
  41. +4 −6 pkgs/applications/networking/instant-messengers/jackline/default.nix
  42. +0 −29 pkgs/applications/networking/instant-messengers/jackline/tls-0.9.0.patch
  43. +4 −4 pkgs/applications/networking/instant-messengers/teamspeak/server.nix
  44. +27 −0 pkgs/applications/networking/sync/desync/default.nix
  45. +129 −0 pkgs/applications/networking/sync/desync/deps.nix
  46. +1 −2 pkgs/applications/science/electronics/kicad/default.nix
  47. +1 −2 pkgs/applications/science/electronics/kicad/unstable.nix
  48. +1 −1 pkgs/applications/science/logic/tlaplus/toolbox.nix
  49. +2 −2 pkgs/applications/version-management/git-and-tools/pre-commit/default.nix
  50. +4 −0 pkgs/applications/version-management/git-and-tools/tig/default.nix
  51. +2 −2 pkgs/applications/video/gnomecast/default.nix
  52. +2 −2 pkgs/applications/video/smplayer/default.nix
  53. +1 −1 pkgs/desktops/gnome-3/apps/gnome-documents/default.nix
  54. +1 −1 pkgs/desktops/gnome-3/core/gnome-user-share/default.nix
  55. +1 −1 pkgs/desktops/gnome-3/core/tracker-miners/default.nix
  56. +1 −1 pkgs/desktops/gnome-3/core/tracker/default.nix
  57. +1 −1 pkgs/desktops/gnome-3/extensions/caffeine/default.nix
  58. +1 −1 pkgs/desktops/gnome-3/extensions/system-monitor/default.nix
  59. +1 −1 pkgs/desktops/gnome-3/extensions/volume-mixer.nix
  60. +1 −1 pkgs/desktops/gnome-3/misc/pidgin/default.nix
  61. +1 −1 pkgs/development/compilers/llvm/3.5/default.nix
  62. +1 −1 pkgs/development/compilers/llvm/3.7/default.nix
  63. +1 −1 pkgs/development/compilers/llvm/3.8/default.nix
  64. +1 −1 pkgs/development/compilers/llvm/3.9/default.nix
  65. +1 −1 pkgs/development/compilers/llvm/5/default.nix
  66. +1 −1 pkgs/development/compilers/llvm/6/default.nix
  67. +106 −0 pkgs/development/compilers/llvm/7/clang/default.nix
  68. +30 −0 pkgs/development/compilers/llvm/7/clang/purity.patch
  69. +33 −0 pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
  70. +37 −0 pkgs/development/compilers/llvm/7/compiler-rt.nix
  71. +92 −0 pkgs/development/compilers/llvm/7/default.nix
  72. +50 −0 pkgs/development/compilers/llvm/7/libc++/default.nix
  73. +6 −0 pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
  74. +49 −0 pkgs/development/compilers/llvm/7/libc++abi.nix
  75. +32 −0 pkgs/development/compilers/llvm/7/lld.nix
  76. +56 −0 pkgs/development/compilers/llvm/7/lldb.nix
  77. +26 −0 pkgs/development/compilers/llvm/7/llvm-outputs.patch
  78. +174 −0 pkgs/development/compilers/llvm/7/llvm.nix
  79. +25 −0 pkgs/development/compilers/llvm/7/openmp.nix
  80. +413 −0 pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
  81. +22 −8 pkgs/development/haskell-modules/configuration-common.nix
  82. +0 −1 pkgs/development/haskell-modules/configuration-hackage2nix.yaml
  83. +3 −0 pkgs/development/haskell-modules/configuration-nix.nix
  84. +12 −0 pkgs/development/interpreters/erlang/R18.nix
  85. +1 −0 pkgs/development/interpreters/php/default.nix
  86. +25 −0 pkgs/development/interpreters/wasm-gc/default.nix
  87. +34 −0 pkgs/development/interpreters/wasm-gc/fix-build.patch
  88. +1 −0 pkgs/development/libraries/boost/generic.nix
  89. +8 −4 pkgs/development/libraries/glib/default.nix
  90. +3 −2 pkgs/development/libraries/gstreamer/bad/default.nix
  91. +3 −2 pkgs/development/libraries/gstreamer/base/default.nix
  92. +3 −2 pkgs/development/libraries/gstreamer/core/default.nix
  93. +3 −2 pkgs/development/libraries/gstreamer/ges/default.nix
  94. +3 −2 pkgs/development/libraries/gstreamer/good/default.nix
  95. +3 −2 pkgs/development/libraries/gstreamer/libav/default.nix
  96. +3 −2 pkgs/development/libraries/gstreamer/rtsp-server/default.nix
  97. +3 −2 pkgs/development/libraries/gstreamer/ugly/default.nix
  98. +2 −2 pkgs/development/libraries/gstreamer/vaapi/default.nix
  99. +3 −2 pkgs/development/libraries/gstreamer/validate/default.nix
  100. +10 −10 pkgs/development/libraries/gtkd/default.nix
  101. +2 −10 pkgs/development/libraries/libgpg-error/default.nix
  102. +5 −1 pkgs/development/libraries/libinput/default.nix
  103. +2 −2 pkgs/development/libraries/libmediainfo/default.nix
  104. +2 −2 pkgs/development/libraries/libuv/default.nix
  105. +2 −2 pkgs/development/libraries/mono-addins/default.nix
  106. +25 −17 pkgs/development/libraries/pango/default.nix
  107. +10 −1 pkgs/development/libraries/podofo/default.nix
  108. +9 −1 pkgs/development/libraries/poppler/0.61.nix
  109. +2 −2 pkgs/development/libraries/wayland/default.nix
  110. +6 −6 pkgs/development/ocaml-modules/erm_xml/default.nix
  111. +0 −29 pkgs/development/ocaml-modules/erm_xmpp/0.3.nix
  112. +20 −21 pkgs/development/ocaml-modules/erm_xmpp/default.nix
  113. +25 −0 pkgs/development/python-modules/base58/default.nix
  114. +30 −0 pkgs/development/python-modules/block-io/default.nix
  115. +4 −0 pkgs/development/python-modules/flask-assets/default.nix
  116. +2 −2 pkgs/development/python-modules/gst-python/default.nix
  117. +13 −5 pkgs/development/python-modules/pyftgl/default.nix
  118. +21 −0 pkgs/development/python-modules/pyjet/default.nix
  119. +1 −1 pkgs/development/ruby-modules/solargraph/Gemfile.lock
  120. +2 −2 pkgs/development/ruby-modules/solargraph/gemset.nix
  121. +1 −1 pkgs/development/tools/build-managers/cmake/2.8.nix
  122. +6 −7 pkgs/development/tools/build-managers/cmake/application-services.patch
  123. +13 −30 pkgs/development/tools/build-managers/cmake/default.nix
  124. +83 −0 pkgs/development/tools/build-managers/cmake/libuv-application-services.patch
  125. +92 −0 pkgs/development/tools/build-managers/cmake/search-path-2.8.patch
  126. +0 −62 pkgs/development/tools/build-managers/cmake/search-path-3.9.patch
  127. +28 −58 pkgs/development/tools/build-managers/cmake/search-path.patch
  128. +3 −3 pkgs/misc/libcardiacarrest/default.nix
  129. +2 −5 pkgs/os-specific/linux/iproute/default.nix
  130. +4 −4 pkgs/os-specific/linux/iwd/default.nix
  131. +3 −3 pkgs/os-specific/linux/kernel/linux-testing.nix
  132. +7 −5 pkgs/os-specific/linux/nvidia-x11/default.nix
  133. +24 −0 pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch
  134. +10 −2 pkgs/os-specific/linux/procps-ng/default.nix
  135. +2 −2 pkgs/os-specific/linux/systemd/default.nix
  136. +3 −3 pkgs/servers/nosql/influxdb/default.nix
  137. +444 −0 pkgs/servers/nosql/influxdb/deps-1.6.3.nix
  138. +2 −2 pkgs/servers/sql/postgresql/pgtap/default.nix
  139. +3 −3 pkgs/servers/x11/xorg/default.nix
  140. +2 −2 pkgs/servers/x11/xorg/overrides.nix
  141. +1 −1 pkgs/servers/x11/xorg/tarballs-7.7.list
  142. +0 −1 pkgs/stdenv/darwin/default.nix
  143. +2 −0 pkgs/test/default.nix
  144. +88 −0 pkgs/tools/X11/xloadimage/default.nix
  145. +4 −4 pkgs/tools/X11/xsecurelock/default.nix
  146. +3 −0 pkgs/tools/compression/brotli/default.nix
  147. +4 −0 pkgs/tools/filesystems/e2fsprogs/default.nix
  148. +3 −3 pkgs/tools/misc/agedu/default.nix
  149. +3 −3 pkgs/tools/misc/bat/default.nix
  150. +14 −5 pkgs/tools/misc/coreutils/default.nix
  151. +2 −2 pkgs/tools/misc/ethtool/default.nix
  152. +17 −0 pkgs/tools/misc/hdf4/default.nix
  153. +1 −0 pkgs/tools/networking/network-manager/fortisslvpn/default.nix
  154. +1 −0 pkgs/tools/networking/network-manager/iodine/default.nix
  155. +1 −0 pkgs/tools/networking/network-manager/l2tp/default.nix
  156. +1 −0 pkgs/tools/networking/network-manager/openconnect/default.nix
  157. +1 −0 pkgs/tools/networking/network-manager/openvpn/default.nix
  158. +1 −0 pkgs/tools/networking/network-manager/vpnc/default.nix
  159. +3 −1 pkgs/tools/package-management/packagekit/default.nix
  160. +2 −2 pkgs/tools/security/gnupg/22.nix
  161. +8 −1 pkgs/tools/security/qesteidutil/default.nix
  162. +2 −2 pkgs/tools/typesetting/biber/default.nix
  163. +68 −0 pkgs/tools/typesetting/tex/texlive/UPGRADING.md
  164. +19 −17 pkgs/tools/typesetting/tex/texlive/bin.nix
  165. +46 −35 pkgs/tools/typesetting/tex/texlive/default.nix
  166. +10 −0 pkgs/tools/typesetting/tex/texlive/fixHashes.sh
  167. +7,953 −0 pkgs/tools/typesetting/tex/texlive/fixedHashes.nix
  168. +0 −30 pkgs/tools/typesetting/tex/texlive/luatex-gcc7.patch
  169. +9,018 −8,266 pkgs/tools/typesetting/tex/texlive/pkgs.nix
  170. +25 −17 pkgs/top-level/all-packages.nix
  171. +0 −2 pkgs/top-level/ocaml-packages.nix
  172. +6 −0 pkgs/top-level/python-packages.nix
  173. +1 −1 pkgs/top-level/stage.nix
10 changes: 3 additions & 7 deletions doc/cross-compilation.xml
Original file line number Diff line number Diff line change
@@ -47,13 +47,9 @@

<para>
In Nixpkgs, these three platforms are defined as attribute sets under the
names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>,
and <literal>targetPlatform</literal>. All three are always defined as
attributes in the standard environment, and at the top level. That means
one can get at them just like a dependency in a function that is imported
with <literal>callPackage</literal>:
<programlisting>{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform...</programlisting>
, or just off <varname>stdenv</varname>:
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>
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -678,6 +678,11 @@
github = "Chaddai";
name = "Chaddaï Fouché";
};
chaduffy = {
email = "charles@dyfis.net";
github = "charles-dyfis-net";
name = "Charles Duffy";
};
changlinli = {
email = "mail@changlinli.com";
github = "changlinli";
7 changes: 6 additions & 1 deletion nixos/doc/manual/default.nix
Original file line number Diff line number Diff line change
@@ -252,7 +252,7 @@ in rec {
''; # */

# Generate the NixOS manual.
manual = runCommand "nixos-manual"
manualHTML = runCommand "nixos-manual-html"
{ inherit sources;
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
meta.description = "The NixOS manual in HTML format";
@@ -281,6 +281,11 @@ in rec {
echo "doc manual $dst" >> $out/nix-support/hydra-build-products
''; # */

# Alias for backward compatibility. TODO(@oxij): remove eventually.
manual = manualHTML;

# Index page of the NixOS manual.
manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html";

manualEpub = runCommand "nixos-manual-epub"
{ inherit sources;
2 changes: 1 addition & 1 deletion nixos/doc/manual/development/building-parts.xml
Original file line number Diff line number Diff line change
@@ -34,7 +34,7 @@ $ nix-build -A system</screen>
</varlistentry>
<varlistentry>
<term>
<varname>system.build.manual.manual</varname>
<varname>system.build.manual.manualHTML</varname>
</term>
<listitem>
<para>
46 changes: 1 addition & 45 deletions nixos/doc/manual/release-notes/rl-1809.xml
Original file line number Diff line number Diff line change
@@ -91,7 +91,7 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
<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>
@@ -139,50 +139,6 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
seen a complete rewrite. (See above.)
</para>
</listitem>
<listitem>
<para>
The minimum version of Nix required to evaluate Nixpkgs is now 2.0.
</para>
<itemizedlist>
<listitem>
<para>
For users of NixOS 18.03, NixOS 18.03 defaulted to Nix 2.0, but
supported using Nix 1.11 by setting <literal>nix.package =
pkgs.nix1;</literal>. If this option is set to a Nix 1.11 package, you
will need to either unset the option or upgrade it to Nix 2.0.
</para>
</listitem>
<listitem>
<para>
For users of NixOS 17.09, you will first need to upgrade Nix by setting
<literal>nix.package = pkgs.nixStable2;</literal> and run
<command>nixos-rebuild switch</command> as the <literal>root</literal>
user.
</para>
</listitem>
<listitem>
<para>
For users of a daemon-less Nix installation on Linux or macOS, you can
upgrade Nix by running <command>curl https://nixos.org/nix/install |
sh</command>, or prior to doing a channel update, running
<command>nix-env -iA nix</command>.
</para>
<para>
If you have already run a channel update and Nix is no longer able to
evaluate Nixpkgs, the error message printed should provide adequate
directions for upgrading Nix.
</para>
</listitem>
<listitem>
<para>
For users of the Nix daemon on macOS, you can upgrade Nix by running
<command>sudo -i sh -c 'nix-channel --update &amp;&amp; nix-env -iA
nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl
start org.nixos.nix-daemon</command>.
</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
<literal>lib.strict</literal> is removed. Use
60 changes: 60 additions & 0 deletions nixos/doc/manual/release-notes/rl-1903.xml
Original file line number Diff line number Diff line change
@@ -42,6 +42,66 @@
</itemizedlist>
</section>

<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-release-19.03-incompatibilities">
<title>Backward Incompatibilities</title>

<para>
When upgrading from a previous release, please be aware of the following
incompatible changes:
</para>

<itemizedlist>
<listitem>
<para>
The minimum version of Nix required to evaluate Nixpkgs is now 2.0.
</para>
<itemizedlist>
<listitem>
<para>
For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 2.0, but
supports using Nix 1.11 by setting <literal>nix.package =
pkgs.nix1;</literal>. If this option is set to a Nix 1.11 package, you
will need to either unset the option or upgrade it to Nix 2.0.
</para>
</listitem>
<listitem>
<para>
For users of NixOS 17.09, you will first need to upgrade Nix by setting
<literal>nix.package = pkgs.nixStable2;</literal> and run
<command>nixos-rebuild switch</command> as the <literal>root</literal>
user.
</para>
</listitem>
<listitem>
<para>
For users of a daemon-less Nix installation on Linux or macOS, you can
upgrade Nix by running <command>curl https://nixos.org/nix/install |
sh</command>, or prior to doing a channel update, running
<command>nix-env -iA nix</command>.
</para>
<para>
If you have already run a channel update and Nix is no longer able to
evaluate Nixpkgs, the error message printed should provide adequate
directions for upgrading Nix.
</para>
</listitem>
<listitem>
<para>
For users of the Nix daemon on macOS, you can upgrade Nix by running
<command>sudo -i sh -c 'nix-channel --update &amp;&amp; nix-env -iA
nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl
start org.nixos.nix-daemon</command>.
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>

<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
2 changes: 1 addition & 1 deletion nixos/lib/build-vms.nix
Original file line number Diff line number Diff line change
@@ -28,7 +28,7 @@ rec {
modules = configurations ++
[ ../modules/virtualisation/qemu-vm.nix
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
{ key = "no-manual"; services.nixosManual.enable = false; }
{ key = "no-manual"; documentation.nixos.enable = false; }
{ key = "qemu"; system.build.qemu = qemu; }
] ++ optional minimal ../modules/testing/minimal-kernel.nix;
extraArgs = { inherit nodes; };
35 changes: 22 additions & 13 deletions nixos/modules/config/iproute2.nix
Original file line number Diff line number Diff line change
@@ -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}"); };
};
}
2 changes: 1 addition & 1 deletion nixos/modules/config/system-path.nix
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ let
pkgs.attr
pkgs.bashInteractive # bash with ncurses support
pkgs.bzip2
pkgs.coreutils
pkgs.coreutils-full
pkgs.cpio
pkgs.curl
pkgs.diffutils
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@ with lib;
Version=1.0
Type=Application
Name=NixOS Manual
Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html
Exec=firefox ${config.system.build.manual.manualHTMLIndex}
Icon=text-html
'';

2 changes: 1 addition & 1 deletion nixos/modules/installer/cd-dvd/iso-image.nix
Original file line number Diff line number Diff line change
@@ -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/
Original file line number Diff line number Diff line change
@@ -137,7 +137,7 @@ in
# Setting vesa, we don't get the nvidia driver, which can't work in arm.
services.xserver.videoDrivers = [ "vesa" ];

services.nixosManual.enable = false;
documentation.nixos.enable = false;

# Include the firmware for various wireless cards.
networking.enableRalinkFirmware = true;
99 changes: 97 additions & 2 deletions nixos/modules/misc/documentation.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,72 @@
{ config, lib, pkgs, ... }:
{ config, lib, pkgs, baseModules, ... }:

with lib;

let cfg = config.documentation; in
let

cfg = config.documentation;

/* For the purpose of generating docs, evaluate options with each derivation
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
It isn't perfect, but it seems to cover a vast majority of use cases.
Caveat: even if the package is reached by a different means,
the path above will be shown and not e.g. `${config.services.foo.package}`. */
manual = import ../../doc/manual rec {
inherit pkgs config;
version = config.system.nixos.release;
revision = "release-${version}";
options =
let
scrubbedEval = evalModules {
modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules;
args = (config._module.args) // { modules = [ ]; };
specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; };
};
scrubDerivations = namePrefix: pkgSet: mapAttrs
(name: value:
let wholeName = "${namePrefix}.${name}"; in
if isAttrs value then
scrubDerivations wholeName value
// (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; })
else value
)
pkgSet;
in scrubbedEval.options;
};

helpScript = pkgs.writeScriptBin "nixos-help"
''
#! ${pkgs.runtimeShell} -e
# Finds first executable browser in a colon-separated list.
# (see how xdg-open defines BROWSER)
browser="$(
IFS=: ; for b in $BROWSER; do
[ -n "$(type -P "$b" || true)" ] && echo "$b" && break
done
)"
if [ -z "$browser" ]; then
browser="$(type -P xdg-open || true)"
if [ -z "$browser" ]; then
browser="$(type -P w3m || true)"
if [ -z "$browser" ]; then
echo "$0: unable to start a web browser; please set \$BROWSER"
exit 1
fi
fi
fi
exec "$browser" ${manual.manualHTMLIndex}
'';

desktopItem = pkgs.makeDesktopItem {
name = "nixos-manual";
desktopName = "NixOS Manual";
genericName = "View NixOS documentation in a web browser";
icon = "nix-snowflake";
exec = "${helpScript}/bin/nixos-help";
categories = "System";
};

in

{

@@ -66,6 +130,22 @@ let cfg = config.documentation; in
'';
};

nixos.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to install NixOS's own documentation.
<itemizedlist>
<listitem><para>This includes man pages like
<citerefentry><refentrytitle>configuration.nix</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> if <option>man.enable</option> is
set.</para></listitem>
<listitem><para>This includes the HTML manual and the <command>nixos-help</command> command if
<option>doc.enable</option> is set.</para></listitem>
</itemizedlist>
'';
};

};

};
@@ -99,6 +179,21 @@ let cfg = config.documentation; in
environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc";
})

(mkIf cfg.nixos.enable {
system.build.manual = manual;

environment.systemPackages = []
++ optional cfg.man.enable manual.manpages
++ optionals cfg.doc.enable ([ manual.manualHTML helpScript ]
++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]);

services.mingetty.helpLine = mkIf cfg.doc.enable (
"\nRun `nixos-help` "
+ optionalString config.services.nixosManual.showManual "or press <Alt-F${toString config.services.nixosManual.ttyNumber}> "
+ "for the NixOS manual."
);
})

]);

}
Loading