atlas-engineer / nyxt

Nyxt - the hacker's browser.
https://nyxt-browser.com/
9.64k stars 404 forks source link

Delete `nyxt/submodules` system #3374

Closed aadcg closed 2 months ago

aadcg commented 2 months ago

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.