···1919 To avoid updating this field when dependencies change, run `go mod vendor` in your source repo and set `vendorHash = null;`
20202121 To obtain the actual hash, set `vendorHash = lib.fakeSha256;` and run the build ([more details here](#sec-source-hashes)).
2222-- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build or if any dependency has case-insensitive conflicts which will produce platform dependant `vendorHash` checksums.
2222+- `proxyVendor`: Fetches (go mod download) and proxies the vendor directory. This is useful if your code depends on c code and go mod tidy does not include the needed sources to build or if any dependency has case-insensitive conflicts which will produce platform-dependent `vendorHash` checksums.
2323- `modPostBuild`: Shell commands to run after the build of the go-modules executes `go mod vendor`, and before calculating fixed output derivation's `vendorHash` (or `vendorSha256`). Note that if you change this attribute, you need to update `vendorHash` (or `vendorSha256`) attribute.
24242525```nix
···10101111<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
12121313+- [river](https://github.com/riverwm/river), A dynamic tiling wayland compositor. Available as [programs.river](#opt-programs.river.enable).
1414+1315## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
14161517- The latest version of `clonehero` now stores custom content in `~/.clonehero`. See the [migration instructions](https://clonehero.net/2022/11/29/v23-to-v1-migration-instructions.html). Typically, these content files would exist along side the binary, but the previous build used a wrapper script that would store them in `~/.config/unity3d/srylain Inc_/Clone Hero`.
16181919+- `etcd` has been updated to 3.5, you will want to read the [3.3 to 3.4](https://etcd.io/docs/v3.5/upgrades/upgrade_3_4/) and [3.4 to 3.5](https://etcd.io/docs/v3.5/upgrades/upgrade_3_5/) upgrade guides
2020+1721## Other Notable Changes {#sec-release-23.11-notable-changes}
18221923- A new option was added to the virtualisation module that enables specifying explicitly named network interfaces in QEMU VMs. The existing `virtualisation.vlans` is still supported for cases where the name of the network interface is irrelevant.
2424+2525+- `services.nginx` gained a `defaultListen` option at server-level with support for PROXY protocol listeners, also `proxyProtocol` is now exposed in `services.nginx.virtualHosts.<name>.listen` option. It is now possible to run PROXY listeners and non-PROXY listeners at a server-level, see [#213510](https://github.com/NixOS/nixpkgs/pull/213510/) for more details.
···11+{
22+ config,
33+ pkgs,
44+ lib,
55+ ...
66+}:
77+with lib; let
88+ cfg = config.programs.river;
99+in {
1010+ options.programs.river = {
1111+ enable = mkEnableOption (lib.mdDoc "river, a dynamic tiling Wayland compositor");
1212+1313+ package = mkOption {
1414+ type = with types; nullOr package;
1515+ default = pkgs.river;
1616+ defaultText = literalExpression "pkgs.river";
1717+ description = lib.mdDoc ''
1818+ River package to use.
1919+ Set to `null` to not add any River package to your path.
2020+ This should be done if you want to use the Home Manager River module to install River.
2121+ '';
2222+ };
2323+2424+ extraPackages = mkOption {
2525+ type = with types; listOf package;
2626+ default = with pkgs; [
2727+ swaylock
2828+ foot
2929+ dmenu
3030+ ];
3131+ defaultText = literalExpression ''
3232+ with pkgs; [ swaylock foot dmenu ];
3333+ '';
3434+ example = literalExpression ''
3535+ with pkgs; [
3636+ termite rofi light
3737+ ]
3838+ '';
3939+ description = lib.mdDoc ''
4040+ Extra packages to be installed system wide. See
4141+ [Common X11 apps used on i3 with Wayland alternatives](https://github.com/swaywm/sway/wiki/i3-Migration-Guide#common-x11-apps-used-on-i3-with-wayland-alternatives)
4242+ for a list of useful software.
4343+ '';
4444+ };
4545+ };
4646+4747+ config =
4848+ mkIf cfg.enable (mkMerge [
4949+ {
5050+ environment.systemPackages = optional (cfg.package != null) cfg.package ++ cfg.extraPackages;
5151+5252+ # To make a river session available if a display manager like SDDM is enabled:
5353+ programs.xwayland.enable = mkDefault true;
5454+ }
5555+ (import ./wayland-session.nix { inherit lib pkgs; })
5656+ ]);
5757+5858+ meta.maintainers = with lib.maintainers; [ GaetanLepage ];
5959+}
···1919 node.wait_for_unit("etcd.service")
20202121 with subtest("should write and read some values to etcd"):
2222- node.succeed("etcdctl set /foo/bar 'Hello world'")
2222+ node.succeed("etcdctl put /foo/bar 'Hello world'")
2323 node.succeed("etcdctl get /foo/bar | grep 'Hello world'")
2424 '';
2525})
···7474 "-Dinstalled_tests=false" # TODO: enable these
7575 "-Dwayland_eglstream=true"
7676 "-Dprofiler=true"
7777- "-Dxwayland_path=${xwayland}/bin/Xwayland"
7777+ "-Dxwayland_path=${lib.getExe xwayland}"
7878 # This should be auto detected, but it looks like it manages a false
7979 # positive.
8080 "-Dxwayland_initfd=disabled"
+1-1
pkgs/desktops/gnome/core/mutter/default.nix
···8181 "-Dtests=false"
8282 "-Dwayland_eglstream=true"
8383 "-Dprofiler=true"
8484- "-Dxwayland_path=${xwayland}/bin/Xwayland"
8484+ "-Dxwayland_path=${lib.getExe xwayland}"
8585 # This should be auto detected, but it looks like it manages a false
8686 # positive.
8787 "-Dxwayland_initfd=disabled"
···160160 license = licenses.asl20;
161161 maintainers = with maintainers; [ arianvp justinas sigma tomberek freezeboy ];
162162 platforms = platforms.unix;
163163+ # go-libfido2 is broken on platforms with less than 64-bit because it defines an array
164164+ # which occupies more than 31 bits of address space.
165165+ broken = stdenv.hostPlatform.parsed.cpu.bits < 64;
163166 };
164167}
+1
pkgs/servers/x11/xorg/xwayland.nix
···108108 description = "An X server for interfacing X11 apps with the Wayland protocol";
109109 homepage = "https://wayland.freedesktop.org/xserver.html";
110110 license = licenses.mit;
111111+ mainProgram = "Xwayland";
111112 maintainers = with maintainers; [ emantor ];
112113 platforms = platforms.linux;
113114 };
···16901690 ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now"; # Added 2020-01-11
16911691 ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22
16921692 unicorn-emu = unicorn; # Added 2020-10-29
16931693+ uniffi-bindgen = throw "uniffi-bindgen has been removed since upstream no longer provides a standalone package for the CLI";
16931694 unifi-poller = unpoller; # Added 2022-11-24
16941695 unifiStable = unifi6; # Added 2020-12-28
16951696 unity3d = throw "'unity3d' is unmaintained, has seen no updates in years and depends on deprecated GTK2"; # Added 2022-06-16