{ lib, stdenv, fetchFromGitHub, libX11, patches ? [ ], writeText, conf ? null }: stdenv.mkDerivation { pname = "dwmblocks"; version = "0-unstable-2024-08-24"; src = fetchFromGitHub { owner = "torrinfail"; repo = "dwmblocks"; rev = "8cedd220684064f1433749ed2a19a6184c22cf07"; hash = "sha256-QtYQB2mvw1k2LA8D+/cVnA8+GRDWjhIM6rxfi/IGjEw="; }; buildInputs = [ libX11 ]; inherit patches; postPatch = let configFile = if lib.isDerivation conf || builtins.isPath conf then conf else writeText "blocks.def.h" conf; in lib.optionalString (conf != null) "cp ${configFile} blocks.def.h"; makeFlags = [ "PREFIX=$(out)" ]; meta = with lib; { description = "Modular status bar for dwm written in c"; homepage = "https://github.com/torrinfail/dwmblocks"; license = licenses.isc; maintainers = with maintainers; [ sophrosyne ]; platforms = platforms.linux; mainProgram = "dwmblocks"; }; }