···100100- [opensnitch](https://github.com/evilsocket/opensnitch), an application firewall. Available as [services.opensnitch](#opt-services.opensnitch.enable).
101101102102- [snapraid](https://www.snapraid.it/), a backup program for disk arrays.
103103- Available as [snapraid](#opt-snapraid.enable).
103103+ Available as [snapraid](#opt-services.snapraid.enable).
104104105105- [Hockeypuck](https://github.com/hockeypuck/hockeypuck), a OpenPGP Key Server. Available as [services.hockeypuck](#opt-services.hockeypuck.enable).
106106
+8
nixos/doc/manual/release-notes/rl-2311.section.md
···13131313- When using [split parity files](https://www.snapraid.it/manual#7.1) in `snapraid`,
13141314 the snapraid-sync systemd service will no longer fail to run.
1315131513161316+- `wpa_supplicant`'s configuration file cannot be read by non-root users, and
13171317+ secrets (such as Pre-Shared Keys) can safely be passed via
13181318+ `networking.wireless.environmentFile`.
13191319+13201320+ The configuration file could previously be read, when `userControlled.enable` (non-default),
13211321+ by users who are in both `wheel` and `userControlled.group` (defaults to `wheel`)
13221322+13231323+13161324## Nixpkgs Library {#sec-release-23.11-nixpkgs-lib}
1317132513181326### Breaking Changes {#sec-release-23.11-lib-breaking}
···48484949 # To make a river session available if a display manager like SDDM is enabled:
5050 services.xserver.displayManager.sessionPackages = optionals (cfg.package != null) [ cfg.package ];
5151+5252+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050913
5353+ xdg.portal.config.river.default = mkDefault [ "wlr" "gtk" ];
5154 }
5255 (import ./wayland-session.nix { inherit lib pkgs; })
5356 ]);
+3
nixos/modules/services/hardware/udev.nix
···222222 description = lib.mdDoc ''
223223 Packages added to the {env}`PATH` environment variable when
224224 executing programs from Udev rules.
225225+226226+ coreutils, gnu{sed,grep}, util-linux and config.systemd.package are
227227+ automatically included.
225228 '';
226229 };
227230
+4-4
nixos/modules/services/matrix/synapse.md
···16161717## Synapse Homeserver {#module-services-matrix-synapse}
18181919-[Synapse](https://github.com/matrix-org/synapse) is
1919+[Synapse](https://github.com/element-hq/synapse) is
2020the reference homeserver implementation of Matrix from the core development
2121team at matrix.org. The following configuration example will set up a
2222synapse server for the `example.org` domain, served from
2323the host `myhostname.example.org`. For more information,
2424please refer to the
2525-[installation instructions of Synapse](https://matrix-org.github.io/synapse/latest/setup/installation.html) .
2525+[installation instructions of Synapse](https://element-hq.github.io/synapse/latest/setup/installation.html) .
2626```
2727{ pkgs, lib, config, ... }:
2828let
···7070 # the domain (i.e. example.org from @foo:example.org) and the federation port
7171 # is 8448.
7272 # Further reference can be found in the docs about delegation under
7373- # https://matrix-org.github.io/synapse/latest/delegate.html
7373+ # https://element-hq.github.io/synapse/latest/delegate.html
7474 locations."= /.well-known/matrix/server".extraConfig = mkWellKnown serverConfig;
7575 # This is usually needed for homeserver discovery (from e.g. other Matrix clients).
7676 # Further reference can be found in the upstream docs at
···169169::: {.note}
170170It's also possible to user alternative authentication mechanism such as
171171[LDAP (via `matrix-synapse-ldap3`)](https://github.com/matrix-org/matrix-synapse-ldap3)
172172-or [OpenID](https://matrix-org.github.io/synapse/latest/openid.html).
172172+or [OpenID](https://element-hq.github.io/synapse/latest/openid.html).
173173:::
174174175175## Element (formerly known as Riot) Web Client {#module-services-matrix-element-web}
+7-7
nixos/modules/services/matrix/synapse.nix
···446446 default = { };
447447 description = mdDoc ''
448448 The primary synapse configuration. See the
449449- [sample configuration](https://github.com/matrix-org/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml)
449449+ [sample configuration](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_config.yaml)
450450 for possible values.
451451452452 Secrets should be passed in by using the `extraConfigFiles` option.
···749749 by the module, but in practice it broke on runtime and as a result, no URL
750750 preview worked anywhere if this was set.
751751752752- See https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_url_blacklist
752752+ See https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html#url_preview_url_blacklist
753753 on how to configure it properly.
754754 ''))
755755 (types.attrsOf types.str));
···873873 Redis configuration for synapse.
874874875875 See the
876876- [upstream documentation](https://github.com/matrix-org/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/usage/configuration/config_documentation.md#redis)
876876+ [upstream documentation](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/usage/configuration/config_documentation.md#redis)
877877 for available options.
878878 '';
879879 };
···886886 description = lib.mdDoc ''
887887 Options for configuring workers. Worker support will be enabled if at least one worker is configured here.
888888889889- See the [worker documention](https://matrix-org.github.io/synapse/latest/workers.html#worker-configuration)
889889+ See the [worker documention](https://element-hq.github.io/synapse/latest/workers.html#worker-configuration)
890890 for possible options for each worker. Worker-specific options overriding the shared homeserver configuration can be
891891 specified here for each worker.
892892···900900 using [`services.matrix-synapse.configureRedisLocally`](#opt-services.matrix-synapse.configureRedisLocally).
901901902902 Workers also require a proper reverse proxy setup to direct incoming requests to the appropriate process. See
903903- the [reverse proxy documentation](https://matrix-org.github.io/synapse/latest/reverse_proxy.html) for a
903903+ the [reverse proxy documentation](https://element-hq.github.io/synapse/latest/reverse_proxy.html) for a
904904 general reverse proxying setup and
905905- the [worker documentation](https://matrix-org.github.io/synapse/latest/workers.html#available-worker-applications)
905905+ the [worker documentation](https://element-hq.github.io/synapse/latest/workers.html#available-worker-applications)
906906 for the available endpoints per worker application.
907907 :::
908908 '';
···932932 The file for log configuration.
933933934934 See the [python documentation](https://docs.python.org/3/library/logging.config.html#configuration-dictionary-schema)
935935- for the schema and the [upstream repository](https://github.com/matrix-org/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_log_config.yaml)
935935+ for the schema and the [upstream repository](https://github.com/element-hq/synapse/blob/v${pkgs.matrix-synapse-unwrapped.version}/docs/sample_log_config.yaml)
936936 for an example.
937937 '';
938938 };
···2233with lib;
4455-let cfg = config.snapraid;
55+let cfg = config.services.snapraid;
66in
77{
88- options.snapraid = with types; {
88+ imports = [
99+ # Should have never been on the top-level.
1010+ (mkRenamedOptionModule [ "snapraid" ] [ "services" "snapraid" ])
1111+ ];
1212+1313+ options.services.snapraid = with types; {
914 enable = mkEnableOption (lib.mdDoc "SnapRAID");
1015 dataDisks = mkOption {
1116 default = { };
+12-9
nixos/tests/ceph-single-node.nix
···182182 monA.wait_until_succeeds("ceph -s | grep 'mgr: ${cfg.monA.name}(active,'")
183183 monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
184184185185+ # This test has been commented out due to the upstream issue with pyo3
186186+ # that has broken this dashboard
187187+ # Reference: https://www.spinics.net/lists/ceph-users/msg77812.html
185188 # Enable the dashboard and recheck health
186186- monA.succeed(
187187- "ceph mgr module enable dashboard",
188188- "ceph config set mgr mgr/dashboard/ssl false",
189189- # default is 8080 but it's better to be explicit
190190- "ceph config set mgr mgr/dashboard/server_port 8080",
191191- )
192192- monA.wait_for_open_port(8080)
193193- monA.wait_until_succeeds("curl -q --fail http://localhost:8080")
194194- monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
189189+ # monA.succeed(
190190+ # "ceph mgr module enable dashboard",
191191+ # "ceph config set mgr mgr/dashboard/ssl false",
192192+ # # default is 8080 but it's better to be explicit
193193+ # "ceph config set mgr mgr/dashboard/server_port 8080",
194194+ # )
195195+ # monA.wait_for_open_port(8080)
196196+ # monA.wait_until_succeeds("curl -q --fail http://localhost:8080")
197197+ # monA.wait_until_succeeds("ceph -s | grep 'HEALTH_OK'")
195198 '';
196199in {
197200 name = "basic-single-node-ceph-cluster";
+38-3
pkgs/applications/graphics/pdfcpu/default.nix
···2233buildGoModule rec {
44 pname = "pdfcpu";
55- version = "0.5.0";
55+ version = "0.6.0";
6677 src = fetchFromGitHub {
88 owner = "pdfcpu";
99 repo = pname;
1010 rev = "v${version}";
1111- sha256 = "sha256-dEAlOKjNXL7zqlll6lqGmbopjdplDR3ewMMNu9TMsmw=";
1111+ hash = "sha256-New0+pWtKdEx/k69pNisNKYj6p998HoEjAhQEDugP/g=";
1212+ # Apparently upstream requires that the compiled executable will know the
1313+ # commit hash and the date of the commit. This information is also presented
1414+ # in the output of `pdfcpu version` which we use as a sanity check in the
1515+ # installCheckPhase. This was discussed upstream in:
1616+ #
1717+ # - https://github.com/pdfcpu/pdfcpu/issues/751
1818+ # - https://github.com/pdfcpu/pdfcpu/pull/752
1919+ #
2020+ # The trick used here is to write that information into files in `src`'s
2121+ # `$out`, and then read them into the `ldflags`. We also delete the `.git`
2222+ # directories in `src`'s $out afterwards, imitating what's done if
2323+ # `leaveDotGit = false;` See also:
2424+ # https://github.com/NixOS/nixpkgs/issues/8567
2525+ leaveDotGit = true;
2626+ postFetch = ''
2727+ cd "$out"
2828+ git rev-parse HEAD > $out/COMMIT
2929+ git log -1 --pretty=%cd --date=format:'%Y-%m-%dT%H:%M:%SZ' > $out/SOURCE_DATE
3030+ find "$out" -name .git -print0 | xargs -0 rm -rf
3131+ '';
1232 };
13331414- vendorHash = "sha256-WZsm2wiKedMP0miwnzhnSrF7Qw+jqd8dnpcehlsdMCA=";
3434+ vendorHash = "sha256-jVX/CFf9dd9qD3gyGVDjbfINtPLCsgdjWFix4BCpDZ0=";
3535+3636+ ldflags = [
3737+ "-s"
3838+ "-w"
3939+ "-X main.version=v${version}"
4040+ ];
4141+4242+ # ldflags based on metadata from git and source
4343+ preBuild = ''
4444+ ldflags+=" -X main.commit=$(cat COMMIT)"
4545+ ldflags+=" -X main.date=$(cat SOURCE_DATE)"
4646+ '';
4747+15481649 # No tests
1750 doCheck = false;
···2053 export HOME=$(mktemp -d)
2154 echo checking the version print of pdfcpu
2255 $out/bin/pdfcpu version | grep ${version}
5656+ $out/bin/pdfcpu version | grep $(cat COMMIT | cut -c1-8)
5757+ $out/bin/pdfcpu version | grep $(cat SOURCE_DATE)
2358 '';
24592560 subPackages = [ "cmd/pdfcpu" ];
···110110 "azan@faissal.bensefia.id" = "azan-islamic-prayer-times";
111111 "azan@hatem.masmoudi.org" = null;
112112113113- # That extension is broken because of https://github.com/NixOS/nixpkgs/issues/118612
114114- "flypie@schneegans.github.com" = null;
115115-116113 # ############################################################################
117114 # Overrides for extensions that were manually packaged in the past but are gradually
118115 # being replaced by automatic packaging where possible.
···3333 description = "A general purpose syntax highlighter in pure Go";
3434 license = licenses.mit;
3535 maintainers = [ maintainers.sternenseemann ];
3636+ mainProgram = "chroma";
3637 };
3738}
+2-4
pkgs/top-level/all-packages.nix
···6161 };
62626363 stdenvNoLibs =
6464- if stdenv.hostPlatform != stdenv.buildPlatform && (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isDarwin.useLLVM or false)
6464+ if stdenv.hostPlatform != stdenv.buildPlatform && (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.useLLVM or false)
6565 then
6666 # We cannot touch binutils or cc themselves, because that will cause
6767 # infinite recursion. So instead, we just choose a libc based on the
···37755377553775637756 endless-sky = callPackage ../games/endless-sky { };
37757377573775837758- extremetuxracer = callPackage ../games/extremetuxracer {
3775937759- libpng = libpng12;
3776037760- };
3775837758+ extremetuxracer = callPackage ../games/extremetuxracer { };
37761377593776237760 exult = callPackage ../games/exult { };
3776337761