{ lib, stdenv, fetchurl, autoreconfHook, gdk-pixbuf-xlib, gettext, gtk2-x11, libICE, libSM, libxcrypt, libXinerama, libXrandr, libXtst, librep, makeWrapper, pango, pkg-config, rep-gtk, texinfo, which, }: stdenv.mkDerivation (finalAttrs: { pname = "sawfish"; version = "1.13.0"; src = fetchurl { url = "https://download.tuxfamily.org/sawfish/sawfish_${finalAttrs.version}.tar.xz"; hash = "sha256-gWs8W/pMtQjbH8FEifzNAj3siZzxPd6xm8PmXXhyr10="; }; nativeBuildInputs = [ autoreconfHook gettext librep makeWrapper pkg-config texinfo which ]; buildInputs = [ gdk-pixbuf-xlib gtk2-x11 libICE libSM libxcrypt libXinerama libXrandr libXtst librep pango rep-gtk ]; postPatch = '' sed -e 's|REP_DL_LOAD_PATH=|REP_DL_LOAD_PATH=$(REP_DL_LOAD_PATH):|g' -i Makedefs.in sed -e 's|$(repexecdir)|$(libdir)/rep|g' -i src/Makefile.in ''; strictDeps = true; postInstall = '' for file in $out/lib/sawfish/sawfish-menu \ $out/bin/sawfish-about \ $out/bin/sawfish-client \ $out/bin/sawfish-config \ $out/bin/sawfish; do wrapProgram $file \ --prefix REP_DL_LOAD_PATH : "$out/lib/rep" \ --set REP_LOAD_PATH "$out/share/sawfish/lisp" done ''; meta = { homepage = "http://sawfish.tuxfamily.org/"; description = "Extensible, Lisp-based window manager"; longDescription = '' Sawfish is an extensible window manager using a Lisp-based scripting language. Its policy is very minimal compared to most window managers. Its aim is simply to manage windows in the most flexible and attractive manner possible. All high-level WM functions are implemented in Lisp for future extensibility or redefinition. ''; license = lib.licenses.gpl2Plus; maintainers = with lib.maintainers; [ AndersonTorres ]; platforms = lib.platforms.unix; }; })