Why Profiles?
Manually specifying capabilities for every tool is tedious and error-prone:Profile Sources
Profiles can come from three sources, in order of precedence:| Source | Location | Trust Level |
|---|---|---|
| CLI flags | Command line | Highest - explicit user intent |
| User profiles | ~/.config/nono/profiles/ | Medium - user-defined |
| Built-in profiles | Compiled into binary | Base - audited defaults |
Profile Format
Profiles use TOML format:Secrets Section
The[secrets] section maps keystore account names to environment variable names. Secrets are loaded from the system keystore (macOS Keychain / Linux Secret Service) before the sandbox is applied, then injected as environment variables.
--secrets flag:
Environment Variables
Profiles support these environment variables:| Variable | Expands To |
|---|---|
$WORKDIR | Current working directory |
$HOME | User’s home directory |
$XDG_CONFIG_HOME | XDG config directory (default: ~/.config) |
$XDG_DATA_HOME | XDG data directory (default: ~/.local/share) |
Using Profiles
Creating User Profiles
-
Create the profiles directory:
-
Create a TOML file:
-
Use the profile:
Profile Verification
Built-in profiles are compiled into the nono binary and are cryptographically signed. User profiles can optionally be signed using minisign for integrity verification.Next Steps
- Built-in Profiles - Pre-configured profiles for popular tools
