14 , withICUCalendar ? false
17 rustPlatform.buildRustPackage rec {
18 pname = "i3status-rust";
21 src = fetchFromGitHub {
24 rev = "refs/tags/v${version}";
25 hash = "sha256-9lzzjb6tDfgqjAT9mS/cWfC6ucNXoJ8JJwtZ0FZqlDA=";
28 cargoHash = "sha256-yeijJl94v+yKMVnU/Fjzapab/nExlvoznrx8Ydz/RvM=";
30 nativeBuildInputs = [ pkg-config makeWrapper ];
32 buildInputs = [ dbus libpulseaudio notmuch openssl lm_sensors ];
38 ] ++ (lib.optionals withICUCalendar [ "icu_calendar" ]);
41 substituteInPlace src/util.rs \
42 --replace "/usr/share/i3status-rust" "$out/share"
47 cp -R examples files/* $out/share
51 wrapProgram $out/bin/i3status-rs --prefix PATH : ${lib.makeBinPath [ iproute2 ethtool iw ]}
54 # Currently no tests are implemented, so we avoid building the package twice
58 description = "Very resource-friendly and feature-rich replacement for i3status";
59 homepage = "https://github.com/greshake/i3status-rust";
60 license = licenses.gpl3Only;
61 mainProgram = "i3status-rs";
62 maintainers = with maintainers; [ backuitist globin ];
63 platforms = platforms.linux;