jiebi/CodeConvo huggingface dataset:
Change:
Package name: picom-next-unstable Latest released version: 2023-01-29 <!-- Search your package here: --- Current version on the unstable channel: 2022-12-23 Current version on the stable/release channel: 2022-09-29 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.

Discussion:
<del> { pcre, pcre2, picom, lib, fetchFromGitHub }: </del> <ins> { pcre, pcre2, libXinerama, picom, lib, fetchFromGitHub }: </ins> picom.overrideAttrs (oldAttrs: rec { pname = "picom-next"; <del> version = "unstable-2022-12-23"; buildInputs = [ pcre2 ] ++ lib.remove pcre oldAttrs.buildInputs; </del> <ins> version = "unstable-2023-01-29"; buildInputs = [ pcre2 ] ++ lib.remove libXinerama (lib.remove pcre oldAttrs.buildInputs); </ins> src = fetchFromGitHub { owner = "yshui"; repo = "picom"; <del> rev = "60ac2b64db78363fe04189cc734daea3d721d87e"; sha256 = "09s8kgczks01xbvg3qxqi2rz3lkzgdfyvhrj30mg6n11b6xfgi0d"; </del> <ins> rev = "cee12875625465292bc11bf09dc8ab117cae75f4"; sha256 = "sha256-lVwBwOvzn4ro1jInRuNvn1vQuwUHUp4MYrDaFRmW9pc="; </ins> }; meta.maintainers = with lib.maintainers; oldAttrs.meta.maintainers ++ [ GKasparov ]; })
Change:
Steps to reproduce the behavior: to build or I'm using this package here, not sure if this can cause problems, especially when it was working fine for past few months. (not maintainer but I've noticed that you have updated both python-telegram-bot and httpx recently :)) Please run and paste the result. Metadata is outdated because it happens while I'm doing a NixOS rebuild from latest nixos-unstable.

Discussion:
cryptography httpx pytz <del> ] ++ httpx.optional-dependencies.socks; </del> <ins> ] ++ httpx.optional-dependencies.socks ++ httpx.optional-dependencies.http2; </ins> nativeCheckInputs = [ beautifulsoup4
Change:
Steps to reproduce the behavior: shotwell from latest nixos-unstable I simply install shotwell with . Noticed that often updates this derivation, last time it was changed by but I don't think his change would cause this. Otherwise - meta.maintainers is empty. Please run and paste the result.

Discussion:
<del> { lib, stdenv </del> <ins> { lib , stdenv </ins> , fetchurl <ins> , fetchpatch2 </ins> , meson , ninja , gtk3

, gobject-introspection , itstool , libsecret <ins> , libportal-gtk3 </ins> , gsettings-desktop-schemas , python3 }:

stdenv.mkDerivation rec { pname = "shotwell"; <del> version = "0.31.5"; </del> <ins> version = "0.31.7"; </ins> src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; <del> sha256 = "sha256-OwSPxs6ZsjLR4OqbjbB0CDyGyI07bWMTaiz4IXqkXBk="; </del> <ins> sha256 = "sha256-gPCj2HVS+L3vpeNig77XZ9AFdtqMyWpEo9NKQjXEmeA="; </ins> }; <ins> patches = [ # Fix build with vala 0.56.4, can be removed on next update # https://gitlab.gnome.org/GNOME/shotwell/-/merge_requests/69 (fetchpatch2 { url = "https://gitlab.gnome.org/GNOME/shotwell/-/commit/cd82759231e5ece2fa0dea40397c9051d15fd5c2.patch"; hash = "sha256-Vy2kvUlmPdEEuPB1RTcI5pGYNveeiQ+lId0YVlWo4wU="; }) ]; </ins> nativeBuildInputs = [ meson ninja

gcr gnome.adwaita-icon-theme libsecret <ins> libportal-gtk3 </ins> ]; postPatch = ''
Change:
This is especially important for Home Assistant, which and fails to build without it. Package name: Latest released version: <!-- Search your package here: --- Current version on the unstable channel: Current version on the stable/release channel: <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. -- Note for maintainers: Please tag this issue in your PR.
Can you tell me what nixpkgs version you are using? On master home-assistant builds just fine, with bcrypt at 4.0.0, because we do in fact relax its constraints a bit. Added variables. nix-replhome- «derivation /nix/store/044cr7v736265qjiq2b3vc7r7hxbaqfd-python3.10-bcrypt-»
I'm on . More build logs:
Upon further inspection, the file does appear to be patched correctly, but there are still in and . Maybe those have something to do with it?
My bad, I just realised I was overriding without including the original
That explains it.

Discussion:
buildPythonPackage rec { pname = "bcrypt"; <del> version = "4.0.0"; </del> <ins> version = "4.0.1"; </ins> format = "pyproject"; disabled = pythonOlder "3.6"; src = fetchPypi { inherit pname version; <del> hash = "sha256-xZwXD8kiX6rQTd4bph2FtBOUbozi5fX1/zDf1nKD8xk="; </del> <ins> hash = "sha256-J9N1kDrIJhz+QEf2cJ0W99GNObHskqr3KvmJVSplDr0="; </ins> }; cargoRoot = "src/_bcrypt";

inherit src; sourceRoot = "${pname}-${version}/${cargoRoot}"; name = "${pname}-${version}"; <del> hash = "sha256-HvfRLyUhlXVuvxWrtSDKx3rMKJbjvuiMcDY6g+pYFS0="; </del> <ins> hash = "sha256-lDWX69YENZFMu7pyBmavUZaalGvFqbHSHfkwkzmDQaY="; </ins> }; nativeBuildInputs = [
Change:
Steps to reproduce the behavior: The derivation failed to build on macOS at test stage Encounter this problem when build , as is the dependency. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result.

Discussion:
github = "ethindp"; githubId = 8030501; }; <ins> ethinx = { email = "eth2net@gmail.com"; github = "ethinx"; githubId = 965612; name = "York Wong"; }; </ins> Etjean = { email = "et.jean@outlook.fr"; github = "Etjean";

disabledTests = [ # Fail with: 'no server running on /tmp/tmux-1000/libtmux_test8sorutj1'. "test_new_session_width_height" <ins> ] ++ lib.optionals stdenv.isDarwin [ # tests/test_pane.py:113: AssertionError "test_capture_pane_start" </ins> ]; disabledTestPaths = lib.optionals stdenv.isDarwin [ <del> "test_test.py" </del> <ins> "tests/test_test.py" "tests/legacy_api/test_test.py" </ins> ]; pythonImportsCheck = [ "libtmux" ];
Change:
The package had been silently marked as broken. From what I can see, the developers now only provide a deb file for the latest version, see The deb link is I guess we should update the link instead of marking the package broken.

Discussion:
{ pdfstudioviewer = callPackage ./common.nix rec { inherit desktopName pname program year; <del> version = "${year}.1.0"; </del> <ins> version = "${year}.2.2"; </ins> longDescription = '' PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio. ''; src = fetchurl { <del> url = "https://web.archive.org/web/20220909093140/https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb"; sha256 = "sha256-za+a5vGkINLFvFoZdnB++4VGE9rfdfZf5HFNw/Af1AA="; </del> <ins> url = "https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb"; sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc="; </ins> }; jdk = jdk11; }; pdfstudio2021 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; <del> version = "${year}.2.0"; </del> <ins> version = "${year}.2.1"; </ins> src = fetchurl { url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb"; <del> sha256 = "sha256-wQgVWz2kS+XkrqvCAUishizfDrCwGyVDAAU4Yzj4uYU="; </del> <ins> sha256 = "sha256-yELpza2C3HJJIP+ZQP7x3Tfez0Nl6ctCbHCmTmpX3jo="; </ins> }; extraBuildInputs = [ (lib.getLib stdenv.cc.cc)  # for libstdc++.so.6 and libgomp.so.1

pdfstudio2022 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; <del> version = "${year}.1.3"; </del> <ins> version = "${year}.2.2"; </ins> src = fetchurl { url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb"; <del> sha256 = "sha256-B3RrftuKsPWUWP9hwnq4i311hgZgwZLqG1pJLdilfQI="; </del> <ins> sha256 = "sha256-CP2cCmvedQJ/xjZWQ4wj6UZRqCsU5qK3Ta83TUVJyts="; </ins> }; extraBuildInputs = [ (lib.getLib stdenv.cc.cc)  # for libstdc++.so.6 and libgomp.so.1
Change:
The package had been silently marked as broken. From what I can see, the developers now only provide a deb file for the latest version, see The deb link is I guess we should update the link instead of marking the package broken.

Discussion:
, version , desktopName , longDescription <del> , broken ? false </del> , buildFHSEnv , extraBuildInputs ? [ ] , jdk

]; license = licenses.unfree; platforms = platforms.linux; <del> inherit broken; </del> mainProgram = pname; maintainers = [ maintainers.pwoelfel ]; };

{ pdfstudioviewer = callPackage ./common.nix rec { inherit desktopName pname program year; <del> version = "${year}.2.2"; </del> <ins> version = "${year}.2.4"; </ins> longDescription = '' PDF Studio Viewer is an easy to use, full-featured PDF editing software. This is the free edition. For the standard/pro edition, see the package pdfstudio. ''; src = fetchurl { url = "https://download.qoppa.com/pdfstudioviewer/PDFStudioViewer_linux64.deb"; <del> sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc="; </del> <ins> sha256 = "sha256-QXNsH1T+ItV3s9r8CnwgRUo1mhVbe8LkEun9gUmlVQg="; </ins> }; <del> jdk = jdk11; broken = true; # Bad hash, probably unstable </del> <ins> jdk = jdk17; </ins> }; pdfstudio2021 = callPackage ./common.nix rec {

pdfstudio2022 = callPackage ./common.nix rec { inherit desktopName longDescription pname program year; <del> version = "${year}.2.2"; </del> <ins> version = "${year}.2.4"; </ins> src = fetchurl { url = "https://download.qoppa.com/pdfstudio/v${year}/PDFStudio_v${dot2dash version}_linux64.deb"; <del> sha256 = "sha256-CP2cCmvedQJ/xjZWQ4wj6UZRqCsU5qK3Ta83TUVJyts="; </del> <ins> sha256 = "sha256-bti+WI8JdOmUsHq8ijfxGC4ZsWXwbwwM26kuBgPDUMQ="; </ins> }; extraBuildInputs = [ (lib.getLib stdenv.cc.cc)  # for libstdc++.so.6 and libgomp.so.1 ]; jdk = jdk17; <del> broken = true; # URL 404s, probably unstable </del> }; }.${pname}
Change:
Steps to reproduce the behavior: Qtile This log comes from a system update (nixos-rebuild switch --upgrade). I have been using Qtile for a long time, even before I recently changed to NixOS from Gentoo, and I am quite sure that Qtile currently needs <wlroots-0.16.0, i.e. wlroots-0.15.x. A few days ago, in commit , pywlroots is updated from 0.15.x to 0.16, pinning wlroots to 0.16, and therefore breaks the dependency of Qtile. I notify both maintainers of Qtile and pywlroots, because this may require a change to both packages, providing a pywlroots015 and using that for qtile. Please run and paste the result.
Yeah, I didn't update the package on purpose when the latest version was released. The build failure can be fixed by bumping the wlroots derivation used by qtile to 0.16 as well but that breaks the Wayland backend at runtime. It's a bit unfortunate that i wasn't notified of the package being updated, since qtile is the only reverse dependency, so the update wasn't necessary at all.
Alternatively, if qtile is the only package depending on pywlroots, why not downgrade pywlroots to 0.15 and pin it to wlroots015? Later on when the new qtile is released that supports 0.16, upgrade them in tandem?
PR to revert in
cc (since you did the pywlroots bump) The pywlroots bump from and the last staging-next broke qtile (the only reverse dep of pywlroots) since qtile currently requires pywlroots 0.15 until a new release supports 0.16
So pywlroots is behind on wlroots support and qtile is behind on pywlroots support. Name a better trio, I'll wait. :clap: On a more serious note: Feel free to do the revert, I have no strong opinion on the matter. If this becomes a regular fallout on may become an option.
pywlroots is not behind on wlroots. It's only qtile which is behind on pywlroots (but qtile hasn't had a release since pywlroots 0.16).
Ah ok, so requires 0.16, but defaults to 0.15, hence the requirement for the pin. Got it.

Discussion:
, pixman , pythonOlder , udev <del> , wlroots_0_16 </del> <ins> , wlroots </ins> , wayland , pywayland , xkbcommon , xorg , pytestCheckHook <ins> , qtile </ins> }: buildPythonPackage rec { pname = "pywlroots"; <del> version = "0.16.1"; </del> <ins> version = "0.15.24"; </ins> format = "setuptools"; disabled = pythonOlder "3.7"; src = fetchPypi { inherit pname version; <del> hash = "sha256-GFJw88N0313PudM0o/jOvtoE3u8kSoV+lYgKlNya4wM="; </del> <ins> hash = "sha256-TvYhxiAbK+mpcEE9y79WH96dzeDnvI0xPaUxSYQqyHE="; </ins> }; nativeBuildInputs = [ pkg-config ]; propagatedNativeBuildInputs = [ cffi ]; <del> buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots_0_16 ]; </del> <ins> buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ]; </ins> propagatedBuildInputs = [ cffi pywayland xkbcommon ]; nativeCheckInputs = [ pytestCheckHook ];

pythonImportsCheck = [ "wlroots" ]; <ins> passthru.tests = { inherit qtile; }; </ins> meta = with lib; { homepage = "https://github.com/flacjacket/pywlroots"; description = "Python bindings to wlroots using cffi";
Change:
the error has changed to any ideas? perhaps a issue here
Investigating...
Well this will get you back to where you were before: See if you can nudge it a bit further; if not I can work on this again tomorrow or Monday.

Discussion:
'' # this ensures that when clang passes -lgcc_s to lld (as it does # when building e.g. firefox), lld is able to find libgcc_s.so <del> + lib.optionalString (gccForLibs?libgcc) '' echo "-L${gccForLibs.libgcc}/lib" >> $out/nix-support/cc-ldflags '') </del> <ins> + concatMapStrings (libgcc: '' echo "-L${libgcc}/lib" >> $out/nix-support/cc-ldflags '') (lib.toList (gccForLibs.libgcc or []))) </ins> ## ## General libc support

# includes <del> ln -s ${glibc_multi.dev}/include $out/ </del> <ins> mkdir -p $out/include ln -s ${glibc_multi.dev}/include/* $out/include ln -s ${gcc64.cc}/include/c++ $out/include/c++ </ins> # dynamic linkers mkdir -p $out/lib/32

libc = gcc_multi_sysroot; }; <del> gccForLibs = gcc_multi_sysroot; </del> <ins> gccForLibs = gcc_multi_sysroot // { inherit (glibc_multi) libgcc; langCC = assert (gcc64.cc.langCC != gcc32.cc.langCC) -> throw "(gcc64.cc.langCC=${gcc64.cc.langCC}) != (gcc32.cc.langCC=${gcc32.cc.langCC})"; gcc64.cc.langCC; }; </ins> }; in clangMulti

<del> { runCommand, glibc, glibc32 </del> <ins> { lib , runCommand, glibc, glibc32 </ins> }: let

in runCommand "${nameVersion.name}-multi-${nameVersion.version}" # out as the first output is an exception exclusive to glibc <del> { outputs = [ "out" "bin" "dev" ]; } # TODO: no static version here (yet) </del> <ins> { outputs = [ "out" "bin" "dev" ];  # TODO: no static version here (yet) passthru = { libgcc = lib.lists.filter (x: x!=null) [ (glibc64.libgcc or null) (glibc32.libgcc or null) ]; }; } </ins> '' mkdir -p "$out/lib" ln -s '${glibc64.out}'/lib/* "$out/lib"
Change:
Package name: aws-workspaces Latest released version: 4.5.0 <!-- Search your package here: --- Current version on the unstable channel: 4.1.0.1523 Current version on the stable/release channel: 4.1.0.1523 <!-- Type the name of your package and try to find an open pull request for the package If you find an open pull request, you can review it! There's a high chance that you'll have the new version right away while helping the community! --- Notify maintainers <!-- If the result shows no maintainers, tag the person that last updated the package. --Note for maintainers: Please tag this issue in your PR.

Discussion:
{ stdenv, lib , makeWrapper, dpkg, fetchurl, autoPatchelfHook <del> , curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16 </del> <ins> , curl, libkrb5, lttng-ust, libpulseaudio, gtk3, openssl_1_1, icu70, webkitgtk, librsvg, gdk-pixbuf, libsoup, glib-networking, graphicsmagick_q16, libva, libusb, hiredis </ins> }: stdenv.mkDerivation rec { pname = "aws-workspaces"; <del> version = "4.1.0.1523"; </del> <ins> version = "4.5.0.2006"; </ins> src = fetchurl { <del> # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/Packages </del> <ins> # ref https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/focal/main/binary-amd64/Packages </ins> urls = [ <del> "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb" "https://web.archive.org/web/20220709124028/https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/bionic/main/binary-amd64/workspacesclient_${version}_amd64.deb" </del> <ins> "https://d3nt0h4h6pmmc4.cloudfront.net/ubuntu/dists/focal/main/binary-amd64/workspacesclient_${version}_amd64.deb" "https://archive.org/download/workspacesclient_${version}_amd64/workspacesclient_${version}_amd64.deb" </ins> ]; <del> sha256 = "sha256-nOrIOPZ0yOBGOQgNQxnm1cVR9NJ+BTEC12UB7Ux1yuk="; </del> <ins> sha256 = "sha256-1ysj020fYOmIRvZR27+7ZNqdzqkA2QbrCwDU18ouxaI="; </ins> }; nativeBuildInputs = [

libsoup glib-networking graphicsmagick_q16 <ins> hiredis libusb libva </ins> ]; unpackPhase = ''

preFixup = '' patchelf --replace-needed liblttng-ust.so.0 liblttng-ust.so $out/lib/libcoreclrtraceptprovider.so patchelf --replace-needed libGraphicsMagick++-Q16.so.12 libGraphicsMagick++.so.12 $out/usr/lib/x86_64-linux-gnu/pcoip-client/vchan_plugins/libvchan-plugin-clipboard.so <ins> patchelf --replace-needed libhiredis.so.0.14 libhiredis.so $out/lib/libpcoip_core.so </ins> ''; installPhase = ''

sourceProvenance = with sourceTypes; [ binaryNativeCode ]; license = licenses.unfree; platforms = [ "x86_64-linux" ]; # TODO Mac support <del> maintainers = [ maintainers.mausch ]; </del> <ins> maintainers = with maintainers; [ mausch dylanmtaylor ]; </ins> }; }
Change:
Hello, I recently submitted a pull request to update Tailscale in the NixOS repository (). After updating my laptop, I noticed that Tailscale has indeed been updated. However, upon checking the Tailscale dashboard, I discovered an issue with the displayed version number. Here's a screenshot that demonstrates the problem: ! It's possible that something has changed on Tailscale's end, which may require us to modify our build script accordingly. Unfortunately, I am not well-versed in Go yet and could use some assistance in resolving this issue. Any help or guidance would be greatly appreciated. Ping maintainers:

Discussion:
subPackages = [ "cmd/tailscale" "cmd/tailscaled" ]; <del> ldflags = [ "-X tailscale.com/version.Long=${version}" "-X tailscale.com/version.Short=${version}" ]; </del> <ins> ldflags = [ "-w" "-s" "-X tailscale.com/version.longStamp=${version}" "-X tailscale.com/version.shortStamp=${version}" ]; </ins> doCheck = false;
Change:
Using the latest flexget, when run it has issues with sqlalchemy. Steps to reproduce the behavior: flexget to the list of installed system packages flexget (or just flexget check) It throws a lot of errors like: And hence it things the config file is garbage and won't process. Passing the config and no errors throwing Please run and paste the result.

Discussion:
{ lib <del> , python3Packages </del> <ins> , python3 </ins> , fetchFromGitHub }: <del> python3Packages.buildPythonApplication rec { </del> <ins> let python = python3.override { packageOverrides = self: super: { sqlalchemy = super.sqlalchemy.overridePythonAttrs (old: rec { version = "1.4.47"; src = self.fetchPypi { pname = "SQLAlchemy"; inherit version; hash = "sha256-lfwC9/wfMZmqpHqKdXQ3E0z2GOnZlMhO/9U/Uww4WG8="; }; }); }; }; in python.pkgs.buildPythonApplication rec { </ins> pname = "flexget"; <del> version = "3.5.31"; </del> <ins> version = "3.5.33"; </ins> format = "pyproject"; # Fetch from GitHub in order to use `requirements.in` src = fetchFromGitHub { <del> owner = "flexget"; repo = "flexget"; </del> <ins> owner = "Flexget"; repo = "Flexget"; </ins> rev = "refs/tags/v${version}"; <del> hash = "sha256-v6N1isaTVPwV/LC/a2lzrboLI6V/4W586RE5esfR500="; </del> <ins> hash = "sha256-LzDXNl2IQ3+j9uP+nE6JS8E+pO0n9zwmA7wrMeKR6Ms="; </ins> }; postPatch = ''

# ~400 failures doCheck = false; <del> propagatedBuildInputs = with python3Packages; [ </del> <ins> propagatedBuildInputs = with python.pkgs; [ </ins> # See https://github.com/Flexget/Flexget/blob/master/requirements.txt apscheduler beautifulsoup4
Change:
One of the features of zram (and of systemd-zram-generator) is that a swap partition (and hopefully someday in the future a swap file too) can be used to store incompressible pages instead of holding them in ram. It's (you're the last person I saw touch the zramSwap module.) Please run and paste the result.
Our current zram module is implemented by retrofitting the old interface for our own set of bash scripts onto zram-generator, thus it's only possible to create multiple zram devices of identical configurations. However it should be illegal to share a single backing device among multiple zram devices, leaving us two choices in implementing this: allow creating a single zram device when backing device is set the module to expose the full features of zram-generator What's your opinion?
:thinking: It's not stated that the module uses zram-generator under the hood, and I'd say that I don't really think a lot of people use multiple zram devices, so perhaps  is fine.

Discussion:
{command}`cat /sys/class/block/zram*/comp_algorithm` ''; }; <ins> writebackDevice = lib.mkOption { default = null; example = "/dev/zvol/tarta-zoot/swap-writeback"; type = lib.types.nullOr lib.types.path; description = lib.mdDoc '' Write incompressible pages to this device, as there's no gain from keeping them in RAM. ''; }; </ins> }; }; config = lib.mkIf cfg.enable { <ins> assertions = [ { assertion = cfg.writebackDevice == null || cfg.swapDevices <= 1; message = "A single writeback device cannot be shared among multiple zram devices"; } ]; </ins> system.requiredKernelConfig = with config.lib.kernelConfig; [ (isModule "ZRAM") ];

zram-size = if cfg.memoryMax != null then "min(${size}, ${toString cfg.memoryMax} / 1024 / 1024)" else size; compression-algorithm = cfg.algorithm; swap-priority = cfg.priority; <ins> } // lib.optionalAttrs (cfg.writebackDevice != null) { writeback-device = cfg.writebackDevice; </ins> }; }) devices));

import ./make-test-python.nix { name = "zram-generator"; <del> nodes.machine = { ... }: { zramSwap = { enable = true; priority = 10; algorithm = "lz4"; swapDevices = 2; memoryPercent = 30; memoryMax = 10 * 1024 * 1024; </del> <ins> nodes = { single = { ... }: { virtualisation = { emptyDiskImages = [ 512 ]; }; zramSwap = { enable = true; priority = 10; algorithm = "lz4"; swapDevices = 1; memoryPercent = 30; memoryMax = 10 * 1024 * 1024; writebackDevice = "/dev/vdb"; }; }; machine = { ... }: { zramSwap = { enable = true; priority = 10; algorithm = "lz4"; swapDevices = 2; memoryPercent = 30; memoryMax = 10 * 1024 * 1024; }; </ins> }; }; testScript = '' <ins> single.wait_for_unit("systemd-zram-setup@zram0.service") </ins> machine.wait_for_unit("systemd-zram-setup@zram0.service") machine.wait_for_unit("systemd-zram-setup@zram1.service") zram = machine.succeed("zramctl --noheadings --raw")