PHPackages                             bab55z/nova-settings-tool - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. bab55z/nova-settings-tool

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

bab55z/nova-settings-tool
=========================

Settings for Laravel Nova.

v0.1.0-beta(6y ago)10MITPHPPHP &gt;=7.1.0

Since Jan 2Pushed 6y ago1 watchersCompare

[ Source](https://github.com/bab55z/nova-settings-tool)[ Packagist](https://packagist.org/packages/bab55z/nova-settings-tool)[ RSS](/packages/bab55z-nova-settings-tool/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

nova-settings-tool
==================

[](#nova-settings-tool)

This package helps you manage settions in your app. It's based on **unisharp/laravel-settings** package

Installation
============

[](#installation)

`composer require bab55z/nova-settings-tool``php artisan publish` and choose **nova-settings-tool** to publish config file (**config/novasettings.php**)

configuration
=============

[](#configuration)

Here is a sample configuration with commented lines. The config

```
'storage' => [
    'disk' => 'public',
],
'translation' =>[
    'default_locale' => 'en',                  // should exists in translation.locales
    'locales' => [                             // locales for translation
        'en' => 'English',
        'pl' => 'Polish',
    ],
],
'settings' => [
    [
        'tab_name' => 'Main',                  // tab name, settings with no tab name are displayed in "others" tab
        'items' => [                           // settings array
            [
                'key' => 'site-title-1',       // setting key
                'label' => 'Site title 1',     // text, image, boolean
                'type' => 'text',              // text, image, boolean
                'validation' => 'string',      // laravel validation rules
                'default' => 'Default text',         // default value
                // NOTICE : for 'text' setting type with translation enabled,
                // if default value is string, it will
                // be stored in default language defined in translation.default_locale parameter
                // to set default values in different languages, use array instead of string like below
                // 'default' => ['en' => 'Monday', 'fr' => 'Lundi'] use languages keys you defined in translation.locales
                'translate' => false,          // true : enable translation, false disables it (text field only)
                'help' => '',                  // help message or instructions
                'multiline' => false,          // display as text area instead of single line
                'minHeight'  => '',            // sizes for image type setting (frontend validation)
                'maxHeight'  => '',            // sizes for image type setting (frontend validation)
                'minWidth'  => '',             // sizes for image type setting (frontend validation)
                'maxWidth'  => '',             // sizes for image type setting (frontend validation)
            ],
            [
                'key' => 'site-intro-text',    // setting key
                'label' => 'Site intro text',  // text, image, boolean
                'type' => 'text',              // text, image, boolean
                'validation' => '',            // laravel validation rules
                'default' => 'Mini intro',     // default value if
                'translate' => true,           // true : enable translation, false disables it (text field only)
                'help' => 'help text.',        // help message or instructions
                'multiline' => true,           // display as text area instead of single line
                'minHeight'  => '',            // sizes for image type setting (frontend validation)
                'maxHeight'  => '',            // sizes for image type setting (frontend validation)
                'minWidth'  => '',             // sizes for image type setting (frontend validation)
                'maxWidth'  => '',             // sizes for image type setting (frontend validation)
            ],
            [
                'key' => 'site-intro-text-2',    // setting key
                'label' => 'Site intro text 2',  // text, image, boolean
                'type' => 'text',              // text, image, boolean
                'validation' => '',            // laravel validation rules
                'default' => ['en' => 'En text.', 'pl' => 'pl text.', ],     // default value if
                'translate' => true,           // true : enable translation, false disables it (text field only)
                'multiline' => false,           // display as text area instead of single line
                'minHeight'  => '',            // sizes for image type setting (frontend validation)
                'maxHeight'  => '',            // sizes for image type setting (frontend validation)
                'minWidth'  => '',             // sizes for image type setting (frontend validation)
                'maxWidth'  => '',             // sizes for image type setting (frontend validation)
            ],
            [
                'key' => 'site-title-img',
                'label' => 'Site title Image',
                'type' => 'image',
                'validation' => 'string',
                'default' => 'http://example.com/img/image.png',
                'translate' => false,
                'help' => 'required image size : 500px * 500px',
                'minHeight' => 500,
                'maxHeight' => '',
                'minWidth' => 500,
                'maxWidth' => '',
            ],
        ],
    ],
    [
        'tab_name' => 'Home Ads',
        'items' => [
            [
                'key' => 'enable-home-ads-1',
                'label' => 'Enable Home Ads #1',
                'type' => 'boolean',
                'validation' => 'string',
                'default' => true,
                'translate' => false,
                'help' => '',
            ],
            [
                'key' => 'enable-home-ads-2',
                'label' => 'Enable Home Ads #2',
                'type' => 'boolean',
                'validation' => 'string',
                'default' => false,
                'translate' => false,
                'help' => '',
            ],
            [
                'key' => 'home-ads-1',
                'label' => 'Home ads 1',
                'type' => 'text',
                'validation' => 'string',
                'default' => 'Ads Title',
                'translate' => false,
                'help' => '',
            ],
            [
                'key' => 'home-ads-2',
                'label' => 'Home ads 2',
                'type' => 'text',
                'validation' => 'string',
                'default' => 'Ads Title',
                'translate' => false,
                'help' => '',
            ],
        ],
    ],
],

```

Usage
=====

[](#usage)

After settings your settings data in config file, head to the settings menu in Laravel Nova dashoarb and set desired values, use it in your code according to [**UniSharp/laravel-settings**](https://github.com/UniSharp/laravel-settings) documentation.

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity37

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2320d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4845d1c4393c794abab60ee865ec37f2c681935b1af78eaa2d8b751b83cece16?d=identicon)[bab55z](/maintainers/bab55z)

---

Top Contributors

[![bab55z](https://avatars.githubusercontent.com/u/2848498?v=4)](https://github.com/bab55z "bab55z (1 commits)")

---

Tags

laravelnova

### Embed Badge

![Health badge](/badges/bab55z-nova-settings-tool/health.svg)

```
[![Health](https://phpackages.com/badges/bab55z-nova-settings-tool/health.svg)](https://phpackages.com/packages/bab55z-nova-settings-tool)
```

###  Alternatives

[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[kongulov/nova-tab-translatable

Making Nova Tab Translatable

8559.5k2](/packages/kongulov-nova-tab-translatable)[inspheric/nova-defaultable

Default values for Nova fields when creating resources and running resource actions.

51174.8k1](/packages/inspheric-nova-defaultable)[cendekia/nova-setting-tool

An app setting manager tool for laravel nova

4010.4k](/packages/cendekia-nova-setting-tool)[murdercode/nova4-tinymce-editor

Boost your Laravel Nova with the TinyMCE editor.

17165.2k](/packages/murdercode-nova4-tinymce-editor)[datomatic/nova-detached-actions

A Laravel Nova tool to allow for placing actions in the Nova toolbar detached from the checkbox selection mechanism.

11229.2k](/packages/datomatic-nova-detached-actions)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
