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: 9506b67f98b3
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: d3259ed67394
Choose a head ref
Loading
Showing with 2,063 additions and 1,245 deletions.
  1. +8 −0 .github/CODEOWNERS
  2. +14 −0 maintainers/maintainer-list.nix
  3. +1 −4 nixos/modules/services/amqp/rabbitmq.nix
  4. +1 −6 nixos/modules/services/audio/liquidsoap.nix
  5. +5 −5 nixos/modules/services/audio/mpd.nix
  6. +3 −5 nixos/modules/services/backup/mysql-backup.nix
  7. +5 −6 nixos/modules/services/backup/postgresql-backup.nix
  8. +4 −13 nixos/modules/services/databases/clickhouse.nix
  9. +7 −14 nixos/modules/services/databases/couchdb.nix
  10. +6 −7 nixos/modules/services/databases/influxdb.nix
  11. +2 −6 nixos/modules/services/databases/memcached.nix
  12. +6 −14 nixos/modules/services/databases/stanchion.nix
  13. +4 −2 nixos/modules/services/mail/nullmailer.nix
  14. +4 −6 nixos/modules/services/mail/rss2email.nix
  15. +4 −6 nixos/modules/services/misc/etcd.nix
  16. +4 −9 nixos/modules/services/misc/jackett.nix
  17. +1 −6 nixos/modules/services/misc/lidarr.nix
  18. +3 −4 nixos/modules/services/misc/mesos-master.nix
  19. +3 −4 nixos/modules/services/misc/mesos-slave.nix
  20. +4 −9 nixos/modules/services/misc/radarr.nix
  21. +4 −9 nixos/modules/services/misc/sonarr.nix
  22. +4 −3 nixos/modules/services/misc/zookeeper.nix
  23. +4 −7 nixos/modules/services/monitoring/collectd.nix
  24. +296 −376 nixos/modules/services/monitoring/prometheus/default.nix
  25. +7 −7 nixos/modules/services/network-filesystems/ipfs.nix
  26. +0 −1 nixos/modules/services/networking/mxisd.nix
  27. +1 −2 nixos/modules/services/networking/smokeping.nix
  28. +0 −1 nixos/modules/services/networking/syncthing.nix
  29. +4 −9 nixos/modules/services/security/munge.nix
  30. +4 −5 nixos/modules/services/security/vault.nix
  31. +4 −2 nixos/modules/services/torrent/peerflix.nix
  32. +0 −5 nixos/modules/services/web-apps/codimd.nix
  33. +2 −3 nixos/modules/services/web-apps/nexus.nix
  34. +5 −8 nixos/modules/services/web-servers/minio.nix
  35. +4 −6 nixos/modules/services/web-servers/traefik.nix
  36. +6 −0 nixos/modules/services/x11/desktop-managers/maxx.nix
  37. +1 −1 nixos/modules/system/boot/stage-1-init.sh
  38. +1 −1 nixos/modules/system/boot/stage-1.nix
  39. +18 −1 nixos/modules/virtualisation/ec2-amis.nix
  40. +5 −0 nixos/modules/virtualisation/virtualbox-image.nix
  41. +56 −14 nixos/tests/nginx.nix
  42. +17 −5 pkgs/applications/altcoins/go-ethereum.nix
  43. +2 −2 pkgs/applications/audio/audio-recorder/default.nix
  44. +1 −2 pkgs/applications/editors/android-studio/common.nix
  45. +7 −11 pkgs/applications/editors/android-studio/default.nix
  46. +4 −4 pkgs/applications/editors/atom/default.nix
  47. +2 −2 pkgs/applications/editors/manuskript/default.nix
  48. +2 −2 pkgs/applications/editors/vscode/default.nix
  49. +3 −3 pkgs/applications/graphics/apitrace/default.nix
  50. +33 −0 pkgs/applications/misc/crumbs/default.nix
  51. +1 −1 pkgs/applications/misc/gnome-recipes/default.nix
  52. +2 −2 pkgs/applications/misc/hugo/default.nix
  53. +1 −1 pkgs/applications/misc/rofi/default.nix
  54. +3 −1 pkgs/applications/misc/rxvt_unicode/wrapper.nix
  55. +3 −3 pkgs/applications/networking/instant-messengers/rambox/bare.nix
  56. +2 −2 pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
  57. +2 −2 pkgs/applications/office/gnucash/default.nix
  58. +25 −0 pkgs/applications/science/biology/exonerate/default.nix
  59. +26 −0 pkgs/applications/science/biology/prodigal/default.nix
  60. +1 −0 pkgs/applications/science/math/sage/env-locations.nix
  61. +95 −0 pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch
  62. +26 −0 pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch
  63. +0 −14 pkgs/applications/science/math/sage/patches/giac-1.5.0.patch
  64. +0 −22 pkgs/applications/science/math/sage/patches/ignore-pip-deprecation.patch
  65. +0 −71 pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch
  66. +29 −60 pkgs/applications/science/math/sage/sage-src.nix
  67. +3 −0 pkgs/applications/science/math/sage/sagedoc.nix
  68. +4 −0 pkgs/applications/science/math/sage/sagelib.nix
  69. +54 −0 pkgs/applications/science/programming/groove/default.nix
  70. +2 −2 pkgs/applications/video/mkvtoolnix/default.nix
  71. +5 −5 pkgs/applications/window-managers/i3/easyfocus.nix
  72. +2 −2 pkgs/build-support/trivial-builders.nix
  73. +2 −2 pkgs/data/themes/materia-theme/default.nix
  74. +2 −2 pkgs/data/themes/plata/default.nix
  75. +2 −2 pkgs/desktops/enlightenment/terminology.nix
  76. +2 −2 pkgs/desktops/gnome-3/apps/polari/default.nix
  77. +2 −2 pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix
  78. +2 −2 pkgs/desktops/gnome-3/core/gnome-shell/default.nix
  79. +2 −2 pkgs/desktops/gnome-3/core/gnome-software/default.nix
  80. +4 −4 pkgs/desktops/gnome-3/core/mutter/default.nix
  81. +38 −0 pkgs/desktops/gnome-3/core/rygel/add-option-for-installation-sysconfdir.patch
  82. +7 −4 pkgs/desktops/gnome-3/core/rygel/default.nix
  83. +2 −2 pkgs/desktops/mate/marco/default.nix
  84. +2 −2 pkgs/desktops/mate/mate-applets/default.nix
  85. +20 −37 pkgs/desktops/maxx/default.nix
  86. +2 −2 pkgs/desktops/pantheon/apps/elementary-music/default.nix
  87. +5 −7 pkgs/desktops/pantheon/apps/elementary-photos/default.nix
  88. +21 −0 pkgs/desktops/pantheon/apps/elementary-photos/fix-missing-line.patch
  89. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix
  90. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix
  91. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix
  92. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix
  93. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix
  94. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix
  95. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix
  96. +13 −5 pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix
  97. +63 −0 .../desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch
  98. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix
  99. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix
  100. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix
  101. +4 −4 pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
  102. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix
  103. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix
  104. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix
  105. +1 −1 pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix
  106. +2 −2 pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix
  107. +2 −2 pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix
  108. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix
  109. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix
  110. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix
  111. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix
  112. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix
  113. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix
  114. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix
  115. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix
  116. +1 −1 pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix
  117. +4 −2 pkgs/development/arduino/platformio/core.nix
  118. +3 −3 pkgs/development/compilers/binaryen/default.nix
  119. +3 −3 pkgs/development/compilers/emscripten/default.nix
  120. +5 −5 pkgs/development/compilers/emscripten/fastcomp/emscripten-fastcomp.nix
  121. +2 −2 pkgs/development/interpreters/janet/default.nix
  122. +2 −2 pkgs/development/interpreters/joker/default.nix
  123. +3 −3 pkgs/development/interpreters/ruby/default.nix
  124. +1 −1 pkgs/development/interpreters/ruby/patchsets.nix
  125. +24 −0 pkgs/development/libraries/abseil-cpp/default.nix
  126. +2 −2 pkgs/development/libraries/agda/agda-stdlib/default.nix
  127. +2 −2 pkgs/development/libraries/cimg/default.nix
  128. +2 −2 pkgs/development/libraries/dav1d/default.nix
  129. +55 −0 pkgs/development/libraries/graphene-hardened-malloc/default.nix
  130. +3 −3 pkgs/development/libraries/libltc/default.nix
  131. +2 −2 pkgs/development/libraries/libnabo/default.nix
  132. +2 −2 pkgs/development/libraries/libp11/default.nix
  133. +2 −2 pkgs/development/libraries/librealsense/default.nix
  134. +2 −2 pkgs/development/libraries/libu2f-host/default.nix
  135. +24 −8 pkgs/development/libraries/science/math/or-tools/default.nix
  136. +0 −12 pkgs/development/libraries/science/math/or-tools/gflags-include.patch
  137. +6 −3 pkgs/development/libraries/vaapi-intel/default.nix
  138. +2 −2 pkgs/development/libraries/vulkan-headers/default.nix
  139. +2 −2 pkgs/development/libraries/vulkan-loader/default.nix
  140. +5 −4 pkgs/development/python-modules/cysignals/default.nix
  141. +1 −1 pkgs/development/python-modules/docutils/default.nix
  142. +14 −5 pkgs/development/python-modules/gmpy2/default.nix
  143. +25 −2 pkgs/development/python-modules/moviepy/default.nix
  144. +2 −2 pkgs/development/python-modules/parse/default.nix
  145. +64 −0 pkgs/development/python-modules/pplpy/default.nix
  146. +19 −0 pkgs/development/python-modules/proglog/default.nix
  147. +2 −2 pkgs/development/python-modules/pycdio/default.nix
  148. +5 −0 pkgs/development/python-modules/pyramid_chameleon/default.nix
  149. +11 −0 pkgs/development/python-modules/pyramid_chameleon/test-renderers-pyramid-import.patch
  150. +2 −2 pkgs/development/tools/analysis/pmd/default.nix
  151. +70 −19 pkgs/development/tools/profiling/pyflame/default.nix
  152. +24 −0 pkgs/development/tools/rust/cargo-bloat/default.nix
  153. +4 −4 pkgs/development/tools/rust/cargo-expand/default.nix
  154. +2 −2 pkgs/games/factorio/default.nix
  155. +36 −36 pkgs/games/steam/runtime-generated.nix
  156. +23 −0 pkgs/misc/base16-shell-preview/default.nix
  157. +2 −2 pkgs/misc/emulators/vbam/default.nix
  158. +5 −5 pkgs/misc/emulators/wine/sources.nix
  159. +44 −23 pkgs/misc/screensavers/light-locker/default.nix
  160. +2 −2 pkgs/misc/themes/equilux-theme/default.nix
  161. +94 −72 pkgs/misc/vim-plugins/generated.nix
  162. +2 −0 pkgs/misc/vim-plugins/vim-plugin-names
  163. +3 −4 pkgs/os-specific/linux/pam/default.nix
  164. +33 −0 pkgs/os-specific/linux/pam/musl-fix-pam_exec.patch
  165. +29 −11 pkgs/servers/home-assistant/esphome.nix
  166. +7 −2 pkgs/servers/http/nginx/generic.nix
  167. +92 −0 pkgs/servers/http/nginx/nix-etag-1.15.4.patch
  168. +2 −2 pkgs/servers/hylafaxplus/default.nix
  169. +2 −2 pkgs/servers/mail/postsrsd/default.nix
  170. +2 −2 pkgs/servers/memcached/default.nix
  171. +2 −2 pkgs/shells/zsh/nix-zsh-completions/default.nix
  172. +3 −3 pkgs/shells/zsh/oh-my-zsh/default.nix
  173. +34 −0 pkgs/tools/graphics/wallutils/default.nix
  174. +25 −0 pkgs/tools/graphics/wallutils/lscollection-Add-NixOS-paths-to-DefaultWallpaperDirectories.patch
  175. +2 −2 pkgs/tools/misc/fwup/default.nix
  176. +2 −2 pkgs/tools/misc/lnav/default.nix
  177. +2 −2 pkgs/tools/misc/mimeo/default.nix
  178. +5 −0 pkgs/tools/networking/network-manager/applet.nix
  179. +32 −0 pkgs/tools/networking/network-manager/hardcode-gsettings.patch
  180. +3 −3 pkgs/tools/networking/xl2tpd/default.nix
  181. +4 −4 pkgs/tools/security/sops/default.nix
  182. +21 −2 pkgs/top-level/all-packages.nix
  183. +35 −2 pkgs/top-level/perl-packages.nix
  184. +9 −38 pkgs/top-level/php-packages.nix
  185. +9 −0 pkgs/top-level/python-packages.nix
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -122,6 +122,14 @@
/nixos/modules/services/databases/postgresql.nix @thoughtpolice
/nixos/tests/postgresql.nix @thoughtpolice

# Hardened profile & related modules
/nixos/modules/profiles/hardened.nix @joachifm
/nixos/modules/security/hidepid.nix @joachifm
/nixos/modules/security/lock-kernel-modules.nix @joachifm
/nixos/modules/security/misc.nix @joachifm
/nixos/tests/hardened.nix @joachifm
/pkgs/os-specific/linux/kernel/hardened-config.nix @joachifm

# Dhall
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch
14 changes: 14 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -4031,6 +4031,11 @@
github = "renatoGarcia";
name = "Renato Garcia";
};
rencire = {
email = "546296+rencire@users.noreply.github.com";
github = "rencire";
name = "Eric Ren";
};
renzo = {
email = "renzocarbonara@gmail.com";
github = "k0001";
@@ -4823,6 +4828,15 @@
github = "the-kenny";
name = "Moritz Ulrich";
};
thesola10 = {
email = "thesola10@bobile.fr";
github = "thesola10";
keys = [{
longkeyid = "rsa4096/0x89245619BEBB95BA";
fingerprint = "1D05 13A6 1AC4 0D8D C6D6 5F2C 8924 5619 BEBB 95BA";
}];
name = "Karim Vergnes";
};
theuni = {
email = "ct@flyingcircus.io";
github = "ctheune";
5 changes: 1 addition & 4 deletions nixos/modules/services/amqp/rabbitmq.nix
Original file line number Diff line number Diff line change
@@ -179,11 +179,11 @@ in {
} // optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; };

serviceConfig = {
PermissionsStartOnly = true; # preStart must be run as root
ExecStart = "${cfg.package}/sbin/rabbitmq-server";
ExecStop = "${cfg.package}/sbin/rabbitmqctl shutdown";
User = "rabbitmq";
Group = "rabbitmq";
LogsDirectory = "rabbitmq";
WorkingDirectory = cfg.dataDir;
Type = "notify";
NotifyAccess = "all";
@@ -197,11 +197,8 @@ in {
preStart = ''
${optionalString (cfg.cookie != "") ''
echo -n ${cfg.cookie} > ${cfg.dataDir}/.erlang.cookie
chown rabbitmq:rabbitmq ${cfg.dataDir}/.erlang.cookie
chmod 600 ${cfg.dataDir}/.erlang.cookie
''}
mkdir -p /var/log/rabbitmq
chown rabbitmq:rabbitmq /var/log/rabbitmq
'';
};

7 changes: 1 addition & 6 deletions nixos/modules/services/audio/liquidsoap.nix
Original file line number Diff line number Diff line change
@@ -14,15 +14,10 @@ let
description = "${name} liquidsoap stream";
wantedBy = [ "multi-user.target" ];
path = [ pkgs.wget ];
preStart =
''
mkdir -p /var/log/liquidsoap
chown liquidsoap -R /var/log/liquidsoap
'';
serviceConfig = {
PermissionsStartOnly="true";
ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}";
User = "liquidsoap";
LogsDirectory = "liquidsoap";
};
};
};
10 changes: 5 additions & 5 deletions nixos/modules/services/audio/mpd.nix
Original file line number Diff line number Diff line change
@@ -158,18 +158,18 @@ in {
};
};

systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' - ${cfg.user} ${cfg.group} - -"
"d '${cfg.playlistDirectory}' - ${cfg.user} ${cfg.group} - -"
];

systemd.services.mpd = {
after = [ "network.target" "sound.target" ];
description = "Music Player Daemon";
wantedBy = optional (!cfg.startWhenNeeded) "multi-user.target";

preStart = ''
mkdir -p "${cfg.dataDir}" && chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}"
mkdir -p "${cfg.playlistDirectory}" && chown -R ${cfg.user}:${cfg.group} "${cfg.playlistDirectory}"
'';
serviceConfig = {
User = "${cfg.user}";
PermissionsStartOnly = true;
ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon ${mpdConf}";
Type = "notify";
LimitRTPRIO = 50;
8 changes: 3 additions & 5 deletions nixos/modules/services/backup/mysql-backup.nix
Original file line number Diff line number Diff line change
@@ -117,14 +117,12 @@ in
enable = true;
serviceConfig = {
User = cfg.user;
PermissionsStartOnly = true;
};
preStart = ''
mkdir -m 0700 -p ${cfg.location}
chown -R ${cfg.user} ${cfg.location}
'';
script = backupScript;
};
tmpfiles.rules = [
"d ${cfg.location} 0700 ${cfg.user} - - -"
];
};
};

11 changes: 5 additions & 6 deletions nixos/modules/services/backup/postgresql-backup.nix
Original file line number Diff line number Diff line change
@@ -14,11 +14,6 @@ let

requires = [ "postgresql.service" ];

preStart = ''
mkdir -m 0700 -p ${cfg.location}
chown postgres ${cfg.location}
'';

script = ''
umask 0077 # ensure backup is only readable by postgres user
@@ -32,7 +27,6 @@ let

serviceConfig = {
Type = "oneshot";
PermissionsStartOnly = "true";
User = "postgres";
};

@@ -107,6 +101,11 @@ in {
message = "config.services.postgresqlBackup.backupAll cannot be used together with config.services.postgresqlBackup.databases";
}];
}
(mkIf cfg.enable {
systemd.tmpfiles.rules = [
"d '${cfg.location}' 0700 postgres - - -"
];
})
(mkIf (cfg.enable && cfg.backupAll) {
systemd.services.postgresqlBackup =
postgresqlBackupService "all" "${config.services.postgresql.package}/bin/pg_dumpall";
17 changes: 4 additions & 13 deletions nixos/modules/services/databases/clickhouse.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.clickhouse;
confDir = "/etc/clickhouse-server";
stateDir = "/var/lib/clickhouse";
in
with lib;
{
@@ -43,20 +41,13 @@ with lib;

after = [ "network.target" ];

preStart = ''
mkdir -p ${stateDir}
chown clickhouse:clickhouse ${confDir} ${stateDir}
'';

script = ''
cd "${confDir}"
exec ${pkgs.clickhouse}/bin/clickhouse-server
'';

serviceConfig = {
User = "clickhouse";
Group = "clickhouse";
PermissionsStartOnly = true;
ConfigurationDirectory = "clickhouse-server";
StateDirectory = "clickhouse";
LogsDirectory = "clickhouse";
ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml";
};
};

21 changes: 7 additions & 14 deletions nixos/modules/services/databases/couchdb.nix
Original file line number Diff line number Diff line change
@@ -158,27 +158,21 @@ in {
services.couchdb.configFile = mkDefault
(if useVersion2 then "/var/lib/couchdb/local.ini" else "/var/lib/couchdb/couchdb.ini");

systemd.tmpfiles.rules = [
"d '${dirOf cfg.uriFile}' - ${cfg.user} ${cfg.group} - -"
"d '${dirOf cfg.logFile}' - ${cfg.user} ${cfg.group} - -"
"d '${cfg.databaseDir}' - ${cfg.user} ${cfg.group} - -"
"d '${cfg.viewIndexDir}' - ${cfg.user} ${cfg.group} - -"
];

systemd.services.couchdb = {
description = "CouchDB Server";
wantedBy = [ "multi-user.target" ];

preStart =
''
mkdir -p `dirname ${cfg.uriFile}`;
mkdir -p `dirname ${cfg.logFile}`;
mkdir -p ${cfg.databaseDir};
mkdir -p ${cfg.viewIndexDir};
touch ${cfg.configFile}
touch -a ${cfg.logFile}
if [ "$(id -u)" = 0 ]; then
chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}`;
(test -f ${cfg.uriFile} && chown ${cfg.user}:${cfg.group} ${cfg.uriFile}) || true
chown ${cfg.user}:${cfg.group} ${cfg.databaseDir}
chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir}
chown ${cfg.user}:${cfg.group} ${cfg.configFile}
chown ${cfg.user}:${cfg.group} ${cfg.logFile}
fi
'';

environment = mkIf useVersion2 {
@@ -191,7 +185,6 @@ in {
};

serviceConfig = {
PermissionsStartOnly = true;
User = cfg.user;
Group = cfg.group;
ExecStart = executable;
13 changes: 6 additions & 7 deletions nixos/modules/services/databases/influxdb.nix
Original file line number Diff line number Diff line change
@@ -157,20 +157,19 @@ in

config = mkIf config.services.influxdb.enable {

systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' 0770 ${cfg.user} ${cfg.group} - -"
];

systemd.services.influxdb = {
description = "InfluxDB Server";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = ''${cfg.package}/bin/influxd -config "${configFile}"'';
User = "${cfg.user}";
Group = "${cfg.group}";
PermissionsStartOnly = true;
User = cfg.user;
Group = cfg.group;
};
preStart = ''
mkdir -m 0770 -p ${cfg.dataDir}
if [ "$(id -u)" = 0 ]; then chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}; fi
'';
postStart =
let
scheme = if configOptions.http.https-enabled then "-k https" else "http";
8 changes: 2 additions & 6 deletions nixos/modules/services/databases/memcached.nix
Original file line number Diff line number Diff line change
@@ -78,11 +78,6 @@ in
after = [ "network.target" ];

serviceConfig = {
PermissionsStartOnly = true;
ExecStartPre = optionals cfg.enableUnixSocket [
"${pkgs.coreutils}/bin/install -d -o ${cfg.user} /run/memcached/"
"${pkgs.coreutils}/bin/chown -R ${cfg.user} /run/memcached/"
];
ExecStart =
let
networking = if cfg.enableUnixSocket
@@ -91,12 +86,13 @@ in
in "${memcached}/bin/memcached ${networking} -m ${toString cfg.maxMemory} -c ${toString cfg.maxConnections} ${concatStringsSep " " cfg.extraOptions}";

User = cfg.user;
RuntimeDirectory = "memcached";
};
};
};
imports = [
(mkRemovedOptionModule ["services" "memcached" "socket"] ''
This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memached.enableUnixSocket.
This option was replaced by a fixed unix socket path at /run/memcached/memcached.sock enabled using services.memcached.enableUnixSocket.
'')
];

20 changes: 6 additions & 14 deletions nixos/modules/services/databases/stanchion.nix
Original file line number Diff line number Diff line change
@@ -98,7 +98,7 @@ in
type = types.path;
default = "/var/log/stanchion";
description = ''
Log directory for Stanchino.
Log directory for Stanchion.
'';
};

@@ -152,6 +152,11 @@ in

users.groups.stanchion.gid = config.ids.gids.stanchion;

systemd.tmpfiles.rules = [
"d '${cfg.logDir}' - stanchion stanchion --"
"d '${cfg.dataDir}' 0700 stanchion stanchion --"
];

systemd.services.stanchion = {
description = "Stanchion Server";

@@ -168,25 +173,12 @@ in
environment.STANCHION_LOG_DIR = "${cfg.logDir}";
environment.STANCHION_ETC_DIR = "/etc/stanchion";

preStart = ''
if ! test -e ${cfg.logDir}; then
mkdir -m 0755 -p ${cfg.logDir}
chown -R stanchion:stanchion ${cfg.logDir}
fi
if ! test -e ${cfg.dataDir}; then
mkdir -m 0700 -p ${cfg.dataDir}
chown -R stanchion:stanchion ${cfg.dataDir}
fi
'';

serviceConfig = {
ExecStart = "${cfg.package}/bin/stanchion console";
ExecStop = "${cfg.package}/bin/stanchion stop";
StandardInput = "tty";
User = "stanchion";
Group = "stanchion";
PermissionsStartOnly = true;
# Give Stanchion a decent amount of time to clean up.
TimeoutStopSec = 120;
LimitNOFILE = 65536;
6 changes: 4 additions & 2 deletions nixos/modules/services/mail/nullmailer.nix
Original file line number Diff line number Diff line change
@@ -212,6 +212,10 @@ with lib;
};
};

systemd.tmpfiles.rules = [
"d /var/spool/nullmailer - ${cfg.user} - - -"
];

systemd.services.nullmailer = {
description = "nullmailer";
wantedBy = [ "multi-user.target" ];
@@ -220,13 +224,11 @@ with lib;
preStart = ''
mkdir -p /var/spool/nullmailer/{queue,tmp}
rm -f /var/spool/nullmailer/trigger && mkfifo -m 660 /var/spool/nullmailer/trigger
chown ${cfg.user} /var/spool/nullmailer/*
'';

serviceConfig = {
User = cfg.user;
Group = cfg.group;
PermissionsStartOnly=true;
ExecStart = "${pkgs.nullmailer}/bin/nullmailer-send";
Restart = "always";
};
10 changes: 4 additions & 6 deletions nixos/modules/services/mail/rss2email.nix
Original file line number Diff line number Diff line change
@@ -94,6 +94,10 @@ in {

services.rss2email.config.to = cfg.to;

systemd.tmpfiles.rules = [
"d /var/rss2email 0700 rss2email rss2email - -"
];

systemd.services.rss2email = let
conf = pkgs.writeText "rss2email.cfg" (lib.generators.toINI {} ({
DEFAULT = cfg.config;
@@ -105,22 +109,16 @@ in {
in
{
preStart = ''
mkdir -p /var/rss2email
chmod 700 /var/rss2email
cp ${conf} /var/rss2email/conf.cfg
if [ ! -f /var/rss2email/db.json ]; then
echo '{"version":2,"feeds":[]}' > /var/rss2email/db.json
fi
chown -R rss2email:rss2email /var/rss2email
'';
path = [ pkgs.system-sendmail ];
serviceConfig = {
ExecStart =
"${pkgs.rss2email}/bin/r2e -c /var/rss2email/conf.cfg -d /var/rss2email/db.json run";
User = "rss2email";
PermissionsStartOnly = "true";
};
};

Loading