rollcat 2 days ago

The base/packages split is one of the main reasons why I appreciate the BSDs (that includes macOS). However /usr/local/etc in particular violates several assumptions:

- I can make /usr read-only, exclude it from backups, put it on an NFS share, or otherwise treat it as immutable during normal operation;

- I can nuke /usr/local any time, fall back on the base system, and reinstall packages from there;

- I can put /etc in version control and track all configuration changes;

- I don't need to think whether to look for /etc/nginx or /usr/local/etc/nginx, this also simplifies automation like scripts or Ansible roles; etc

Notably, OpenBSD takes the effort to ensure all packages install their configs in /etc.

1
yjftsjthsd-h 2 days ago

I don't think those first two are violated? I'm pretty sure you can make /usr read-only, mount it from a shared source, and nuke /usr/local at will. I do agree that splitting config files by base and not-base means there are two places, but given this particular system design it seems like a bad assumption rather than a bad design.