Вы можете документировать API, используя doxygen, чтобы предоставить ссылку в виде HTML, а также генерировать man-страницы и другие форматы для автономного чтения.
Преимущество doxygen в том, что это своего рода "встроенная" документация, как JavaDoc или PythonDoc, удваивающаяся в виде комментариев к интерфейсу (или, наоборот, комментарии удваиваются в виде текста документа); вы добавляете тексты документов в исходные файлы/заголовки, и они извлекаются оттуда, что повышает шансы на их актуальность.
Что касается SSD/NVMe , я настоятельно рекомендую вам прочитать страницы Archwiki [1] и [2].
Это отправная точка, вернее, гораздо больше!
Говоря о том, какую файловую систему использовать, посмотрите, например, здесь [3].
Для Thunderbolt у меня нет опыта работы с этим оборудованием, поэтому мой единственный совет — начать с Archwiki.
Личный совет :поскольку ваше оборудование действительно новое, всегда используйте самое последнее ядро.
[1] https://wiki.archlinux.org/index.php/Solid_state_drive
[2]https://wiki.archlinux.org/index.php/Solid_state_drive/NVMe
[3]https://www.phoronix.com/scan.php?page=article&item=linux-50-filesystems