illuminatech/nova-config
Illuminatech Nova Config is a Laravel Nova tool for managing application configuration from the admin panel. Browse and edit config values in a clean Nova interface, making runtime settings easier to maintain without manual file edits.
composer require illuminatech/nova-config. This package assumes Nova 3/4-era conventions, so confirm Nova version compatibility before adopting.php artisan vendor:publish --provider="Illuminatech\\NovaConfig\\NovaConfigServiceProvider" (vendor tag likely nova-config). Check config/ and public/vendor/ after publishing.app/Providers/NovaServiceProvider.php → tools():
public function tools()
{
return [
new \Illuminatech\NovaConfig\NovaConfig(),
];
}
config/ (or the package README's blueprint section). It defines which config keys are exposed as form fields — this is the source of truth for the UI, not the database.config/site-settings.php) returning a flat array, and point the tool at it. The file must be present and writable by the PHP user.config() normally. After a save, resolve values with config('site-settings.support_email'). Business code does not depend on the package at all — that is the main appeal: settings are plain config values, easy to inject, mock, and test.mail, social, billing) and register multiple tool instances or logical groups so admin screens stay focused. Avoid one giant settings blob — it becomes a merge-conflict magnet.rules on each field and cast booleans/numbers explicitly on read ((bool) config(...)). Nova's checkbox state and PHP's "false" string are easy to confuse; normalize once on save.viewNovaConfig) so only trusted admins can edit config. Editing a PHP config file is effectively code-adjacent privilege.config:cache. Writes go to a PHP file on disk. Once php artisan config:cache runs, Laravel serves the cached array and ignores file edits until re-cached. Either re-cache after saves (custom button/hook) or accept a stale UI read. This is the single most common surprise.NOASSERTION) — verify the actual license in the repo LICENSE file before commercial use. Also treat arbitrary config keys as potentially dangerous: never let non-admins define new keys, and validate types strictly.true, null, integers, escaped strings). A stray quote or unescaped apostrophe in a text field can corrupt the file. Keep validation rules strict and test edits with quotes and backslashes.Cache::remember('settings', ...)) and invalidate on save, since each read otherwise relies on the config repository already being loaded.config:cache status, (2) file permissions/owner, (3) the target file path resolved by the published config. Laravel logs will usually surface the write failure, but permission errors are easy to miss behind Nova's generic success toast.How can I help you explore Laravel packages today?