From 88cc3e7e0765b5dd11b06db442ad46536342bba5 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Thu, 1 Feb 2024 18:40:39 +0530 Subject: Updates (#1) * . * . * . * . * . * . * . * . * . * . * update * . * temp * . * . * . * . * . * . * . * . * . * . * . * . * temp * . * . * . * update --- packages/dwl-custom.nix | 97 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 packages/dwl-custom.nix (limited to 'packages/dwl-custom.nix') diff --git a/packages/dwl-custom.nix b/packages/dwl-custom.nix new file mode 100644 index 0000000..a7a4652 --- /dev/null +++ b/packages/dwl-custom.nix @@ -0,0 +1,97 @@ +{ lib +, stdenv +, fetchFromGitHub +, installShellFiles +, libX11 +, libinput +, libxcb +, libxkbcommon +, pixman +, pkg-config +, substituteAll +, wayland-scanner +, wayland +, wayland-protocols +, wlroots +, writeText +, xcbutilwm +, xwayland +, enableXWayland ? true +, conf ? null +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "dwl"; + version = "0.5"; + + src = fetchFromGitHub { + owner = "compromyse"; + repo = "dwl"; + rev = "master"; + hash = "sha256-QNRE/qCSSsMLbmO5VHsPlIO4f9IgnsV00ALDdzDIBrE="; + }; + + nativeBuildInputs = [ + installShellFiles + pkg-config + wayland-scanner + ]; + + buildInputs = [ + libinput + libxcb + libxkbcommon + pixman + wayland + wayland-protocols + wlroots + ] ++ lib.optionals enableXWayland [ + libX11 + xcbutilwm + xwayland + ]; + + outputs = [ "out" "man" ]; + + # Allow users to set an alternative config.def.h + postPatch = let + configFile = if lib.isDerivation conf || builtins.isPath conf + then conf + else writeText "config.def.h" conf; + in lib.optionalString (conf != null) "cp ${configFile} config.def.h"; + + makeFlags = [ + "PKG_CONFIG=${stdenv.cc.targetPrefix}pkg-config" + "WAYLAND_SCANNER=wayland-scanner" + "PREFIX=$(out)" + "MANDIR=$(man)/share/man" + ]; + + preBuild = '' + makeFlagsArray+=( + XWAYLAND=${lib.optionalString enableXWayland "-DXWAYLAND"} + XLIBS=${lib.optionalString enableXWayland "xcb\\ xcb-icccm"} + ) + ''; + + meta = { + homepage = "https://github.com/djpohly/dwl/"; + description = "Dynamic window manager for Wayland"; + longDescription = '' + dwl is a compact, hackable compositor for Wayland based on wlroots. It is + intended to fill the same space in the Wayland world that dwm does in X11, + primarily in terms of philosophy, and secondarily in terms of + functionality. Like dwm, dwl is: + + - Easy to understand, hack on, and extend with patches + - One C source file (or a very small number) configurable via config.h + - Limited to 2000 SLOC to promote hackability + - Tied to as few external dependencies as possible + ''; + changelog = "https://github.com/djpohly/dwl/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.gpl3Only; + maintainers = [ lib.maintainers.AndersonTorres ]; + inherit (wayland.meta) platforms; + mainProgram = "dwl"; + }; +}) -- cgit v1.2.3