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 your configuration paths (config directory, config file, and commands directory). Handy when you want to find and edit your config 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
$EDITOR ~/.config/invowk/config.cue
# macOS
$EDITOR ~/Library/Application Support/invowk/config.cue
# Windows PowerShell
notepad "$env:APPDATAinvowkconfig.cue"
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: "/home/user/.invowk/modules/tools.invowkmod"},
{path: "/home/user/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.