Home Explore Blog Models CI



nixpkgs

9th chunk of `nixos/doc/manual/release-notes/rl-1909.section.md`
155602431d95e93f422ff11c0ae34ff4489c6edee35e36e90000000100000e71
  Previous solution to this problem was either to use `lib.flip map` idiom or extract that anonymous mapping function to a named one. Both can still be used but `lib.forEach` is preferred over `lib.flip map`.

  The `/etc/sysctl.d/nixos.conf` file containing all the options set via [boot.kernel.sysctl](options.html#opt-boot.kernel.sysctl) was moved to `/etc/sysctl.d/60-nixos.conf`, as sysctl.d5 recommends prefixing all filenames in `/etc/sysctl.d` with a two-digit number and a dash to simplify the ordering of the files.

- We now install the sysctl snippets shipped with systemd.

  - Loose reverse path filtering

  - Source route filtering

  - `fq_codel` as a packet scheduler (this helps to fight bufferbloat)

  This also configures the kernel to pass core dumps to `systemd-coredump`, and restricts the SysRq key combinations to the sync command only. These sysctl snippets can be found in `/etc/sysctl.d/50-*.conf`, and overridden via [boot.kernel.sysctl](options.html#opt-boot.kernel.sysctl) (which will place the parameters in `/etc/sysctl.d/60-nixos.conf`).

- Core dumps are now processed by `systemd-coredump` by default. `systemd-coredump` behaviour can still be modified via `systemd.coredump.extraConfig`. To stick to the old behaviour (having the kernel dump to a file called `core` in the working directory), without piping it through `systemd-coredump`, set `systemd.coredump.enable` to `false`.

- `systemd.packages` option now also supports generators and shutdown scripts. Old `systemd.generator-packages` option has been removed.

- The `rmilter` package was removed with associated module and options due deprecation by upstream developer. Use `rspamd` in proxy mode instead.

- systemd cgroup accounting via the [systemd.enableCgroupAccounting](options.html#opt-systemd.enableCgroupAccounting) option is now enabled by default. It now also enables the more recent Block IO and IP accounting features.

- We no longer enable custom font rendering settings with `fonts.fontconfig.penultimate.enable` by default. The defaults from fontconfig are sufficient.

- The `crashplan` package and the `crashplan` service have been removed from nixpkgs due to crashplan shutting down the service, while the `crashplansb` package and `crashplan-small-business` service have been removed from nixpkgs due to lack of maintainer.

  The [redis module](options.html#opt-services.redis.enable) was hardcoded to use the `redis` user, `/run/redis` as runtime directory and `/var/lib/redis` as state directory. Note that the NixOS module for Redis now disables kernel support for Transparent Huge Pages (THP), because this features causes major performance problems for Redis, e.g. (https://redis.io/topics/latency).

- Using `fonts.enableDefaultFonts` adds a default emoji font `noto-fonts-emoji`.

  - `services.xserver.enable`

  - `programs.sway.enable`

  - `programs.way-cooler.enable`

  - `services.xrdp.enable`

- The `altcoins` categorization of packages has been removed. You now access these packages at the top level, ie. `nix-shell -p dogecoin` instead of `nix-shell -p altcoins.dogecoin`, etc.

- Ceph has been upgraded to v14.2.1. See the [release notes](https://ceph.com/releases/v14-2-0-nautilus-released/) for details. The mgr dashboard as well as osds backed by loop-devices is no longer explicitly supported by the package and module. Note: There's been some issues with python-cherrypy, which is used by the dashboard and prometheus mgr modules (and possibly others), hence 0000-dont-check-cherrypy-version.patch.

- `pkgs.weechat` is now compiled against `pkgs.python3`. Weechat also recommends [to use Python3 in their docs.](https://weechat.org/scripts/python3/)

Title: NixOS Systemd, Package, and Configuration Updates
Summary
NixOS updates: `lib.forEach` preferred over `lib.flip map`. `/etc/sysctl.d/nixos.conf` moved to `/etc/sysctl.d/60-nixos.conf` for ordering. Systemd now installs default sysctl snippets, making `systemd-coredump` default for core dumps and limiting SysRq keys. `systemd.packages` supports generators/shutdown scripts, replacing `systemd.generator-packages`. `rmilter` and `crashplan` packages removed (use `rspamd` for `rmilter`). `systemd.enableCgroupAccounting` enabled by default, including Block IO/IP accounting. Default font rendering (`fonts.fontconfig.penultimate.enable`) no longer default; `fonts.enableDefaultFonts` adds `noto-fonts-emoji`. Redis module updated with fixed user/paths, disabling Transparent Huge Pages. `altcoins` package category removed, packages now directly accessible. Ceph upgraded to v14.2.1; `pkgs.weechat` compiles against `pkgs.python3`.