User Configuration
Kānuka stores your personal identity and preferences in a user configuration file. This file is local to your machine and is never shared with others.
Location
Section titled “Location”Your user configuration is stored at:
| Platform | Location |
|---|---|
| Linux | ~/.config/kanuka/config.toml |
| macOS | ~/Library/Application Support/kanuka/config.toml |
| Windows | %APPDATA%\kanuka\config.toml |
File Structure
Section titled “File Structure”[user]name = "Alice Smith"uuid = "6ba7b810-9dad-11d1-80b4-00c04fd430c8"default_device_name = "MacBook-Pro"
[projects][projects."550e8400-e29b-41d4-a716-446655440000"]device_name = "workstation"project_name = "my-awesome-project"
[projects."7ba7b810-9dad-11d1-80b4-00c04fd430c8"]device_name = "laptop"project_name = "another-project"Fields Explained
Section titled “Fields Explained”User Section
Section titled “User Section”| Field | Required | Description |
|---|---|---|
email | Yes | Your email address, used as your identifier across all projects. This is how teammates recognize you when granting access. |
name | No | Your display name for audit log features (future functionality). |
uuid | Yes | A unique identifier generated automatically. This links your identity across projects without exposing your email in file names. |
default_device_name | No | The default name for your devices when creating keys. Defaults to your computer’s hostname. |
Projects Section
Section titled “Projects Section”The [projects] section maps project UUIDs to your device information for
each project you’ve joined. Each entry contains:
| Field | Description |
|---|---|
device_name | The device name you use for this specific project. |
project_name | A human-readable name for the project. |
This allows you to use different device names for different projects if needed.
How It’s Created
Section titled “How It’s Created”Your user configuration is created when you run:
kanuka config init- Explicit setup of your identitykanuka secrets init- Automatically prompts for setup if not configured
During setup, you provide:
- Your email address (required)
- A display name (optional)
- A default device name (defaults to hostname)
Kānuka generates a UUID automatically to uniquely identify you.
Why UUIDs?
Section titled “Why UUIDs?”Kānuka uses UUIDs instead of emails for file naming because:
- Uniqueness - Guaranteed unique identifiers avoid naming conflicts
- Flexibility - You can change your email without renaming files
The email is stored in the project configuration to provide a human-readable way to identify users.
Multiple Devices
Section titled “Multiple Devices”If you work on the same project from multiple computers, each device gets its own:
- RSA key pair (stored locally)
- Entry in the project configuration
- Encrypted symmetric key
Your user configuration tracks which device name you use for each project.
Viewing Your Configuration
Section titled “Viewing Your Configuration”# Show user configurationkanuka config show
# Show as JSON (for scripts)kanuka config show --jsonUpdating Your Configuration
Section titled “Updating Your Configuration”# Update email
# Update device namekanuka config init --device new-laptop
# Update multiple fieldsOnly the fields you specify are updated; other fields remain unchanged.
Related Configuration
Section titled “Related Configuration”- Project Configuration - The shared project config
- Configuration Commands - All available config commands
- File Structure - Where all Kānuka files are stored