diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 7c58539bcafa..d5bccd21735e 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -663,6 +663,15 @@
group.
+
+
+ The yambar package has been split into
+ yambar and
+ yambar-wayland, corresponding to the xorg
+ and wayland backend respectively. Please switch to
+ yambar-wayland if you are on wayland.
+
+
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index ee40b509d0e7..54347750a678 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -166,6 +166,8 @@ pt-services.clipcat.enable).
- The `openrazer` and `openrazer-daemon` packages as well as the `hardware.openrazer` module now require users to be members of the `openrazer` group instead of `plugdev`. With this change, users no longer need be granted the entire set of `plugdev` group permissions, which can include permissions other than those required by `openrazer`. This is desirable from a security point of view. The setting [`harware.openrazer.users`](options.html#opt-services.hardware.openrazer.users) can be used to add users to the `openrazer` group.
+- The `yambar` package has been split into `yambar` and `yambar-wayland`, corresponding to the xorg and wayland backend respectively. Please switch to `yambar-wayland` if you are on wayland.
+
## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix
index 933f352e5e86..db2f0579d1e8 100644
--- a/pkgs/applications/misc/yambar/default.nix
+++ b/pkgs/applications/misc/yambar/default.nix
@@ -1,6 +1,6 @@
{ stdenv
, lib
-, fetchgit
+, fetchFromGitea
, pkg-config
, meson
, ninja
@@ -9,50 +9,75 @@
, fcft
, json_c
, libmpdclient
-, libxcb
, libyaml
, pixman
, tllist
, udev
, wayland
+, wayland-scanner
, wayland-protocols
+, waylandSupport ? false
+# Xorg backend
+, libxcb
, xcbutil
, xcbutilcursor
, xcbutilerrors
, xcbutilwm
}:
+let
+ # Courtesy of sternenseemann and FRidh, commit c9a7fdfcfb420be8e0179214d0d91a34f5974c54
+ mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+in
+
stdenv.mkDerivation rec {
pname = "yambar";
version = "1.6.2";
- src = fetchgit {
- url = "https://codeberg.org/dnkl/yambar.git";
+ src = fetchFromGitea {
+ domain = "codeberg.org";
+ owner = "dnkl";
+ repo = "yambar";
rev = version;
- sha256 = "sha256-oUNkaWrYIcsK2u+aeRg6DHmH4M1VZ0leNSM0lV9Yy1Y=";
+ sha256 = "sha256-GPKR2BYl3ebxxXbVfH/oZLs7639EYwWU4ZsilJn0Ss8=";
};
- nativeBuildInputs = [ pkg-config meson ninja scdoc ];
+ nativeBuildInputs = [
+ pkg-config
+ meson
+ ninja
+ scdoc
+ wayland-scanner
+ ];
+
buildInputs = [
alsa-lib
fcft
json_c
libmpdclient
- libxcb
libyaml
pixman
tllist
udev
wayland
wayland-protocols
+ ] ++ lib.optionals (!waylandSupport) [
xcbutil
xcbutilcursor
xcbutilerrors
xcbutilwm
];
+ mesonBuildType = "release";
+
+ mesonFlags = [
+ (mesonFeatureFlag "backend-x11" (!waylandSupport))
+ (mesonFeatureFlag "backend-wayland" waylandSupport)
+ ];
+
meta = with lib; {
homepage = "https://codeberg.org/dnkl/yambar";
+ changelog = "https://codeberg.org/dnkl/yambar/releases/tag/${version}";
description = "Modular status panel for X11 and Wayland";
longDescription = ''
yambar is a lightweight and configurable status panel (bar, for short) for
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 158871c49b27..9bacae58b9d9 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -26242,6 +26242,8 @@ in
yambar = callPackage ../applications/misc/yambar { };
+ yambar-wayland = callPackage ../applications/misc/yambar { waylandSupport = true; };
+
polyphone = libsForQt514.callPackage ../applications/audio/polyphone { };
portfolio = callPackage ../applications/office/portfolio {