# Create a Swift Repository

To install (or publish) Swift packages, creation of a Swift repository is required. Check out [Nexus Repository Management](https://help.sonatype.com/en/repository-management.html "Repository Management") and [Repository Types](https://help.sonatype.com/en/repository-types.html "Repository Types") to learn more.

## Swift Proxy Repository

Use Nexus proxy repository when you want to download packages and centralize package caching of external dependencies. To learn more, check [Proxy Repositories](https://help.sonatype.com/en/repository-types.html#proxy-repository-type "Proxy Repository Type").

To create a new Swift proxy repository, take the following steps:

1. Navigate to _Settings_ → _Repository_→ _Repositories_.
2. Select the _Create repository_ button.
3. From the list of Recipes, select _swift (proxy)_.
4. In the form that appears, complete the required fields.
   - Repository Name, for example _swift-proxy_
   - Remote storage URL ( [https://github.com/](https://github.com/))
   - Blob store
5. Complete the additional fields for configurations you wish to add for creating your repository. Available configurations differ by repository format and type. See [Configurable Repository Fields](https://help.sonatype.com/en/configurable-repository-fields.html "Configurable Repository Fields") for more details.
6. Select _Create repository_.

**Note**

Swift remote repositories only support registries that implement the Swift Package Registry protocol.
As there is currently no official public Swift registry and URLs like [https://swiftpackageregistry.com](https://swiftpackageregistry.com/) are only catalogs, Nexus Repository supports using only [https://github.com/](https://github.com/) as the Swift Remote Storage URL.

## Swift Hosted Repository

Use Nexus hosted repository when you want to publish and store your own internal artifacts and third party components, so they can be consumed via Nexus. To learn more, check [Hosted Repositories](https://help.sonatype.com/en/repository-types.html#hosted-repository-type "Hosted Repository Type").

To create a new Swift hosted repository, take the following steps:

1. Navigate to _Settings_ → _Repository_ → _Repositories_.
2. Select the _Create repository_ button.
3. From the list of Recipes, select _swift (hosted)_.
4. In the form that appears, complete the required fields.
   - Repository Name, for example _swift-hosted_
   - Blob store
5. Complete the additional fields for configurations you wish to add for creating your repository. Available configurations differ by repository format and type. See [Configurable Repository Fields](https://help.sonatype.com/en/configurable-repository-fields.html "Configurable Repository Fields") for more details.
6. Select _Create repository_.

**Tip**

To upload packages using the UI, see [Uploading Components](https://help.sonatype.com/en/uploading-components.html "Uploading Components").

## Swift Group Repository

Use Nexus group repository when you want to combine multiple other repositories (proxy, hosted, and other groups) and expose them through a single URL. To learn more, check [Group Repositories](https://help.sonatype.com/en/repository-types.html#group-repository-type "Group Repository Type").

To create a new Swift group repository, take the following steps:

1. Navigate to _Settings_ → _Repository_→ _Repositories_.
2. Select the _Create repository_ button.
3. From the list of Recipes, select _swift (group)_.
4. In the form that appears, complete the required fields.
   - Repository Name, for example _swift-group_
   - Blob store
   - Member repositories in the desired order
5. Complete the additional fields for configurations you wish to add for creating your repository. Available configurations differ by repository format and type. See [Configurable Repository Fields](https://help.sonatype.com/en/configurable-repository-fields.html "Configurable Repository Fields") for more details.
6. Select _Create repository_.
