I was under the impression that setting `services.redis.servers.<name>.save = []` would disable RDB persistence as no schedule would mean no persistence. However since the code did not handle this case specially it actually results in no `save` setting being written and the internal Redis default is used.
This patch handles the empty case to disable RDB persistence.
Disabling RDB persistence is useful in a number of scenarios:
1. Using Redis in a pure-cache mode where persistence is not desired.
2. When using the (generally superior) AOF persistence mode this file is never read so there is little point to writing it.
3. When saving is handled manually
For more information see https://redis.io/docs/manual/persistence/
This is a breaking change as the user may have been relying on `[]` using Redis defaults. However I believe that updating the behaviour for the next release is beneficial as IMHO it is less surprising and does what the user would expect. I have added release notes to warn about this change.
* colima: use updated Makefile in build and install phases
* colima: use lima-unwrapped
* colima: fix dynamic version
* colima: 0.4.2 -> 0.4.3
* colima: delete .git folder in postfetch when `leaveDotGit = true`
Otherwise it may lead to non-deterministic behaviour.
Co-authored-by: j-k <dev@j-k.io>
* colima: do not override default buildGoModule phases
The colima Makefile does more or less the same as the `buildGoModule`
implementation. Instead of overriding it and using the Makefile
directly, we reproduce the behaviour desired behaviour by customising
env variables, e.g. `ldflags` and `subPackages`.
Co-authored-by: j-k <dev@j-k.io>
* colima: use `buildGoModule = buildGo118Module;`
Co-authored-by: j-k <dev@j-k.io>
* colima: update meta.description
Co-authored-by: j-k <dev@j-k.io>
* colima: set `CGO_ENABLED = 1` to make VPN connections work
See https://github.com/abiosoft/colima/issues/358
* colima: 0.4.3 -> 0.4.4
* colima: define all ldflags in preConfigure
Co-authored-by: Atemu <Atemu@users.noreply.github.com>
* colima: add version test
* colima: add meta.mainProgram and meta.platforms
* colima: remove unused runCommand input
Co-authored-by: j-k <dev@j-k.io>
* colima: cleanup meta
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
* colima: drop meta.platforms
because we use the default value of `platforms.darwin ++
platforms.linux`
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Co-authored-by: Atemu <Atemu@users.noreply.github.com>
* Update pkgs/applications/virtualization/colima/default.nix
Co-authored-by: j-k <dev@j-k.io>
Co-authored-by: Atemu <Atemu@users.noreply.github.com>
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
To avoid duplicating the ruby compilation code, this change exposes two
functions `mkRubyVersion` and `mkRuby`, which can be used in an overlay
to build any past or current ruby version.
An example overlay:
```nix
self: super:
{
ruby_2_7_6 = super.mkRuby {
version = super.mkRubyVersion "2" "7" "6" "";
sha256 = "042xrdk7hsv4072bayz3f8ffqh61i8zlhvck10nfshllq063n877";
};
ruby_3_1_2 = super.mkRuby {
version = super.mkRubyVersion "3" "1" "2" "";
sha256 = "0gm84ipk6mrfw94852w5h7xxk2lqrxjbnlwb88svf0lz70933131";
};
}
```
Without the change archimedes fails to build with latest toolchains as:
ld: archimedes.c:(.text+0xdac7): undefined reference to `rnd'
ld: archimedes.c:(.text+0xdeab): undefined reference to `rnd'
ld: archimedes.c:(.text+0xdf13): undefined reference to `rnd'
ld: archimedes.c:(.text+0xe3ef): undefined reference to `rnd'
ld: archimedes.o:archimedes.c:(.text+0xe456): more undefined references to `rnd' follow
ld: archimedes.o: in function `EMC':
archimedes.c:(.text+0xf11b): undefined reference to `creation'
ld: archimedes.c:(.text+0xf5f5): undefined reference to `creation'
ld: archimedes.c:(.text+0xf826): undefined reference to `creation'
ld: archimedes.c:(.text+0xf9ce): undefined reference to `creation'
The change happens to fix build against clang as well.