atlas-engineer / nyxt

Nyxt - the hacker's browser.

Home Page:https://nyxt-browser.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Delete `nyxt/submodules` system

aadcg opened this issue · comments

This system ensures that the git submodules directory (the way we manage CL libraries dependencies) is found by ASDF, which is useful for building or installing Nyxt. It also depends on git to fetch them, which isn't sensible.

From the perspective of a development environment, it is harmful since (asdf:load-system :nyxt/submodules) sets CL_SOURCE_REGISTRY. That means that loading the system overrides user-defined ASDF configuration.

By deleting the system, the temptation to interactively load the system vanishes. But the functionality is easily recoverable by embedding its logic in the makefile. Having the system fetch the git submodules won't be missed, since a pre-requisite to the build is to ensure that the sources are readably available. In other words, it's not the build's routine responsibility to fetch the sources. It is its sole responsibility to warn about their absence.