{ lib, stdenv, fetchurl, makeWrapper, pkg-config, gtk3, librsvg, }: stdenv.mkDerivation rec { pname = "howl"; version = "0.6"; # Use the release tarball containing pre-downloaded dependencies sources src = fetchurl { url = "https://github.com/howl-editor/howl/releases/download/${version}/howl-${version}.tgz"; sha256 = "1qc58l3rkr37cj6vhf8c7bnwbz93nscyraz7jxqwjq6k4gj0cjw3"; }; sourceRoot = "howl-${version}/src"; # The Makefile uses "/usr/local" if not explicitly overridden installFlags = [ "PREFIX=$(out)" ]; nativeBuildInputs = [ makeWrapper pkg-config ]; buildInputs = [ gtk3 librsvg ]; enableParallelBuilding = true; # Required for the program to properly load its SVG assets postInstall = '' wrapProgram $out/bin/howl \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" ''; meta = with lib; { homepage = "https://howl.io/"; description = "General purpose, fast and lightweight editor with a keyboard-centric minimalistic user interface"; license = licenses.mit; maintainers = with maintainers; [ pacien ]; mainProgram = "howl"; # LuaJIT and Howl builds fail for x86_64-darwin and aarch64-linux respectively platforms = [ "i686-linux" "x86_64-linux" ]; }; }