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

# jnc config

> Manage jnc configuration files at system, global, and local scopes.

# jnc config

Manages jnc configuration files. Configuration can be set at three scopes: **system** (machine-wide), **global** (user-wide), and **local** (workspace-specific via `jnc.toml`).

## Usage

```bash theme={null}
jnc config <SUBCOMMAND>
```

## Subcommands

### `edit`

Open the configuration file in your default editor.

```bash theme={null}
jnc config edit
jnc config edit --system
jnc config edit --global
jnc config edit --local
```

### `list`

Display current configuration values.

```bash theme={null}
jnc config list [OPTIONS]
```

| Option     | Description                                |
| ---------- | ------------------------------------------ |
| `--json`   | Output in JSON format                      |
| `--system` | Show system-level configuration            |
| `--global` | Show global (user-level) configuration     |
| `--local`  | Show local (workspace-level) configuration |

### `set`

Set a configuration value.

```bash theme={null}
jnc config set <KEY> <VALUE>
```

### `unset`

Remove a configuration value.

```bash theme={null}
jnc config unset <KEY>
```

### `append`

Append a value to a list-type configuration key.

```bash theme={null}
jnc config append <KEY> <VALUE>
```

### `prepend`

Prepend a value to a list-type configuration key.

```bash theme={null}
jnc config prepend <KEY> <VALUE>
```

## Global Options

| Option            | Short | Description                            |
| ----------------- | ----- | -------------------------------------- |
| `--manifest-path` | `-m`  | Path to `jnc.toml` or `pyproject.toml` |

## Configuration Scopes

| Scope      | Description                                            |
| ---------- | ------------------------------------------------------ |
| **system** | Machine-wide configuration, applies to all users       |
| **global** | User-wide configuration, applies to all workspaces     |
| **local**  | Workspace-specific configuration, stored in `jnc.toml` |

When the same key is set at multiple scopes, the most specific scope wins: local overrides global, which overrides system.

## Examples

```bash theme={null}
# Set the default channel globally
jnc config set default-channels '["conda-forge"]'

# List all configuration values as JSON
jnc config list --json

# Add a channel to the default list
jnc config append default-channels bioconda

# Remove a configuration value
jnc config unset default-channels

# Edit the global configuration file
jnc config edit --global

# View only local (workspace) configuration
jnc config list --local
```
