Configuration Reference
cc-deck uses XDG-compliant paths for configuration and data storage.
Config File
Location: $XDG_CONFIG_HOME/cc-deck/config.yaml (typically ~/.config/cc-deck/config.yaml)
The config file is optional. All settings have sensible defaults and can be overridden via CLI flags.
# Default namespace for Kubernetes commands
namespace: cc-deck
# Default credential profile
profile: default
# Verbose output
verbose: false
Environment Variables
| Variable | Description |
|---|---|
|
Base directory for config files. Default: |
|
Base directory for data files. Default: |
|
Base directory for cache files. Default: |
|
Path to kubeconfig file. Default: |
|
Zellij configuration directory. Default: |
File Locations
| Path | Purpose |
|---|---|
|
CLI configuration |
|
Sidebar plugin binary |
|
Default layout (symlink to chosen variant) |
|
Standard layout variant |
|
Minimal layout variant |
|
Clean layout variant |
|
Personal layout (never overwritten by install) |
|
Claude Code settings (hooks registered here) |
|
User-defined domain groups for network filtering |
|
Snapshot storage |
|
Hook pane ID cache (ephemeral) |
Plugin Configuration
Plugin settings are specified in the layout file’s plugin block:
plugin location="file:~/.config/zellij/plugins/cc_deck.wasm" {
navigate_key "Alt s" // Key to toggle navigation mode
attend_key "Alt a" // Key for smart attend
}
| Setting | Default | Description |
|---|---|---|
|
|
Global shortcut for navigation mode |
|
|
Global shortcut for smart attend |
Key format follows Zellij conventions: Alt, Ctrl, Super (Cmd on macOS) as modifiers, followed by the key name.
Domain Groups Configuration
Location: $XDG_CONFIG_HOME/cc-deck/domains.yaml (typically ~/.config/cc-deck/domains.yaml)
This file defines custom domain groups for network filtering in containerized sessions.
Create it with cc-deck domains init to get a commented template, or write it manually.
The file is a YAML mapping where each top-level key is a group name and the value defines its domains and resolution behavior.
Custom Groups
Define a new group with a domains list:
internal-registry:
domains:
- registry.internal.corp
- artifacts.internal.corp
Extending Built-in Groups
Use extends: builtin to merge additional domains with a built-in group of the same name.
The user-defined domains are appended to the built-in domains rather than replacing them.
python:
extends: builtin
domains:
- pypi.internal.corp
This produces a python group containing all built-in Python domains plus pypi.internal.corp.
Without extends: builtin, the user-defined group replaces the built-in group entirely.
Including Other Groups
Use includes to compose a group from other groups.
Included groups are resolved recursively.
dev-stack:
includes:
- python
- golang
- github
domains:
- artifacts.internal.corp
This produces a group containing all domains from python, golang, and github, plus the literal domain artifacts.internal.corp.
Resolution Rules
-
Groups defined in
domains.yamltake precedence over built-in groups of the same name. -
If
extends: builtinis set, the built-in domains are included as a base. -
Circular includes are detected and reported as errors.
-
Source labels in
cc-deck domains listreflect the resolution:builtin,user(override or new), orextended(extends builtin).