Showing with 3,122 additions and 2,330 deletions.
  1. +2 −2 .github/CODEOWNERS
  2. +16 −0 maintainers/maintainer-list.nix
  3. +28 −0 nixos/doc/manual/release-notes/rl-1909.xml
  4. +13 −1 nixos/doc/manual/release-notes/rl-2003.xml
  5. +3 −3 nixos/lib/make-iso9660-image.nix
  6. +6 −4 nixos/modules/services/amqp/rabbitmq.nix
  7. +2 −2 nixos/modules/services/continuous-integration/hydra/default.nix
  8. +3 −0 nixos/modules/services/desktops/system-config-printer.nix
  9. +1 −1 nixos/modules/services/misc/gitlab.nix
  10. +2 −2 nixos/modules/services/misc/nix-daemon.nix
  11. +36 −3 nixos/modules/services/monitoring/collectd.nix
  12. +43 −10 nixos/modules/services/monitoring/prometheus/exporters/blackbox.nix
  13. +25 −85 nixos/modules/services/networking/networkmanager.nix
  14. +24 −103 nixos/modules/services/web-servers/apache-httpd/default.nix
  15. +0 −6 nixos/modules/services/web-servers/apache-httpd/per-server-options.nix
  16. +4 −0 nixos/modules/services/x11/desktop-managers/gnome3.nix
  17. +1 −4 nixos/modules/system/boot/plymouth.nix
  18. +5 −0 pkgs/applications/audio/clementine/default.nix
  19. +43 −0 pkgs/applications/audio/ncspot/default.nix
  20. +2 −2 pkgs/applications/audio/picard/default.nix
  21. +4 −4 pkgs/applications/audio/spotify-tui/default.nix
  22. +2 −2 pkgs/applications/blockchains/bitcoin-abc.nix
  23. +3 −3 pkgs/applications/blockchains/jormungandr/default.nix
  24. +9 −0 pkgs/applications/editors/emacs-modes/melpa-packages.nix
  25. +3 −3 pkgs/applications/editors/vscode/vscode.nix
  26. +3 −3 pkgs/applications/editors/vscode/vscodium.nix
  27. +3 −3 pkgs/applications/graphics/xournalpp/default.nix
  28. +5 −5 pkgs/applications/misc/exercism/default.nix
  29. +0 −201 pkgs/applications/misc/exercism/deps.nix
  30. +44 −0 pkgs/applications/misc/pdfarranger/default.nix
  31. +10 −4 pkgs/applications/misc/plover/default.nix
  32. +2 −2 pkgs/applications/networking/browsers/ephemeral/default.nix
  33. +5 −1 pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
  34. +2 −2 pkgs/applications/networking/cluster/kubecfg/default.nix
  35. +1 −1 pkgs/applications/networking/cluster/terraform-landscape/default.nix
  36. +3 −3 pkgs/applications/networking/cluster/terraform/default.nix
  37. +3 −3 pkgs/applications/networking/cluster/tilt/default.nix
  38. +19 −0 pkgs/applications/networking/ids/suricata/bpf_stubs_workaround.patch
  39. +40 −9 pkgs/applications/networking/ids/suricata/default.nix
  40. +1 −1 pkgs/applications/networking/irc/weechat/scripts/wee-slack/default.nix
  41. +2 −2 pkgs/applications/networking/mailreaders/mlarchive2maildir/default.nix
  42. +2 −2 pkgs/applications/networking/p2p/torrential/default.nix
  43. +3 −2 pkgs/applications/networking/remote/anydesk/default.nix
  44. +2 −2 pkgs/applications/networking/sync/rclone/default.nix
  45. +1 −2 pkgs/applications/networking/sync/rsync/rrsync.nix
  46. +3 −3 pkgs/applications/networking/syncthing/default.nix
  47. +0 −72 pkgs/applications/networking/transporter/default.nix
  48. +3 −3 pkgs/applications/science/logic/symbiyosys/default.nix
  49. +12 −13 pkgs/applications/science/robotics/betaflight-configurator/default.nix
  50. +12 −13 pkgs/applications/science/robotics/qgroundcontrol/default.nix
  51. +6 −4 pkgs/applications/version-management/gitkraken/default.nix
  52. +9 −5 pkgs/applications/video/kazam/default.nix
  53. +10 −1 pkgs/applications/window-managers/i3/blocks.nix
  54. +0 −6 pkgs/build-support/skaware/build-skaware-package.nix
  55. +2 −2 pkgs/data/fonts/ricty/default.nix
  56. +2 −2 pkgs/data/misc/hackage/default.nix
  57. +60 −16 pkgs/desktops/gnome-3/misc/gpaste/default.nix
  58. +3 −3 pkgs/desktops/lxqt/lxqt-globalkeys/default.nix
  59. +4 −4 pkgs/desktops/lxqt/qps/default.nix
  60. +3 −4 pkgs/development/compilers/compcert/default.nix
  61. +2 −2 pkgs/development/compilers/ldc/default.nix
  62. +24 −9 pkgs/development/compilers/nextpnr/default.nix
  63. +5 −5 pkgs/development/compilers/yosys/default.nix
  64. +2 −0 pkgs/development/go-modules/generic/default.nix
  65. +35 −34 pkgs/development/haskell-modules/configuration-common.nix
  66. +5 −1 pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
  67. +44 −50 pkgs/development/haskell-modules/configuration-hackage2nix.yaml
  68. +8 −0 pkgs/development/haskell-modules/configuration-nix.nix
  69. +855 −1,026 pkgs/development/haskell-modules/hackage-packages.nix
  70. +86 −0 pkgs/development/libraries/arrayfire/default.nix
  71. +28 −0 pkgs/development/libraries/arrayfire/no-download.patch
  72. +4 −4 pkgs/development/libraries/chromaprint/default.nix
  73. +2 −2 pkgs/development/libraries/libabw/default.nix
  74. +17 −11 pkgs/development/libraries/libcutl/default.nix
  75. +1 −1 pkgs/development/libraries/libmaxminddb/default.nix
  76. +3 −3 pkgs/development/libraries/liburing/default.nix
  77. +3 −4 pkgs/development/libraries/libwhereami/default.nix
  78. +2 −10 pkgs/development/libraries/libxmlb/default.nix
  79. +3 −2 pkgs/development/libraries/mbedtls/default.nix
  80. +1 −1 pkgs/development/libraries/oracle-instantclient/default.nix
  81. +1 −1 pkgs/development/libraries/physics/geant4/datasets-hook.sh
  82. +26 −17 pkgs/development/libraries/physics/geant4/datasets.nix
  83. +9 −6 pkgs/development/libraries/physics/geant4/default.nix
  84. +1 −1 pkgs/development/libraries/physics/geant4/g4py/default.nix
  85. +40 −0 pkgs/development/libraries/pstreams/default.nix
  86. +2 −2 pkgs/development/libraries/symengine/default.nix
  87. +7 −4 pkgs/development/libraries/wt/default.nix
  88. +6 −5 pkgs/development/ocaml-modules/bigstringaf/default.nix
  89. +26 −0 pkgs/development/ocaml-modules/duff/default.nix
  90. +0 −12 pkgs/development/ocaml-modules/eliom/camlp4.patch
  91. +10 −8 pkgs/development/ocaml-modules/eliom/default.nix
  92. +3 −3 pkgs/development/ocaml-modules/faraday/default.nix
  93. +5 −5 pkgs/development/ocaml-modules/httpaf/default.nix
  94. +2 −1 pkgs/development/ocaml-modules/menhir/default.nix
  95. +2 −2 pkgs/development/ocaml-modules/ocsigen-start/default.nix
  96. +1 −1 pkgs/development/python-modules/azure-applicationinsights/default.nix
  97. +1 −1 pkgs/development/python-modules/azure-batch/default.nix
  98. +1 −1 pkgs/development/python-modules/azure-common/default.nix
  99. +1 −1 pkgs/development/python-modules/azure-cosmos/default.nix
  100. +1 −1 pkgs/development/python-modules/azure-cosmosdb-nspkg/default.nix
  101. +1 −1 pkgs/development/python-modules/azure-cosmosdb-table/default.nix
  102. +1 −1 pkgs/development/python-modules/azure-datalake-store/default.nix
  103. +1 −1 pkgs/development/python-modules/azure-eventgrid/default.nix
  104. +1 −1 pkgs/development/python-modules/azure-graphrbac/default.nix
  105. +1 −1 pkgs/development/python-modules/azure-keyvault/default.nix
  106. +1 −1 pkgs/development/python-modules/azure-loganalytics/default.nix
  107. +1 −1 pkgs/development/python-modules/azure-mgmt-advisor/default.nix
  108. +1 −1 pkgs/development/python-modules/azure-mgmt-applicationinsights/default.nix
  109. +1 −1 pkgs/development/python-modules/azure-mgmt-authorization/default.nix
  110. +1 −1 pkgs/development/python-modules/azure-mgmt-batch/default.nix
  111. +1 −1 pkgs/development/python-modules/azure-mgmt-batchai/default.nix
  112. +1 −1 pkgs/development/python-modules/azure-mgmt-billing/default.nix
  113. +1 −1 pkgs/development/python-modules/azure-mgmt-cdn/default.nix
  114. +1 −1 pkgs/development/python-modules/azure-mgmt-cognitiveservices/default.nix
  115. +1 −1 pkgs/development/python-modules/azure-mgmt-commerce/default.nix
  116. +1 −1 pkgs/development/python-modules/azure-mgmt-common/default.nix
  117. +1 −1 pkgs/development/python-modules/azure-mgmt-compute/default.nix
  118. +1 −1 pkgs/development/python-modules/azure-mgmt-consumption/default.nix
  119. +1 −1 pkgs/development/python-modules/azure-mgmt-containerinstance/default.nix
  120. +1 −1 pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
  121. +1 −1 pkgs/development/python-modules/azure-mgmt-cosmosdb/default.nix
  122. +1 −1 pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
  123. +1 −1 pkgs/development/python-modules/azure-mgmt-datalake-analytics/default.nix
  124. +1 −1 pkgs/development/python-modules/azure-mgmt-datalake-nspkg/default.nix
  125. +1 −1 pkgs/development/python-modules/azure-mgmt-datalake-store/default.nix
  126. +1 −1 pkgs/development/python-modules/azure-mgmt-datamigration/default.nix
  127. +1 −1 pkgs/development/python-modules/azure-mgmt-devspaces/default.nix
  128. +1 −1 pkgs/development/python-modules/azure-mgmt-devtestlabs/default.nix
  129. +1 −1 pkgs/development/python-modules/azure-mgmt-dns/default.nix
  130. +1 −1 pkgs/development/python-modules/azure-mgmt-eventgrid/default.nix
  131. +1 −1 pkgs/development/python-modules/azure-mgmt-eventhub/default.nix
  132. +1 −1 pkgs/development/python-modules/azure-mgmt-hanaonazure/default.nix
  133. +1 −1 pkgs/development/python-modules/azure-mgmt-iotcentral/default.nix
  134. +1 −1 pkgs/development/python-modules/azure-mgmt-iothub/default.nix
  135. +1 −1 pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
  136. +1 −1 pkgs/development/python-modules/azure-mgmt-keyvault/default.nix
  137. +1 −1 pkgs/development/python-modules/azure-mgmt-loganalytics/default.nix
  138. +1 −1 pkgs/development/python-modules/azure-mgmt-logic/default.nix
  139. +1 −1 pkgs/development/python-modules/azure-mgmt-machinelearningcompute/default.nix
  140. +1 −1 pkgs/development/python-modules/azure-mgmt-managementgroups/default.nix
  141. +1 −1 pkgs/development/python-modules/azure-mgmt-managementpartner/default.nix
  142. +1 −1 pkgs/development/python-modules/azure-mgmt-maps/default.nix
  143. +1 −1 pkgs/development/python-modules/azure-mgmt-marketplaceordering/default.nix
  144. +1 −1 pkgs/development/python-modules/azure-mgmt-media/default.nix
  145. +1 −1 pkgs/development/python-modules/azure-mgmt-monitor/default.nix
  146. +1 −1 pkgs/development/python-modules/azure-mgmt-msi/default.nix
  147. +1 −1 pkgs/development/python-modules/azure-mgmt-network/default.nix
  148. +1 −1 pkgs/development/python-modules/azure-mgmt-notificationhubs/default.nix
  149. +1 −1 pkgs/development/python-modules/azure-mgmt-nspkg/default.nix
  150. +1 −1 pkgs/development/python-modules/azure-mgmt-policyinsights/default.nix
  151. +1 −1 pkgs/development/python-modules/azure-mgmt-powerbiembedded/default.nix
  152. +1 −1 pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
  153. +1 −1 pkgs/development/python-modules/azure-mgmt-recoveryservices/default.nix
  154. +1 −1 pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
  155. +1 −1 pkgs/development/python-modules/azure-mgmt-redis/default.nix
  156. +1 −1 pkgs/development/python-modules/azure-mgmt-relay/default.nix
  157. +1 −1 pkgs/development/python-modules/azure-mgmt-reservations/default.nix
  158. +1 −1 pkgs/development/python-modules/azure-mgmt-resource/default.nix
  159. +1 −1 pkgs/development/python-modules/azure-mgmt-scheduler/default.nix
  160. +1 −1 pkgs/development/python-modules/azure-mgmt-search/default.nix
  161. +1 −1 pkgs/development/python-modules/azure-mgmt-servicebus/default.nix
  162. +1 −1 pkgs/development/python-modules/azure-mgmt-servicefabric/default.nix
  163. +1 −1 pkgs/development/python-modules/azure-mgmt-signalr/default.nix
  164. +1 −1 pkgs/development/python-modules/azure-mgmt-sql/default.nix
  165. +1 −1 pkgs/development/python-modules/azure-mgmt-storage/default.nix
  166. +1 −1 pkgs/development/python-modules/azure-mgmt-subscription/default.nix
  167. +1 −1 pkgs/development/python-modules/azure-mgmt-trafficmanager/default.nix
  168. +1 −1 pkgs/development/python-modules/azure-mgmt-web/default.nix
  169. +1 −1 pkgs/development/python-modules/azure-nspkg/default.nix
  170. +1 −1 pkgs/development/python-modules/azure-servicebus/default.nix
  171. +1 −1 pkgs/development/python-modules/azure-servicefabric/default.nix
  172. +1 −1 pkgs/development/python-modules/azure-servicemanagement-legacy/default.nix
  173. +1 −1 pkgs/development/python-modules/azure-storage-blob/default.nix
  174. +1 −1 pkgs/development/python-modules/azure-storage-common/default.nix
  175. +1 −1 pkgs/development/python-modules/azure-storage-file/default.nix
  176. +1 −1 pkgs/development/python-modules/azure-storage-nspkg/default.nix
  177. +1 −1 pkgs/development/python-modules/azure-storage-queue/default.nix
  178. +1 −1 pkgs/development/python-modules/azure-storage/default.nix
  179. +2 −2 pkgs/development/python-modules/fs-s3fs/default.nix
  180. +22 −0 pkgs/development/python-modules/geographiclib/default.nix
  181. +1 −1 pkgs/development/python-modules/geoip2/default.nix
  182. +14 −6 pkgs/development/python-modules/glasgow/default.nix
  183. +27 −0 pkgs/development/python-modules/gsd/1.7.nix
  184. +15 −11 pkgs/development/python-modules/gsd/default.nix
  185. +26 −0 pkgs/development/python-modules/managesieve/default.nix
  186. +3 −3 pkgs/development/python-modules/matplotlib/default.nix
  187. +3 −3 pkgs/development/python-modules/maxminddb/default.nix
  188. +4 −4 pkgs/development/python-modules/nmigen-boards/default.nix
  189. +6 −29 pkgs/development/python-modules/nmigen/default.nix
  190. +4 −4 pkgs/development/python-modules/pgsanity/default.nix
  191. +54 −0 pkgs/development/python-modules/phik/default.nix
  192. +53 −0 pkgs/development/python-modules/praw/6.3.nix
  193. +2 −3 pkgs/development/python-modules/praw/default.nix
  194. +2 −1 pkgs/development/python-modules/trezor_agent/default.nix
  195. +2 −2 pkgs/development/tools/analysis/checkstyle/default.nix
  196. +2 −2 pkgs/development/tools/avro-tools/default.nix
  197. +3 −3 pkgs/development/tools/bazelisk/default.nix
  198. +2 −2 pkgs/development/tools/build-managers/buck/default.nix
  199. +2 −2 pkgs/development/tools/build-managers/rebar3/default.nix
  200. +3 −3 pkgs/development/tools/chit/default.nix
  201. +3 −3 pkgs/development/tools/documentation/mdsh/default.nix
  202. +18 −16 pkgs/development/tools/git-series/default.nix
  203. +2 −2 pkgs/development/tools/golangci-lint/default.nix
  204. +13 −13 pkgs/development/tools/kustomize/default.nix
  205. +26 −0 pkgs/development/tools/misc/scc/default.nix
  206. +3 −3 pkgs/development/tools/prototool/default.nix
  207. +1 −1 pkgs/development/tools/pypi2nix/default.nix
  208. +3 −3 pkgs/development/tools/rust/cargo-generate/default.nix
  209. +9 −9 pkgs/development/tools/trellis/default.nix
  210. +12 −9 pkgs/games/arx-libertatis/default.nix
  211. +10 −7 pkgs/games/devilutionx/default.nix
  212. +3 −3 pkgs/games/minetest/default.nix
  213. +11 −10 pkgs/games/odamex/default.nix
  214. +1 −0 pkgs/games/steam/chrootenv.nix
  215. +2 −2 pkgs/os-specific/linux/kernel/linux-4.14.nix
  216. +2 −2 pkgs/os-specific/linux/kernel/linux-4.19.nix
  217. +2 −2 pkgs/os-specific/linux/kernel/linux-4.4.nix
  218. +2 −2 pkgs/os-specific/linux/kernel/linux-4.9.nix
  219. +2 −2 pkgs/os-specific/linux/kernel/linux-5.3.nix
  220. +6 −6 pkgs/os-specific/linux/musl/default.nix
  221. +2 −2 pkgs/servers/bird/default.nix
  222. +3 −4 pkgs/servers/dns/bind/default.nix
  223. +4 −2 pkgs/servers/home-assistant/frontend.nix
  224. +2 −2 pkgs/servers/http/apache-modules/mod_wsgi/default.nix
  225. +33 −0 pkgs/servers/irc/atheme/default.nix
  226. +2 −2 pkgs/servers/misc/airsonic/default.nix
  227. +3 −6 pkgs/servers/monitoring/prometheus/default.nix
  228. +4 −4 pkgs/servers/monitoring/zabbix/versions.nix
  229. +1 −1 pkgs/servers/rt/default.nix
  230. +6 −6 pkgs/servers/web-apps/fileshelter/default.nix
  231. +2 −2 pkgs/servers/web-apps/mediawiki/default.nix
  232. +3 −3 pkgs/shells/zsh/oh-my-zsh/default.nix
  233. +2 −2 pkgs/shells/zsh/zsh-you-should-use/default.nix
  234. +5 −3 pkgs/tools/graphics/oxipng/default.nix
  235. +2 −2 pkgs/tools/misc/birdfont/default.nix
  236. +3 −3 pkgs/tools/misc/clipman/default.nix
  237. +77 −34 pkgs/tools/misc/execline/default.nix
  238. +43 −0 pkgs/tools/misc/execline/execlineb-wrapper.c
  239. +3 −3 pkgs/tools/misc/kak-lsp/default.nix
  240. +2 −2 pkgs/tools/misc/screenfetch/default.nix
  241. +23 −0 pkgs/tools/misc/snore/default.nix
  242. +26 −23 pkgs/tools/misc/system-config-printer/default.nix
  243. +2 −2 pkgs/tools/networking/dhcpcd/default.nix
  244. +5 −1 pkgs/tools/networking/network-manager/fortisslvpn/default.nix
  245. +2 −2 pkgs/tools/networking/nss-pam-ldapd/default.nix
  246. +4 −4 pkgs/tools/networking/offlineimap/default.nix
  247. +2 −2 pkgs/tools/security/bitwarden/default.nix
  248. +2 −2 pkgs/tools/security/bitwarden_rs/vault.nix
  249. +9 −54 pkgs/tools/system/collectd/default.nix
  250. +347 −0 pkgs/tools/system/collectd/plugins.nix
  251. +10 −9 pkgs/tools/system/facter/default.nix
  252. +2 −2 pkgs/tools/system/netdata/default.nix
  253. +5 −3 pkgs/tools/system/rsyslog/default.nix
  254. +36 −0 pkgs/tools/text/tab/default.nix
  255. +1 −0 pkgs/top-level/aliases.nix
  256. +30 −6 pkgs/top-level/all-packages.nix
  257. +2 −0 pkgs/top-level/ocaml-packages.nix
  258. +103 −5 pkgs/top-level/perl-packages.nix
  259. +13 −2 pkgs/top-level/python-packages.nix
Validating CODEOWNERS rules …
@@ -52,9 +52,9 @@

# Python-related code and docs
/maintainers/scripts/update-python-libraries @FRidh
/pkgs/top-level/python-packages.nix @FRidh
/pkgs/top-level/python-packages.nix @FRidh @jonringer
/pkgs/development/interpreters/python @FRidh
/pkgs/development/python-modules @FRidh
/pkgs/development/python-modules @FRidh @jonringer
/doc/languages-frameworks/python.section.md @FRidh

# Haskell
@@ -591,6 +591,12 @@
fingerprint = "3D2B B230 F9FA F0C5 1832 46DD 4FDC 96F1 61E7 BA8A";
}];
};
arthur = {
email = "me@arthur.li";
github = "arthurl";
githubId = 3965744;
name = "Arthur Lee";
};
artuuge = {
email = "artuuge@gmail.com";
github = "artuuge";
@@ -1426,6 +1432,16 @@
}
];
};
dadada = {
name = "dadada";
email = "dadada@dadada.li";
github = "dadada";
githubId = 7216772;
keys = [{
longkeyid = "ed25519/0xEEB8D1CE62C4DFEA";
fingerprint = "D68C 8469 5C08 7E0F 733A 28D0 EEB8 D1CE 62C4 DFEA";
}];
};
dalance = {
email = "dalance@gmail.com";
github = "dalance";
@@ -190,6 +190,13 @@
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>
<xref linkend="opt-services.blueman.enable"/> has been added.
If you previously had blueman installed via <option>environment.systemPackages</option> please
migrate to using the NixOS module, as this would result in an insufficiently configured blueman.
</para>
</listitem>
</itemizedlist>

</section>
@@ -563,6 +570,27 @@
earlier version of NixOS.
</para>
</listitem>
<listitem>
<para>
Due to the short lifetime of non-LTS kernel releases package attributes like <literal>linux_5_1</literal>,
<literal>linux_5_2</literal> and <literal>linux_5_3</literal> have been removed to discourage dependence
on specific non-LTS kernel versions in stable NixOS releases.

Going forward, versioned attributes like <literal>linux_4_9</literal> will exist for LTS versions only.
Please use <literal>linux_latest</literal> or <literal>linux_testing</literal> if you depend on non-LTS
releases. Keep in mind that <literal>linux_latest</literal> and <literal>linux_testing</literal> will
change versions under the hood during the lifetime of a stable release and might include breaking changes.
</para>
</listitem>
<listitem>
<para>
Because of the systemd upgrade,
some network interfaces might change their name. For details see
<link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.net-naming-scheme.html#History">
upstream docs</link> or <link xlink:href="https://github.com/NixOS/nixpkgs/issues/71086">
our ticket</link>.
</para>
</listitem>
</itemizedlist>
</section>

@@ -85,7 +85,19 @@

<itemizedlist>
<listitem>
<para />
<para>
The <literal>dynamicHosts</literal> option has been removed from the
<link linkend="opt-networking.networkmanager.enable">networkd</link>
module. Allowing (multiple) regular users to override host entries
affecting the whole system opens up a huge attack vector.
There seem to be very rare cases where this might be useful.
Consider setting system-wide host entries using
<link linkend="opt-networking.hosts">networking.hosts</link>, provide
them via the DNS server in your network, or use
<link linkend="opt-environment.etc">environment.etc</link>
to add a file into <literal>/etc/NetworkManager/dnsmasq.d</literal>
reconfiguring <literal>hostsdir</literal>.
</para>
</listitem>
</itemizedlist>
</section>
@@ -10,9 +10,9 @@
contents

, # In addition to `contents', the closure of the store paths listed
# in `packages' are also placed in the Nix store of the CD. This is
# a list of attribute sets {object, symlink} where `object' if a
# store path whose closure will be copied, and `symlink' is a
# in `storeContents' are also placed in the Nix store of the CD.
# This is a list of attribute sets {object, symlink} where `object'
# is a store path whose closure will be copied, and `symlink' is a
# symlink to `object' that will be added to the CD.
storeContents ? []

@@ -80,10 +80,12 @@ in {
configItems = mkOption {
default = {};
type = types.attrsOf types.str;
example = {
"auth_backends.1.authn" = "rabbit_auth_backend_ldap";
"auth_backends.1.authz" = "rabbit_auth_backend_internal";
};
example = literalExample ''
{
"auth_backends.1.authn" = "rabbit_auth_backend_ldap";
"auth_backends.1.authz" = "rabbit_auth_backend_internal";
}
'';
description = ''
Configuration options in RabbitMQ's new config file format,
which is a simple key-value format that can not express nested
@@ -242,8 +242,8 @@ in
environment.variables = hydraEnv;

nix.extraOptions = ''
gc-keep-outputs = true
gc-keep-derivations = true
keep-outputs = true
keep-derivations = true
# The default (`true') slows Nix down a lot since the build farm
# has so many GC roots.
@@ -33,6 +33,9 @@ with lib;
pkgs.system-config-printer
];

# for $out/bin/install-printer-driver
services.packagekit.enable = true;

};

}
@@ -649,7 +649,7 @@ in {
"d ${cfg.statePath} 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}/config/initializers 0750 ${cfg.user} ${cfg.group} -"
"d ${cfg.statePath}/config/initializers 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} -"
@@ -152,8 +152,8 @@ in
type = types.lines;
default = "";
example = ''
gc-keep-outputs = true
gc-keep-derivations = true
keep-outputs = true
keep-derivations = true
'';
description = "Additional text appended to <filename>nix.conf</filename>.";
};
@@ -16,13 +16,29 @@ let
NotifyLevel "OKAY"
</Plugin>
${concatStrings (mapAttrsToList (plugin: pluginConfig: ''
LoadPlugin ${plugin}
<Plugin "${plugin}">
${pluginConfig}
</Plugin>
'') cfg.plugins)}
${concatMapStrings (f: ''
Include "${f}"
Include "${f}"
'') cfg.include}
${cfg.extraConfig}
'';

package =
if cfg.buildMinimalPackage
then minimalPackage
else cfg.package;

minimalPackage = cfg.package.override {
enabledPlugins = [ "syslog" ] ++ builtins.attrNames cfg.plugins;
};

in {
options.services.collectd = with types; {
enable = mkEnableOption "collectd agent";
@@ -33,7 +49,15 @@ in {
description = ''
Which collectd package to use.
'';
type = package;
type = types.package;
};

buildMinimalPackage = mkOption {
default = false;
description = ''
Build a minimal collectd package with only the configured `services.collectd.plugins`
'';
type = types.bool;
};

user = mkOption {
@@ -68,6 +92,15 @@ in {
type = listOf str;
};

plugins = mkOption {
default = {};
example = { cpu = ""; memory = ""; network = "Server 192.168.1.1 25826"; };
description = ''
Attribute set of plugin names to plugin config segments
'';
type = types.attrsOf types.str;
};

extraConfig = mkOption {
default = "";
description = ''
@@ -89,7 +122,7 @@ in {
wantedBy = [ "multi-user.target" ];

serviceConfig = {
ExecStart = "${cfg.package}/sbin/collectd -C ${conf} -f";
ExecStart = "${package}/sbin/collectd -C ${conf} -f";
User = cfg.user;
Restart = "on-failure";
RestartSec = 3;
@@ -3,16 +3,34 @@
with lib;

let
logPrefix = "services.prometheus.exporter.blackbox";
cfg = config.services.prometheus.exporters.blackbox;

checkConfig = file: pkgs.runCommand "checked-blackbox-exporter.conf" {
preferLocalBuild = true;
buildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ]; } ''
ln -s ${file} $out
blackbox_exporter --config.check --config.file $out
'';
in
{
# This ensures that we can deal with string paths, path types and
# store-path strings with context.
coerceConfigFile = file:
if (builtins.isPath file) || (lib.isStorePath file) then
file
else
(lib.warn ''
${logPrefix}: configuration file "${file}" is being copied to the nix-store.
If you would like to avoid that, please set enableConfigCheck to false.
'' /. + file);
checkConfigLocation = file:
if lib.hasPrefix "/tmp/" file then
throw
"${logPrefix}: configuration file must not reside within /tmp - it won't be visible to the systemd service."
else
true;
checkConfig = file:
pkgs.runCommand "checked-blackbox-exporter.conf" {
preferLocalBuild = true;
buildInputs = [ pkgs.buildPackages.prometheus-blackbox-exporter ];
} ''
ln -s ${coerceConfigFile file} $out
blackbox_exporter --config.check --config.file $out
'';
in {
port = 9115;
extraOpts = {
configFile = mkOption {
@@ -21,14 +39,29 @@ in
Path to configuration file.
'';
};
enableConfigCheck = mkOption {
type = types.bool;
default = true;
description = ''
Whether to run a correctness check for the configuration file. This depends
on the configuration file residing in the nix-store. Paths passed as string will
be copied to the store.
'';
};
};
serviceOpts = {

serviceOpts = let
adjustedConfigFile = if cfg.enableConfigCheck then
checkConfig cfg.configFile
else
checkConfigLocation cfg.configFile;
in {
serviceConfig = {
AmbientCapabilities = [ "CAP_NET_RAW" ]; # for ping probes
ExecStart = ''
${pkgs.prometheus-blackbox-exporter}/bin/blackbox_exporter \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
--config.file ${checkConfig cfg.configFile} \
--config.file ${adjustedConfigFile} \
${concatStringsSep " \\\n " cfg.extraFlags}
'';
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";