class NukeSettings(BaseSettingsModel):
    """Nuke addon settings."""
    general: GeneralSettings = SettingsField(
        default_factory=GeneralSettings,
        title="General",
    )
    imageio: ImageIOSettings = SettingsField(
        default_factory=ImageIOSettings,
        title="Color Management (imageio)",
    )
    dirmap: DirmapSettings = SettingsField(
        default_factory=DirmapSettings,
        title="Nuke Directory Mapping",
    )
    scriptsmenu: ScriptsmenuSettings = SettingsField(
        default_factory=ScriptsmenuSettings,
        title="Scripts Menu Definition",
    )
    gizmo: list[GizmoItem] = SettingsField(
        default_factory=list, title="Gizmo Menu")
    create: CreatorPluginsSettings = SettingsField(
        default_factory=CreatorPluginsSettings,
        title="Creator Plugins",
    )
    publish: PublishPluginsModel = SettingsField(
        default_factory=PublishPluginsModel,
        title="Publish Plugins",
    )
    load: LoaderPluginsModel = SettingsField(
        default_factory=LoaderPluginsModel,
        title="Loader Plugins",
    )
    workfile_builder: WorkfileBuilderModel = SettingsField(
        default_factory=WorkfileBuilderModel,
        title="Workfile Builder",
    )
    templated_workfile_build: TemplatedWorkfileBuildModel = SettingsField(
        title="Templated Workfile Build",
        default_factory=TemplatedWorkfileBuildModel
    )