nix-files/pkgs/additional/sysvol/default.nix

57 lines
1.3 KiB
Nix

{ lib, stdenv
, fetchFromGitHub
, gtk4-layer-shell
, gtkmm4
, pkg-config
, pulseaudio
, nix-update-script
, wrapGAppsHook4
}:
stdenv.mkDerivation (finalAttrs: {
pname = "sysvol";
version = "0-unstable-2024-04-11";
src = fetchFromGitHub {
owner = "System64fumo";
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
'';
passthru.updateScript = nix-update-script {
extraArgs = [ "--version" "branch" ];
};
meta = {
description = "A basic GTK4 volume indicator";
homepage = "https://github.com/System64fumo/sysvol";
mainProgram = "sysvol";
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ colinsane ];
};
})