Files
nixpkgs/pkgs/by-name/du/dunst/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

129 lines
2.4 KiB
Nix

{
stdenv,
lib,
fetchFromGitHub,
makeWrapper,
pkg-config,
which,
perl,
jq,
libXrandr,
coreutils,
cairo,
dbus,
systemd,
gdk-pixbuf,
glib,
libX11,
libXScrnSaver,
wayland,
wayland-protocols,
libXinerama,
libnotify,
pango,
xorgproto,
librsvg,
versionCheckHook,
nix-update-script,
withX11 ? true,
withWayland ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "dunst";
version = "1.13.0";
src = fetchFromGitHub {
owner = "dunst-project";
repo = "dunst";
tag = "v${finalAttrs.version}";
hash = "sha256-HPmIcOLoYDD1GEgTh1elA9xiZGFKt1In4vsAtRsOukE=";
};
nativeBuildInputs = [
perl
pkg-config
which
systemd
makeWrapper
];
buildInputs = [
cairo
dbus
gdk-pixbuf
glib
libnotify
pango
librsvg
]
++ lib.optionals withX11 [
libX11
libXScrnSaver
libXinerama
xorgproto
libXrandr
]
++ lib.optionals withWayland [
wayland
wayland-protocols
];
outputs = [
"out"
"man"
];
makeFlags = [
"PREFIX=$(out)"
"VERSION=$(version)"
"SYSCONFDIR=$(out)/etc"
"SERVICEDIR_DBUS=$(out)/share/dbus-1/services"
"SERVICEDIR_SYSTEMD=$(out)/lib/systemd/user"
]
++ lib.optional (!withX11) "X11=0"
++ lib.optional (!withWayland) "WAYLAND=0";
postInstall = ''
wrapProgram $out/bin/dunst \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
wrapProgram $out/bin/dunstctl \
--prefix PATH : "${
lib.makeBinPath [
coreutils
dbus
]
}"
substituteInPlace \
$out/share/zsh/site-functions/_dunstctl \
$out/share/bash-completion/completions/dunstctl \
$out/share/fish/vendor_completions.d/{dunstctl,dunstify}.fish \
--replace-fail "jq" "${lib.getExe jq}"
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Lightweight and customizable notification daemon";
homepage = "https://dunst-project.org/";
changelog = "https://github.com/dunst-project/dunst/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.bsd3;
mainProgram = "dunst";
maintainers = with lib.maintainers; [
gepbird
];
# NOTE: 'unix' or even 'all' COULD work too, I'm not sure
platforms = lib.platforms.linux;
};
})