Question:
Since won't build () From the above logs: Steps to reproduce the behavior: <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
Can reproduce on my ZFS system, not on my ext4 system though.
I can't reproduce by running on any system.
I was able to build from that commit nix store is zfs backed
It's more relevant whether is.
The renameat2 syscall used isn't (fully?) supported by ZFS: I'm not sure how that relates to this issue only occurring with , I guess it's related to the sandbox.
/tmp is tmpfs for me
Thanks for filing the upstream issue!

python3.pkgs.buildPythonApplication rec { pname = "radicale"; <del> version = "3.1.3"; </del> <ins> version = "3.1.4"; </ins> src = fetchFromGitHub { owner = "Kozea"; repo = "Radicale"; rev = "v${version}"; <del> hash = "sha256-a1oapCktJPvNO+MTsB9COtxSFB/ZIZvJiuqX+s+lncY="; </del> <ins> hash = "sha256-vX6lYiDqpQeWVLotyt2ODwcjskWB6EuCky3/V8m1m7Q="; </ins> }; postPatch = ''


Question: Project description Junction lets you choose the application to open files and links. Junction will pop up automatically when you open a link in a desktop application. Use the mouse or keyboard navigation to choose the application to open the link or file with. Metadata homepage URL: source URL: license: gpl3 platforms: linux

<ins> { lib , stdenv , fetchFromGitHub , appstream-glib , desktop-file-utils , gobject-introspection , meson , ninja , pkg-config , wrapGAppsHook4 , gjs , gtk4 , libadwaita , libportal-gtk4 }: stdenv.mkDerivation rec { pname = "junction"; version = "1.5.0"; src = fetchFromGitHub { owner = "sonnyp"; repo = "junction"; rev = "v${version}"; sha256 = "sha256-jS4SHh1BB8jk/4EP070X44C4n3GjyCz8ozgK8v5lbqc="; }; nativeBuildInputs = [ appstream-glib desktop-file-utils gobject-introspection meson ninja pkg-config wrapGAppsHook4 ]; buildInputs = [ gjs gtk4 libadwaita libportal-gtk4 ]; postInstall = '' # autoPatchShebangs does not like "/usr/bin/env -S gjs" substituteInPlace $out/bin/re.sonny.Junction --replace "/usr/bin/env -S gjs" "/usr/bin/gjs" ''; meta = with lib; { description = "Choose the application to open files and links"; homepage = "https://apps.gnome.org/en/app/re.sonny.Junction/"; license = licenses.gpl3Plus; maintainers = with maintainers; [ hqurve ]; platforms = platforms.linux; }; } </ins>


Question: Project description Junction lets you choose the application to open files and links. Junction will pop up automatically when you open a link in a desktop application. Use the mouse or keyboard navigation to choose the application to open the link or file with. Metadata homepage URL: source URL: license: gpl3 platforms: linux

jmusicbot = callPackage ../applications/audio/jmusicbot { }; <ins> junction = callPackage ../applications/misc/junction { }; </ins> lemonade = callPackage ../applications/misc/lemonade { }; libquvi = callPackage ../applications/video/quvi/library.nix { };


Question:
Recently variety stops working on NixOS. Pictures are downloaded well but the wallpaper can't be changed and can only be set in system setting. That's because of the hardcoded shebang which is taken from on the first installation. So when the bash is updated the script can't find it. It should be set as something like . Not sure if this is a nixos bug. Steps to reproduce the behavior: variety bash It works after the bash update. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
IIRC now we use . I am patching it now.

<del> { stdenv, lib, fetchFromGitHub , python3Packages , fehSupport ? false, feh , imagemagickSupport ? true, imagemagick , intltool , gtk3 </del> <ins> { lib , stdenv , fetchFromGitHub </ins> , gexiv2 <del> , libnotify </del> , gobject-introspection <ins> , gtk3 </ins> , hicolor-icon-theme <ins> , intltool , libnotify </ins> , librsvg <ins> , python3 , runtimeShell </ins> , wrapGAppsHook <del> , makeWrapper </del> <ins> , fehSupport ? false, feh , imagemagickSupport ? true, imagemagick </ins> }: <del> with python3Packages; buildPythonApplication rec { </del> <ins> python3.pkgs.buildPythonApplication rec { </ins> pname = "variety"; version = "0.8.5";


Question:
Recently variety stops working on NixOS. Pictures are downloaded well but the wallpaper can't be changed and can only be set in system setting. That's because of the hardcoded shebang which is taken from on the first installation. So when the bash is updated the script can't find it. It should be set as something like . Not sure if this is a nixos bug. Steps to reproduce the behavior: variety bash It works after the bash update. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
IIRC now we use . I am patching it now.

sha256 = "sha256-6dLz4KXavXwnk5GizBH46d2EHMHPjRo0WnnUuVMtI1M="; }; <del> nativeBuildInputs = [ makeWrapper intltool wrapGAppsHook ]; </del> <ins> nativeBuildInputs = [ intltool wrapGAppsHook ]; </ins> <del> buildInputs = [ distutils_extra ]; </del> <ins> propagatedBuildInputs = [ gexiv2 gobject-introspection gtk3 hicolor-icon-theme libnotify librsvg ] ++ (with python3.pkgs; [ beautifulsoup4 configobj dbus-python distutils_extra httplib2 lxml pillow pycairo pygobject3 requests setuptools ]) ++ lib.optional fehSupport feh ++ lib.optional imagemagickSupport imagemagick; </ins> doCheck = false;


Question:
Recently variety stops working on NixOS. Pictures are downloaded well but the wallpaper can't be changed and can only be set in system setting. That's because of the hardcoded shebang which is taken from on the first installation. So when the bash is updated the script can't find it. It should be set as something like . Not sure if this is a nixos bug. Steps to reproduce the behavior: variety bash It works after the bash update. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
IIRC now we use . I am patching it now.

prePatch = '' substituteInPlace variety_lib/varietyconfig.py  <del> --replace "__variety_data_directory__ = "../data"" "__variety_data_directory__ = "$out/share/variety"" </del> <ins> --replace "__variety_data_directory__ = "../data""  "__variety_data_directory__ = "$out/share/variety"" </ins> substituteInPlace data/scripts/set_wallpaper  <del> --replace /bin/bash ${stdenv.shell} </del> <ins> --replace /bin/bash ${runtimeShell} </ins> substituteInPlace data/scripts/get_wallpaper  <del> --replace /bin/bash ${stdenv.shell} </del> <ins> --replace /bin/bash ${runtimeShell} </ins> ''; <del> propagatedBuildInputs = [ beautifulsoup4 configobj dbus-python gexiv2 gobject-introspection gtk3 hicolor-icon-theme httplib2 libnotify librsvg lxml pillow pycairo pygobject3 requests setuptools ] ++ lib.optional fehSupport feh ++ lib.optional imagemagickSupport imagemagick; </del> meta = with lib; { homepage = "https://github.com/varietywalls/variety"; description = "A wallpaper manager for Linux systems";


Question:
Recently variety stops working on NixOS. Pictures are downloaded well but the wallpaper can't be changed and can only be set in system setting. That's because of the hardcoded shebang which is taken from on the first installation. So when the bash is updated the script can't find it. It should be set as something like . Not sure if this is a nixos bug. Steps to reproduce the behavior: variety bash It works after the bash update. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
IIRC now we use . I am patching it now.

Variety also includes a range of image effects, such as oil painting and blur, as well as options to layer quotes and a clock onto the background. ''; <del> license = licenses.gpl3; </del> <ins> license = licenses.gpl3Plus; </ins> maintainers = with maintainers; [ p3psi AndersonTorres zfnmxt ]; <del> platforms = with platforms; linux; </del> }; }


Question:
Recently variety stops working on NixOS. Pictures are downloaded well but the wallpaper can't be changed and can only be set in system setting. That's because of the hardcoded shebang which is taken from on the first installation. So when the bash is updated the script can't find it. It should be set as something like . Not sure if this is a nixos bug. Steps to reproduce the behavior: variety bash It works after the bash update. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
IIRC now we use . I am patching it now.

substituteInPlace variety_lib/varietyconfig.py  --replace "__variety_data_directory__ = "../data""  "__variety_data_directory__ = "$out/share/variety"" <del> substituteInPlace data/scripts/set_wallpaper  --replace /bin/bash ${runtimeShell} substituteInPlace data/scripts/get_wallpaper  --replace /bin/bash ${runtimeShell} </del> <ins> substituteInPlace variety/VarietyWindow.py  --replace '[script,' '["${runtimeShell}", script,'  --replace 'check_output(script)' 'check_output(["${runtimeShell}", script])' </ins> ''; meta = with lib; {


Question:
No GNOME Shell Extension can enable desktop icons. . to enable desktop icons. Should be able to enable desktop icons in GNOME Shell, one way or another. About the time of NixOS 20.03, i was still able to have desktop icons using some old version of extension. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
I can confirm this. The systemd journal shows (once every second):
This probably requires patching all paths referencing other libraries or binaries. Which of those extensions shall I have a look at first?
, maybe the one that is easier to fix? I did not have an opportunity to test , so i cannot decide between the two. Thanks!
Haven't had the opportunity to check out any of them so I also cannot decide. Any one of them would be fine for me, so I guess start with the one that is easier to fix (if there is a difference). If I can be of any help let me know.
WIP: I have the following override and the following patch: But I somehow can't get it to find nautilus. It will always end with a null exception while trying to access nautilus stuff (can't copy the stack trace out of the testing VM, sorry).
still not solved :
Made a PR for , a similar technique can be used on the other desktop icon extensions. Would like if someone could test that everything's working. Note the schema path bit, that was causing . For any path you cannot directly list with you most likely need to do the thing (or otherwise find a way to make it find the schema source).

, smartmontools , substituteAll , touchegg <ins> , util-linux </ins> , vte , wrapGAppsHook <ins> , xdg-utils </ins> , xprop }: let


Question:
No GNOME Shell Extension can enable desktop icons. . to enable desktop icons. Should be able to enable desktop icons in GNOME Shell, one way or another. About the time of NixOS 20.03, i was still able to have desktop icons using some old version of extension. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
I can confirm this. The systemd journal shows (once every second):
This probably requires patching all paths referencing other libraries or binaries. Which of those extensions shall I have a look at first?
, maybe the one that is easier to fix? I did not have an opportunity to test , so i cannot decide between the two. Thanks!
Haven't had the opportunity to check out any of them so I also cannot decide. Any one of them would be fine for me, so I guess start with the one that is easier to fix (if there is a difference). If I can be of any help let me know.
WIP: I have the following override and the following patch: But I somehow can't get it to find nautilus. It will always end with a null exception while trying to access nautilus stuff (can't copy the stack trace out of the testing VM, sorry).
still not solved :
Made a PR for , a similar technique can be used on the other desktop icon extensions. Would like if someone could test that everything's working. Note the schema path bit, that was causing . For any path you cannot directly list with you most likely need to do the thing (or otherwise find a way to make it find the schema source).

''; })) <ins> (patchExtension "gtk4-ding@smedius.gitlab.com" (old: { patches = [ (substituteAll { inherit gjs util-linux xdg-utils; util_linux = util-linux; xdg_utils = xdg-utils; src = ./extensionOverridesPatches/gtk4-ding_at_smedius.gitlab.com.patch; nautilus_gsettings_path = "${glib.getSchemaPath gnome.nautilus}"; }) ]; })) </ins> (patchExtension "pano@elhan.io" (old: { patches = [ (substituteAll {


Question:
No GNOME Shell Extension can enable desktop icons. . to enable desktop icons. Should be able to enable desktop icons in GNOME Shell, one way or another. About the time of NixOS 20.03, i was still able to have desktop icons using some old version of extension. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. --
I can confirm this. The systemd journal shows (once every second):
This probably requires patching all paths referencing other libraries or binaries. Which of those extensions shall I have a look at first?
, maybe the one that is easier to fix? I did not have an opportunity to test , so i cannot decide between the two. Thanks!
Haven't had the opportunity to check out any of them so I also cannot decide. Any one of them would be fine for me, so I guess start with the one that is easier to fix (if there is a difference). If I can be of any help let me know.
WIP: I have the following override and the following patch: But I somehow can't get it to find nautilus. It will always end with a null exception while trying to access nautilus stuff (can't copy the stack trace out of the testing VM, sorry).
still not solved :
Made a PR for , a similar technique can be used on the other desktop icon extensions. Would like if someone could test that everything's working. Note the schema path bit, that was causing . For any path you cannot directly list with you most likely need to do the thing (or otherwise find a way to make it find the schema source).

<ins> diff --git a/app/createThumbnail.js b/app/createThumbnail.js index ebe5213..9f67873 100755 --- a/app/createThumbnail.js +++ b/app/createThumbnail.js @@ -1,4 +1,4 @@ -#!/usr/bin/gjs +#!@gjs@/bin/gjs /* DING: Desktop Icons New Generation for GNOME Shell * diff --git a/app/ding.js b/app/ding.js index b200be4..3ce05ef 100755 --- a/app/ding.js +++ b/app/ding.js @@ -1,4 +1,4 @@ -#!/usr/bin/env gjs +#!@gjs@/bin/gjs /* DING: Desktop Icons New Generation for GNOME Shell * diff --git a/app/fileItemMenu.js b/app/fileItemMenu.js index cadca48..9632ecc 100644 --- a/app/fileItemMenu.js +++ b/app/fileItemMenu.js @@ -683,7 +683,7 @@ var FileItemMenu = class { return; } let xdgEmailCommand = []; -        xdgEmailCommand.push('xdg-email'); +        xdgEmailCommand.push('@xdg_utils@/bin/xdg-email'); for (let fileItem of this._desktopManager.getCurrentSelection(false)) { fileItem.unsetSelected(); xdgEmailCommand.push('--attach'); diff --git a/app/preferences.js b/app/preferences.js index c89271c..29f0db8 100644 --- a/app/preferences.js +++ b/app/preferences.js @@ -31,6 +31,7 @@ var Preferences = class { this._extensionPath = Data.codePath; this._Enums = Data.Enums; let schemaSource = GioSSS.get_default(); +        const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true); this._desktopManager = null; // Gtk @@ -38,7 +39,7 @@ var Preferences = class { this.gtkSettings = new Gio.Settings({ settings_schema: schemaGtk }); // Gnome Files -        let schemaObj = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true); +        let schemaObj = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true); if (!schemaObj) { this.nautilusSettings = null; this.CLICK_POLICY_SINGLE = false; @@ -47,7 +48,7 @@ var Preferences = class { } // Compression -        const compressionSchema = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true); +        const compressionSchema = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true); if (!compressionSchema) this.nautilusCompression = null; else diff --git a/app/thumbnailapp.js b/app/thumbnailapp.js index b22bbe0..c5c7711 100755 --- a/app/thumbnailapp.js +++ b/app/thumbnailapp.js @@ -1,4 +1,4 @@ -#!/usr/bin/env gjs +#!@gjs@/bin/gjs /* DING: Desktop Icons New Generation for GNOME Shell * diff --git a/extension.js b/extension.js index 2e5bcaa..4eaa108 100644 --- a/extension.js +++ b/extension.js @@ -373,7 +373,7 @@ function getDesktopGeometry() { async function doKillAllOldDesktopProcesses() { const procFolder = Gio.File.new_for_path('/proc'); const processes = await FileUtils.enumerateDir(procFolder); -    const thisPath = `gjs ${GLib.build_filenamev([ +    const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([ ExtensionUtils.getCurrentExtension().path, 'app', 'ding.js', @@ -397,7 +397,7 @@ async function doKillAllOldDesktopProcesses() { } if (contents.startsWith(thisPath)) { -                let proc = new Gio.Subprocess({ argv: ['/bin/kill', filename] }); +                let proc = new Gio.Subprocess({ argv: ['@util_linux@/bin/kill', filename] }); proc.init(null); print(`Killing old DING process ${filename}`); await proc.wait_async_promise(null); diff --git a/prefs.js b/prefs.js index 1ad0cad..d830f11 100644 --- a/prefs.js +++ b/prefs.js @@ -46,7 +46,8 @@ function fillPreferencesWindow(window) { let schemaSource = GioSSS.get_default(); let schemaGtk = schemaSource.lookup(Enums.SCHEMA_GTK, true); let gtkSettings = new Gio.Settings({ settings_schema: schemaGtk }); -    let schemaNautilus = schemaSource.lookup(Enums.SCHEMA_NAUTILUS, true); +    const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true); +    let schemaNautilus = schemaSourceNautilus.lookup(Enums.SCHEMA_NAUTILUS, true); let nautilusSettings; if (!schemaNautilus) nautilusSettings = null; </ins>


Question: If I only do: then I get virtualbox + nvidia: If I enable virtualbox guest additions: then I get only virtualbox!!! and nvidia does not work anymore on my machine: this is because virtualbox guest additions is overriding services.xserver.videoDrivers: this is not necessary since by default the lists are merged workaround: then I get virtualbox + guest additions + nvidia: Ideally this should work out-of-the box, debugging this kind of behavior is very obscure, and also different configuration options should cohexist

SUBSYSTEM=="misc", KERNEL=="vboxguest", TAG+="systemd" ''; } (mkIf cfg.x11 { <del> services.xserver.videoDrivers = mkOverride 50 [ "vmware" "virtualbox" "modesetting" ]; </del> <ins> services.xserver.videoDrivers = [ "vmware" "virtualbox" "modesetting" ]; </ins> services.xserver.config = ''


Question:
vulkan-tools fails with an assertion error from vulkan-headers Steps to reproduce the behavior: the nixos-unstable-small channel vulkan-tools being installed # nix-shell -p vulkan-tools --show-trace error: assertion '(version == (vulkan-headers).version)' failed at /nix/store/cqbcz8k1wq604f8b8nc8khamyh2cl6dl-nixos-22.05pre348006./nixos/pkgs/tools/graphics/vulkan- 10| # the rest of nixpkgs. 11| src = (assert version == vulkan-headers.version; | ^ 12| fetchFromGitHub { … while evaluating the attribute 'src' of the derivation 'vulkan-tools-1.2.189.1' at /nix/store/cqbcz8k1wq604f8b8nc8khamyh2cl6dl-nixos-22.05pre348006./nixos/pkgs/stdenv/generic/make- 204 (attrs ? pname && attrs ? version)) { 205| name = | ^ 206| let … while evaluating the attribute 'buildInputs' of the derivation 'shell' at /nix/store/cqbcz8k1wq604f8b8nc8khamyh2cl6dl-nixos-22.05pre348006./nixos/pkgs/stdenv/generic/make- 204 (attrs ? pname && attrs ? version)) { 205| name = | ^ 206| let
Fix at , thanks for the report. I thought we had tests for this stuff...
fixed it for me. Thanks!

stdenv.mkDerivation rec { pname = "vulkan-tools"; <del> version = "1.2.189.1"; </del> <ins> version = "1.2.198.0"; </ins> # It's not strictly necessary to have matching versions here, however # since we're using the SDK version we may as well be consistent with


Question:
vulkan-tools fails with an assertion error from vulkan-headers Steps to reproduce the behavior: the nixos-unstable-small channel vulkan-tools being installed # nix-shell -p vulkan-tools --show-trace error: assertion '(version == (vulkan-headers).version)' failed at /nix/store/cqbcz8k1wq604f8b8nc8khamyh2cl6dl-nixos-22.05pre348006./nixos/pkgs/tools/graphics/vulkan- 10| # the rest of nixpkgs. 11| src = (assert version == vulkan-headers.version; | ^ 12| fetchFromGitHub { … while evaluating the attribute 'src' of the derivation 'vulkan-tools-1.2.189.1' at /nix/store/cqbcz8k1wq604f8b8nc8khamyh2cl6dl-nixos-22.05pre348006./nixos/pkgs/stdenv/generic/make- 204 (attrs ? pname && attrs ? version)) { 205| name = | ^ 206| let … while evaluating the attribute 'buildInputs' of the derivation 'shell' at /nix/store/cqbcz8k1wq604f8b8nc8khamyh2cl6dl-nixos-22.05pre348006./nixos/pkgs/stdenv/generic/make- 204 (attrs ? pname && attrs ? version)) { 205| name = | ^ 206| let
Fix at , thanks for the report. I thought we had tests for this stuff...
fixed it for me. Thanks!

owner = "KhronosGroup"; repo = "Vulkan-Tools"; rev = "sdk-${version}"; <del> sha256 = "0izmzyj6gb51d71vbdjcgd9qw34aidvbmz0mg4bkc13n48w8s9vj"; </del> <ins> sha256 = "sha256-oNJm9Gi41aA5krkpkQI0EYdIlMcQpdodv9yqXhnNURA="; </ins> }); nativeBuildInputs = [ cmake ];


Question:
Trying to install tetrio fails (see screenshots) Steps to reproduce the behavior: tetrio-desktop from nixpkgs-unstable (I did it using a flake) The package should install with no errors. ! <!-- 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.
Oops, it looks like I accidentally used a non-direct download link for the source. It also looks like audio is broken, so I'll start a PR soon.

, autoPatchelfHook , alsa-lib , cups <ins> , libpulseaudio </ins> , libX11 , libXScrnSaver , libXtst


Question:
Trying to install tetrio fails (see screenshots) Steps to reproduce the behavior: tetrio-desktop from nixpkgs-unstable (I did it using a flake) The package should install with no errors. ! <!-- 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.
Oops, it looks like I accidentally used a non-direct download link for the source. It also looks like audio is broken, so I'll start a PR soon.

version = "8.0.0"; src = fetchurl { <del> url = "https://web.archive.org/web/20211130172544/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb"; </del> <ins> url = "https://web.archive.org/web/20211228025517if_/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb"; </ins> name = "tetrio-desktop.deb"; sha256 = "1nlblfhrph4cw8rpic9icrs78mzrxyskl7ggyy2i8bk9i07i21xf"; };


Question:
Trying to install tetrio fails (see screenshots) Steps to reproduce the behavior: tetrio-desktop from nixpkgs-unstable (I did it using a flake) The package should install with no errors. ! <!-- 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.
Oops, it looks like I accidentally used a non-direct download link for the source. It also looks like audio is broken, so I'll start a PR soon.

libPath = lib.makeLibraryPath [ alsa-lib cups <ins> libpulseaudio </ins> libX11 libXScrnSaver libXtst


Question:
As of , the build of is broken. This is currently breaking the build of other packages including and certainly many others... ~I suspect this was triggered by , , or one of the redis upgrades.~ I believe this was triggered by . Steps to reproduce the behavior: nixpkgs at failure The build to succeed. n/a n/a <!-- 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.
I tried patching around the issue with but that gives me a test failure:
should fix that. Also please use postPatch.

postPatch = '' sed -i setup.py -e "/pip>=/c'pip'," substituteInPlace setup.py  <del> --replace 'typing==3.6.4' 'typing' </del> <ins> --replace "typing==3.6.4" "typing"  --replace "attrs>=19.3.0,<21.3.0" "attrs" </ins> ''; disabledTestPaths = [


Question:
As of , the build of is broken. This is currently breaking the build of other packages including and certainly many others... ~I suspect this was triggered by , , or one of the redis upgrades.~ I believe this was triggered by . Steps to reproduce the behavior: nixpkgs at failure The build to succeed. n/a n/a <!-- 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.
I tried patching around the issue with but that gives me a test failure:
should fix that. Also please use postPatch.

, aioredis , async_generator , buildPythonPackage <del> , fetchPypi </del> <ins> , fetchFromGitHub , fetchpatch </ins> , hypothesis , lupa , pytest-asyncio


Question:
As of , the build of is broken. This is currently breaking the build of other packages including and certainly many others... ~I suspect this was triggered by , , or one of the redis upgrades.~ I believe this was triggered by . Steps to reproduce the behavior: nixpkgs at failure The build to succeed. n/a n/a <!-- 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.
I tried patching around the issue with but that gives me a test failure:
should fix that. Also please use postPatch.

version = "1.7.0"; format = "setuptools"; <del> disabled = pythonOlder "3.5"; </del> <ins> disabled = pythonOlder "3.7"; </ins> <del> src = fetchPypi { inherit pname version; sha256 = "sha256-yb0S5DAzbL0+GJ+uDpHrmZl7k+dtv91u1n+jUtxoTHE="; </del> <ins> src = fetchFromGitHub { owner = "jamesls"; repo = pname; rev = version; hash = "sha256-P6PUg9SY0Qshlvj+iV1xdrzVLJ9JXUV4cGHUynKO3m0="; </ins> }; propagatedBuildInputs = [


Question:
As of , the build of is broken. This is currently breaking the build of other packages including and certainly many others... ~I suspect this was triggered by , , or one of the redis upgrades.~ I believe this was triggered by . Steps to reproduce the behavior: nixpkgs at failure The build to succeed. n/a n/a <!-- 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.
I tried patching around the issue with but that gives me a test failure:
should fix that. Also please use postPatch.

pytestCheckHook ]; <ins> patches = [ # Support for redis <= 4.1.0, https://github.com/jamesls/fakeredis/pull/324 (fetchpatch { name = "support-redis-4.1.0.patch"; url = "https://github.com/jamesls/fakeredis/commit/8ef8dc6dacc9baf571d66a25ffbf0fadd7c70f78.patch"; sha256 = "sha256-4DrF/5WEWQWlJZtAi4qobMDyRAAcO/weHIaK9waN00k="; }) ]; </ins> disabledTestPaths = [ # AttributeError: 'AsyncGenerator' object has no attribute XXXX "test/test_aioredis2.py"


Question: Project description Fprintd replacement which allows you to have your own backend as a standalone service. Metadata homepage URL: source URL: license: GPL2 platforms: linux

<ins> { lib, fetchFromGitHub, python3Packages }: python3Packages.buildPythonPackage rec { pname = "open-fprintd"; version = "0.6"; src = fetchFromGitHub { owner = "uunicorn"; repo = pname; rev = version; sha256 = "sha256-uVFuwtsmR/9epoqot3lJ/5v5OuJjuRjL7FJF7oXNDzU="; }; propagatedBuildInputs = with python3Packages; [ dbus-python pygobject3 ]; checkInputs = with python3Packages; [ dbus-python ]; postInstall = '' install -D -m 644 debian/open-fprintd.service  $out/lib/systemd/system/open-fprintd.service install -D -m 644 debian/open-fprintd-resume.service  $out/lib/systemd/system/open-fprintd-resume.service install -D -m 644 debian/open-fprintd-suspend.service  $out/lib/systemd/system/open-fprintd-suspend.service substituteInPlace $out/lib/systemd/system/open-fprintd.service  --replace /usr/lib/open-fprintd "$out/lib/open-fprintd" substituteInPlace $out/lib/systemd/system/open-fprintd-resume.service  --replace /usr/lib/open-fprintd "$out/lib/open-fprintd" substituteInPlace $out/lib/systemd/system/open-fprintd-suspend.service  --replace /usr/lib/open-fprintd "$out/lib/open-fprintd" ''; postFixup = '' wrapPythonProgramsIn "$out/lib/open-fprintd" "$out $pythonPath" ''; meta = with lib; { description = "Fprintd replacement which allows you to have your own backend as a standalone service"; homepage = "https://github.com/uunicorn/open-fprintd"; license = licenses.gpl2Only; platforms = platforms.linux; }; } </ins>


Question:
nix-shell -p supercollider [anders $ nixos-version (Flounder) [anders $ nix-env --version nix-env (Nix) 1.11.2 [anders $ nix-instantiate --eval '<nixpkgs' -A lib.nixpkgsVersion ""
you use supercollider ?
no, sorry.
Same here:

, libXt, qt, readline , useSCEL ? false, emacs }: <del> let optional = stdenv.lib.optional; in stdenv.mkDerivation rec { </del> <ins> let optional = stdenv.lib.optional; ljack2 = libjack2.override { gcc = gcc; }; in stdenv.mkDerivation rec { </ins> name = "supercollider-3.6.6"; meta = {


Question:
nix-shell -p supercollider [anders $ nixos-version (Flounder) [anders $ nix-env --version nix-env (Nix) 1.11.2 [anders $ nix-instantiate --eval '<nixpkgs' -A lib.nixpkgsVersion ""
you use supercollider ?
no, sorry.
Same here:

cmakeFlags = '' -DSC_WII=OFF <del> -DSC_EL=${if useSCEL then "ON" else "OFF"} </del> <ins> -DSC_EL=${if useSCEL then "ON" else "OFF"} </ins> ''; nativeBuildInputs = [ cmake pkgconfig ]; <del> buildInputs = [ gcc libjack2 libsndfile fftw curl libXt qt readline ] </del> <ins> buildInputs = [ gcc ljack2 libsndfile fftw curl libXt qt readline ] </ins> ++ optional useSCEL emacs; }


Question:
nix-shell -p supercollider [anders $ nixos-version (Flounder) [anders $ nix-env --version nix-env (Nix) 1.11.2 [anders $ nix-instantiate --eval '<nixpkgs' -A lib.nixpkgsVersion ""
you use supercollider ?
no, sorry.
Same here:

{ stdenv, fetchFromGitHub, pkgconfig, python, makeWrapper <del> , bash, libsamplerate, libsndfile, readline </del> <ins> , bash, libsamplerate, libsndfile, readline, gcc </ins> # Optional Dependencies , dbus ? null, pythonDBus ? null, libffado ? null, alsaLib ? null


Question:
nix-shell -p supercollider [anders $ nixos-version (Flounder) [anders $ nix-env --version nix-env (Nix) 1.11.2 [anders $ nix-instantiate --eval '<nixpkgs' -A lib.nixpkgsVersion ""
you use supercollider ?
no, sorry.
Same here:

}; nativeBuildInputs = [ pkgconfig python makeWrapper ]; <del> buildInputs = [ </del> <ins> buildInputs = [ gcc </ins> python libsamplerate libsndfile readline


Question:
When using with the I get the following error. ! I'm assuming this is caused by the following code. Since it doesn't include the module. Steps to reproduce the behavior: the to open Libreoffice Writer The Languagetool plugin doesn't cause a runtime error. Please run and paste the result.
Hm, jre_minimal tests seem to confirm it; does adding "java.logging" there help?
Happy to take a look by the end of the week :)
That'd be great if you could do that. I tried building it on my laptop. But it was still building after ~3 hours. :)

let jre' = jre_minimal.override { <del> modules = [ "java.base" "java.desktop" ]; </del> <ins> modules = [ "java.base" "java.desktop" "java.logging" ]; </ins> }; importVariant = f: import (./. + "/src-${variant}/${f}");


Question:
, CVSSv3=5.5 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.3 (nixos-21.11, nixos-unstable) Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Compiling). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server as well as unauthorized update, insert or delete access to some of MySQL Server accessible data. CVSS 3.1 Base Score 5.5 (Integrity and Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Federated). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Stored Procedure). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Parser). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Replication). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Security: Privileges). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows low privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of MySQL Server accessible data. CVSS 3.1 Base Score 4.3 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N). Scanned versions: nixos-21.11: ; nixos-unstable: .
See also: , , , , , ,
Fixed: nixos-21.11: mysql-5.7.37, mysql-8.0.28 nixos-unstable: mysql-5.7.39, mysql-8.0.30

{ lib, stdenv, fetchurl, cmake, bison, pkg-config , boost, libedit, libevent, lz4, ncurses, openssl, protobuf, readline, zlib, perl , cctools, CoreServices, developer_cmds <del> , libtirpc, rpcsvc-proto </del> <ins> , libtirpc, rpcsvc-proto, nixosTests </ins> }: # Note: zlib is not required; MySQL can use an internal zlib.


Question:
, CVSSv3=5.5 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.3 (nixos-21.11, nixos-unstable) Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Compiling). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server as well as unauthorized update, insert or delete access to some of MySQL Server accessible data. CVSS 3.1 Base Score 5.5 (Integrity and Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Federated). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Stored Procedure). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Parser). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Replication). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Security: Privileges). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows low privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of MySQL Server accessible data. CVSS 3.1 Base Score 4.3 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N). Scanned versions: nixos-21.11: ; nixos-unstable: .
See also: , , , , , ,
Fixed: nixos-21.11: mysql-5.7.37, mysql-8.0.28 nixos-unstable: mysql-5.7.39, mysql-8.0.30

let self = stdenv.mkDerivation rec { pname = "mysql"; <del> version = "5.7.27"; </del> <ins> version = "5.7.37"; </ins> src = fetchurl { url = "mirror://mysql/MySQL-5.7/${pname}-${version}.tar.gz"; <del> sha256 = "1fhv16zr46pxm1j8vb8x8mh3nwzglg01arz8gnazbmjqldr5idpq"; </del> <ins> sha256 = "sha256-qZqaqGNdJWbat2Sy3la+0XMDZdNg4guyf1Y5LOVOGL0="; </ins> }; preConfigure = lib.optionalString stdenv.isDarwin ''


Question:
, CVSSv3=5.5 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.9 (nixos-21.11, nixos-unstable) CVSSv3=4.3 (nixos-21.11, nixos-unstable) Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Compiling). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server as well as unauthorized update, insert or delete access to some of MySQL Server accessible data. CVSS 3.1 Base Score 5.5 (Integrity and Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Federated). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Stored Procedure). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Parser). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Replication). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows high privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized ability to cause a hang or frequently repeatable crash (complete DOS) of MySQL Server. CVSS 3.1 Base Score 4.9 (Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H). Vulnerability in the MySQL Server product of Oracle MySQL (component: Server: Security: Privileges). Supported versions that are affected are 5.7.36 and prior and 8.0.27 and prior. Easily exploitable vulnerability allows low privileged attacker with network access via multiple protocols to compromise MySQL Server. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of MySQL Server accessible data. CVSS 3.1 Base Score 4.3 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N). Scanned versions: nixos-21.11: ; nixos-unstable: .
See also: , , , , , ,
Fixed: nixos-21.11: mysql-5.7.37, mysql-8.0.28 nixos-unstable: mysql-5.7.39, mysql-8.0.30

connector-c = self; server = self; mysqlVersion = "5.7"; <ins> tests = nixosTests.mysql; </ins> }; meta = with lib; {


Question: <!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- 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! --- name: <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 4.1.6 desired version: 4.1.7 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR.

homepage = "https://www.jool.mx/"; description = "Fairly compliant SIIT and Stateful NAT64 for Linux - kernel modules"; platforms = platforms.linux; <ins> license = licenses.gpl2Only; </ins> maintainers = with maintainers; [ fpletz ]; }; }


Question: <!-- Note that these are hard requirements --<!-- You can use the "Go to file" functionality on GitHub to find the package Then you can go to the history for this package Find the latest "packagename: oldversion -newversion" commit The "newversion" is the current version of the package --- <!-- 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! --- name: <!-- The current version can be found easily with the same process as above for checking the master branch If an open PR is present for the package, take this version as the current one and link to the PR --current version: 4.1.6 desired version: 4.1.7 <!-- Search your package here: If no maintainer is listed for your package, tag the person that last updated the package --maintainers: Please tag this issue in your PR.

{ fetchFromGitHub }: rec { <del> version = "4.1.6"; </del> <ins> version = "4.1.7"; </ins> src = fetchFromGitHub { owner = "NICMx"; repo = "Jool"; rev = "v${version}"; <del> sha256 = "09avkiazpfxzrgr3av58jbina5x9jqvqhjkn39475pfhfhrlv9fv"; </del> <ins> sha256 = "08z23mi6xkr6zzp0hzh1cppvl2y0177s0lnpxqbpy8jiii5fxw8f"; </ins> }; }


Question:
After Wireplumber was enabled by default in , audio and video playback completely broke on my machine (NixOS-unstable, GNOME on X11, x86_64-linux). Preview thumbnails of videos did show, but clicking "play" on audio/video tracks does nothing. I've observed this directly in Firefox, Element Desktop, Freetube, Rhythmbox and Signal. Reverting by putting into my config resolves the issue. Steps to reproduce the behavior: Firefox to play a video since you authored the PR Please run and paste the result.
I've also verified that this isn't resolved by .
I am also experiencing issues with video playback, I am glad i found this issue. seems to have fixed it
Known regression with pipewire 0.3.48 and wireplumber 0.4.8. Should be fixed by .
I've tried to apply the fix from with: but it didn't resolve the issue for me.
That is strange. What's the store hash of your wireplumber build after this?
With the nixpkgs revision , I get: I haven't applied any overlays that influence wireplumber. (Checked by directly building wireplumber from your Nixpkgs PR branch)
That hash does seem to match. I wonder if it's a different issue then... Can you also run ?
By the way, if you want to, we can continue this on Matrix (I'm there).
Honestly at this point I'd probably just report a bug upstream, or ask around in
Okay, thanks, I'll try that. Do you happen to know whether wireplumber has some sort of "verbose/debug log" build option which might make it easier to find the bug?
Try WIREPLUMBER_DEBUG=10
You should try zapping all config and cache. Especially if you use bluetooth (in which case the bluez cache).
I've been having this issue, too, on unstable. What I've noticed is that, on reboot or logout/login, playing a video works just fine the first time. But on the second and subsequent times, video won't play. A stil image from the video is displayed, but the video doesn't play at all. Here's what I see with : For me, running fixes this problem immediately. That is, videos suddenly start playing.
Is this with the patch or without?
I also wanted to note that I've reported the issue upstream now (), maybe a few more log dumps from other people with this issue will help the developers over there
there might be relevant details here
How are you enabling Pipewire? Something like the snippet below?
That's an interesting question. I didn't explicitly enable Pipewire anythere, my sound config is just: Basically, I have no idea of audio systems on Linux and I just assumed that it was some sort of backend for PulseAudio. On my system however, the Pipewire and Wireplumber services are there. Maybe that's some sort of bug in the NixOS audio submodules?
With , I've confirmed that something in my config indeed causes to be set to true, but are all false.
I've backtraced this and is set by , which is in turn enabled by default on Gnome (nixos/modules/services/x11/desktop-). It might be worth to open an issue for that.
This is really useful debugging information! Take my next paragraph with a grain of salt, since I am not a PipeWire expert. Some parts of PipeWire relate to screensharing (which is probably why enables it) and supposedly should work even without the ALSA/PulseAudio/Jack emulation, but sometimes there are bugs in the session managers; for example, was a bug in the old session manager with a similar outcome. I think that screensharing use cases are meant to work even for PulseAudio users (that is, without enabling PipeWire's PulseAudio "emulation" layer).
It seems that part of the problem is that had those extra knobs for turning various emulation layers on and off (such as and ), but those are no longer respected when using WirePlumber. This might lead to some weird conflicts for PulseAudio users (for example, if WirePlumber decides to start pipewire-pulse).
But does this mean that the WirePlumber switch broke audio for every GNOME user that does not use PipeWire? This seems like the default config!
Those knobs are for Pipewire itself, not pipewire-media-session. Wireplumber should still be functional in a mixed PW/Pulse setup, so it's probably worth reopening the upstream issue.
I'd ask someone else to open that issue though because my knowledge on this topic is close to zero, and I'll probably not be able to accurately describe the technical details here. I've also tested this on my laptop, and it has the same issue, so that actually seems like a realistic possibility. I'm not really sure when it comes to user statistics, but from what I've seen, GNOME tends to be mostly used by less experienced users, while KDE and WMs like i3 are a lot more popular among advanced users, and the unstable repositories of an operating system are generally almost exclusively used by advanced users. So after considering the small user base of NixOS, it's really possible that there are just not that many GNOME/nixos-unstable users who are likely to encounter that bug.
Ideally yes, but there are two places in the NixOS module that look at : uses it to decide if the systemd service should be installed, and looks at it to create the file. Therefore, is given a hint that pipewire-pulse shouldn't be started, while upstream WirePlumber does not seem to have such an option. If I had to bet, I'd say WirePlumber does not currently support this use case.
pipewire-media-session doesn't start pipewire-pulse, systemd does. Wireplumber should detect the right setup automatically.
Yeah the file dates back to before the systemd service for pipewire-pulse existed. It is probably redundant nowadays.
I agree with what you two are saying, but I think I didn't express myself clearly, so I will try again; apologies if this is annoying. My point is that we have no indication that WirePlumber is designed to support mixed setups. The release notes for WirePlumber 0.4.0 say "It is a fundamental goal of this series to maintain compatibility with pipewire-media-session, making WirePlumber suitable for a desktop PulseAudio & JACK replacement setup, while supporting other setups as well (ex. automotive) by making use of its brand new Lua scripting engine, which allows making customizations easily." and it's unclear if they care about our use case (IMO it would be perfectly reasonable to not support PulseAudio). I'll ask upstream.
Pipewire and Pulseaudio are (should be) mutually exclusive. They both try to multiplex the underlying hardware, so if you're running both of them, that may or may not work depending on whether the physical sound hardware is capable of handling multiple streams. Some is, some isn't. It's not as common to have that functionality as it used to be, since modern CPUs are more than capable of handling it in software. How it should work is that: If is set, that brings up the default audio manager. Whatever that is. Pipewire would be a good choice. If is also set, that enables pulseaudio and disables pipewire. If both pulseaudio and pipewire are explicitly enabled, that should hit an assert. There are very few cases in which enabling both makes any sense. Pipewire has a pulseaudio compat layer; this is not the same thing as running pulseaudio itself. But I haven't checked the actual behaviour of nixos, so I have no idea what's happening. Try ; this should tell us what is running on your system.
That is not true. Pipewire can be used for video and audio, and running Pulse for audio and Pipewire for video is a supported configuration.
Is that in fact how we're using it? Or is it opening the sound devices regardless? ...I should just check. Will report back later.
With Pulseaudio enabled (by ), Pipewire started when I opened a video on youtube, and no sooner — there was, however, no sound. Chrome connected to pulseaudio regardless. Pavucontrol reported no sound output devices available; only sound input was possible. A bit of searching in /proc indicated that pipewire was holding the audio devices open, and my sound card indeed only supports one stream at a time... but I'm unable to confirm that this is the issue. Regardless, I was only able to make sound work by either completely disabling pipewire, or completely disabling pulseaudio. I concur the Pipewire should be usable without making it grab the sound devices. However, how does one tell it to avoid that?
Hmm without looking deeply into it, I'm guessing the problem is that wireplumber and we don't have any way of configuring that via nix yet. Can you try if it works with pipewire-media-session if you disable all the audio stuff? This should cause alsa-monitor to never get loaded in pipewire:
That works flawlessly, as mentioned in my initial message in this thread.
Right, so this is the point where we have to make wireplumber configurable via nix. There has been towards that but the lua system maps rather badly to nix so nothing in nixpkgs yet. As an interim solution I think we should add an assert that tells people to manually switch back to media-session if they have both wireplumber and pulseaudio enabled?
Fixed problem for me
I must say that this problem has been driving me crazy and you guys just prevented hours of debugging. I will try your fix and report any problems.
OK, I think we need to add an assertion here. I'll do it tomorrow unless someone snipes me.
So, while switching to Pipewire is nice, I really don't think that justifies breaking people's mixed PW/Pulse setups. Please test the fix in if you're affected (and make sure you disable Pipewire beforehand).
where do you put this?
Please don't bump one-year-old threads. File a new issue.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

source = json.generate "v4l2-monitor.conf" configs.v4l2-monitor; }; <ins> environment.etc."pipewire/media-session.d/with-audio" = mkIf config.services.pipewire.audio.enable { text = ""; }; </ins> environment.etc."pipewire/media-session.d/with-alsa" = mkIf config.services.pipewire.alsa.enable { text = "";


Question:
After Wireplumber was enabled by default in , audio and video playback completely broke on my machine (NixOS-unstable, GNOME on X11, x86_64-linux). Preview thumbnails of videos did show, but clicking "play" on audio/video tracks does nothing. I've observed this directly in Firefox, Element Desktop, Freetube, Rhythmbox and Signal. Reverting by putting into my config resolves the issue. Steps to reproduce the behavior: Firefox to play a video since you authored the PR Please run and paste the result.
I've also verified that this isn't resolved by .
I am also experiencing issues with video playback, I am glad i found this issue. seems to have fixed it
Known regression with pipewire 0.3.48 and wireplumber 0.4.8. Should be fixed by .
I've tried to apply the fix from with: but it didn't resolve the issue for me.
That is strange. What's the store hash of your wireplumber build after this?
With the nixpkgs revision , I get: I haven't applied any overlays that influence wireplumber. (Checked by directly building wireplumber from your Nixpkgs PR branch)
That hash does seem to match. I wonder if it's a different issue then... Can you also run ?
By the way, if you want to, we can continue this on Matrix (I'm there).
Honestly at this point I'd probably just report a bug upstream, or ask around in
Okay, thanks, I'll try that. Do you happen to know whether wireplumber has some sort of "verbose/debug log" build option which might make it easier to find the bug?
Try WIREPLUMBER_DEBUG=10
You should try zapping all config and cache. Especially if you use bluetooth (in which case the bluez cache).
I've been having this issue, too, on unstable. What I've noticed is that, on reboot or logout/login, playing a video works just fine the first time. But on the second and subsequent times, video won't play. A stil image from the video is displayed, but the video doesn't play at all. Here's what I see with : For me, running fixes this problem immediately. That is, videos suddenly start playing.
Is this with the patch or without?
I also wanted to note that I've reported the issue upstream now (), maybe a few more log dumps from other people with this issue will help the developers over there
there might be relevant details here
How are you enabling Pipewire? Something like the snippet below?
That's an interesting question. I didn't explicitly enable Pipewire anythere, my sound config is just: Basically, I have no idea of audio systems on Linux and I just assumed that it was some sort of backend for PulseAudio. On my system however, the Pipewire and Wireplumber services are there. Maybe that's some sort of bug in the NixOS audio submodules?
With , I've confirmed that something in my config indeed causes to be set to true, but are all false.
I've backtraced this and is set by , which is in turn enabled by default on Gnome (nixos/modules/services/x11/desktop-). It might be worth to open an issue for that.
This is really useful debugging information! Take my next paragraph with a grain of salt, since I am not a PipeWire expert. Some parts of PipeWire relate to screensharing (which is probably why enables it) and supposedly should work even without the ALSA/PulseAudio/Jack emulation, but sometimes there are bugs in the session managers; for example, was a bug in the old session manager with a similar outcome. I think that screensharing use cases are meant to work even for PulseAudio users (that is, without enabling PipeWire's PulseAudio "emulation" layer).
It seems that part of the problem is that had those extra knobs for turning various emulation layers on and off (such as and ), but those are no longer respected when using WirePlumber. This might lead to some weird conflicts for PulseAudio users (for example, if WirePlumber decides to start pipewire-pulse).
But does this mean that the WirePlumber switch broke audio for every GNOME user that does not use PipeWire? This seems like the default config!
Those knobs are for Pipewire itself, not pipewire-media-session. Wireplumber should still be functional in a mixed PW/Pulse setup, so it's probably worth reopening the upstream issue.
I'd ask someone else to open that issue though because my knowledge on this topic is close to zero, and I'll probably not be able to accurately describe the technical details here. I've also tested this on my laptop, and it has the same issue, so that actually seems like a realistic possibility. I'm not really sure when it comes to user statistics, but from what I've seen, GNOME tends to be mostly used by less experienced users, while KDE and WMs like i3 are a lot more popular among advanced users, and the unstable repositories of an operating system are generally almost exclusively used by advanced users. So after considering the small user base of NixOS, it's really possible that there are just not that many GNOME/nixos-unstable users who are likely to encounter that bug.
Ideally yes, but there are two places in the NixOS module that look at : uses it to decide if the systemd service should be installed, and looks at it to create the file. Therefore, is given a hint that pipewire-pulse shouldn't be started, while upstream WirePlumber does not seem to have such an option. If I had to bet, I'd say WirePlumber does not currently support this use case.
pipewire-media-session doesn't start pipewire-pulse, systemd does. Wireplumber should detect the right setup automatically.
Yeah the file dates back to before the systemd service for pipewire-pulse existed. It is probably redundant nowadays.
I agree with what you two are saying, but I think I didn't express myself clearly, so I will try again; apologies if this is annoying. My point is that we have no indication that WirePlumber is designed to support mixed setups. The release notes for WirePlumber 0.4.0 say "It is a fundamental goal of this series to maintain compatibility with pipewire-media-session, making WirePlumber suitable for a desktop PulseAudio & JACK replacement setup, while supporting other setups as well (ex. automotive) by making use of its brand new Lua scripting engine, which allows making customizations easily." and it's unclear if they care about our use case (IMO it would be perfectly reasonable to not support PulseAudio). I'll ask upstream.
Pipewire and Pulseaudio are (should be) mutually exclusive. They both try to multiplex the underlying hardware, so if you're running both of them, that may or may not work depending on whether the physical sound hardware is capable of handling multiple streams. Some is, some isn't. It's not as common to have that functionality as it used to be, since modern CPUs are more than capable of handling it in software. How it should work is that: If is set, that brings up the default audio manager. Whatever that is. Pipewire would be a good choice. If is also set, that enables pulseaudio and disables pipewire. If both pulseaudio and pipewire are explicitly enabled, that should hit an assert. There are very few cases in which enabling both makes any sense. Pipewire has a pulseaudio compat layer; this is not the same thing as running pulseaudio itself. But I haven't checked the actual behaviour of nixos, so I have no idea what's happening. Try ; this should tell us what is running on your system.
That is not true. Pipewire can be used for video and audio, and running Pulse for audio and Pipewire for video is a supported configuration.
Is that in fact how we're using it? Or is it opening the sound devices regardless? ...I should just check. Will report back later.
With Pulseaudio enabled (by ), Pipewire started when I opened a video on youtube, and no sooner — there was, however, no sound. Chrome connected to pulseaudio regardless. Pavucontrol reported no sound output devices available; only sound input was possible. A bit of searching in /proc indicated that pipewire was holding the audio devices open, and my sound card indeed only supports one stream at a time... but I'm unable to confirm that this is the issue. Regardless, I was only able to make sound work by either completely disabling pipewire, or completely disabling pulseaudio. I concur the Pipewire should be usable without making it grab the sound devices. However, how does one tell it to avoid that?
Hmm without looking deeply into it, I'm guessing the problem is that wireplumber and we don't have any way of configuring that via nix yet. Can you try if it works with pipewire-media-session if you disable all the audio stuff? This should cause alsa-monitor to never get loaded in pipewire:
That works flawlessly, as mentioned in my initial message in this thread.
Right, so this is the point where we have to make wireplumber configurable via nix. There has been towards that but the lua system maps rather badly to nix so nothing in nixpkgs yet. As an interim solution I think we should add an assert that tells people to manually switch back to media-session if they have both wireplumber and pulseaudio enabled?
Fixed problem for me
I must say that this problem has been driving me crazy and you guys just prevented hours of debugging. I will try your fix and report any problems.
OK, I think we need to add an assertion here. I'll do it tomorrow unless someone snipes me.
So, while switching to Pipewire is nice, I really don't think that justifies breaking people's mixed PW/Pulse setups. Please test the fix in if you're affected (and make sure you disable Pipewire beforehand).
where do you put this?
Please don't bump one-year-old threads. File a new issue.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

}; }; <ins> audio = { enable = lib.mkOption { type = lib.types.bool; # this is for backwards compatibility default = cfg.alsa.enable || cfg.jack.enable || cfg.pulse.enable; defaultText = lib.literalExpression "config.services.pipewire.alsa.enable || config.services.pipewire.jack.enable || config.services.pipewire.pulse.enable"; description = "Whether to use PipeWire as the primary sound server"; }; }; </ins> alsa = { enable = mkEnableOption "ALSA support"; support32Bit = mkEnableOption "32-bit ALSA support on 64-bit systems";


Question:
After Wireplumber was enabled by default in , audio and video playback completely broke on my machine (NixOS-unstable, GNOME on X11, x86_64-linux). Preview thumbnails of videos did show, but clicking "play" on audio/video tracks does nothing. I've observed this directly in Firefox, Element Desktop, Freetube, Rhythmbox and Signal. Reverting by putting into my config resolves the issue. Steps to reproduce the behavior: Firefox to play a video since you authored the PR Please run and paste the result.
I've also verified that this isn't resolved by .
I am also experiencing issues with video playback, I am glad i found this issue. seems to have fixed it
Known regression with pipewire 0.3.48 and wireplumber 0.4.8. Should be fixed by .
I've tried to apply the fix from with: but it didn't resolve the issue for me.
That is strange. What's the store hash of your wireplumber build after this?
With the nixpkgs revision , I get: I haven't applied any overlays that influence wireplumber. (Checked by directly building wireplumber from your Nixpkgs PR branch)
That hash does seem to match. I wonder if it's a different issue then... Can you also run ?
By the way, if you want to, we can continue this on Matrix (I'm there).
Honestly at this point I'd probably just report a bug upstream, or ask around in
Okay, thanks, I'll try that. Do you happen to know whether wireplumber has some sort of "verbose/debug log" build option which might make it easier to find the bug?
Try WIREPLUMBER_DEBUG=10
You should try zapping all config and cache. Especially if you use bluetooth (in which case the bluez cache).
I've been having this issue, too, on unstable. What I've noticed is that, on reboot or logout/login, playing a video works just fine the first time. But on the second and subsequent times, video won't play. A stil image from the video is displayed, but the video doesn't play at all. Here's what I see with : For me, running fixes this problem immediately. That is, videos suddenly start playing.
Is this with the patch or without?
I also wanted to note that I've reported the issue upstream now (), maybe a few more log dumps from other people with this issue will help the developers over there
there might be relevant details here
How are you enabling Pipewire? Something like the snippet below?
That's an interesting question. I didn't explicitly enable Pipewire anythere, my sound config is just: Basically, I have no idea of audio systems on Linux and I just assumed that it was some sort of backend for PulseAudio. On my system however, the Pipewire and Wireplumber services are there. Maybe that's some sort of bug in the NixOS audio submodules?
With , I've confirmed that something in my config indeed causes to be set to true, but are all false.
I've backtraced this and is set by , which is in turn enabled by default on Gnome (nixos/modules/services/x11/desktop-). It might be worth to open an issue for that.
This is really useful debugging information! Take my next paragraph with a grain of salt, since I am not a PipeWire expert. Some parts of PipeWire relate to screensharing (which is probably why enables it) and supposedly should work even without the ALSA/PulseAudio/Jack emulation, but sometimes there are bugs in the session managers; for example, was a bug in the old session manager with a similar outcome. I think that screensharing use cases are meant to work even for PulseAudio users (that is, without enabling PipeWire's PulseAudio "emulation" layer).
It seems that part of the problem is that had those extra knobs for turning various emulation layers on and off (such as and ), but those are no longer respected when using WirePlumber. This might lead to some weird conflicts for PulseAudio users (for example, if WirePlumber decides to start pipewire-pulse).
But does this mean that the WirePlumber switch broke audio for every GNOME user that does not use PipeWire? This seems like the default config!
Those knobs are for Pipewire itself, not pipewire-media-session. Wireplumber should still be functional in a mixed PW/Pulse setup, so it's probably worth reopening the upstream issue.
I'd ask someone else to open that issue though because my knowledge on this topic is close to zero, and I'll probably not be able to accurately describe the technical details here. I've also tested this on my laptop, and it has the same issue, so that actually seems like a realistic possibility. I'm not really sure when it comes to user statistics, but from what I've seen, GNOME tends to be mostly used by less experienced users, while KDE and WMs like i3 are a lot more popular among advanced users, and the unstable repositories of an operating system are generally almost exclusively used by advanced users. So after considering the small user base of NixOS, it's really possible that there are just not that many GNOME/nixos-unstable users who are likely to encounter that bug.
Ideally yes, but there are two places in the NixOS module that look at : uses it to decide if the systemd service should be installed, and looks at it to create the file. Therefore, is given a hint that pipewire-pulse shouldn't be started, while upstream WirePlumber does not seem to have such an option. If I had to bet, I'd say WirePlumber does not currently support this use case.
pipewire-media-session doesn't start pipewire-pulse, systemd does. Wireplumber should detect the right setup automatically.
Yeah the file dates back to before the systemd service for pipewire-pulse existed. It is probably redundant nowadays.
I agree with what you two are saying, but I think I didn't express myself clearly, so I will try again; apologies if this is annoying. My point is that we have no indication that WirePlumber is designed to support mixed setups. The release notes for WirePlumber 0.4.0 say "It is a fundamental goal of this series to maintain compatibility with pipewire-media-session, making WirePlumber suitable for a desktop PulseAudio & JACK replacement setup, while supporting other setups as well (ex. automotive) by making use of its brand new Lua scripting engine, which allows making customizations easily." and it's unclear if they care about our use case (IMO it would be perfectly reasonable to not support PulseAudio). I'll ask upstream.
Pipewire and Pulseaudio are (should be) mutually exclusive. They both try to multiplex the underlying hardware, so if you're running both of them, that may or may not work depending on whether the physical sound hardware is capable of handling multiple streams. Some is, some isn't. It's not as common to have that functionality as it used to be, since modern CPUs are more than capable of handling it in software. How it should work is that: If is set, that brings up the default audio manager. Whatever that is. Pipewire would be a good choice. If is also set, that enables pulseaudio and disables pipewire. If both pulseaudio and pipewire are explicitly enabled, that should hit an assert. There are very few cases in which enabling both makes any sense. Pipewire has a pulseaudio compat layer; this is not the same thing as running pulseaudio itself. But I haven't checked the actual behaviour of nixos, so I have no idea what's happening. Try ; this should tell us what is running on your system.
That is not true. Pipewire can be used for video and audio, and running Pulse for audio and Pipewire for video is a supported configuration.
Is that in fact how we're using it? Or is it opening the sound devices regardless? ...I should just check. Will report back later.
With Pulseaudio enabled (by ), Pipewire started when I opened a video on youtube, and no sooner — there was, however, no sound. Chrome connected to pulseaudio regardless. Pavucontrol reported no sound output devices available; only sound input was possible. A bit of searching in /proc indicated that pipewire was holding the audio devices open, and my sound card indeed only supports one stream at a time... but I'm unable to confirm that this is the issue. Regardless, I was only able to make sound work by either completely disabling pipewire, or completely disabling pulseaudio. I concur the Pipewire should be usable without making it grab the sound devices. However, how does one tell it to avoid that?
Hmm without looking deeply into it, I'm guessing the problem is that wireplumber and we don't have any way of configuring that via nix yet. Can you try if it works with pipewire-media-session if you disable all the audio stuff? This should cause alsa-monitor to never get loaded in pipewire:
That works flawlessly, as mentioned in my initial message in this thread.
Right, so this is the point where we have to make wireplumber configurable via nix. There has been towards that but the lua system maps rather badly to nix so nothing in nixpkgs yet. As an interim solution I think we should add an assert that tells people to manually switch back to media-session if they have both wireplumber and pulseaudio enabled?
Fixed problem for me
I must say that this problem has been driving me crazy and you guys just prevented hours of debugging. I will try your fix and report any problems.
OK, I think we need to add an assertion here. I'll do it tomorrow unless someone snipes me.
So, while switching to Pipewire is nice, I really don't think that justifies breaking people's mixed PW/Pulse setups. Please test the fix in if you're affected (and make sure you disable Pipewire beforehand).
where do you put this?
Please don't bump one-year-old threads. File a new issue.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

config = mkIf cfg.enable { assertions = [ { <del> assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable; message = "PipeWire based PulseAudio server emulation replaces PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false"; </del> <ins> assertion = cfg.audio.enable -> !config.hardware.pulseaudio.enable; message = "Using PipeWire as the sound server conflicts with PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false"; </ins> } { assertion = cfg.jack.enable -> !config.services.jack.jackd.enable; message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false"; } <ins> { # JACK intentionally not checked, as PW-on-JACK setups are a thing that some people may want assertion = (cfg.alsa.enable || cfg.pulse.enable) -> cfg.audio.enable; message = "Using PipeWire's ALSA/PulseAudio compatibility layers requires running PipeWire as the sound server. Set `services.pipewire.audio.enable` to true."; } </ins> ]; environment.systemPackages = [ cfg.package ]


Question:
After Wireplumber was enabled by default in , audio and video playback completely broke on my machine (NixOS-unstable, GNOME on X11, x86_64-linux). Preview thumbnails of videos did show, but clicking "play" on audio/video tracks does nothing. I've observed this directly in Firefox, Element Desktop, Freetube, Rhythmbox and Signal. Reverting by putting into my config resolves the issue. Steps to reproduce the behavior: Firefox to play a video since you authored the PR Please run and paste the result.
I've also verified that this isn't resolved by .
I am also experiencing issues with video playback, I am glad i found this issue. seems to have fixed it
Known regression with pipewire 0.3.48 and wireplumber 0.4.8. Should be fixed by .
I've tried to apply the fix from with: but it didn't resolve the issue for me.
That is strange. What's the store hash of your wireplumber build after this?
With the nixpkgs revision , I get: I haven't applied any overlays that influence wireplumber. (Checked by directly building wireplumber from your Nixpkgs PR branch)
That hash does seem to match. I wonder if it's a different issue then... Can you also run ?
By the way, if you want to, we can continue this on Matrix (I'm there).
Honestly at this point I'd probably just report a bug upstream, or ask around in
Okay, thanks, I'll try that. Do you happen to know whether wireplumber has some sort of "verbose/debug log" build option which might make it easier to find the bug?
Try WIREPLUMBER_DEBUG=10
You should try zapping all config and cache. Especially if you use bluetooth (in which case the bluez cache).
I've been having this issue, too, on unstable. What I've noticed is that, on reboot or logout/login, playing a video works just fine the first time. But on the second and subsequent times, video won't play. A stil image from the video is displayed, but the video doesn't play at all. Here's what I see with : For me, running fixes this problem immediately. That is, videos suddenly start playing.
Is this with the patch or without?
I also wanted to note that I've reported the issue upstream now (), maybe a few more log dumps from other people with this issue will help the developers over there
there might be relevant details here
How are you enabling Pipewire? Something like the snippet below?
That's an interesting question. I didn't explicitly enable Pipewire anythere, my sound config is just: Basically, I have no idea of audio systems on Linux and I just assumed that it was some sort of backend for PulseAudio. On my system however, the Pipewire and Wireplumber services are there. Maybe that's some sort of bug in the NixOS audio submodules?
With , I've confirmed that something in my config indeed causes to be set to true, but are all false.
I've backtraced this and is set by , which is in turn enabled by default on Gnome (nixos/modules/services/x11/desktop-). It might be worth to open an issue for that.
This is really useful debugging information! Take my next paragraph with a grain of salt, since I am not a PipeWire expert. Some parts of PipeWire relate to screensharing (which is probably why enables it) and supposedly should work even without the ALSA/PulseAudio/Jack emulation, but sometimes there are bugs in the session managers; for example, was a bug in the old session manager with a similar outcome. I think that screensharing use cases are meant to work even for PulseAudio users (that is, without enabling PipeWire's PulseAudio "emulation" layer).
It seems that part of the problem is that had those extra knobs for turning various emulation layers on and off (such as and ), but those are no longer respected when using WirePlumber. This might lead to some weird conflicts for PulseAudio users (for example, if WirePlumber decides to start pipewire-pulse).
But does this mean that the WirePlumber switch broke audio for every GNOME user that does not use PipeWire? This seems like the default config!
Those knobs are for Pipewire itself, not pipewire-media-session. Wireplumber should still be functional in a mixed PW/Pulse setup, so it's probably worth reopening the upstream issue.
I'd ask someone else to open that issue though because my knowledge on this topic is close to zero, and I'll probably not be able to accurately describe the technical details here. I've also tested this on my laptop, and it has the same issue, so that actually seems like a realistic possibility. I'm not really sure when it comes to user statistics, but from what I've seen, GNOME tends to be mostly used by less experienced users, while KDE and WMs like i3 are a lot more popular among advanced users, and the unstable repositories of an operating system are generally almost exclusively used by advanced users. So after considering the small user base of NixOS, it's really possible that there are just not that many GNOME/nixos-unstable users who are likely to encounter that bug.
Ideally yes, but there are two places in the NixOS module that look at : uses it to decide if the systemd service should be installed, and looks at it to create the file. Therefore, is given a hint that pipewire-pulse shouldn't be started, while upstream WirePlumber does not seem to have such an option. If I had to bet, I'd say WirePlumber does not currently support this use case.
pipewire-media-session doesn't start pipewire-pulse, systemd does. Wireplumber should detect the right setup automatically.
Yeah the file dates back to before the systemd service for pipewire-pulse existed. It is probably redundant nowadays.
I agree with what you two are saying, but I think I didn't express myself clearly, so I will try again; apologies if this is annoying. My point is that we have no indication that WirePlumber is designed to support mixed setups. The release notes for WirePlumber 0.4.0 say "It is a fundamental goal of this series to maintain compatibility with pipewire-media-session, making WirePlumber suitable for a desktop PulseAudio & JACK replacement setup, while supporting other setups as well (ex. automotive) by making use of its brand new Lua scripting engine, which allows making customizations easily." and it's unclear if they care about our use case (IMO it would be perfectly reasonable to not support PulseAudio). I'll ask upstream.
Pipewire and Pulseaudio are (should be) mutually exclusive. They both try to multiplex the underlying hardware, so if you're running both of them, that may or may not work depending on whether the physical sound hardware is capable of handling multiple streams. Some is, some isn't. It's not as common to have that functionality as it used to be, since modern CPUs are more than capable of handling it in software. How it should work is that: If is set, that brings up the default audio manager. Whatever that is. Pipewire would be a good choice. If is also set, that enables pulseaudio and disables pipewire. If both pulseaudio and pipewire are explicitly enabled, that should hit an assert. There are very few cases in which enabling both makes any sense. Pipewire has a pulseaudio compat layer; this is not the same thing as running pulseaudio itself. But I haven't checked the actual behaviour of nixos, so I have no idea what's happening. Try ; this should tell us what is running on your system.
That is not true. Pipewire can be used for video and audio, and running Pulse for audio and Pipewire for video is a supported configuration.
Is that in fact how we're using it? Or is it opening the sound devices regardless? ...I should just check. Will report back later.
With Pulseaudio enabled (by ), Pipewire started when I opened a video on youtube, and no sooner — there was, however, no sound. Chrome connected to pulseaudio regardless. Pavucontrol reported no sound output devices available; only sound input was possible. A bit of searching in /proc indicated that pipewire was holding the audio devices open, and my sound card indeed only supports one stream at a time... but I'm unable to confirm that this is the issue. Regardless, I was only able to make sound work by either completely disabling pipewire, or completely disabling pulseaudio. I concur the Pipewire should be usable without making it grab the sound devices. However, how does one tell it to avoid that?
Hmm without looking deeply into it, I'm guessing the problem is that wireplumber and we don't have any way of configuring that via nix yet. Can you try if it works with pipewire-media-session if you disable all the audio stuff? This should cause alsa-monitor to never get loaded in pipewire:
That works flawlessly, as mentioned in my initial message in this thread.
Right, so this is the point where we have to make wireplumber configurable via nix. There has been towards that but the lua system maps rather badly to nix so nothing in nixpkgs yet. As an interim solution I think we should add an assert that tells people to manually switch back to media-session if they have both wireplumber and pulseaudio enabled?
Fixed problem for me
I must say that this problem has been driving me crazy and you guys just prevented hours of debugging. I will try your fix and report any problems.
OK, I think we need to add an assertion here. I'll do it tomorrow unless someone snipes me.
So, while switching to Pipewire is nice, I really don't think that justifies breaking people's mixed PW/Pulse setups. Please test the fix in if you're affected (and make sure you disable Pipewire beforehand).
where do you put this?
Please don't bump one-year-old threads. File a new issue.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

{ config, lib, pkgs, ... }: let <del> cfg = config.services.pipewire.wireplumber; </del> <ins> pwCfg = config.services.pipewire; cfg = pwCfg.wireplumber; pwUsedForAudio = pwCfg.audio.enable; </ins> in { meta.maintainers = [ lib.maintainers.k900 ];


Question:
After Wireplumber was enabled by default in , audio and video playback completely broke on my machine (NixOS-unstable, GNOME on X11, x86_64-linux). Preview thumbnails of videos did show, but clicking "play" on audio/video tracks does nothing. I've observed this directly in Firefox, Element Desktop, Freetube, Rhythmbox and Signal. Reverting by putting into my config resolves the issue. Steps to reproduce the behavior: Firefox to play a video since you authored the PR Please run and paste the result.
I've also verified that this isn't resolved by .
I am also experiencing issues with video playback, I am glad i found this issue. seems to have fixed it
Known regression with pipewire 0.3.48 and wireplumber 0.4.8. Should be fixed by .
I've tried to apply the fix from with: but it didn't resolve the issue for me.
That is strange. What's the store hash of your wireplumber build after this?
With the nixpkgs revision , I get: I haven't applied any overlays that influence wireplumber. (Checked by directly building wireplumber from your Nixpkgs PR branch)
That hash does seem to match. I wonder if it's a different issue then... Can you also run ?
By the way, if you want to, we can continue this on Matrix (I'm there).
Honestly at this point I'd probably just report a bug upstream, or ask around in
Okay, thanks, I'll try that. Do you happen to know whether wireplumber has some sort of "verbose/debug log" build option which might make it easier to find the bug?
Try WIREPLUMBER_DEBUG=10
You should try zapping all config and cache. Especially if you use bluetooth (in which case the bluez cache).
I've been having this issue, too, on unstable. What I've noticed is that, on reboot or logout/login, playing a video works just fine the first time. But on the second and subsequent times, video won't play. A stil image from the video is displayed, but the video doesn't play at all. Here's what I see with : For me, running fixes this problem immediately. That is, videos suddenly start playing.
Is this with the patch or without?
I also wanted to note that I've reported the issue upstream now (), maybe a few more log dumps from other people with this issue will help the developers over there
there might be relevant details here
How are you enabling Pipewire? Something like the snippet below?
That's an interesting question. I didn't explicitly enable Pipewire anythere, my sound config is just: Basically, I have no idea of audio systems on Linux and I just assumed that it was some sort of backend for PulseAudio. On my system however, the Pipewire and Wireplumber services are there. Maybe that's some sort of bug in the NixOS audio submodules?
With , I've confirmed that something in my config indeed causes to be set to true, but are all false.
I've backtraced this and is set by , which is in turn enabled by default on Gnome (nixos/modules/services/x11/desktop-). It might be worth to open an issue for that.
This is really useful debugging information! Take my next paragraph with a grain of salt, since I am not a PipeWire expert. Some parts of PipeWire relate to screensharing (which is probably why enables it) and supposedly should work even without the ALSA/PulseAudio/Jack emulation, but sometimes there are bugs in the session managers; for example, was a bug in the old session manager with a similar outcome. I think that screensharing use cases are meant to work even for PulseAudio users (that is, without enabling PipeWire's PulseAudio "emulation" layer).
It seems that part of the problem is that had those extra knobs for turning various emulation layers on and off (such as and ), but those are no longer respected when using WirePlumber. This might lead to some weird conflicts for PulseAudio users (for example, if WirePlumber decides to start pipewire-pulse).
But does this mean that the WirePlumber switch broke audio for every GNOME user that does not use PipeWire? This seems like the default config!
Those knobs are for Pipewire itself, not pipewire-media-session. Wireplumber should still be functional in a mixed PW/Pulse setup, so it's probably worth reopening the upstream issue.
I'd ask someone else to open that issue though because my knowledge on this topic is close to zero, and I'll probably not be able to accurately describe the technical details here. I've also tested this on my laptop, and it has the same issue, so that actually seems like a realistic possibility. I'm not really sure when it comes to user statistics, but from what I've seen, GNOME tends to be mostly used by less experienced users, while KDE and WMs like i3 are a lot more popular among advanced users, and the unstable repositories of an operating system are generally almost exclusively used by advanced users. So after considering the small user base of NixOS, it's really possible that there are just not that many GNOME/nixos-unstable users who are likely to encounter that bug.
Ideally yes, but there are two places in the NixOS module that look at : uses it to decide if the systemd service should be installed, and looks at it to create the file. Therefore, is given a hint that pipewire-pulse shouldn't be started, while upstream WirePlumber does not seem to have such an option. If I had to bet, I'd say WirePlumber does not currently support this use case.
pipewire-media-session doesn't start pipewire-pulse, systemd does. Wireplumber should detect the right setup automatically.
Yeah the file dates back to before the systemd service for pipewire-pulse existed. It is probably redundant nowadays.
I agree with what you two are saying, but I think I didn't express myself clearly, so I will try again; apologies if this is annoying. My point is that we have no indication that WirePlumber is designed to support mixed setups. The release notes for WirePlumber 0.4.0 say "It is a fundamental goal of this series to maintain compatibility with pipewire-media-session, making WirePlumber suitable for a desktop PulseAudio & JACK replacement setup, while supporting other setups as well (ex. automotive) by making use of its brand new Lua scripting engine, which allows making customizations easily." and it's unclear if they care about our use case (IMO it would be perfectly reasonable to not support PulseAudio). I'll ask upstream.
Pipewire and Pulseaudio are (should be) mutually exclusive. They both try to multiplex the underlying hardware, so if you're running both of them, that may or may not work depending on whether the physical sound hardware is capable of handling multiple streams. Some is, some isn't. It's not as common to have that functionality as it used to be, since modern CPUs are more than capable of handling it in software. How it should work is that: If is set, that brings up the default audio manager. Whatever that is. Pipewire would be a good choice. If is also set, that enables pulseaudio and disables pipewire. If both pulseaudio and pipewire are explicitly enabled, that should hit an assert. There are very few cases in which enabling both makes any sense. Pipewire has a pulseaudio compat layer; this is not the same thing as running pulseaudio itself. But I haven't checked the actual behaviour of nixos, so I have no idea what's happening. Try ; this should tell us what is running on your system.
That is not true. Pipewire can be used for video and audio, and running Pulse for audio and Pipewire for video is a supported configuration.
Is that in fact how we're using it? Or is it opening the sound devices regardless? ...I should just check. Will report back later.
With Pulseaudio enabled (by ), Pipewire started when I opened a video on youtube, and no sooner — there was, however, no sound. Chrome connected to pulseaudio regardless. Pavucontrol reported no sound output devices available; only sound input was possible. A bit of searching in /proc indicated that pipewire was holding the audio devices open, and my sound card indeed only supports one stream at a time... but I'm unable to confirm that this is the issue. Regardless, I was only able to make sound work by either completely disabling pipewire, or completely disabling pulseaudio. I concur the Pipewire should be usable without making it grab the sound devices. However, how does one tell it to avoid that?
Hmm without looking deeply into it, I'm guessing the problem is that wireplumber and we don't have any way of configuring that via nix yet. Can you try if it works with pipewire-media-session if you disable all the audio stuff? This should cause alsa-monitor to never get loaded in pipewire:
That works flawlessly, as mentioned in my initial message in this thread.
Right, so this is the point where we have to make wireplumber configurable via nix. There has been towards that but the lua system maps rather badly to nix so nothing in nixpkgs yet. As an interim solution I think we should add an assert that tells people to manually switch back to media-session if they have both wireplumber and pulseaudio enabled?
Fixed problem for me
I must say that this problem has been driving me crazy and you guys just prevented hours of debugging. I will try your fix and report any problems.
OK, I think we need to add an assertion here. I'll do it tomorrow unless someone snipes me.
So, while switching to Pipewire is nice, I really don't think that justifies breaking people's mixed PW/Pulse setups. Please test the fix in if you're affected (and make sure you disable Pipewire beforehand).
where do you put this?
Please don't bump one-year-old threads. File a new issue.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:

]; environment.systemPackages = [ cfg.package ]; <ins> environment.etc."wireplumber/main.lua.d/80-nixos.lua" = lib.mkIf (!pwUsedForAudio) { text = '' # Pipewire is not used for audio, so prevent it from grabbing audio devices alsa_monitor.enable = function() end ''; }; </ins> systemd.packages = [ cfg.package ]; systemd.services.wireplumber.enable = config.services.pipewire.systemWide;


Question:
I don't use at all, but I'm getting this error when I'm trying to rebuild my flakes (same happens when I run ) and also I don't really use it or install it Steps to reproduce the behavior: or Expect or to work fine I ran before running <!-- 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.
By grepping through nixpkgs, depends on by default. (see ). However, abook is only lists linux as supported (Im not sure if this this is just nixpkgs or abook in general) Up until , lbdb has not depended on abook by default. Perhaps a mistake was made while refactoring. In the meantime, you can just override the package.

description = "Text-based addressbook program designed to use with mutt mail client"; license = lib.licenses.gpl2; maintainers = [ lib.maintainers.edwtjo ]; <del> platforms = with lib.platforms; linux; </del> <ins> platforms = with lib.platforms; unix; </ins> }; }


Question:
are you on top of this?
Thanks for the heads up, yeah, just waited for the GitHub releases to appear. I’ll create a PR soon.

in py.pkgs.buildPythonApplication rec { pname = "salt"; <del> version = "3004"; </del> <ins> version = "3004.1"; </ins> src = py.pkgs.fetchPypi { inherit pname version; <del> sha256 = "PVNWG8huAU3KLsPcmBB5vgTVXqBHiQyr3iXlsQv6WxM="; </del> <ins> hash = "sha256-fzRKJDJkik8HjapazMaNzf/hCVzqE+wh5QQTVg8Ewpg="; </ins> }; propagatedBuildInputs = with py.pkgs; [