···235 </listitem>
236 <listitem>
237 <para>
0000000238 (Neo)Vim can not be configured with
239 <literal>configure.pathogen</literal> anymore to reduce
240 maintainance burden. Use <literal>configure.packages</literal>
···235 </listitem>
236 <listitem>
237 <para>
238+ riak package removed along with
239+ <literal>services.riak</literal> module, due to lack of
240+ maintainer to update the package.
241+ </para>
242+ </listitem>
243+ <listitem>
244+ <para>
245 (Neo)Vim can not be configured with
246 <literal>configure.pathogen</literal> anymore to reduce
247 maintainance burden. Use <literal>configure.packages</literal>
+2
nixos/doc/manual/release-notes/rl-2211.section.md
···93- PHP 7.4 is no longer supported due to upstream not supporting this
94 version for the entire lifecycle of the 22.11 release.
950096- (Neo)Vim can not be configured with `configure.pathogen` anymore to reduce maintainance burden.
97Use `configure.packages` instead.
98
···93- PHP 7.4 is no longer supported due to upstream not supporting this
94 version for the entire lifecycle of the 22.11 release.
9596+- riak package removed along with `services.riak` module, due to lack of maintainer to update the package.
97+98- (Neo)Vim can not be configured with `configure.pathogen` anymore to reduce maintainance burden.
99Use `configure.packages` instead.
100
···97 (mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.")
98 (mkRemovedOptionModule [ "services" "virtuoso" ] "The corresponding package was removed from nixpkgs.")
99 (mkRemovedOptionModule [ "services" "openfire" ] "The corresponding package was removed from nixpkgs.")
0100101 # Do NOT add any option renames here, see top of the file
102 ];
···97 (mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.")
98 (mkRemovedOptionModule [ "services" "virtuoso" ] "The corresponding package was removed from nixpkgs.")
99 (mkRemovedOptionModule [ "services" "openfire" ] "The corresponding package was removed from nixpkgs.")
100+ (mkRemovedOptionModule [ "services" "riak" ] "The corresponding package was removed from nixpkgs.")
101102 # Do NOT add any option renames here, see top of the file
103 ];
-162
nixos/modules/services/databases/riak.nix
···1-{ config, lib, pkgs, ... }:
2-3-with lib;
4-5-let
6-7- cfg = config.services.riak;
8-9-in
10-11-{
12-13- ###### interface
14-15- options = {
16-17- services.riak = {
18-19- enable = mkEnableOption "riak";
20-21- package = mkOption {
22- type = types.package;
23- default = pkgs.riak;
24- defaultText = literalExpression "pkgs.riak";
25- description = ''
26- Riak package to use.
27- '';
28- };
29-30- nodeName = mkOption {
31- type = types.str;
32- default = "riak@127.0.0.1";
33- description = ''
34- Name of the Erlang node.
35- '';
36- };
37-38- distributedCookie = mkOption {
39- type = types.str;
40- default = "riak";
41- description = ''
42- Cookie for distributed node communication. All nodes in the
43- same cluster should use the same cookie or they will not be able to
44- communicate.
45- '';
46- };
47-48- dataDir = mkOption {
49- type = types.path;
50- default = "/var/db/riak";
51- description = ''
52- Data directory for Riak.
53- '';
54- };
55-56- logDir = mkOption {
57- type = types.path;
58- default = "/var/log/riak";
59- description = ''
60- Log directory for Riak.
61- '';
62- };
63-64- extraConfig = mkOption {
65- type = types.lines;
66- default = "";
67- description = ''
68- Additional text to be appended to <filename>riak.conf</filename>.
69- '';
70- };
71-72- extraAdvancedConfig = mkOption {
73- type = types.lines;
74- default = "";
75- description = ''
76- Additional text to be appended to <filename>advanced.config</filename>.
77- '';
78- };
79-80- };
81-82- };
83-84- ###### implementation
85-86- config = mkIf cfg.enable {
87-88- environment.systemPackages = [ cfg.package ];
89- environment.etc."riak/riak.conf".text = ''
90- nodename = ${cfg.nodeName}
91- distributed_cookie = ${cfg.distributedCookie}
92-93- platform_log_dir = ${cfg.logDir}
94- platform_etc_dir = /etc/riak
95- platform_data_dir = ${cfg.dataDir}
96-97- ${cfg.extraConfig}
98- '';
99-100- environment.etc."riak/advanced.config".text = ''
101- ${cfg.extraAdvancedConfig}
102- '';
103-104- users.users.riak = {
105- name = "riak";
106- uid = config.ids.uids.riak;
107- group = "riak";
108- description = "Riak server user";
109- };
110-111- users.groups.riak.gid = config.ids.gids.riak;
112-113- systemd.services.riak = {
114- description = "Riak Server";
115-116- wantedBy = [ "multi-user.target" ];
117- after = [ "network.target" ];
118-119- path = [
120- pkgs.util-linux # for `logger`
121- pkgs.bash
122- ];
123-124- environment.HOME = "${cfg.dataDir}";
125- environment.RIAK_DATA_DIR = "${cfg.dataDir}";
126- environment.RIAK_LOG_DIR = "${cfg.logDir}";
127- environment.RIAK_ETC_DIR = "/etc/riak";
128-129- preStart = ''
130- if ! test -e ${cfg.logDir}; then
131- mkdir -m 0755 -p ${cfg.logDir}
132- chown -R riak ${cfg.logDir}
133- fi
134-135- if ! test -e ${cfg.dataDir}; then
136- mkdir -m 0700 -p ${cfg.dataDir}
137- chown -R riak ${cfg.dataDir}
138- fi
139- '';
140-141- serviceConfig = {
142- ExecStart = "${cfg.package}/bin/riak console";
143- ExecStop = "${cfg.package}/bin/riak stop";
144- StandardInput = "tty";
145- User = "riak";
146- Group = "riak";
147- PermissionsStartOnly = true;
148- # Give Riak a decent amount of time to clean up.
149- TimeoutStopSec = 120;
150- LimitNOFILE = 65536;
151- };
152-153- unitConfig.RequiresMountsFor = [
154- "${cfg.dataDir}"
155- "${cfg.logDir}"
156- "/etc/riak"
157- ];
158- };
159-160- };
161-162-}
···153 systemd.services.matrix-appservice-irc = {
154 description = "Matrix-IRC bridge";
155 before = [ "matrix-synapse.service" ]; # So the registration can be used by Synapse
000156 wantedBy = [ "multi-user.target" ];
157158 preStart = ''
···153 systemd.services.matrix-appservice-irc = {
154 description = "Matrix-IRC bridge";
155 before = [ "matrix-synapse.service" ]; # So the registration can be used by Synapse
156+ after = lib.optionals (cfg.settings.database.engine == "postgres") [
157+ "postgresql.service"
158+ ];
159 wantedBy = [ "multi-user.target" ];
160161 preStart = ''
···5960 nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert ];
6162- # Since version 12.6.0, the rake tasks need the location of git,
63- # so we have to apply the location patches here too.
64- patches = [ ./remove-hardcoded-locations.patch ];
0000000065 # One of the patches uses this variable - if it's unset, execution
66 # of rake tasks fails.
67 GITLAB_LOG_PATH = "log";
···5960 nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert ];
6162+ patches = [
63+ # Since version 12.6.0, the rake tasks need the location of git,
64+ # so we have to apply the location patches here too.
65+ ./remove-hardcoded-locations.patch
66+67+ # Gitlab edited the default database config since [1] and the
68+ # installer complains about valid keywords only being "main" and "ci".
69+ #
70+ # [1]: https://gitlab.com/gitlab-org/gitlab/-/commit/99c0fac52b10cd9df62bbe785db799352a2d9028
71+ ./Remove-geo-from-database.yml.patch
72+ ];
73 # One of the patches uses this variable - if it's unset, execution
74 # of rake tasks fails.
75 GITLAB_LOG_PATH = "log";
···1-{ lib, stdenv, fetchFromGitHub, writeScript, makeWrapper, ncurses, libX11 }:
23let
4 setup = writeScript "setup" ''
···4647 runHook postInstall
48 '';
00000004950 meta = {
51 description = "A roguelike game set in the First Age of Middle-earth";
···1+{ pkgs, lib, stdenv, fetchFromGitHub, writeScript, makeWrapper, ncurses, libX11 }:
23let
4 setup = writeScript "setup" ''
···4647 runHook postInstall
48 '';
49+50+ passthru.tests = {
51+ saveDirCreation = pkgs.runCommand "save-dir-creation" {} ''
52+ HOME=$(pwd) ${lib.getExe pkgs.sil-q} --help
53+ test -d .sil && touch $out
54+ '';
55+ };
5657 meta = {
58 description = "A roguelike game set in the First Age of Middle-earth";
+24-10
pkgs/games/sil/default.nix
···1-{ lib, stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu, makeWrapper, writeScript, ... }:
002let
3 setup = writeScript "setup" ''
4 mkdir -p "$ANGBAND_PATH"
···15 src = fetchzip {
16 url = "http://www.amirrorclear.net/flowers/game/sil/Sil-130-src.zip";
17 sha256 = "1amp2mr3fxascra0k76sdsvikjh8g76nqh46kka9379zd35lfq8w";
18- stripRoot=false;
19 };
2021 nativeBuildInputs = [ makeWrapper ];
···2526 makefile = "Makefile.std";
2728- prePatch = ''
29 # Allow usage of ANGBAND_PATH
30 substituteInPlace config.h --replace "#define FIXED_PATHS" ""
31 '';
···41 NIX_CFLAGS_COMPILE = "-fcommon";
4243 installPhase = ''
44- # the makefile doesn't have a sensible install target, so we hav to do it ourselves
0045 mkdir -p $out/bin
46 cp sil $out/bin/sil
47- # Wrap the program to set a user-local ANGBAND_PATH, and run the setup script to copy files into place
048 # We could just use the options for a user-local save and scores dir, but it tried to write to the
49 # lib directory anyway, so we might as well give everyone a copy
50 wrapProgram $out/bin/sil \
51- --run "set -u" \
52 --run "export ANGBAND_PATH=\$HOME/.sil" \
53 --run "${setup} ${src}/Sil/lib"
0054 '';
55000000056 meta = {
57- description = "A rouge-like game set in the first age of Middle-earth";
58 longDescription = ''
59- A game of adventure set in the first age of Middle-earth, when the world still
60- rang with elven song and gleamed with dwarven mail.
6162 Walk the dark halls of Angband. Slay creatures black and fell. Wrest a shining
63 Silmaril from Morgoth’s iron crown.
64 '';
65 homepage = "http://www.amirrorclear.net/flowers/game/sil/index.html";
66 license = lib.licenses.gpl2;
67- maintainers = [ lib.maintainers.michaelpj ];
68 platforms = lib.platforms.linux;
069 };
70}
···1+{ pkgs, lib, stdenv, fetchzip, ncurses, libX11, libXaw, libXt, libXext, libXmu
2+, makeWrapper, writeScript }:
3+4let
5 setup = writeScript "setup" ''
6 mkdir -p "$ANGBAND_PATH"
···17 src = fetchzip {
18 url = "http://www.amirrorclear.net/flowers/game/sil/Sil-130-src.zip";
19 sha256 = "1amp2mr3fxascra0k76sdsvikjh8g76nqh46kka9379zd35lfq8w";
20+ stripRoot = false;
21 };
2223 nativeBuildInputs = [ makeWrapper ];
···2728 makefile = "Makefile.std";
2930+ postPatch = ''
31 # Allow usage of ANGBAND_PATH
32 substituteInPlace config.h --replace "#define FIXED_PATHS" ""
33 '';
···43 NIX_CFLAGS_COMPILE = "-fcommon";
4445 installPhase = ''
46+ runHook preInstall
47+48+ # the makefile doesn't have a sensible install target, so we have to do it ourselves
49 mkdir -p $out/bin
50 cp sil $out/bin/sil
51+52+ # Wrap the program to set a user-local ANGBAND_PATH, and run the setup script to copy files into place.
53 # We could just use the options for a user-local save and scores dir, but it tried to write to the
54 # lib directory anyway, so we might as well give everyone a copy
55 wrapProgram $out/bin/sil \
056 --run "export ANGBAND_PATH=\$HOME/.sil" \
57 --run "${setup} ${src}/Sil/lib"
58+59+ runHook postInstall
60 '';
6162+ passthru.tests = {
63+ saveDirCreation = pkgs.runCommand "save-dir-creation" {} ''
64+ HOME=$(pwd) ${lib.getExe pkgs.sil} --help
65+ test -d .sil && touch $out
66+ '';
67+ };
68+69 meta = {
70+ description = "A rogue-like game set in the First Age of Middle-earth";
71 longDescription = ''
72+ A game of adventure set in the First Age of Middle-earth, when the world still
73+ rang with Elven song and gleamed with Dwarven mail.
7475 Walk the dark halls of Angband. Slay creatures black and fell. Wrest a shining
76 Silmaril from Morgoth’s iron crown.
77 '';
78 homepage = "http://www.amirrorclear.net/flowers/game/sil/index.html";
79 license = lib.licenses.gpl2;
80+ maintainers = with lib.maintainers; [ michaelpj kenran ];
81 platforms = lib.platforms.linux;
82+ mainProgram = "sil";
83 };
84}
···1218 retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
1219 retroshare06 = retroshare;
1220 rfkill = throw "rfkill has been removed, as it's included in util-linux"; # Added 2020-08-23
01221 riak-cs = throw "riak-cs is not maintained anymore"; # Added 2020-10-14
1222 rimshot = throw "rimshot has been removed, because it is broken and no longer maintained upstream"; # Added 2022-01-15
1223 ring-daemon = jami-daemon; # Added 2021-10-26
···1218 retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
1219 retroshare06 = retroshare;
1220 rfkill = throw "rfkill has been removed, as it's included in util-linux"; # Added 2020-08-23
1221+ riak = throw "riak has been removed due to lack of maintainer to update the package"; # Added 2022-06-22
1222 riak-cs = throw "riak-cs is not maintained anymore"; # Added 2020-10-14
1223 rimshot = throw "rimshot has been removed, because it is broken and no longer maintained upstream"; # Added 2022-01-15
1224 ring-daemon = jami-daemon; # Added 2021-10-26