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: fad425cfbb12
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 4076ffe580d3
Choose a head ref

Commits on Aug 12, 2018

  1. lib/strings: guard against an easy mistake

    This would catch the bad `fwknop` flags fixed in 580cab5,
    during evaluation already.
    vcunat committed Aug 12, 2018
    Copy the full SHA
    fecb444 View commit details

Commits on Oct 21, 2020

  1. simpleitk: 2.0.0 -> 2.0.1

    bcdarwin committed Oct 21, 2020
    Copy the full SHA
    3e5c7bd View commit details

Commits on Oct 23, 2020

  1. Copy the full SHA
    863ae4a View commit details

Commits on Oct 28, 2020

  1. Copy the full SHA
    4ac0258 View commit details

Commits on Oct 30, 2020

  1. nixos/qemu-vm: Fix condition in requiredKernelConfig

    'optional' just takes a single item rather than a list
    atlaua committed Oct 30, 2020
    Copy the full SHA
    ef5268b View commit details
  2. nixos/qemu-vm: Don't require CONFIG_EXPERIMENTAL

    The kernel stopped using this config option with version 3.9 (back in
    2013!).
    atlaua committed Oct 30, 2020
    Copy the full SHA
    8ee9704 View commit details
  3. nixos/qemu-vm: Update system.requiredKernelConfig

    Verify that all kernel modules which are required for mounting
    /nix/store in the VM are present.
    atlaua committed Oct 30, 2020
    Copy the full SHA
    a7de454 View commit details

Commits on Nov 2, 2020

  1. timekeeper: init at v1.0

    bburdette committed Nov 2, 2020
    Copy the full SHA
    6622911 View commit details

Commits on Nov 4, 2020

  1. Copy the full SHA
    c21a04c View commit details

Commits on Nov 5, 2020

  1. opencv: 2.4.13 -> 2.4.13.7

    It updates the repository URL to opencv/opencv. opencv2, p2pvc and
    pfstools are built without errors but not really tested.
    
    Signed-off-by: Masanori Ogino <167209+omasanori@users.noreply.github.com>
    omasanori committed Nov 5, 2020
    Copy the full SHA
    f1d3f6b View commit details

Commits on Nov 7, 2020

  1. Copy the full SHA
    2c99a20 View commit details
  2. Copy the full SHA
    921a66e View commit details

Commits on Nov 9, 2020

  1. darwin.adv_cmds: fix build

    Also disable pgrep that depends on pkill
    veprbl committed Nov 9, 2020
    Copy the full SHA
    f0efe2d View commit details
  2. nixos/ssmtp: add assertion for useSTARTTLS dependency on useTLS

    services.ssmtp.useSTARTTLS has no effect when services.ssmtp.useTLS is disabled.
    pacien committed Nov 9, 2020
    Copy the full SHA
    f7c50a8 View commit details
  3. Copy the full SHA
    e42eadc View commit details
  4. libtorch-bin: fix CMake library paths for split outputs

    The libtorch CMake files are in the `dev` output and used relative
    paths to locate the shared libraries. This fails, because the
    libraries are in the `out` output. This change patches the CMake files
    to use library paths from `out`.
    
    See #102146.
    danieldk committed Nov 9, 2020
    Copy the full SHA
    e8721af View commit details
  5. Copy the full SHA
    2802a02 View commit details
  6. Copy the full SHA
    59239fe View commit details
  7. Copy the full SHA
    576a928 View commit details
  8. opencv: unbreak 2.4.13.7

    Signed-off-by: Masanori Ogino <167209+omasanori@users.noreply.github.com>
    omasanori committed Nov 9, 2020
    Copy the full SHA
    ce438bd View commit details
  9. moodle: 3.9.2 -> 3.10.0

    freezeboy committed Nov 9, 2020
    Copy the full SHA
    f3ba4b1 View commit details
  10. Copy the full SHA
    f665015 View commit details

Commits on Nov 10, 2020

  1. Copy the full SHA
    d199060 View commit details
  2. thunderbird: 78.4.1 -> 78.4.2

    taku0 committed Nov 10, 2020
    Copy the full SHA
    bd03a75 View commit details
  3. Copy the full SHA
    3664e49 View commit details
  4. geant4.tests.example_B1: init

    veprbl committed Nov 10, 2020
    Copy the full SHA
    eeb4ae1 View commit details
  5. Copy the full SHA
    eccd3ea View commit details
  6. Copy the full SHA
    7a647b0 View commit details
  7. Merge pull request #103190 from freezeboy/update-moodle

    moodle: 3.9.2 -> 3.10.0
    aanderse authored Nov 10, 2020
    Copy the full SHA
    3fcfdb9 View commit details
  8. Merge pull request #102739 from NixOS/staging-next

    Staging next
    FRidh authored Nov 10, 2020
    Copy the full SHA
    3e7fae8 View commit details
  9. Copy the full SHA
    beafea6 View commit details
  10. nixos/loki: add logcli to system path

    Admins quite likely want to query loki for debugging purpose.
    Mic92 committed Nov 10, 2020
    Copy the full SHA
    689eb49 View commit details
  11. Copy the full SHA
    88d1da8 View commit details
  12. nixos/loki: mergeable configuration

    type.attrs is not mergable
    Mic92 committed Nov 10, 2020
    Copy the full SHA
    4c64fa2 View commit details
  13. Copy the full SHA
    31a0b5d View commit details
  14. loki: reference nixosTests

    Mic92 committed Nov 10, 2020
    Copy the full SHA
    37a7436 View commit details
  15. Merge pull request #102265 from bburdette/timekeeper

    Timekeeper gtk app
    domenkozar authored Nov 10, 2020
    Copy the full SHA
    fdb4b55 View commit details
  16. Copy the full SHA
    8cc52aa View commit details
  17. Merge pull request #103256 from r-ryantm/auto-update/qalculate-gtk

    qalculate-gtk: 3.13.0 -> 3.14.0
    gebner authored Nov 10, 2020
    Copy the full SHA
    05d27ba View commit details
  18. Copy the full SHA
    6521951 View commit details
  19. Copy the full SHA
    7e33f0e View commit details
  20. Copy the full SHA
    4b5c6c8 View commit details
  21. Merge pull request #103120 from danieldk/libtorch-bin-cmake-fix-lib-p…

    …aths
    
    libtorch-bin: fix CMake library paths for split outputs
    danieldk authored Nov 10, 2020
    Copy the full SHA
    da115b4 View commit details
  22. cp437: init at v0.6

    Emulates an old-style "code page 437" / "IBM-PC" character set terminal
    on a modern UTF-8 terminal emulator.
    
    Signed-off-by: William Casarin <jb55@jb55.com>
    jb55 authored and andir committed Nov 10, 2020
    Copy the full SHA
    b5f8f52 View commit details
  23. Merge pull request #102746 from r-ryantm/auto-update/process-exporter

    prometheus-process-exporter: 0.5.0 -> 0.7.1
    mmahut authored Nov 10, 2020
    Copy the full SHA
    b724532 View commit details
  24. Merge pull request #103282 from r-ryantm/auto-update/python3.7-chalice

    python37Packages.chalice: 1.21.3 -> 1.21.4
    marsam authored Nov 10, 2020
    Copy the full SHA
    7369579 View commit details
  25. cp437: fix eval

    zowoq committed Nov 10, 2020
    Copy the full SHA
    de47c19 View commit details
  26. fsharp41: Add patch to avoid type inference error. (#103223)

    mono/mono#13109
    
    Co-authored-by: Moises Nessim <moises.nessim@topmanage.com>
    moinessim and Moises Nessim authored Nov 10, 2020
    Copy the full SHA
    24c8927 View commit details
  27. nixos/cfdyndns: add apikeyFile option

    nixos/cfdyndns: remove apikey option
    felschr committed Nov 10, 2020
    Copy the full SHA
    a33290b View commit details
  28. Copy the full SHA
    c3fe982 View commit details
Showing with 1,570 additions and 802 deletions.
  1. +5 −0 .editorconfig
  2. +3 −1 .github/workflows/editorconfig.yml
  3. +1 −1 doc/stdenv/meta.xml
  4. +6 −2 lib/strings.nix
  5. +6 −0 maintainers/maintainer-list.nix
  6. +5 −0 nixos/doc/manual/release-notes/rl-2103.xml
  7. +1 −0 nixos/modules/module-list.nix
  8. +7 −0 nixos/modules/programs/ssmtp.nix
  9. +5 −14 nixos/modules/services/logging/promtail.nix
  10. +17 −5 nixos/modules/services/misc/cfdyndns.nix
  11. +3 −1 nixos/modules/services/monitoring/loki.nix
  12. +111 −0 nixos/modules/services/monitoring/mackerel-agent.nix
  13. +1 −1 nixos/modules/services/x11/desktop-managers/plasma5.nix
  14. +5 −2 nixos/modules/virtualisation/qemu-vm.nix
  15. +1 −0 nixos/tests/all-tests.nix
  16. +2 −0 nixos/tests/loki.nix
  17. +16 −0 nixos/tests/sbt-extras.nix
  18. +2 −2 pkgs/applications/audio/ft2-clone/default.nix
  19. +2 −2 pkgs/applications/audio/qmmp/default.nix
  20. +2 −2 pkgs/applications/audio/qtractor/default.nix
  21. +2 −2 pkgs/applications/blockchains/ergo/default.nix
  22. +1 −1 pkgs/applications/blockchains/pivx.nix
  23. +7 −8 pkgs/applications/editors/vim/configurable.nix
  24. +7 −30 pkgs/applications/graphics/gimp/plugins/default.nix
  25. +2 −2 pkgs/applications/logging/humioctl/default.nix
  26. +2 −2 pkgs/applications/misc/cheat/default.nix
  27. +2 −2 pkgs/applications/misc/dstask/default.nix
  28. +2 −2 pkgs/applications/misc/gramps/default.nix
  29. +3 −3 pkgs/applications/misc/hugo/default.nix
  30. +2 −2 pkgs/applications/misc/pwsafe/default.nix
  31. +32 −0 pkgs/applications/misc/spicetify-cli/default.nix
  32. +3 −3 pkgs/applications/networking/browsers/amfora/default.nix
  33. +2 −2 pkgs/applications/networking/cluster/argo/default.nix
  34. +3 −3 pkgs/applications/networking/cluster/helmfile/default.nix
  35. +2 −2 pkgs/applications/networking/cluster/helmsman/default.nix
  36. +6 −7 pkgs/applications/networking/cluster/kube3d/default.nix
  37. +0 −10 pkgs/applications/networking/cluster/terraform-providers/default.nix
  38. +3 −3 pkgs/applications/networking/cluster/terraform-providers/providers.json
  39. +265 −265 pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
  40. +2 −2 pkgs/applications/networking/mailreaders/thunderbird/default.nix
  41. +2 −2 pkgs/applications/office/portfolio/default.nix
  42. +44 −0 pkgs/applications/office/timekeeper/default.nix
  43. +2 −2 pkgs/applications/science/math/qalculate-gtk/default.nix
  44. +1 −1 pkgs/applications/version-management/git-and-tools/default.nix
  45. +2 −2 pkgs/applications/version-management/git-and-tools/gitui/default.nix
  46. +3 −0 pkgs/applications/version-management/gitlab-triage/Gemfile
  47. +35 −0 pkgs/applications/version-management/gitlab-triage/Gemfile.lock
  48. +14 −0 pkgs/applications/version-management/gitlab-triage/default.nix
  49. +118 −0 pkgs/applications/version-management/gitlab-triage/gemset.nix
  50. +2 −8 pkgs/applications/window-managers/sway/default.nix
  51. +2 −2 pkgs/data/fonts/jetbrains-mono/default.nix
  52. +2 −2 pkgs/data/fonts/vista-fonts/default.nix
  53. +2 −2 pkgs/desktops/gnome-3/core/gdm/default.nix
  54. +2 −2 pkgs/desktops/gnome-3/core/mutter/3.34/default.nix
  55. +2 −2 pkgs/desktops/gnome-3/extensions/paperwm/default.nix
  56. +1 −0 pkgs/development/compilers/fsharp41/default.nix
  57. +13 −0 pkgs/development/compilers/fsharp41/fsharp-GetFileNameWithoutExtension-type-inference.patch
  58. +11 −59 pkgs/development/dhall-modules/Prelude.nix
  59. +10 −27 pkgs/development/dhall-modules/dhall-kubernetes.nix
  60. +43 −43 pkgs/development/dhall-modules/dhall-packages.nix
  61. +25 −0 pkgs/development/dhall-modules/lib.nix
  62. +1 −1 pkgs/development/interpreters/dhall/build-dhall-directory-package.nix
  63. +1 −1 pkgs/development/interpreters/dhall/build-dhall-github-package.nix
  64. +3 −3 pkgs/development/interpreters/wasmtime/default.nix
  65. +2 −2 pkgs/development/libraries/cpp-utilities/default.nix
  66. +2 −2 pkgs/development/libraries/doctest/default.nix
  67. +2 −2 pkgs/development/libraries/duckdb/default.nix
  68. +2 −2 pkgs/development/libraries/globalarrays/default.nix
  69. +33 −0 pkgs/development/libraries/libe57format/default.nix
  70. +3 −4 pkgs/development/libraries/opencv/default.nix
  71. +5 −0 pkgs/development/libraries/physics/geant4/default.nix
  72. +31 −0 pkgs/development/libraries/physics/geant4/tests.nix
  73. +8 −0 pkgs/development/libraries/science/math/libtorch/bin.nix
  74. +1 −0 pkgs/development/libraries/science/math/libtorch/test/CMakeLists.txt
  75. +2 −2 pkgs/development/libraries/simpleitk/default.nix
  76. +64 −23 pkgs/development/libraries/wxwidgets/3.1/default.nix
  77. +2 −2 pkgs/development/python-modules/awkward/default.nix
  78. +2 −2 pkgs/development/python-modules/azure-mgmt-sql/default.nix
  79. +2 −2 pkgs/development/python-modules/cairosvg/default.nix
  80. +2 −2 pkgs/development/python-modules/dbus-next/default.nix
  81. +2 −2 pkgs/development/python-modules/dropbox/default.nix
  82. +2 −2 pkgs/development/python-modules/google_cloud_automl/default.nix
  83. +2 −2 pkgs/development/python-modules/gphoto2/default.nix
  84. +2 −2 pkgs/development/python-modules/itemadapter/default.nix
  85. +2 −2 pkgs/development/python-modules/keep/default.nix
  86. +2 −2 pkgs/development/python-modules/onnx/default.nix
  87. +26 −20 pkgs/development/python-modules/pytorch/default.nix
  88. +2 −2 pkgs/development/python-modules/rope/default.nix
  89. +6 −0 pkgs/development/python-modules/tensorboardx/default.nix
  90. +13 −3 pkgs/development/python-modules/tokenizers/default.nix
  91. +5 −0 pkgs/development/python-modules/transformers/default.nix
  92. +2 −2 pkgs/development/python-modules/trytond/default.nix
  93. +2 −2 pkgs/development/python-modules/uproot-methods/default.nix
  94. +75 −0 pkgs/development/python-modules/wxPython/4.1.nix
  95. +2 −2 pkgs/development/python-modules/xstatic-bootbox/default.nix
  96. +3 −3 pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
  97. +2 −2 pkgs/development/tools/analysis/codeql/default.nix
  98. +3 −3 pkgs/development/tools/azcopy/default.nix
  99. +2 −2 pkgs/development/tools/build-managers/bear/default.nix
  100. +50 −12 pkgs/development/tools/build-managers/sbt-extras/default.nix
  101. +2 −2 pkgs/development/tools/doctl/default.nix
  102. +2 −2 pkgs/development/tools/gauge/default.nix
  103. +2 −2 pkgs/development/tools/goconst/default.nix
  104. +3 −3 pkgs/development/tools/golangci-lint/default.nix
  105. +3 −3 pkgs/development/tools/hcloud/default.nix
  106. +2 −2 pkgs/development/tools/misc/act/default.nix
  107. +3 −3 pkgs/development/tools/misc/circleci-cli/default.nix
  108. +3 −3 pkgs/development/tools/rust/cargo-make/default.nix
  109. +1 −1 pkgs/development/tools/wrangler/default.nix
  110. +2 −2 pkgs/development/web/flyctl/default.nix
  111. +2 −2 pkgs/development/web/nodejs/v15.nix
  112. +7 −12 pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
  113. +37 −11 pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch
  114. +12 −12 pkgs/os-specific/linux/kernel/hardened/patches.json
  115. +2 −2 pkgs/os-specific/linux/kernel/linux-4.14.nix
  116. +2 −2 pkgs/os-specific/linux/kernel/linux-4.19.nix
  117. +2 −2 pkgs/os-specific/linux/kernel/linux-4.4.nix
  118. +2 −2 pkgs/os-specific/linux/kernel/linux-4.9.nix
  119. +2 −2 pkgs/os-specific/linux/kernel/linux-5.4.nix
  120. +2 −2 pkgs/os-specific/linux/kernel/linux-5.9.nix
  121. +2 −2 pkgs/os-specific/linux/kernel/linux-libre.nix
  122. +4 −0 pkgs/os-specific/linux/wireguard/default.nix
  123. +12 −0 pkgs/os-specific/linux/wireguard/linux-5.4.76-fix.patch
  124. +4 −3 pkgs/os-specific/linux/zfs/default.nix
  125. +2 −2 pkgs/servers/dns/knot-dns/default.nix
  126. +3 −2 pkgs/servers/dns/knot-resolver/default.nix
  127. +2 −2 pkgs/servers/mail/postfix/default.nix
  128. +2 −2 pkgs/servers/monitoring/do-agent/default.nix
  129. +11 −1 pkgs/servers/monitoring/loki/default.nix
  130. +42 −0 pkgs/servers/monitoring/mackerel-agent/default.nix
  131. +2 −2 pkgs/servers/monitoring/prometheus/process-exporter.nix
  132. +3 −3 pkgs/servers/sql/dolt/default.nix
  133. +3 −3 pkgs/servers/web-apps/moodle/default.nix
  134. +4 −4 pkgs/shells/zsh/oh-my-zsh/default.nix
  135. +15 −5 pkgs/stdenv/generic/check-meta.nix
  136. +2 −2 pkgs/tools/admin/azure-cli/default.nix
  137. +2 −2 pkgs/tools/admin/exoscale-cli/default.nix
  138. +2 −2 pkgs/tools/filesystems/duperemove/default.nix
  139. +3 −3 pkgs/tools/graphics/gifski/default.nix
  140. +28 −0 pkgs/tools/misc/cp437/default.nix
  141. +2 −2 pkgs/tools/misc/duf/default.nix
  142. +2 −2 pkgs/tools/misc/fluent-bit/default.nix
  143. +2 −2 pkgs/tools/misc/tmuxp/default.nix
  144. +3 −3 pkgs/tools/misc/topgrade/default.nix
  145. +2 −2 pkgs/tools/networking/dnsproxy/default.nix
  146. +2 −2 pkgs/tools/networking/frp/default.nix
  147. +2 −2 pkgs/tools/nix/nixos-generators/default.nix
  148. +2 −2 pkgs/tools/security/aws-okta/default.nix
  149. +2 −2 pkgs/tools/security/doppler/default.nix
  150. +2 −2 pkgs/tools/system/ctop/default.nix
  151. +3 −3 pkgs/tools/text/amber/default.nix
  152. +22 −0 pkgs/tools/text/asciigraph/default.nix
  153. +12 −0 pkgs/top-level/all-packages.nix
  154. +5 −13 pkgs/top-level/dhall-packages.nix
  155. +8 −0 pkgs/top-level/python-packages.nix
5 changes: 5 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -76,10 +76,12 @@ trim_trailing_whitespace = unset

[pkgs/build-support/dotnetenv/Wrapper/**]
end_of_line = unset
indent_style = unset
insert_final_newline = unset
trim_trailing_whitespace = unset

[pkgs/build-support/upstream-updater/**]
indent_style = unset
trim_trailing_whitespace = unset

[pkgs/development/compilers/elm/registry.dat]
@@ -96,6 +98,9 @@ trim_trailing_whitespace = unset
[pkgs/development/node-packages/composition.nix]
insert_final_newline = unset

[pkgs/development/{perl-modules,ocaml-modules,tools/ocaml}/**]
indent_style = unset

[pkgs/servers/dict/wordnet_structures.py]
trim_trailing_whitespace = unset

4 changes: 3 additions & 1 deletion .github/workflows/editorconfig.yml
Original file line number Diff line number Diff line change
@@ -2,6 +2,8 @@ name: "Checking EditorConfig"

on:
pull_request:
branches-ignore:
- 'release-**'

jobs:
tests:
@@ -23,5 +25,5 @@ jobs:
- name: Checking EditorConfig
if: env.GIT_DIFF
run: |
./bin/editorconfig-checker -disable-indentation \
./bin/editorconfig-checker -disable-indent-size \
${{ env.GIT_DIFF }}
2 changes: 1 addition & 1 deletion doc/stdenv/meta.xml
Original file line number Diff line number Diff line change
@@ -190,7 +190,7 @@ hello-2.3 A program that produces a familiar, friendly greeting
<listitem>
<para>
A list of names and e-mail addresses of the maintainers of this Nix expression. If you would like to be a maintainer of a package, you may want to add yourself to <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link> and write something like <literal>[ stdenv.lib.maintainers.alice stdenv.lib.maintainers.bob ]</literal>.
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/maintainers/maintainer-list.nix"><filename>nixpkgs/maintainers/maintainer-list.nix</filename></link>. There is no restriction to becoming a maintainer, just add each new maintainer to that list in a separate commit titled 'maintainers: add alice', and reference maintainers with <literal>maintainers = with lib.maintainers; [ alice bob ]</literal>.
</para>
</listitem>
</varlistentry>
8 changes: 6 additions & 2 deletions lib/strings.nix
Original file line number Diff line number Diff line change
@@ -561,7 +561,9 @@ rec {
enableFeature false "shared"
=> "--disable-shared"
*/
enableFeature = enable: feat: "--${if enable then "enable" else "disable"}-${feat}";
enableFeature = enable: feat:
assert isString feat; # e.g. passing openssl instead of "openssl"
"--${if enable then "enable" else "disable"}-${feat}";

/* Create an --{enable-<feat>=<value>,disable-<feat>} string that can be passed to
standard GNU Autoconf scripts.
@@ -583,7 +585,9 @@ rec {
withFeature false "shared"
=> "--without-shared"
*/
withFeature = with_: feat: "--${if with_ then "with" else "without"}-${feat}";
withFeature = with_: feat:
assert isString feat; # e.g. passing openssl instead of "openssl"
"--${if with_ then "with" else "without"}-${feat}";

/* Create an --{with-<feat>=<value>,without-<feat>} string that can be passed to
standard GNU Autoconf scripts.
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -1272,6 +1272,12 @@
githubId = 7214361;
name = "Roman Gerasimenko";
};
bburdette = {
email = "bburdette@protonmail.com";
github = "bburdette";
githubId = 157330;
name = "Ben Burdette";
};
bzizou = {
email = "Bruno@bzizou.net";
github = "bzizou";
5 changes: 5 additions & 0 deletions nixos/doc/manual/release-notes/rl-2103.xml
Original file line number Diff line number Diff line change
@@ -158,6 +158,11 @@
<link xlink:href="http://www.mutt.org/relnotes/2.0/">release notes for Mutt 2.0</link>.
</para>
</listitem>
<listitem>
<para>
<literal>vim</literal> switched to Python 3, dropping all Python 2 support.
</para>
</listitem>
</itemizedlist>
</section>

1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -542,6 +542,7 @@
./services/monitoring/kapacitor.nix
./services/monitoring/loki.nix
./services/monitoring/longview.nix
./services/monitoring/mackerel-agent.nix
./services/monitoring/monit.nix
./services/monitoring/munin.nix
./services/monitoring/nagios.nix
7 changes: 7 additions & 0 deletions nixos/modules/programs/ssmtp.nix
Original file line number Diff line number Diff line change
@@ -142,6 +142,13 @@ in

config = mkIf cfg.enable {

assertions = [
{
assertion = cfg.useSTARTTLS -> cfg.useTLS;
message = "services.ssmtp.useSTARTTLS has no effect without services.ssmtp.useTLS";
}
];

services.ssmtp.settings = mkMerge [
({
MailHub = cfg.hostName;
19 changes: 5 additions & 14 deletions nixos/modules/services/logging/promtail.nix
Original file line number Diff line number Diff line change
@@ -6,25 +6,14 @@ let
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq 'del(._module)' > $out
'';

allowSystemdJournal = cfg.configuration ? scrape_configs && lib.any (v: v ? journal) cfg.configuration.scrape_configs;
in {
options.services.promtail = with types; {
enable = mkEnableOption "the Promtail ingresser";


configuration = mkOption {
type = with lib.types; let
valueType = nullOr (oneOf [
bool
int
float
str
(lazyAttrsOf valueType)
(listOf valueType)
]) // {
description = "JSON value";
emptyValue.value = {};
deprecationMessage = null;
};
in valueType;
type = (pkgs.formats.json {}).type;
description = ''
Specify the configuration for Promtail in Nix.
'';
@@ -80,6 +69,8 @@ in {
RestrictRealtime = true;
MemoryDenyWriteExecute = true;
PrivateUsers = true;

SupplementaryGroups = lib.optional (allowSystemdJournal) "systemd-journal";
} // (optionalAttrs (!pkgs.stdenv.isAarch64) { # FIXME: figure out why this breaks on aarch64
SystemCallFilter = "@system-service";
});
22 changes: 17 additions & 5 deletions nixos/modules/services/misc/cfdyndns.nix
Original file line number Diff line number Diff line change
@@ -6,6 +6,12 @@ let
cfg = config.services.cfdyndns;
in
{
imports = [
(mkRemovedOptionModule
[ "services" "cfdyndns" "apikey" ]
"Use services.cfdyndns.apikeyFile instead.")
];

options = {
services.cfdyndns = {
enable = mkEnableOption "Cloudflare Dynamic DNS Client";
@@ -17,10 +23,12 @@ in
'';
};

apikey = mkOption {
type = types.str;
apikeyFile = mkOption {
default = null;
type = types.nullOr types.str;
description = ''
The API Key to use to authenticate to CloudFlare.
The path to a file containing the API Key
used to authenticate with CloudFlare.
'';
};

@@ -45,13 +53,17 @@ in
Type = "simple";
User = config.ids.uids.cfdyndns;
Group = config.ids.gids.cfdyndns;
ExecStart = "/bin/sh -c '${pkgs.cfdyndns}/bin/cfdyndns'";
};
environment = {
CLOUDFLARE_EMAIL="${cfg.email}";
CLOUDFLARE_APIKEY="${cfg.apikey}";
CLOUDFLARE_RECORDS="${concatStringsSep "," cfg.records}";
};
script = ''
${optionalString (cfg.apikeyFile != null) ''
export CLOUDFLARE_APIKEY="$(cat ${escapeShellArg cfg.apikeyFile})"
''}
${pkgs.cfdyndns}/bin/cfdyndns
'';
};

users.users = {
4 changes: 3 additions & 1 deletion nixos/modules/services/monitoring/loki.nix
Original file line number Diff line number Diff line change
@@ -39,7 +39,7 @@ in {
};

configuration = mkOption {
type = types.attrs;
type = (pkgs.formats.json {}).type;
default = {};
description = ''
Specify the configuration for Loki in Nix.
@@ -78,6 +78,8 @@ in {
'';
}];

environment.systemPackages = [ pkgs.grafana-loki ]; # logcli

users.groups.${cfg.group} = { };
users.users.${cfg.user} = {
description = "Loki Service User";
111 changes: 111 additions & 0 deletions nixos/modules/services/monitoring/mackerel-agent.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{ config, lib, pkgs, ... }:

with lib;

let
cfg = config.services.mackerel-agent;
settingsFmt = pkgs.formats.toml {};
in {
options.services.mackerel-agent = {
enable = mkEnableOption "mackerel.io agent";

# the upstream package runs as root, but doesn't seem to be strictly
# necessary for basic functionality
runAsRoot = mkEnableOption "Whether to run as root.";

autoRetirement = mkEnableOption ''
Whether to automatically retire the host upon OS shutdown.
'';

apiKeyFile = mkOption {
type = types.path;
default = "";
example = "/run/keys/mackerel-api-key";
description = ''
Path to file containing the Mackerel API key. The file should contain a
single line of the following form:
<literallayout>apikey = "EXAMPLE_API_KEY"</literallayout>
'';
};

settings = mkOption {
description = ''
Options for mackerel-agent.conf.
Documentation:
<link xlink:href="https://mackerel.io/docs/entry/spec/agent"/>
'';

default = {};
example = {
verbose = false;
silent = false;
};

type = types.submodule {
freeformType = settingsFmt.type;

options.host_status = {
on_start = mkOption {
type = types.enum [ "working" "standby" "maintenance" "poweroff" ];
description = "Host status after agent startup.";
default = "working";
};
on_stop = mkOption {
type = types.enum [ "working" "standby" "maintenance" "poweroff" ];
description = "Host status after agent shutdown.";
default = "poweroff";
};
};

options.diagnostic =
mkEnableOption "Collect memory usage for the agent itself";
};
};
};

config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ mackerel-agent ];

environment.etc = {
"mackerel-agent/mackerel-agent.conf".source =
settingsFmt.generate "mackerel-agent.conf" cfg.settings;
"mackerel-agent/conf.d/api-key.conf".source = cfg.apiKeyFile;
};

services.mackerel-agent.settings = {
root = mkDefault "/var/lib/mackerel-agent";
pidfile = mkDefault "/run/mackerel-agent/mackerel-agent.pid";

# conf.d stores the symlink to cfg.apiKeyFile
include = mkDefault "/etc/mackerel-agent/conf.d/*.conf";
};

# upstream service file in https://git.io/JUt4Q
systemd.services.mackerel-agent = {
description = "mackerel.io agent";
after = [ "network-online.target" "nss-lookup.target" ];
wantedBy = [ "multi-user.target" ];
environment = {
MACKEREL_PLUGIN_WORKDIR = mkDefault "%C/mackerel-agent";
};
serviceConfig = {
DynamicUser = !cfg.runAsRoot;
PrivateTmp = mkDefault true;
CacheDirectory = "mackerel-agent";
ConfigurationDirectory = "mackerel-agent";
RuntimeDirectory = "mackerel-agent";
StateDirectory = "mackerel-agent";
ExecStart = "${pkgs.mackerel-agent}/bin/mackerel-agent supervise";
ExecStopPost = mkIf cfg.autoRetirement "${pkg.mackerel-agent}/bin/mackerel-agent retire -force";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
LimitNOFILE = mkDefault 65536;
LimitNPROC = mkDefault 65536;
};
restartTriggers = [
config.environment.etc."mackerel-agent/mackerel-agent.conf".source
];
};
};
}
2 changes: 1 addition & 1 deletion nixos/modules/services/x11/desktop-managers/plasma5.nix
Original file line number Diff line number Diff line change
@@ -367,7 +367,7 @@ in
security.pam.services.sddm.enableKwallet = true;

xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ];
xdg.portal.extraPortals = [ plasma5.xdg-desktop-portal-kde ];

# Update the start menu for each user that is currently logged in
system.userActivationScripts.plasmaSetup = activationScript;
7 changes: 5 additions & 2 deletions nixos/modules/virtualisation/qemu-vm.nix
Original file line number Diff line number Diff line change
@@ -744,16 +744,19 @@ in
(isEnabled "VIRTIO_PCI")
(isEnabled "VIRTIO_NET")
(isEnabled "EXT4_FS")
(isEnabled "NET_9P_VIRTIO")
(isEnabled "9P_FS")
(isYes "BLK_DEV")
(isYes "PCI")
(isYes "EXPERIMENTAL")
(isYes "NETDEVICES")
(isYes "NET_CORE")
(isYes "INET")
(isYes "NETWORK_FILESYSTEMS")
] ++ optional (!cfg.graphics) [
] ++ optionals (!cfg.graphics) [
(isYes "SERIAL_8250_CONSOLE")
(isYes "SERIAL_8250")
] ++ optionals (cfg.writableStore) [
(isEnabled "OVERLAY_FS")
];

};
1 change: 1 addition & 0 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
@@ -315,6 +315,7 @@ in
samba = handleTest ./samba.nix {};
sanoid = handleTest ./sanoid.nix {};
sbt = handleTest ./sbt.nix {};
sbt-extras = handleTest ./sbt-extras.nix {};
scala = handleTest ./scala.nix {};
sddm = handleTest ./sddm.nix {};
service-runner = handleTest ./service-runner.nix {};
2 changes: 2 additions & 0 deletions nixos/tests/loki.nix
Original file line number Diff line number Diff line change
@@ -45,6 +45,8 @@ import ./make-test-python.nix ({ lib, pkgs, ... }:
machine.wait_for_open_port(3100)
machine.wait_for_open_port(9080)
machine.succeed("echo 'Loki Ingestion Test' > /var/log/testlog")
# should not have access to journal unless specified
machine.fail("systemctl show --property=SupplementaryGroups promtail | grep -q systemd-journal")
machine.wait_until_succeeds(
"${pkgs.grafana-loki}/bin/logcli --addr='http://localhost:3100' query --no-labels '{job=\"varlogs\",filename=\"/var/log/testlog\"}' | grep -q 'Loki Ingestion Test'"
)
16 changes: 16 additions & 0 deletions nixos/tests/sbt-extras.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import ./make-test-python.nix ({ pkgs, ...} : {
name = "sbt-extras";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ];
};

machine = { pkgs, ... }:
{
environment.systemPackages = [ pkgs.sbt-extras ];
};

testScript =
''
machine.succeed("(sbt -h)")
'';
})
Loading