Change:
<ins> { stdenv, meson, ninja, pkgconfig, fetchFromGitLab, python3, umockdev, gobject-introspection, dbus, asciidoc, libxml2, libxslt, docbook_xml_dtd_45, docbook_xsl, glib, systemd, polkit }: stdenv.mkDerivation rec { pname = "bolt"; version = "0.7"; src = fetchFromGitLab { domain = "gitlab.freedesktop.org"; owner = "bolt"; repo = "bolt"; rev = "${version}"; sha256 = "0xn2c31kcjh1j76gq1qrcxwjyjyqnsxygkfrvh3xk07qc92f99xd"; }; nativeBuildInputs = [ meson ninja pkgconfig asciidoc libxml2 libxslt docbook_xml_dtd_45 docbook_xsl ] ++ stdenv.lib.optional (!doCheck) python3; buildInputs = [ glib systemd polkit ]; doCheck = true; preCheck = '' export LD_LIBRARY_PATH=${umockdev.out}/lib/ ''; checkInputs = [ dbus umockdev gobject-introspection (python3.withPackages (p: [ p.pygobject3 p.dbus-python p.python-dbusmock ])) ]; # meson install tries to create /var/lib/boltd patches = [ ./0001-skip-mkdir.patch ]; postPatch = '' patchShebangs tests/test-integration ''; mesonFlags = [ "-Dlocalstatedir=/var" ]; PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; meta = with stdenv.lib; { description = "Thunderbolt 3 device management daemon"; homepage = https://gitlab.freedesktop.org/bolt/bolt; license = licenses.lgpl21Plus; maintainers = [ maintainers.callahad ]; platforms = platforms.linux; }; } </ins>

Discussion:
As described in , GNOME 3 needs the to handle authenticating Thunderbolt 3 devices. This is not yet packaged for NixOS. I've bolt myself but have thus far been unsuccessful. Start a Gnome 3 session Navigate to Settings → Devices → Thunderbolt Expected Results: A nice GUI as . Actual Results: An error message: ! (Note: The error message is slightly misleading. Thunderbolt 3 is supported and working on my laptop, albeit with authorization disabled, but without GNOME doesn't know that.) system: host os: multi-user?: sandbox: version: channels(root): nixpkgs:
Can you share the errors you have encountered when packaging? Perhaps we can point you to solution.
Right now I'm hitting two roadblocks with bolt itself: the man pages fails somewhere inside asciidoc: I'm not sure how to get more information / further work on that. I disable manpage generation (), everything compiles and links just fine but then fails with:
Yeah, meson sometimes gives incredibly useless error messages. The problem is the build trying to install files in and , which it looks up through pkgconfig. Adding these fixes these: We'll also need to knock out as it tries to create a directory in . This fixed the build for me:
You can try to add flag to the asciidoc command in the meson file (I recommend setting to the local checkout of the project in question). As for the second error, Meson only calls when it fails to write to install destination, which means that some is probably wrong.
There ought to be a message Perhaps you can find it in build directory under if you run with .
Woohoo! ! Now I just have to: things up out how to get the systemd unit file linked out how to properly test a patch against this repo request!
We'll have to make module, something like this: Will probably need too.