diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2024-02-01 18:40:39 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-01 18:40:39 +0530 |
| commit | 88cc3e7e0765b5dd11b06db442ad46536342bba5 (patch) | |
| tree | d3b1c7b0d54ef3c2274d64967a3bcd2818c03c8e /packages | |
| parent | 01bb0877c285383fd2857920048bd2576f4d31e9 (diff) | |
Updates (#1)
* .
* .
* .
* .
* .
* .
* .
* .
* .
* .
* update
* .
* temp
* .
* .
* .
* .
* .
* .
* .
* .
* .
* .
* .
* .
* temp
* .
* .
* .
* update
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/dwl-custom.nix | 97 |
1 files changed, 97 insertions, 0 deletions
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"; + }; +}) |
