Skip to content
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
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 3c77acbcd501
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 35e73c9dd590
Choose a head ref
Loading
Showing with 4,180 additions and 2,192 deletions.
  1. +5 −5 .github/CODEOWNERS
  2. +1 −0 lib/systems/default.nix
  3. +1 −1 lib/systems/doubles.nix
  4. +7 −0 lib/systems/examples.nix
  5. +5 −0 maintainers/maintainer-list.nix
  6. +14 −0 nixos/doc/manual/man-nixos-rebuild.xml
  7. +10 −0 nixos/doc/manual/release-notes/rl-1903.xml
  8. +11 −1 nixos/modules/installer/tools/nixos-rebuild.sh
  9. +2 −0 nixos/modules/module-list.nix
  10. +45 −0 nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
  11. +2 −2 nixos/modules/services/mail/rmilter.nix
  12. +15 −5 nixos/modules/services/misc/home-assistant.nix
  13. +50 −0 nixos/modules/services/networking/coredns.nix
  14. +31 −22 nixos/modules/services/web-apps/nextcloud.nix
  15. +1 −1 nixos/modules/services/x11/desktop-managers/gnome3.nix
  16. +2 −1 nixos/modules/services/x11/desktop-managers/pantheon.nix
  17. +4 −2 nixos/modules/services/x11/desktop-managers/plasma5.nix
  18. +2 −2 pkgs/applications/audio/ams-lv2/default.nix
  19. +2 −2 pkgs/applications/editors/sigil/default.nix
  20. +7 −6 pkgs/applications/editors/thonny/default.nix
  21. +2 −2 pkgs/applications/graphics/feh/default.nix
  22. +3 −3 pkgs/applications/kde/minuet.nix
  23. +2 −2 pkgs/applications/misc/dbeaver/default.nix
  24. +2 −2 pkgs/applications/misc/xmr-stak/default.nix
  25. +2 −2 pkgs/applications/misc/xmrig/default.nix
  26. +13 −0 pkgs/applications/misc/xpdf/default.nix
  27. +2 −2 pkgs/applications/networking/browsers/brave/default.nix
  28. +8 −8 pkgs/applications/networking/browsers/chromium/upstream-info.nix
  29. +397 −397 pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
  30. +4 −4 pkgs/applications/networking/browsers/firefox/packages.nix
  31. +31 −25 pkgs/applications/networking/browsers/luakit/default.nix
  32. +2 −2 pkgs/applications/networking/browsers/vivaldi/default.nix
  33. +2 −2 pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
  34. +2 −2 pkgs/applications/networking/cluster/kubetail/default.nix
  35. +2 −2 pkgs/applications/networking/instant-messengers/baresip/default.nix
  36. +2 −2 pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
  37. +3 −3 pkgs/applications/networking/ipfs-cluster/default.nix
  38. +233 −233 pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
  39. +2 −2 pkgs/applications/networking/mailreaders/thunderbird/default.nix
  40. +60 −0 pkgs/applications/networking/ping/default.nix
  41. +2 −2 pkgs/applications/networking/remote/remmina/default.nix
  42. +2 −3 pkgs/applications/networking/weather/meteo/default.nix
  43. +2 −2 pkgs/applications/office/fava/default.nix
  44. +2 −2 pkgs/applications/radio/chirp/default.nix
  45. +2 −2 pkgs/applications/radio/flmsg/default.nix
  46. +2 −2 pkgs/applications/science/logic/cryptominisat/default.nix
  47. +2 −2 pkgs/applications/version-management/fossil/default.nix
  48. +2 −2 pkgs/applications/version-management/git-and-tools/git-hub/default.nix
  49. +2 −2 pkgs/applications/version-management/gitea/default.nix
  50. +2 −1 pkgs/applications/version-management/redmine/4.x/Gemfile
  51. +3 −3 pkgs/applications/version-management/redmine/4.x/Gemfile.lock
  52. +2 −2 pkgs/applications/version-management/redmine/4.x/default.nix
  53. +4 −4 pkgs/applications/version-management/redmine/4.x/gemset.nix
  54. +2 −1 pkgs/applications/version-management/redmine/Gemfile
  55. +3 −3 pkgs/applications/version-management/redmine/Gemfile.lock
  56. +2 −2 pkgs/applications/version-management/redmine/default.nix
  57. +4 −4 pkgs/applications/version-management/redmine/gemset.nix
  58. +2 −2 pkgs/applications/version-management/src/default.nix
  59. +3 −3 pkgs/applications/video/qstopmotion/default.nix
  60. +2 −2 pkgs/applications/virtualization/docker-compose/default.nix
  61. +2 −2 pkgs/applications/window-managers/bspwm/default.nix
  62. +2 −1 pkgs/build-support/bintools-wrapper/default.nix
  63. +4 −0 pkgs/build-support/cc-wrapper/default.nix
  64. +2 −2 pkgs/desktops/gnome-3/core/gdm/default.nix
  65. +3 −5 pkgs/desktops/gnome-3/core/gnome-remote-desktop/default.nix
  66. +2 −2 pkgs/desktops/plasma-5/breeze-gtk.nix
  67. +1 −1 pkgs/desktops/plasma-5/fetch.sh
  68. +28 −115 pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
  69. +180 −180 pkgs/desktops/plasma-5/srcs.nix
  70. +4 −0 pkgs/development/compilers/gcc/7/default.nix
  71. +141 −0 pkgs/development/compilers/gcc/libstdc++-netbsd-ctypes.patch
  72. +1 −1 pkgs/development/compilers/ghc/8.6.3.nix
  73. +2 −2 pkgs/development/compilers/kotlin/default.nix
  74. +0 −3 pkgs/development/compilers/llvm/6/llvm.nix
  75. +8 −8 pkgs/development/compilers/rust/bootstrap.nix
  76. +3 −3 pkgs/development/compilers/rust/default.nix
  77. +12 −20 pkgs/development/compilers/rust/patches/net-tcp-disable-tests.patch
  78. +758 −178 pkgs/development/haskell-modules/hackage-packages.nix
  79. +2 −1 pkgs/development/interpreters/racket/default.nix
  80. +2 −2 pkgs/development/libraries/CoinMP/default.nix
  81. +7 −9 pkgs/development/libraries/SDL/default.nix
  82. +11 −10 pkgs/development/libraries/SDL2/default.nix
  83. +2 −2 pkgs/development/libraries/afflib/default.nix
  84. +6 −6 pkgs/development/libraries/appstream-glib/default.nix
  85. +3 −0 pkgs/development/libraries/cairo/default.nix
  86. +2 −2 pkgs/development/libraries/cutelyst/default.nix
  87. +2 −2 pkgs/development/libraries/czmq/4.x.nix
  88. +2 −2 pkgs/development/libraries/ffmpeg-full/default.nix
  89. +2 −22 pkgs/development/libraries/glib/default.nix
  90. +5 −1 pkgs/development/libraries/libglvnd/default.nix
  91. +3 −3 pkgs/development/libraries/libvdpau/default.nix
  92. +1 −0 pkgs/development/libraries/mesa-glu/default.nix
  93. +2 −2 pkgs/development/libraries/openssl/default.nix
  94. +2 −2 pkgs/development/libraries/pixman/default.nix
  95. +15 −5 pkgs/development/libraries/pugixml/default.nix
  96. +2 −1 pkgs/development/libraries/qt-5/5.11/default.nix
  97. +2 −1 pkgs/development/libraries/qt-5/5.12/default.nix
  98. +0 −4 pkgs/development/libraries/qt-5/modules/qtbase.nix
  99. +20 −0 pkgs/development/libraries/qt-5/modules/qtwebview.nix
  100. +3 −3 pkgs/development/libraries/sqlite/analyzer.nix
  101. +3 −3 pkgs/development/libraries/sqlite/default.nix
  102. +2 −2 pkgs/development/libraries/webkitgtk/default.nix
  103. +4 −8 pkgs/development/python-modules/Nikola/default.nix
  104. +10 −4 pkgs/development/python-modules/XlsxWriter/default.nix
  105. +40 −0 pkgs/development/python-modules/adb-homeassistant/default.nix
  106. +26 −0 pkgs/development/python-modules/aiounifi/default.nix
  107. +60 −0 pkgs/development/python-modules/ansible-kernel/default.nix
  108. +46 −0 pkgs/development/python-modules/ansible-lint/default.nix
  109. +43 −0 pkgs/development/python-modules/ansible-runner/default.nix
  110. +53 −0 pkgs/development/python-modules/ansible/default.nix
  111. +6 −3 pkgs/development/python-modules/argon2_cffi/default.nix
  112. +25 −0 pkgs/development/python-modules/asttokens/default.nix
  113. +2 −2 pkgs/development/python-modules/binaryornot/default.nix
  114. +2 −2 pkgs/development/python-modules/boto3/default.nix
  115. +2 −2 pkgs/development/python-modules/botocore/default.nix
  116. +18 −10 pkgs/development/python-modules/can/default.nix
  117. +3 −0 pkgs/development/python-modules/detox/default.nix
  118. +2 −2 pkgs/development/python-modules/filetype/default.nix
  119. +38 −0 pkgs/development/python-modules/firetv/default.nix
  120. +1 −4 pkgs/development/python-modules/fudge/default.nix
  121. +47 −0 pkgs/development/python-modules/holoviews/default.nix
  122. +46 −0 pkgs/development/python-modules/hvplot/default.nix
  123. +60 −0 pkgs/development/python-modules/intake/default.nix
  124. +43 −0 pkgs/development/python-modules/nbsmoke/default.nix
  125. +2 −2 pkgs/development/python-modules/numpy/default.nix
  126. +9 −5 pkgs/development/python-modules/odfpy/default.nix
  127. +50 −0 pkgs/development/python-modules/panel/default.nix
  128. +28 −0 pkgs/development/python-modules/param/default.nix
  129. +1 −1 pkgs/development/python-modules/parsel/default.nix
  130. +2 −1 pkgs/development/python-modules/protobuf/default.nix
  131. +24 −0 pkgs/development/python-modules/pure-python-adb-homeassistant/default.nix
  132. +18 −8 pkgs/development/python-modules/pvlib/default.nix
  133. +36 −0 pkgs/development/python-modules/pyct/default.nix
  134. +5 −2 pkgs/development/python-modules/pykeepass/default.nix
  135. +19 −18 pkgs/development/python-modules/pyqt/4.x.nix
  136. +1 −1 pkgs/development/python-modules/pyres/default.nix
  137. +0 −3 pkgs/development/python-modules/pyrsistent/default.nix
  138. +0 −15 pkgs/development/python-modules/pyrsistent/no-setup-requires-pytestrunner.patch
  139. +2 −1 pkgs/development/python-modules/pyscard/default.nix
  140. +2 −3 pkgs/development/python-modules/pytest-ansible/default.nix
  141. +39 −0 pkgs/development/python-modules/python-snappy/default.nix
  142. +2 −2 pkgs/development/python-modules/pyupdate/default.nix
  143. +27 −0 pkgs/development/python-modules/pyviz-comms/default.nix
  144. +2 −5 pkgs/development/python-modules/spglib/default.nix
  145. +42 −0 pkgs/development/python-modules/streamz/default.nix
  146. +27 −0 pkgs/development/python-modules/tensorflow-estimator/default.nix
  147. +6 −3 pkgs/development/python-modules/tensorflow-tensorboard/default.nix
  148. +4 −4 pkgs/development/python-modules/tensorflow/bin.nix
  149. +2 −2 pkgs/development/python-modules/tensorflow/prefetcher.sh
  150. +0 −34 pkgs/development/python-modules/tensorflow/tf1.11.0-hashes.nix
  151. +42 −0 pkgs/development/python-modules/tensorflow/tf1.13.1-hashes.nix
  152. +0 −34 pkgs/development/python-modules/tensorflow/tf1.7.1-hashes.nix
  153. +17 −14 pkgs/development/python-modules/tifffile/default.nix
  154. +23 −0 pkgs/development/python-modules/tifffile/python2-regex-compat.patch
  155. +4 −0 pkgs/development/python-modules/wptserve/default.nix
  156. +8 −6 pkgs/development/python-modules/wxPython/3.0.nix
  157. +2 −2 pkgs/development/tools/analysis/checkstyle/default.nix
  158. +2 −2 pkgs/development/tools/analysis/cppcheck/default.nix
  159. +0 −36 pkgs/development/tools/ansible-lint/default.nix
  160. +3 −3 pkgs/development/tools/build-managers/leiningen/default.nix
  161. +2 −2 pkgs/development/tools/build-managers/waf/default.nix
  162. +2 −2 pkgs/development/tools/database/squirrel-sql/default.nix
  163. +2 −2 pkgs/development/tools/misc/dialog/default.nix
  164. +3 −5 pkgs/games/multimc/default.nix
  165. +2 −2 pkgs/misc/cups/filters.nix
  166. +122 −0 pkgs/os-specific/bsd/netbsd/builder.sh
  167. +420 −310 pkgs/os-specific/bsd/netbsd/default.nix
  168. +2 −2 pkgs/os-specific/linux/apparmor/default.nix
  169. +2 −2 pkgs/os-specific/linux/conky/default.nix
  170. +4 −4 pkgs/os-specific/linux/firejail/default.nix
  171. +62 −20 pkgs/servers/home-assistant/component-packages.nix
  172. +4 −4 pkgs/servers/home-assistant/default.nix
  173. +2 −2 pkgs/servers/home-assistant/frontend.nix
  174. +2 −2 pkgs/servers/matrix-synapse/default.nix
  175. +2 −2 pkgs/servers/nextcloud/default.nix
  176. +2 −2 pkgs/servers/nosql/apache-jena/fuseki-binary.nix
  177. +3 −3 pkgs/servers/search/solr/default.nix
  178. +2 −2 pkgs/servers/smcroute/default.nix
  179. +2 −2 pkgs/servers/web-apps/shaarli/default.nix
  180. +50 −24 pkgs/servers/x11/xorg/default.nix
  181. +8 −5 pkgs/servers/x11/xorg/overrides.nix
  182. +10 −8 pkgs/servers/x11/xorg/tarballs.list
  183. +2 −2 pkgs/shells/fish/default.nix
  184. +2 −2 pkgs/shells/zsh/gradle-completion/default.nix
  185. +1 −0 pkgs/stdenv/default.nix
  186. +1 −0 pkgs/stdenv/linux/default.nix
  187. +2 −2 pkgs/tools/X11/ckbcomp/default.nix
  188. +4 −4 pkgs/tools/X11/xsecurelock/default.nix
  189. +17 −62 pkgs/tools/admin/ansible/default.nix
  190. +2 −2 pkgs/tools/filesystems/btrfs-progs/default.nix
  191. +2 −2 pkgs/tools/filesystems/securefs/default.nix
  192. +2 −2 pkgs/tools/graphics/grim/default.nix
  193. +2 −2 pkgs/tools/inputmethods/ibus-engines/ibus-typing-booster/default.nix
  194. +2 −2 pkgs/tools/misc/aescrypt/default.nix
  195. +2 −2 pkgs/tools/misc/file/default.nix
  196. +3 −3 pkgs/tools/misc/graylog/default.nix
  197. +4 −4 pkgs/tools/misc/graylog/plugins.nix
  198. +2 −2 pkgs/tools/misc/kargo/default.nix
  199. +0 −13 pkgs/tools/misc/papis/default.nix
  200. +2 −2 pkgs/tools/misc/rpm-ostree/default.nix
  201. +2 −2 pkgs/tools/misc/tmuxp/default.nix
  202. +2 −2 pkgs/tools/misc/youtube-dl/default.nix
  203. +2 −2 pkgs/tools/networking/network-manager/default.nix
  204. +9 −1 pkgs/tools/networking/tinc/pre.nix
  205. +2 −2 pkgs/tools/networking/twa/default.nix
  206. +2 −2 pkgs/tools/package-management/dpkg/default.nix
  207. +2 −2 pkgs/tools/security/signing-party/default.nix
  208. +2 −2 pkgs/tools/typesetting/scdoc/default.nix
  209. +23 −12 pkgs/top-level/all-packages.nix
  210. +4 −0 pkgs/top-level/metrics.nix
  211. +48 −7 pkgs/top-level/python-packages.nix
10 changes: 5 additions & 5 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -58,11 +58,11 @@
/doc/languages-frameworks/python.section.md @FRidh

# Haskell
/pkgs/development/compilers/ghc @peti @ryantm @basvandijk
/pkgs/development/haskell-modules @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/default.nix @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm @basvandijk
/pkgs/development/haskell-modules/hoogle.nix @peti @ryantm @basvandijk
/pkgs/development/compilers/ghc @peti @basvandijk
/pkgs/development/haskell-modules @peti @basvandijk
/pkgs/development/haskell-modules/default.nix @peti @basvandijk
/pkgs/development/haskell-modules/generic-builder.nix @peti @basvandijk
/pkgs/development/haskell-modules/hoogle.nix @peti @basvandijk

# Perl
/pkgs/development/interpreters/perl @volth
1 change: 1 addition & 0 deletions lib/systems/default.nix
Original file line number Diff line number Diff line change
@@ -35,6 +35,7 @@ rec {
else if final.isAndroid then "bionic"
else if final.isLinux /* default */ then "glibc"
else if final.isAvr then "avrlibc"
else if final.isNetBSD then "nblibc"
# TODO(@Ericson2314) think more about other operating systems
else "native/impure";
extensions = {
2 changes: 1 addition & 1 deletion lib/systems/doubles.nix
Original file line number Diff line number Diff line change
@@ -47,5 +47,5 @@ in rec {
unix = filterDoubles predicates.isUnix;
windows = filterDoubles predicates.isWindows;

mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"];
mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "armv7a-linux" "aarch64-linux" "powerpc64le-linux"];
}
7 changes: 7 additions & 0 deletions lib/systems/examples.nix
Original file line number Diff line number Diff line change
@@ -212,4 +212,11 @@ rec {
libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain
platform = {};
};

# BSDs

amd64-netbsd = {
config = "x86_64-unknown-netbsd";
libc = "nblibc";
};
}
5 changes: 5 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -2458,6 +2458,11 @@
github = "kisonecat";
name = "Jim Fowler";
};
kjuvi = {
email = "quentin.vaucher@pm.me";
github = "kjuvi";
name = "Quentin Vaucher";
};
kkallio = {
email = "tierpluspluslists@gmail.com";
name = "Karn Kallio";
14 changes: 14 additions & 0 deletions nixos/doc/manual/man-nixos-rebuild.xml
Original file line number Diff line number Diff line change
@@ -38,6 +38,10 @@
<option>dry-activate</option>
</arg>

<arg choice='plain'>
<option>edit</option>
</arg>

<arg choice='plain'>
<option>build-vm</option>
</arg>
@@ -188,6 +192,16 @@ $ nix-build /path/to/nixpkgs/nixos -A system
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>edit</option>
</term>
<listitem>
<para>
Opens <filename>configuration.nix</filename> in the default editor.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>build-vm</option>
10 changes: 10 additions & 0 deletions nixos/doc/manual/release-notes/rl-1903.xml
Original file line number Diff line number Diff line change
@@ -479,6 +479,11 @@
been removed.
</para>
</listitem>
<listitem>
<para>
<literal>graylog</literal> has been upgraded from version 2.* to 3.*. Some setups making use of extraConfig (especially those exposing Graylog via reverse proxies) need to be updated as upstream removed/replaced some settings. See <link xlink:href="http://docs.graylog.org/en/3.0/pages/upgrade/graylog-3.0.html#simplified-http-interface-configuration">Upgrading Graylog</link> for details.
</para>
</listitem>
</itemizedlist>
</section>

@@ -673,6 +678,11 @@
An upgrade guide can be found <link xlink:href="https://www.open-mpi.org/faq/?category=mpi-removed">here</link>.
</para>
</listitem>
<listitem>
<para>
A new subcommand <command>nixos-rebuild edit</command> was added.
</para>
</listitem>
</itemizedlist>
</section>
</section>
12 changes: 11 additions & 1 deletion nixos/modules/installer/tools/nixos-rebuild.sh
Original file line number Diff line number Diff line change
@@ -267,6 +267,14 @@ if [ -n "$rollback" -o "$action" = dry-build ]; then
buildNix=
fi

nixSystem() {
machine="$(uname -m)"
if [[ "$machine" =~ i.86 ]]; then
machine=i686
fi
echo $machine-linux
}

prebuiltNix() {
machine="$1"
if [ "$machine" = x86_64 ]; then
@@ -286,7 +294,9 @@ if [ -n "$buildNix" ]; then
nixDrv=
if ! nixDrv="$(nix-instantiate '<nixpkgs/nixos>' --add-root $tmpDir/nix.drv --indirect -A config.nix.package.out "${extraBuildFlags[@]}")"; then
if ! nixDrv="$(nix-instantiate '<nixpkgs>' --add-root $tmpDir/nix.drv --indirect -A nix "${extraBuildFlags[@]}")"; then
nixStorePath="$(prebuiltNix "$(uname -m)")"
if ! nixStorePath="$(nix-instantiate --eval '<nixpkgs/nixos/modules/installer/tools/nix-fallback-paths.nix>' -A $(nixSystem) | sed -e 's/^"//' -e 's/"$//')"; then
nixStorePath="$(prebuiltNix "$(uname -m)")"
fi
if ! nix-store -r $nixStorePath --add-root $tmpDir/nix --indirect \
--option extra-binary-caches https://cache.nixos.org/; then
echo "warning: don't know how to get latest Nix" >&2
2 changes: 2 additions & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -268,6 +268,7 @@
./services/desktops/gnome3/gnome-online-accounts.nix
./services/desktops/gnome3/gnome-remote-desktop.nix
./services/desktops/gnome3/gnome-online-miners.nix
./services/desktops/gnome3/gnome-settings-daemon.nix
./services/desktops/gnome3/gnome-terminal-server.nix
./services/desktops/gnome3/gnome-user-share.nix
./services/desktops/gnome3/gpaste.nix
@@ -528,6 +529,7 @@
./services/networking/cntlm.nix
./services/networking/connman.nix
./services/networking/consul.nix
./services/networking/coredns.nix
./services/networking/coturn.nix
./services/networking/dante.nix
./services/networking/ddclient.nix
45 changes: 45 additions & 0 deletions nixos/modules/services/desktops/gnome3/gnome-settings-daemon.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# GNOME Settings Daemon

{ config, lib, pkgs, ... }:

with lib;

let

cfg = config.services.gnome3.gnome-settings-daemon;

in

{

###### interface

options = {

services.gnome3.gnome-settings-daemon = {

enable = mkEnableOption "GNOME Settings Daemon.";

# There are many forks of gnome-settings-daemon
package = mkOption {
type = types.package;
default = pkgs.gnome3.gnome-settings-daemon;
description = "Which gnome-settings-daemon package to use.";
};

};

};


###### implementation

config = mkIf cfg.enable {

environment.systemPackages = [ cfg.package ];

services.udev.packages = [ cfg.package ];

};

}
4 changes: 2 additions & 2 deletions nixos/modules/services/mail/rmilter.nix
Original file line number Diff line number Diff line change
@@ -8,7 +8,7 @@ let
postfixCfg = config.services.postfix;
cfg = config.services.rmilter;

inetSocket = addr: port: "inet:[${toString port}@${addr}]";
inetSocket = addr: port: "inet:${addr}:${toString port}";
unixSocket = sock: "unix:${sock}";

systemdSocket = if cfg.bindSocket.type == "unix" then cfg.bindSocket.path
@@ -97,7 +97,7 @@ in

bindSocket.address = mkOption {
type = types.str;
default = "::1";
default = "[::1]";
example = "0.0.0.0";
description = ''
Inet address to listen on.
20 changes: 15 additions & 5 deletions nixos/modules/services/misc/home-assistant.nix
Original file line number Diff line number Diff line change
@@ -9,13 +9,13 @@ let
configJSON = pkgs.writeText "configuration.json"
(builtins.toJSON (if cfg.applyDefaultConfig then
(recursiveUpdate defaultConfig cfg.config) else cfg.config));
configFile = pkgs.runCommand "configuration.yaml" { } ''
configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } ''
${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
'';

lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json"
(builtins.toJSON cfg.lovelaceConfig);
lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { } ''
lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { preferLocalBuild = true; } ''
${pkgs.remarshal}/bin/json2yaml -i ${lovelaceConfigJSON} -o $out
'';

@@ -29,14 +29,24 @@ let
# platform = "luftdaten";
# ...
# } ];
#
# Beginning with 0.87 Home Assistant is migrating their components to the
# scheme "platform.subComponent", e.g. "hue.light" instead of "light.hue".
# See https://developers.home-assistant.io/blog/2019/02/19/the-great-migration.html.
# Hence, we also check whether we find an entry in the config when interpreting
# the first part of the path as the component.
useComponentPlatform = component:
let
path = splitString "." component;
# old: platform is the last part of path
parentConfig = attrByPath (init path) null cfg.config;
platform = last path;
in isList parentConfig && any
(item: item.platform or null == platform)
parentConfig;
# new: platform is the first part of the path
parentConfig' = attrByPath (tail path) null cfg.config;
platform' = head path;
in
(isList parentConfig && any (item: item.platform or null == platform) parentConfig)
|| (isList parentConfig' && any (item: item.platform or null == platform') parentConfig');

# Returns whether component is used in config
useComponent = component:
50 changes: 50 additions & 0 deletions nixos/modules/services/networking/coredns.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{ config, lib, pkgs, ... }:

with lib;

let
cfg = config.services.coredns;
configFile = pkgs.writeText "Corefile" cfg.config;
in {
options.services.coredns = {
enable = mkEnableOption "Coredns dns server";

config = mkOption {
default = "";
example = ''
. {
whoami
}
'';
type = types.lines;
description = "Verbatim Corefile to use. See <link xlink:href=\"https://coredns.io/manual/toc/#configuration\"/> for details.";
};

package = mkOption {
default = pkgs.coredns;
defaultText = "pkgs.coredns";
type = types.package;
description = "Coredns package to use.";
};
};

config = mkIf cfg.enable {
systemd.services.coredns = {
description = "Coredns dns server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
PermissionsStartOnly = true;
LimitNPROC = 512;
LimitNOFILE = 1048576;
CapabilityBoundingSet = "cap_net_bind_service";
AmbientCapabilities = "cap_net_bind_service";
NoNewPrivileges = true;
DynamicUser = true;
ExecStart = "${getBin cfg.package}/bin/coredns -conf=${configFile}";
ExecReload = "${pkgs.coreutils}/bin/kill -SIGUSR1 $MAINPID";
Restart = "on-failure";
};
};
};
}
Loading