From f02a08d477f217b9772f0df082c31455f2bf6462 Mon Sep 17 00:00:00 2001 From: Lennart Eichhorn Date: Wed, 4 May 2022 10:52:46 +0200 Subject: [PATCH] headset-charge-indicator: init at 2021-08-15 --- .../headset-charge-indicator/default.nix | 63 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 65 insertions(+) create mode 100644 pkgs/tools/audio/headset-charge-indicator/default.nix diff --git a/pkgs/tools/audio/headset-charge-indicator/default.nix b/pkgs/tools/audio/headset-charge-indicator/default.nix new file mode 100644 index 00000000000..2e4f6318519 --- /dev/null +++ b/pkgs/tools/audio/headset-charge-indicator/default.nix @@ -0,0 +1,63 @@ +{ lib, stdenv, fetchFromGitHub, headsetcontrol, wrapGAppsHook, python3, gtk3 +, gobject-introspection, libayatana-appindicator-gtk3 }: + +stdenv.mkDerivation rec { + # The last versioned release is 1.0.0.0 from 2020, since then there were updates but no versioned release. + # This is not marked unstable because upstream encourages installation from source. + pname = "headset-charge-indicator"; + version = "2021-08-15"; + + src = fetchFromGitHub { + owner = "centic9"; + repo = "headset-charge-indicator"; + rev = "6e20f81a4d6118c7385b831044c468af83103193"; + sha256 = "sha256-eaAbqeFY+B3CcKJywC3vaRsWZNQENTbALc7L7uW0W6U="; + }; + + nativeBuildInputs = [ wrapGAppsHook ]; + + buildInputs = [ + (python3.withPackages (ps: with ps; [ pygobject3 ])) + headsetcontrol + gtk3 + gobject-introspection + libayatana-appindicator-gtk3 + ]; + + installPhase = '' + mkdir -p $out/bin + cp $src/headset-charge-indicator.py $out/bin/headset-charge-indicator.py + chmod +x $out/bin/headset-charge-indicator.py + + substituteInPlace \ + $out/bin/headset-charge-indicator.py \ + --replace "default='headsetcontrol'" "default='${headsetcontrol}/bin/headsetcontrol'" + + cat << EOF > ${pname}.desktop + [Desktop Entry] + Name=Wireless headset app-indicator + Categories=Application;System + Exec=$out/bin/headset-charge-indicator.py + Terminal=false + Type=Application + X-GNOME-AutoRestart=true + X-GNOME-Autostart-enabled=true + EOF + + mkdir -p $out/share/applications + mkdir -p $out/etc/xdg/autostart + cp ${pname}.desktop $out/share/applications/${pname}.desktop + cp ${pname}.desktop $out/etc/xdg/autostart/${pname}.desktop + ''; + + meta = with lib; { + homepage = "https://github.com/centic9/headset-charge-indicator"; + description = + "A app-indicator for GNOME desktops for controlling some features of various wireless headsets"; + longDescription = + "A simple app-indicator for GNOME desktops to display the battery charge of some wireless headsets which also allows to control some functions like LEDs, sidetone and others."; + platforms = platforms.linux; + maintainers = with maintainers; [ zebreus ]; + license = licenses.bsd2; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd271d10211..1648c49891a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1151,6 +1151,8 @@ with pkgs; headsetcontrol = callPackage ../tools/audio/headsetcontrol { }; + headset-charge-indicator = callPackage ../tools/audio/headset-charge-indicator { }; + httm = callPackage ../tools/filesystems/httm { }; ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };