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: e432e78d1cbe
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b2a1e04eed74
Choose a head ref
Loading
Showing with 7,433 additions and 3,742 deletions.
  1. +9 −1 lib/systems/examples.nix
  2. +6 −0 maintainers/maintainer-list.nix
  3. +5 −0 nixos/doc/manual/release-notes/rl-2105.xml
  4. +1 −0 nixos/modules/module-list.nix
  5. +1 −2 nixos/modules/services/databases/postgresql.nix
  6. +111 −0 nixos/modules/services/games/quake3-server.nix
  7. +1 −1 nixos/modules/services/mail/dovecot.nix
  8. +3 −2 nixos/modules/services/mail/mailman.nix
  9. +1 −0 nixos/modules/services/mail/nullmailer.nix
  10. +3 −2 nixos/modules/services/misc/etebase-server.nix
  11. +9 −11 nixos/modules/services/misc/home-assistant.nix
  12. +3 −3 nixos/modules/services/misc/matrix-synapse.xml
  13. +20 −10 nixos/modules/services/security/fprintd.nix
  14. +5 −3 nixos/modules/services/web-apps/discourse.nix
  15. +9 −0 nixos/modules/services/web-servers/nginx/default.nix
  16. +1 −4 nixos/modules/system/boot/resolved.nix
  17. +43 −0 nixos/tests/docker-tools.nix
  18. +2 −0 nixos/tests/dovecot.nix
  19. +2 −2 pkgs/applications/audio/carla/default.nix
  20. +17 −3 pkgs/applications/audio/sayonara/default.nix
  21. +25 −18 pkgs/applications/audio/sidplayfp/default.nix
  22. +3 −3 pkgs/applications/blockchains/electrs.nix
  23. +3 −3 pkgs/applications/blockchains/openethereum/default.nix
  24. +10 −16 pkgs/applications/blockchains/zcash/default.nix
  25. +75 −45 pkgs/applications/editors/emacs-modes/elpa-generated.nix
  26. +6 −6 pkgs/applications/editors/emacs-modes/org-generated.nix
  27. +1,678 −1,199 pkgs/applications/editors/emacs-modes/recipes-archive-melpa.json
  28. +27 −15 pkgs/applications/editors/kakoune/plugins/generated.nix
  29. +1 −0 pkgs/applications/editors/kakoune/plugins/kakoune-plugin-names
  30. +61 −25 pkgs/applications/gis/qgis/unwrapped.nix
  31. +2 −2 pkgs/applications/graphics/digikam/default.nix
  32. +23 −6 pkgs/applications/misc/archivy/default.nix
  33. +2 −2 pkgs/applications/misc/dasel/default.nix
  34. +2 −2 pkgs/applications/misc/go-org/default.nix
  35. +59 −0 pkgs/applications/misc/haunt/default.nix
  36. +9 −3 pkgs/applications/misc/kupfer/default.nix
  37. +8 −4 pkgs/applications/misc/nnn/default.nix
  38. +2 −3 pkgs/applications/misc/stretchly/default.nix
  39. +2 −14 pkgs/applications/misc/waybar/default.nix
  40. +66 −10 pkgs/applications/misc/with-shell/default.nix
  41. +0 −24 pkgs/applications/misc/yubioath-desktop/0001-replace-git-with-normal-python-package.patch
  42. +3 −7 pkgs/applications/misc/yubioath-desktop/default.nix
  43. +12 −12 pkgs/applications/networking/browsers/chromium/upstream-info.json
  44. +10 −10 pkgs/applications/networking/browsers/qutebrowser/default.nix
  45. +3 −3 pkgs/applications/networking/cluster/nerdctl/default.nix
  46. +3 −3 pkgs/applications/networking/cluster/octant/plugins/starboard-octant-plugin.nix
  47. +8 −0 pkgs/applications/networking/cluster/terraform/default.nix
  48. +23 −0 pkgs/applications/networking/cluster/terraform/provider-path-0_15.patch
  49. +3 −3 pkgs/applications/networking/cluster/terragrunt/default.nix
  50. +7 −4 pkgs/applications/networking/cluster/velero/default.nix
  51. +7 −4 pkgs/applications/networking/instant-messengers/bluejeans/default.nix
  52. +1 −1 pkgs/applications/networking/instant-messengers/profanity/default.nix
  53. +42 −18 pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/default.nix
  54. +15 −9 pkgs/applications/networking/mailreaders/mailspring/default.nix
  55. +2 −0 pkgs/applications/networking/p2p/transmission/default.nix
  56. +18 −21 pkgs/applications/radio/rtl-sdr/default.nix
  57. +62 −38 pkgs/applications/radio/sdrangel/default.nix
  58. +1 −0 pkgs/applications/science/logic/coq/default.nix
  59. +4 −4 pkgs/applications/terminal-emulators/nimmm/default.nix
  60. +14 −5 pkgs/applications/version-management/git-and-tools/gh/default.nix
  61. +2 −2 pkgs/applications/version-management/gitea/default.nix
  62. +4 −1 pkgs/applications/version-management/gitlab/default.nix
  63. +2 −2 pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
  64. +19 −31 pkgs/applications/version-management/gitlab/gitlab-shell/remove-hardcoded-locations.patch
  65. +71 −0 pkgs/applications/video/haruna/default.nix
  66. +2 −2 pkgs/applications/virtualization/docker-slim/default.nix
  67. +12 −17 pkgs/applications/virtualization/firecracker/default.nix
  68. +2 −2 pkgs/applications/virtualization/podman/default.nix
  69. +2 −12 pkgs/applications/window-managers/hikari/default.nix
  70. +17 −14 pkgs/applications/window-managers/neocomp/default.nix
  71. +36 −0 pkgs/build-support/docker/default.nix
  72. +19 −0 pkgs/build-support/docker/examples.nix
  73. +8 −7 pkgs/data/documentation/man-pages-posix/default.nix
  74. +24 −0 pkgs/data/fonts/courier-prime/default.nix
  75. +2 −2 pkgs/data/fonts/scheherazade/default.nix
  76. +2 −0 pkgs/desktops/gnome-3/core/gnome-shell/default.nix
  77. +2 −2 pkgs/desktops/gnome-3/extensions/unite/default.nix
  78. +2 −0 pkgs/desktops/gnome-3/misc/gnome-flashback/default.nix
  79. +1 −0 pkgs/desktops/gnome-3/misc/metacity/default.nix
  80. +0 −1 pkgs/development/compilers/dmd/default.nix
  81. +7 −4 pkgs/development/compilers/dotnet/default.nix
  82. +2 −2 pkgs/development/compilers/go/1.16.nix
  83. +1 −1 pkgs/development/compilers/llvm/10/libc++abi/default.nix
  84. +1 −1 pkgs/development/compilers/llvm/11/libc++abi/default.nix
  85. +19 −8 pkgs/development/compilers/llvm/12/clang/default.nix
  86. 0 pkgs/development/compilers/llvm/12/{ → compiler-rt}/compiler-rt-X86-support-extension.patch
  87. 0 pkgs/development/compilers/llvm/12/{ → compiler-rt}/compiler-rt-armv7l.patch
  88. 0 pkgs/development/compilers/llvm/12/{ → compiler-rt}/compiler-rt-codesign.patch
  89. +17 −2 pkgs/development/compilers/llvm/12/{compiler-rt.nix → compiler-rt/default.nix}
  90. 0 pkgs/development/compilers/llvm/12/{ → compiler-rt}/sanitizers-nongnu.patch
  91. +22 −11 pkgs/development/compilers/llvm/12/default.nix
  92. +11 −6 pkgs/development/compilers/llvm/12/libc++/default.nix
  93. +12 −8 pkgs/development/compilers/llvm/12/{libc++abi.nix → libc++abi/default.nix}
  94. 0 pkgs/development/compilers/llvm/12/{ → libc++abi}/libcxxabi-wasm.patch
  95. +0 −21 pkgs/development/compilers/llvm/12/libunwind.nix
  96. +33 −0 pkgs/development/compilers/llvm/12/libunwind/default.nix
  97. +0 −39 pkgs/development/compilers/llvm/12/lld.nix
  98. +45 −0 pkgs/development/compilers/llvm/12/lld/default.nix
  99. +13 −7 pkgs/development/compilers/llvm/12/{lldb.nix → lldb/default.nix}
  100. 0 pkgs/development/compilers/llvm/12/{ → lldb}/lldb-procfs.patch
  101. +24 −11 pkgs/development/compilers/llvm/12/{llvm.nix → llvm/default.nix}
  102. 0 pkgs/development/compilers/llvm/12/{ → llvm}/llvm-outputs.patch
  103. +15 −6 pkgs/development/compilers/llvm/12/openmp.nix
  104. +1 −1 pkgs/development/compilers/llvm/5/libc++abi/default.nix
  105. +1 −1 pkgs/development/compilers/llvm/6/libc++abi/default.nix
  106. +1 −1 pkgs/development/compilers/llvm/7/libc++abi/default.nix
  107. +1 −1 pkgs/development/compilers/llvm/8/libc++abi/default.nix
  108. +1 −1 pkgs/development/compilers/llvm/9/libc++abi/default.nix
  109. +2 −2 pkgs/development/compilers/openjdk/{default.nix → 15.nix}
  110. +164 −0 pkgs/development/compilers/openjdk/16.nix
  111. +3 −3 pkgs/development/compilers/openjdk/darwin/default.nix
  112. +3 −3 pkgs/development/compilers/roslyn/deps.nix
  113. +4 −1 pkgs/development/compilers/xa/dxa.nix
  114. +22 −4 pkgs/development/compilers/xa/xa.nix
  115. +20 −6 pkgs/development/guile-modules/guile-cairo/default.nix
  116. +42 −0 pkgs/development/guile-modules/guile-commonmark/default.nix
  117. +20 −9 pkgs/development/guile-modules/guile-fibers/default.nix
  118. +39 −9 pkgs/development/guile-modules/guile-gnome/default.nix
  119. +19 −10 pkgs/development/guile-modules/guile-lib/default.nix
  120. +21 −10 pkgs/development/guile-modules/guile-ncurses/default.nix
  121. +15 −9 pkgs/development/guile-modules/guile-opengl/default.nix
  122. +28 −15 pkgs/development/guile-modules/guile-reader/default.nix
  123. +27 −11 pkgs/development/guile-modules/guile-sdl/default.nix
  124. +28 −14 pkgs/development/guile-modules/guile-sdl2/default.nix
  125. +23 −16 pkgs/development/guile-modules/guile-xcb/default.nix
  126. +10 −41 pkgs/development/haskell-modules/configuration-common.nix
  127. +24 −21 pkgs/development/haskell-modules/configuration-hackage2nix.yaml
  128. +2 −0 pkgs/development/haskell-modules/generic-builder.nix
  129. +1,538 −523 pkgs/development/haskell-modules/hackage-packages.nix
  130. +3 −3 pkgs/development/interpreters/mujs/default.nix
  131. +2 −2 pkgs/development/libraries/entt/default.nix
  132. +2 −5 pkgs/development/libraries/gnutls/default.nix
  133. +33 −0 pkgs/development/libraries/kronosnet/default.nix
  134. +48 −13 pkgs/development/libraries/libcaca/default.nix
  135. +47 −0 pkgs/development/libraries/libexsid/default.nix
  136. +7 −5 pkgs/development/libraries/libfprint-2-tod1-goodix/default.nix
  137. +1 −5 pkgs/development/libraries/libfsm/default.nix
  138. +39 −0 pkgs/development/libraries/librtlsdr/default.nix
  139. +63 −20 pkgs/development/libraries/libsidplayfp/default.nix
  140. +5 −8 pkgs/development/libraries/science/astronomy/wcslib/default.nix
  141. +1 −0 pkgs/development/node-packages/node-packages.json
  142. +762 −545 pkgs/development/node-packages/node-packages.nix
  143. +4 −2 pkgs/development/ocaml-modules/cairo2/default.nix
  144. +8 −8 pkgs/development/ocaml-modules/ezxmlm/default.nix
  145. +4 −1 pkgs/development/ocaml-modules/lablgtk3/default.nix
  146. +1 −1 pkgs/development/ocaml-modules/lablgtk3/gtkspell3.nix
  147. +1 −1 pkgs/development/ocaml-modules/lablgtk3/sourceview3.nix
  148. +4 −2 pkgs/development/ocaml-modules/safepass/default.nix
  149. +49 −0 pkgs/development/ocaml-modules/wayland/default.nix
  150. +1 −1 pkgs/development/php-packages/couchbase/default.nix
  151. +5 −6 pkgs/development/python-modules/aioimaplib/default.nix
  152. +32 −0 pkgs/development/python-modules/beautifultable/default.nix
  153. +2 −2 pkgs/development/python-modules/boto3/default.nix
  154. +2 −2 pkgs/development/python-modules/botocore/default.nix
  155. +3 −0 pkgs/development/python-modules/cfn-lint/default.nix
  156. +1 −1 pkgs/development/python-modules/django-mailman3/default.nix
  157. +39 −0 pkgs/development/python-modules/karton-config-extractor/default.nix
  158. +42 −0 pkgs/development/python-modules/karton-mwdb-reporter/default.nix
  159. +1 −1 pkgs/development/python-modules/mailman-hyperkitty/default.nix
  160. +1 −1 pkgs/development/python-modules/mailmanclient/default.nix
  161. +48 −0 pkgs/development/python-modules/malduck/default.nix
  162. +2 −1 pkgs/development/python-modules/moto/default.nix
  163. +49 −0 pkgs/development/python-modules/mwdblib/default.nix
  164. +1 −1 pkgs/development/python-modules/py/default.nix
  165. +33 −0 pkgs/development/python-modules/pycomfoconnect/default.nix
  166. +38 −0 pkgs/development/python-modules/pypinyin/default.nix
  167. +24 −9 pkgs/development/python-modules/python-utils/default.nix
  168. +2 −2 pkgs/development/python-modules/pyvmomi/default.nix
  169. +2 −2 pkgs/development/python-modules/sagemaker/default.nix
  170. +10 −9 pkgs/development/python-modules/sparse/default.nix
  171. +4 −3 pkgs/development/python-modules/sphinx_rtd_theme/default.nix
  172. +37 −0 pkgs/development/python-modules/surt/default.nix
  173. +49 −11 pkgs/development/python-modules/tensorboardx/default.nix
  174. +23 −7 pkgs/development/python-modules/tinydb/default.nix
  175. +4 −2 pkgs/development/python-modules/tqdm/default.nix
  176. +2 −1 pkgs/development/python-modules/twine/default.nix
  177. +2 −0 pkgs/development/tools/build-managers/bmake/default.nix
  178. +117 −0 pkgs/development/tools/build-managers/bmake/setup-hook.sh
  179. +3 −3 pkgs/development/tools/continuous-integration/fly/default.nix
  180. +21 −21 pkgs/development/tools/electron/default.nix
  181. +2 −0 pkgs/development/tools/purescript/spago/default.nix
  182. +3 −3 pkgs/development/tools/rust/cargo-raze/default.nix
  183. +2 −2 pkgs/development/tools/skopeo/default.nix
  184. +3 −3 pkgs/development/tools/wrangler/default.nix
  185. +2 −2 pkgs/games/devilutionx/default.nix
  186. +8 −5 pkgs/games/lunar-client/default.nix
  187. +3 −1 pkgs/games/mindustry/default.nix
  188. +2 −2 pkgs/games/osu-lazer/default.nix
  189. +14 −14 pkgs/games/osu-lazer/deps.nix
  190. +1 −14 pkgs/games/osu-lazer/update.sh
  191. +3 −3 pkgs/misc/emulators/ryujinx/default.nix
  192. +195 −205 pkgs/misc/emulators/ryujinx/deps.nix
  193. +4 −4 pkgs/misc/vscode-extensions/default.nix
  194. +2 −2 pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
  195. +1 −1 pkgs/os-specific/bsd/netbsd/default.nix
  196. +2 −2 pkgs/os-specific/linux/kernel/linux-lqx.nix
  197. +2 −2 pkgs/os-specific/linux/kernel/linux-xanmod.nix
  198. +2 −2 pkgs/os-specific/linux/kernel/linux-zen.nix
  199. +7 −7 pkgs/servers/corosync/default.nix
  200. +1 −1 pkgs/servers/gemini/agate/default.nix
  201. +2 −2 pkgs/servers/home-assistant/component-packages.nix
  202. +3 −2 pkgs/servers/home-assistant/default.nix
  203. +1 −1 pkgs/servers/mail/mailman/default.nix
  204. +1 −1 pkgs/servers/mail/mailman/hyperkitty.nix
  205. +1 −1 pkgs/servers/mail/mailman/postorius.nix
  206. +6 −6 pkgs/servers/rippled/default.nix
  207. +0 −9 pkgs/servers/sql/postgresql/default.nix
  208. +6 −5 pkgs/servers/sql/postgresql/ext/timescaledb.nix
  209. +2 −2 pkgs/servers/web-apps/discourse/default.nix
  210. +1 −1 pkgs/stdenv/freebsd/default.nix
  211. +2 −2 pkgs/tools/admin/awscli/default.nix
  212. +42 −27 pkgs/tools/audio/tts/default.nix
  213. +69 −0 pkgs/tools/graphics/agi/default.nix
  214. +36 −0 pkgs/tools/graphics/pikchr/default.nix
  215. +33 −0 pkgs/tools/graphics/timg/default.nix
  216. +3 −5 pkgs/tools/misc/bat-extras/default.nix
  217. +34 −0 pkgs/tools/misc/cpufetch/default.nix
  218. +3 −3 pkgs/tools/misc/grit/default.nix
  219. +4 −4 pkgs/tools/misc/lf/default.nix
  220. +7 −1 pkgs/tools/misc/neofetch/default.nix
  221. +8 −4 pkgs/tools/misc/tremor-rs/default.nix
  222. +0 −24 pkgs/tools/misc/zoxide/default.nix
  223. +4 −4 pkgs/tools/networking/boundary/default.nix
  224. +5 −13 pkgs/tools/networking/gmrender-resurrect/default.nix
  225. +1 −1 pkgs/tools/networking/ntp/default.nix
  226. +14 −5 pkgs/tools/networking/siege/default.nix
  227. +7 −7 pkgs/tools/networking/v2ray/default.nix
  228. +4 −4 pkgs/tools/security/cryptomator/default.nix
  229. +2 −2 pkgs/tools/security/httpx/default.nix
  230. +1 −1 pkgs/tools/security/metasploit/Gemfile
  231. +10 −10 pkgs/tools/security/metasploit/Gemfile.lock
  232. +2 −2 pkgs/tools/security/metasploit/default.nix
  233. +13 −13 pkgs/tools/security/metasploit/gemset.nix
  234. +5 −5 pkgs/tools/security/yubikey-agent/default.nix
  235. +0 −35 pkgs/tools/security/yubikey-agent/yubikey-agent.service
  236. +2 −1 pkgs/top-level/aliases.nix
  237. +74 −37 pkgs/top-level/all-packages.nix
  238. +2 −0 pkgs/top-level/ocaml-packages.nix
  239. +16 −0 pkgs/top-level/python-packages.nix
10 changes: 9 additions & 1 deletion lib/systems/examples.nix
Original file line number Diff line number Diff line change
@@ -250,9 +250,17 @@ rec {

# BSDs

amd64-netbsd = {
amd64-netbsd = lib.warn "The amd64-netbsd system example is deprecated. Use x86_64-netbsd instead." x86_64-netbsd;

x86_64-netbsd = {
config = "x86_64-unknown-netbsd";
libc = "nblibc";
};

x86_64-netbsd-llvm = {
config = "x86_64-unknown-netbsd";
libc = "nblibc";
useLLVM = true;
};

#
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -4067,6 +4067,12 @@
githubId = 12491746;
name = "Masato Yonekawa";
};
hzeller = {
email = "h.zeller@acm.org";
github = "hzeller";
githubId = 140937;
name = "Henner Zeller";
};
i077 = {
email = "nixpkgs@imranhossa.in";
github = "i077";
5 changes: 5 additions & 0 deletions nixos/doc/manual/release-notes/rl-2105.xml
Original file line number Diff line number Diff line change
@@ -955,6 +955,11 @@ environment.systemPackages = [
<link linkend="opt-boot.extraSystemdUnitPaths">boot.extraSystemdUnitPaths</link> list.
</para>
</listitem>
<listitem>
<para>
PostgreSQL 9.5 is scheduled EOL during the 21.05 life cycle and has been removed.
</para>
</listitem>
</itemizedlist>
</section>
</section>
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -366,6 +366,7 @@
./services/games/minecraft-server.nix
./services/games/minetest-server.nix
./services/games/openarena.nix
./services/games/quake3-server.nix
./services/games/teeworlds.nix
./services/games/terraria.nix
./services/hardware/acpid.nix
3 changes: 1 addition & 2 deletions nixos/modules/services/databases/postgresql.nix
Original file line number Diff line number Diff line change
@@ -295,8 +295,7 @@ in
# systems!
mkDefault (if versionAtLeast config.system.stateVersion "20.03" then pkgs.postgresql_11
else if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql_9_6
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql_9_5
else throw "postgresql_9_4 was removed, please upgrade your postgresql version.");
else throw "postgresql_9_5 was removed, please upgrade your postgresql version.");

services.postgresql.dataDir = mkDefault "/var/lib/postgresql/${cfg.package.psqlSchema}";

111 changes: 111 additions & 0 deletions nixos/modules/services/games/quake3-server.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
{ config, pkgs, lib, ... }:
with lib;

let
cfg = config.services.quake3-server;
configFile = pkgs.writeText "q3ds-extra.cfg" ''
set net_port ${builtins.toString cfg.port}
${cfg.extraConfig}
'';
defaultBaseq3 = pkgs.requireFile rec {
name = "baseq3";
hashMode = "recursive";
sha256 = "5dd8ee09eabd45e80450f31d7a8b69b846f59738726929298d8a813ce5725ed3";
message = ''
Unfortunately, we cannot download ${name} automatically.
Please purchase a legitimate copy of Quake 3 and change into the installation directory.
You can either add all relevant files to the nix-store like this:
mkdir /tmp/baseq3
cp baseq3/pak*.pk3 /tmp/baseq3
nix-store --add-fixed sha256 --recursive /tmp/baseq3
Alternatively you can set services.quake3-server.baseq3 to a path and copy the baseq3 directory into
$services.quake3-server.baseq3/.q3a/
'';
};
home = pkgs.runCommand "quake3-home" {} ''
mkdir -p $out/.q3a/baseq3
for file in ${cfg.baseq3}/*; do
ln -s $file $out/.q3a/baseq3/$(basename $file)
done
ln -s ${configFile} $out/.q3a/baseq3/nix.cfg
'';
in {
options = {
services.quake3-server = {
enable = mkEnableOption "Quake 3 dedicated server";

port = mkOption {
type = types.port;
default = 27960;
description = ''
UDP Port the server should listen on.
'';
};

openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open the firewall.
'';
};

extraConfig = mkOption {
type = types.lines;
default = "";
example = ''
seta rconPassword "superSecret" // sets RCON password for remote console
seta sv_hostname "My Quake 3 server" // name that appears in server list
'';
description = ''
Extra configuration options. Note that options changed via RCON will not be persisted. To list all possible
options, use "cvarlist 1" via RCON.
'';
};

baseq3 = mkOption {
type = types.either types.package types.path;
default = defaultBaseq3;
example = "/var/lib/q3ds";
description = ''
Path to the baseq3 files (pak*.pk3). If this is on the nix store (type = package) all .pk3 files should be saved
in the top-level directory. If this is on another filesystem (e.g /var/lib/baseq3) the .pk3 files are searched in
$baseq3/.q3a/baseq3/
'';
};
};
};

config = let
baseq3InStore = builtins.typeOf cfg.baseq3 == "set";
in mkIf cfg.enable {
networking.firewall.allowedUDPPorts = mkIf cfg.openFirewall [ cfg.port ];

systemd.services.q3ds = {
description = "Quake 3 dedicated server";
wantedBy = [ "multi-user.target" ];
after = [ "networking.target" ];

environment.HOME = if baseq3InStore then home else cfg.baseq3;

serviceConfig = with lib; {
Restart = "always";
DynamicUser = true;
WorkingDirectory = home;

# It is possible to alter configuration files via RCON. To ensure reproducibility we have to prevent this
ReadOnlyPaths = if baseq3InStore then home else cfg.baseq3;
ExecStartPre = optionalString (!baseq3InStore) "+${pkgs.coreutils}/bin/cp ${configFile} ${cfg.baseq3}/.q3a/baseq3/nix.cfg";

ExecStart = "${pkgs.ioquake3}/ioq3ded.x86_64 +exec nix.cfg";
};
};
};

meta.maintainers = with maintainers; [ f4814n ];
}
2 changes: 1 addition & 1 deletion nixos/modules/services/mail/dovecot.nix
Original file line number Diff line number Diff line change
@@ -405,7 +405,7 @@ in
};
} // optionalAttrs (cfg.createMailUser && cfg.mailUser != null) {
${cfg.mailUser} =
{ description = "Virtual Mail User"; } // optionalAttrs (cfg.mailGroup != null)
{ description = "Virtual Mail User"; isSystemUser = true; } // optionalAttrs (cfg.mailGroup != null)
{ group = cfg.mailGroup; };
};

5 changes: 3 additions & 2 deletions nixos/modules/services/mail/mailman.nix
Original file line number Diff line number Diff line change
@@ -165,7 +165,7 @@ in {

baseUrl = mkOption {
type = types.str;
default = "http://localhost/hyperkitty/";
default = "http://localhost:18507/archives/";
description = ''
Where can Mailman connect to Hyperkitty's internal API, preferably on
localhost?
@@ -391,6 +391,7 @@ in {
plugins = ["python3"];
home = pythonEnv;
module = "mailman_web.wsgi";
http = "127.0.0.1:18507";
};
uwsgiConfigFile = pkgs.writeText "uwsgi-mailman.json" (builtins.toJSON uwsgiConfig);
in {
@@ -453,7 +454,7 @@ in {
};

meta = {
maintainers = with lib.maintainers; [ lheckemann ];
maintainers = with lib.maintainers; [ lheckemann qyliss ];
doc = ./mailman.xml;
};

1 change: 1 addition & 0 deletions nixos/modules/services/mail/nullmailer.nix
Original file line number Diff line number Diff line change
@@ -204,6 +204,7 @@ with lib;
users.${cfg.user} = {
description = "Nullmailer relay-only mta user";
group = cfg.group;
isSystemUser = true;
};

groups.${cfg.group} = { };
5 changes: 3 additions & 2 deletions nixos/modules/services/misc/etebase-server.nix
Original file line number Diff line number Diff line change
@@ -192,8 +192,8 @@ in
# Auto-migrate on first run or if the package has changed
versionFile="${cfg.dataDir}/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${pkgs.etebase-server} ]]; then
${pythonEnv}/bin/etebase-server migrate
${pythonEnv}/bin/etebase-server collectstatic
${pythonEnv}/bin/etebase-server migrate --no-input
${pythonEnv}/bin/etebase-server collectstatic --no-input --clear
echo ${pkgs.etebase-server} > "$versionFile"
fi
'';
@@ -211,6 +211,7 @@ in

users = optionalAttrs (cfg.user == defaultUser) {
users.${defaultUser} = {
isSystemUser = true;
group = defaultUser;
home = cfg.dataDir;
};
20 changes: 9 additions & 11 deletions nixos/modules/services/misc/home-assistant.nix
Original file line number Diff line number Diff line change
@@ -50,15 +50,10 @@ let
# List of components used in config
extraComponents = filter useComponent availableComponents;

testedPackage = if (cfg.autoExtraComponents && cfg.config != null)
package = if (cfg.autoExtraComponents && cfg.config != null)
then (cfg.package.override { inherit extraComponents; })
else cfg.package;

# overridePythonAttrs has to be applied after override
package = testedPackage.overridePythonAttrs (oldAttrs: {
doCheck = false;
});

# If you are changing this, please update the description in applyDefaultConfig
defaultConfig = {
homeassistant.time_zone = config.time.timeZone;
@@ -188,9 +183,13 @@ in {
};

package = mkOption {
default = pkgs.home-assistant;
default = pkgs.home-assistant.overrideAttrs (oldAttrs: {
doInstallCheck = false;
});
defaultText = literalExample ''
pkgs.home-assistant
pkgs.home-assistant.overrideAttrs (oldAttrs: {
doInstallCheck = false;
})
'';
type = types.package;
example = literalExample ''
@@ -199,12 +198,11 @@ in {
}
'';
description = ''
Home Assistant package to use. Tests are automatically disabled, as they take a considerable amout of time to complete.
Home Assistant package to use. By default the tests are disabled, as they take a considerable amout of time to complete.
Override <literal>extraPackages</literal> or <literal>extraComponents</literal> in order to add additional dependencies.
If you specify <option>config</option> and do not set <option>autoExtraComponents</option>
to <literal>false</literal>, overriding <literal>extraComponents</literal> will have no effect.
Avoid <literal>home-assistant.overridePythonAttrs</literal> if you use
<literal>autoExtraComponents</literal>.
Avoid <literal>home-assistant.overridePythonAttrs</literal> if you use <literal>autoExtraComponents</literal>.
'';
};

6 changes: 3 additions & 3 deletions nixos/modules/services/misc/matrix-synapse.xml
Original file line number Diff line number Diff line change
@@ -33,11 +33,11 @@
<link xlink:href="https://github.com/matrix-org/synapse#synapse-installation">
installation instructions of Synapse </link>.
<programlisting>
{ pkgs, ... }:
{ pkgs, lib, ... }:
let
fqdn =
let
join = hostName: domain: hostName + optionalString (domain != null) ".${domain}";
join = hostName: domain: hostName + lib.optionalString (domain != null) ".${domain}";
in join config.networking.hostName config.networking.domain;
in {
networking = {
@@ -132,7 +132,7 @@ in {
}
];
};
};
}
</programlisting>
</para>

30 changes: 20 additions & 10 deletions nixos/modules/services/security/fprintd.nix
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ with lib;
let

cfg = config.services.fprintd;
fprintdPkg = if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd;

in

@@ -17,25 +18,30 @@ in

services.fprintd = {

enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to enable fprintd daemon and PAM module for fingerprint readers handling.
'';
};
enable = mkEnableOption "fprintd daemon and PAM module for fingerprint readers handling";

package = mkOption {
type = types.package;
default = pkgs.fprintd;
defaultText = "pkgs.fprintd";
default = fprintdPkg;
defaultText = "if cfg.tod.enable then pkgs.fprintd-tod else pkgs.fprintd";
description = ''
fprintd package to use.
'';
};

};
tod = {

enable = mkEnableOption "Touch OEM Drivers library support";

driver = mkOption {
type = types.package;
example = literalExample "pkgs.libfprint-2-tod1-goodix";
description = ''
Touch OEM Drivers (TOD) package to use.
'';
};
};
};
};


@@ -49,6 +55,10 @@ in

systemd.packages = [ cfg.package ];

systemd.services.fprintd.environment = mkIf cfg.tod.enable {
FP_TOD_DRIVERS_DIR = "${cfg.tod.driver}${cfg.tod.driver.driverPath}";
};

};

}
8 changes: 5 additions & 3 deletions nixos/modules/services/web-apps/discourse.nix
Original file line number Diff line number Diff line change
@@ -702,7 +702,7 @@ in
cp -r ${cfg.package}/share/discourse/config.dist/* /run/discourse/config/
cp -r ${cfg.package}/share/discourse/public.dist/* /run/discourse/public/
cp -r ${cfg.package}/share/discourse/plugins.dist/* /run/discourse/plugins/
${lib.concatMapStrings (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins}
${lib.concatMapStringsSep "\n" (p: "ln -sf ${p} /run/discourse/plugins/") cfg.plugins}
ln -sf /var/lib/discourse/uploads /run/discourse/public/uploads
ln -sf /var/lib/discourse/backups /run/discourse/public/backups
@@ -726,7 +726,8 @@ in
export ADMIN_EMAIL="${cfg.admin.email}"
export ADMIN_NAME="${cfg.admin.fullName}"
export ADMIN_USERNAME="${cfg.admin.username}"
export ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
export ADMIN_PASSWORD
discourse-rake admin:create_noninteractively
discourse-rake themes:update
@@ -938,7 +939,8 @@ in
set -o errexit -o pipefail -o nounset -o errtrace
shopt -s inherit_errexit
export api_key=$(<'${apiKeyPath}')
api_key=$(<'${apiKeyPath}')
export api_key
jq <${mail-receiver-json} \
'.DISCOURSE_API_KEY = $ENV.api_key' \
Loading