diff --git a/pkgs/by-name/sy/systemd-lock-handler/package.nix b/pkgs/by-name/sy/systemd-lock-handler/package.nix new file mode 100644 index 000000000000..b46b9f1206db --- /dev/null +++ b/pkgs/by-name/sy/systemd-lock-handler/package.nix @@ -0,0 +1,47 @@ +{ lib +, fetchFromSourcehut +, buildGoModule +, nix-update-script +}: + +buildGoModule rec { + pname = "systemd-lock-handler"; + version = "2.4.2"; + + src = fetchFromSourcehut { + owner = "~whynothugo"; + repo = "systemd-lock-handler"; + rev = "v${version}"; + hash = "sha256-sTVAabwWtyvHuDp/+8FKNbfej1x/egoa9z1jLIMJuBg="; + }; + + vendorHash = "sha256-dWzojV3tDA5lLdpAQNC9NaADGyvV7dNOS3x8mfgNNtA="; + + passthru.updateScript = nix-update-script { }; + + # The Makefile expects to find the binary in the source root. Make + # the one built by `buildGoModule` available so that `make install` + # doesn’t try to build it again. + postBuild = '' + cp -a $GOPATH/bin/* . + ''; + + installPhase = '' + runHook preInstall + + substituteInPlace systemd-lock-handler.service \ + --replace /usr/lib/ $out/lib/ + + make install DESTDIR= PREFIX=$out + + runHook postInstall + ''; + + meta = with lib; { + homepage = "https://git.sr.ht/~whynothugo/systemd-lock-handler"; + description = "Translates systemd-system lock/sleep signals into systemd-user target activations"; + license = licenses.isc; + maintainers = with maintainers; [ liff ]; + platforms = platforms.linux; + }; +}