Skip to main content
Version: 0.7.0

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:

PlatformLocation
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.