> For the complete documentation index, see [llms.txt](https://nologic.gitbook.io/minority/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nologic.gitbook.io/minority/about-minority-and-quick-start/quick-start-custom-configs.md).

# Quick Start: Custom configs

Maintaining a custom config with Minority is as easy as breaking a dirt block. And it's not a joke! All we need to do is add one parameter to the <mark style="color:yellow;">**@Configurable**</mark> annotation.&#x20;

{% code overflow="wrap" lineNumbers="true" %}

```java
@Configurable(file = "kitstart.yml", path = "kitstart-core", comment = "Main kitstart settings.")
public class KitStartFeature implements MinorityFeature, Listener {

    @ConfigurationKey(name = "permission", value = "kitstart.default")
    private String permission;
    
    @ConfigurationKey(name = "item", type = Type.ENUM, value = "CAKE")
    private Material item;
    
    public KitStartFeature(final MinorityExtension plugin) {
        plugin.getConfigurationWizard().generate(this.getClass());
        this.init(this, this.getClass(), plugin);
        plugin.getServer().getPluginManager().registerEvents(this, plugin);
    }
    
    @EventHandler
    private void onPlayerJoin(final PlayerJoinEvent event) {
        if (event.getPlayer().hasPermission(permission)) {
            event.getPlayer().getInventory().addItem(new ItemStack(item));
        }
    }

}
```

{% endcode %}

### Result

{% code title="kitstart.yml" overflow="wrap" lineNumbers="true" %}

```yaml
# This configuration file was automatically generated with Minority.

kitstart-core:
  permission: kitstart.default
  item: CAKE
```

{% endcode %}
