Configuration Overview
Invowk™ uses a CUE-based configuration file to customize its behavior. This is where you set your preferences for container engines, includes, runtime defaults, and more.
Configuration File Location
The configuration file lives in your OS-specific config directory:
| Platform | Location |
|---|---|
| Linux | ~/.config/invowk/config.cue |
| macOS | ~/Library/Application Support/invowk/config.cue |
| Windows | %APPDATA%\invowk\config.cue |
Invowk currently reads configuration from the OS-specific path above. If no config exists there, it will also look for a config.cue file in the current directory. If neither is present, defaults are used.
Creating a Configuration File
The easiest way to create a configuration file is to use the config init command:
invowk config init
This creates a default configuration file with sensible defaults. If a config file already exists, it won't be overwritten (safety first!).
Viewing Your Configuration
There are several ways to inspect your current configuration:
Show Human-Readable Config
invowk config show
This displays your configuration in a friendly, readable format.
Show Raw CUE
invowk config dump
This outputs the raw CUE configuration, useful for debugging or copying to another machine.
Find the Config File
invowk config path
This prints the path to your configuration file. Handy when you want to edit it directly.
Setting Configuration Values
You can modify configuration values from the command line:
# Set the container engine
invowk config set container_engine podman
# Set the default runtime
invowk config set default_runtime virtual
# Set the color scheme
invowk config set ui.color_scheme dark
Or just open the config file in your favorite editor:
# Linux/macOS
$EDITOR $(invowk config path)
# Windows PowerShell
notepad (invowk config path)
Example Configuration
Here's what a typical configuration file looks like:
// ~/.config/invowk/config.cue
// Container engine: "podman" or "docker"
container_engine: "podman"
// Additional modules to include in discovery
includes: [
{path: "~/.invowk/modules/tools.invowkmod"},
{path: "~/projects/shared.invowkmod", alias: "shared"},
]
// Default runtime for commands that don't specify one
default_runtime: "native"
// Virtual shell configuration
virtual_shell: {
enable_uroot_utils: true
}
// UI preferences
ui: {
color_scheme: "auto" // "auto", "dark", or "light"
verbose: false
interactive: false // Enable alternate screen buffer mode
}
// Container provisioning
container: {
auto_provision: {
enabled: true
}
}
What's Next?
Head over to Configuration Options for a complete reference of all available settings.