vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / pkgs / applications / misc / systembus-notify / default.nix
blobc059c566fecd36fa1d449359c6710dbe019dcda8
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , formats
5 , systemd
6 }:
8 let
9   ini = formats.ini { };
11   unit = ini.generate "systembus-notify.service" {
12     Unit = {
13       Description = "system bus notification daemon";
14     };
16     Service = {
17       Type = "exec";
18       ExecStart = "@out@/bin/systembus-notify";
19       PrivateTmp = true;
20       # NB. We cannot `ProtectHome`, or it would block session dbus access.
21       InaccessiblePaths = "/home";
22       ReadOnlyPaths = "/run/user";
23       ProtectSystem = "strict";
24       Restart = "on-failure";
25       Slice = "background.slice";
26     };
27   };
30 stdenv.mkDerivation rec {
31   pname = "systembus-notify";
32   version = "1.1";
34   src = fetchFromGitHub {
35     owner = "rfjakob";
36     repo = "systembus-notify";
37     rev = "v${version}";
38     sha256 = "sha256-WzuBw7LXW54CCMgFE9BSJ2skxaz4IA2BcBny63Ihtt0=";
39   };
41   buildInputs = [ systemd ];
43   installPhase = ''
44     runHook preInstall
46     install -Dm555 -t $out/bin systembus-notify
47     install -Dm444 -t $out/share/systembus-notify systembus-notify.desktop
49     install -d $out/lib/systemd/user
50     substitute ${unit} $out/lib/systemd/user/${unit.name} \
51       --subst-var out
53     runHook postInstall
54   '';
56   # requires a running dbus instance
57   doCheck = false;
59   meta = with lib; {
60     description = "System bus notification daemon";
61     homepage = "https://github.com/rfjakob/systembus-notify";
62     license = licenses.mit;
63     maintainers = with maintainers; [ peterhoeg ];
64     platforms = platforms.linux;
65     mainProgram = "systembus-notify";
66   };