about summary refs log tree commit diff stats
path: root/pkgs/by-name/i3/i3bar-river-patched/package.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--pkgs/by-name/i3/i3bar-river-patched/package.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/pkgs/by-name/i3/i3bar-river-patched/package.nix b/pkgs/by-name/i3/i3bar-river-patched/package.nix
new file mode 100644
index 00000000..88af5d8a
--- /dev/null
+++ b/pkgs/by-name/i3/i3bar-river-patched/package.nix
@@ -0,0 +1,66 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+  lib,
+  fetchFromGitHub,
+  rustPlatform,
+  pkg-config,
+  pango,
+  fetchpatch2,
+}:
+rustPlatform.buildRustPackage {
+  pname = "i3bar-river-patched";
+  version = "1.1.0-unstable-2025-05-20";
+
+  src = fetchFromGitHub {
+    owner = "MaxVerevkin";
+    repo = "i3bar-river";
+    rev = "73446cac559b10adf4beb5567a816d1be5273457";
+    hash = "sha256-NxlFKTnd2erHtSG56aWlZEkWVzBqe2hqQuVAWDdBq2c=";
+  };
+
+  useFetchCargoVendor = true;
+  cargoHash = "sha256-8sub8cXC/1iDY6v/9opO4FiLAo9CFrGJSDPNQydGvhQ=";
+
+  cargoPatches = [
+    # Add a separate theme for unfocused outputs.
+    (fetchpatch2 {
+      name = "Add support for special theme for unfocused outputs";
+      url = "https://patch-diff.githubusercontent.com/raw/MaxVerevkin/i3bar-river/pull/44.patch";
+      hash = "sha256-yH3K52kAXGW19maP77gOTHSauqQX7Px8qCZDua6wo4w=";
+    })
+
+    # TODO(@bpeetz): Remove this patch once the rustc update hits unstable. <2025-05-20>
+    ./0001-revert-use-std-io-pipe.patch
+
+    # TODO(@bpeetz): Open an issues, whether something like that could be upstreamed. <2025-05-20>
+    ./0002-feat-crate-bar-Put-the-leftmost-block-in-the-middle-.patch
+  ];
+
+  # Remove the WMs that I don't use.
+  buildNoDefaultFeatures = true;
+  buildFeatures = [
+    # "hyprland"
+    # "niri"
+    "river"
+  ];
+
+  nativeBuildInputs = [pkg-config];
+  buildInputs = [pango];
+
+  meta = with lib; {
+    description = "Port of i3bar for river";
+    homepage = "https://github.com/MaxVerevkin/i3bar-river";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [nicegamer7];
+    mainProgram = "i3bar-river";
+    platforms = platforms.linux;
+  };
+}