Skip to main content
Version: 0.1.0-alpha.2

Configuration Overview

Invowk™ uses a CUE-based configuration file to customize its behavior. This is where you set your preferences for container engines, search paths, 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 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 invkfiles and modules to include in discovery
includes: [
{path: "~/.invowk/cmds/invkfile.cue"},
{path: "~/projects/shared.invkmod", 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.