Profiles
Profile selection, env vars, directory layout, and runtime isolation.
Profiles isolate aimux environments on the same machine.
Each profile has its own:
- typed config
- app-managed config
- session catalog
- snippet catalog
- daemon socket
- terminal-manager socket
Selecting the Active Profile
aimux resolves the active profile from environment variables in this order:
AIMUX_PROFILEAIMUX_RUNTIME_PROFILEdefault
Examples:
aimuxUses the default profile unless one of the environment variables is set.
AIMUX_PROFILE=work aimuxUses the work profile.
Profile Name Sanitization
Profile names are normalized before use.
The runtime:
- trims whitespace
- lowercases the name
- replaces non
[a-z0-9._-]characters with- - collapses repeated
- - falls back to
defaultif the result is empty
Example:
Dev Sandboxbecomesdev-sandbox
Config Directory Layout
The config profiles root is:
~/.config/aimux/The active profile directory is:
~/.config/aimux/<profile>/Typical contents:
~/.config/aimux/default/
|- aimux.config.ts
|- aimux.json
|- aimux-sessions.json
`- aimux-snippets.jsonRuntime Directory Layout
The daemon and terminal manager do not use the config directory for their socket files.
Runtime base directory:
- if
XDG_RUNTIME_DIRis set:XDG_RUNTIME_DIR/aimux-<profile> - otherwise:
~/.local/state/aimux-<profile>
Socket files inside that directory:
daemon.sockterminal-manager.sock
See ../reference/runtime-paths.md for the exact paths.
Why Profiles Matter
Profiles are the safest way to keep environments isolated.
Common uses:
- a normal
defaultprofile for daily use - a
devprofile for source builds - a
workprofile for a separate session catalog and snippet set - a temporary profile for testing a risky config change
Repository Development Profile
The repository development scripts set AIMUX_PROFILE=dev.
That means local source builds use:
~/.config/aimux/dev/- a
dev-namespaced daemon socket - a
dev-namespaced terminal-manager socket
This prevents local development from stomping on a globally installed aimux
instance.
Compatibility Note
Once profile directories are enabled, aimux no longer reads legacy flat config
or catalog files directly from ~/.config/aimux/.