52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
Nix
{ lib, stdenv
|
|
, fetchFromGitHub
|
|
, gtk4-layer-shell
|
|
, gtkmm4
|
|
, pkg-config
|
|
, pulseaudio
|
|
, wrapGAppsHook4
|
|
}:
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "sysvol";
|
|
version = "0-unstable-2024-04-11";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "AmirDahan";
|
|
repo = "sysvol";
|
|
rev = "a26809de285ee194436bc55ef701476765c5b15e";
|
|
hash = "sha256-WiFm5SRQV2up9EBCR9oF0p9F+DQHDQZhxsaUuvpbMw8=";
|
|
};
|
|
postPatch = let
|
|
# i don't know how else to escape this
|
|
var = v: lib.concatStrings [ "$" "{" v "}" ];
|
|
in ''
|
|
substituteInPlace Makefile \
|
|
--replace-fail 'pkg-config' '${var "PKG_CONFIG"}' \
|
|
--replace-fail 'g++' '${var "CXX"}' \
|
|
--replace-fail 'strip sysvol' ""
|
|
'';
|
|
|
|
nativeBuildInputs = [
|
|
pkg-config
|
|
wrapGAppsHook4 #< to plumb `GDK_PIXBUF_MODULE_FILE` through, and get not-blurry icons
|
|
];
|
|
buildInputs = [
|
|
gtk4-layer-shell
|
|
gtkmm4
|
|
pulseaudio
|
|
];
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
install -m755 sysvol $out/bin/sysvol
|
|
'';
|
|
|
|
meta = {
|
|
description = "A basic GTK4 volume indicator";
|
|
inherit (finalAttrs.src.meta) homepage;
|
|
mainProgram = "sysvol";
|
|
platforms = lib.platforms.linux;
|
|
maintainers = with lib.maintainers; [ colinsane ];
|
|
};
|
|
})
|