diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 33b0b3faea6..4048b882f0d 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -2002,6 +2002,24 @@
+
+
+ The polybar package has been updated from
+ 3.5.7 to 3.6.2. See
+ the
+ changelog for more details.
+
+
+
+
+ Breaking changes include changes to escaping rules in
+ configuration values, changes in behavior when
+ encountering invalid tag names, and changes to
+ inter-process-messaging (IPC).
+
+
+
+
Renamed option
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index a671f08acfd..dab71c900dc 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -709,6 +709,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- The RPC protocol version was bumped; all zrepl daemons in a setup must be updated and restarted before replication can resume.
- A bug involving encrypt-on-receive has been fixed. Read the [zrepl documentation](https://zrepl.github.io/configuration/sendrecvoptions.html#job-recv-options-placeholder) and check the output of `zfs get -r encryption,zrepl:placeholder PATH_TO_ROOTFS` on the receiver.
+- The `polybar` package has been updated from 3.5.7 to 3.6.2. See [the changelog](https://github.com/polybar/polybar/releases/tag/3.6.0) for more details.
+ - Breaking changes include changes to escaping rules in configuration values, changes in behavior when encountering invalid tag names, and changes to inter-process-messaging (IPC).
+
- Renamed option `services.openssh.challengeResponseAuthentication` to `services.openssh.kbdInteractiveAuthentication`.
Reason is that the old name has been deprecated upstream.
Using the old option name will still work, but produce a warning.
diff --git a/pkgs/applications/misc/polybar/default.nix b/pkgs/applications/misc/polybar/default.nix
index 3660b0d7e0b..f737f18d158 100644
--- a/pkgs/applications/misc/polybar/default.nix
+++ b/pkgs/applications/misc/polybar/default.nix
@@ -2,6 +2,7 @@
, cairo
, cmake
, fetchFromGitHub
+, libuv
, libXdmcp
, libpthreadstubs
, libxcb
@@ -43,13 +44,13 @@
stdenv.mkDerivation rec {
pname = "polybar";
- version = "3.5.7";
+ version = "3.6.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
- sha256 = "sha256-h12VW3IY4do4cKz2Fd/QgVTBk+zJO+qXuRUCQUyO/x0=";
+ hash = "sha256-mLAcA8afGLNhRRU/x/TngCMcSRXdEM5wKWoYZhezJqU=";
fetchSubmodules = true;
};
@@ -62,6 +63,7 @@ stdenv.mkDerivation rec {
buildInputs = [
cairo
+ libuv
libXdmcp
libpthreadstubs
libxcb
@@ -84,6 +86,14 @@ stdenv.mkDerivation rec {
++ lib.optional i3Support i3
++ lib.optional i3GapsSupport i3-gaps;
+ patches = [ ./remove-hardcoded-etc.diff ];
+
+ # Replace hardcoded /etc when copying and reading the default config.
+ postPatch = ''
+ substituteInPlace CMakeLists.txt --replace "/etc" $out
+ substituteAllInPlace src/utils/file.cpp
+ '';
+
postInstall =
if i3Support then ''
wrapProgram $out/bin/polybar \
diff --git a/pkgs/applications/misc/polybar/remove-hardcoded-etc.diff b/pkgs/applications/misc/polybar/remove-hardcoded-etc.diff
new file mode 100644
index 00000000000..d0c6db8b6b0
--- /dev/null
+++ b/pkgs/applications/misc/polybar/remove-hardcoded-etc.diff
@@ -0,0 +1,13 @@
+diff --git a/src/utils/file.cpp b/src/utils/file.cpp
+index 9511ad61..d3d82b99 100644
+--- a/src/utils/file.cpp
++++ b/src/utils/file.cpp
+@@ -322,7 +322,7 @@ namespace file_util {
+ possible_paths.push_back(xdg_config_dir + suffix + ".ini");
+ }
+
+- possible_paths.push_back("/etc" + suffix + ".ini");
++ possible_paths.push_back("@out@" + suffix + ".ini");
+
+ for (const string& p : possible_paths) {
+ if (exists(p)) {