> ## Documentation Index
> Fetch the complete documentation index at: https://jncpkg.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Channels

> How jnc resolves packages from conda channels.

# Channels

jnc uses **conda channels** as package repositories. Channels are the sources from which packages are downloaded and installed.

## Default channel

By default, jnc uses [conda-forge](https://conda-forge.org/), the largest community-driven conda package repository with over 30,000 packages.

```toml theme={null}
[project]
channels = ["conda-forge"]
```

<Tip>
  For access to a private channel with custom packages purpose-built for Jetson, email [hi@jncpkg.org](mailto:hi@jncpkg.org).
</Tip>

## Adding channels

Specify channels in the manifest or via the CLI:

```bash theme={null}
jnc workspace channel add https://prefix.dev/my-channel
```

```toml theme={null}
[project]
channels = ["conda-forge", "https://prefix.dev/my-channel"]
```

## Channel priority

When a package exists in multiple channels, jnc uses a priority system. Channels listed first in the `channels` array take priority. If a package is found in the first channel, it will be used regardless of the version available in other channels.

```toml theme={null}
[project]
# Packages from my-channel take priority over conda-forge
channels = ["https://prefix.dev/my-channel", "conda-forge"]
```

## PyPI packages

In addition to conda packages, jnc supports PyPI packages. Add them with the `--pypi` flag:

```bash theme={null}
jnc add --pypi requests
```

PyPI dependencies are specified separately in the manifest:

```toml theme={null}
[pypi-dependencies]
requests = ">=2.31,<3"
```

Conda and PyPI packages coexist in the same environment. Conda packages are resolved first, then PyPI packages are resolved against the installed conda packages.

## Private channels

For private or authenticated channels, configure authentication:

```bash theme={null}
jnc auth login --conda-token <TOKEN> https://prefix.dev/my-private-channel
```

See [`jnc auth`](/cli/auth) for more authentication options.

## Feature-specific channels

Features can specify additional channels:

```toml theme={null}
[feature.gpu]
channels = ["nvidia"]

[feature.gpu.dependencies]
cuda-toolkit = ">=12.0,<13"
```
