anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / misc / deadd-notification-center / default.nix
blobe6fed669c72d62a5432e23e35850f82fcc4e81f1
1 { mkDerivation, haskellPackages, fetchFromGitHub, lib }:
3 let
4   # deadd-notification-center.service
5   systemd-service = ''
6     [Unit]
7     Description=Deadd Notification Center
8     PartOf=graphical-session.target
10     [Service]
11     Type=dbus
12     BusName=org.freedesktop.Notifications
13     ExecStart=$out/bin/deadd-notification-center
15     [Install]
16     WantedBy=graphical-session.target
17   '';
18 in mkDerivation rec {
19   pname = "deadd-notification-center";
20   version = "2.1.1";
22   src = fetchFromGitHub {
23     owner = "phuhl";
24     repo = "linux_notification_center";
25     rev = version;
26     hash = "sha256-VU9NaQVS0n8hFRjWMvCMkaF5mZ4hpnluV31+/SAK7tU=";
27   };
29   isLibrary = false;
31   isExecutable = true;
33   libraryHaskellDepends = with haskellPackages; [
34     aeson base bytestring ConfigFile containers dbus directory env-locale
35     filepath gi-cairo gi-gdk gi-gdkpixbuf gi-gio gi-glib gi-gobject
36     gi-gtk gi-pango haskell-gettext haskell-gi haskell-gi-base
37     hdaemonize here lens mtl process regex-tdfa setlocale split stm
38     tagsoup text time transformers tuple unix yaml
39   ];
41   executableHaskellDepends = with haskellPackages; [ base ];
43   # Test suite does nothing.
44   doCheck = false;
46   postPatch = ''
47     substituteInPlace src/NotificationCenter.hs \
48       --replace '/etc/xdg/deadd/deadd.css' "$out/etc/deadd.css"
49   '';
51   # Add systemd user unit and install default style.
52   postInstall = ''
53     mkdir -p $out/lib/systemd/user
54     install -Dm644 style.css $out/etc/deadd.css
55     echo "${systemd-service}" > $out/lib/systemd/user/deadd-notification-center.service
56   '';
58   description = "Haskell-written notification center for users that like a desktop with style";
59   homepage = "https://github.com/phuhl/linux_notification_center";
60   license = lib.licenses.bsd3;
61   maintainers = with lib.maintainers; [ melkor333 sna ];
62   platforms = lib.platforms.linux;
63   mainProgram = "deadd-notification-center";