Configuration
Configure Nokvault with global and local settings to customize its behavior.
Configuration Files
Nokvault supports two levels of configuration:
- Global config:
~/.config/nokvault/config.toml- Applies to all projects - Local config:
.nokvault.toml- Applies to the current directory and overrides global settings
Local configuration takes precedence over global configuration, allowing project-specific settings.
Initializing Configuration
Create a default configuration file:
# Initialize global configuration
nokvault config --init
# This creates ~/.config/nokvault/config.toml with default valuesViewing Configuration
View your current configuration settings:
# Show all configuration (global + local merged)
nokvault config --show
# Get a specific value
nokvault config --get compression
nokvault config --get keyfileConfiguration Options
Common configuration options you can set:
# Set compression default
nokvault config --set compression=true
# Set default keyfile path
nokvault config --set keyfile="~/.keys/master.key"
# Set encryption algorithm
nokvault config --set algorithm="aes-256-gcm"
# Set Argon2id parameters
nokvault config --set argon2.memory=65536
nokvault config --set argon2.iterations=3
nokvault config --set argon2.parallelism=4Configuration File Format
Configuration files use TOML format. Example config.toml:
# Default compression setting
compression = false
# Default keyfile path
keyfile = "~/.keys/master.key"
# Encryption algorithm
algorithm = "aes-256-gcm"
# Argon2id key derivation parameters
[argon2]
memory = 65536 # Memory in KB
iterations = 3 # Number of iterations
parallelism = 4 # Number of threads
# File watching settings
[watch]
delay = "1s"
recursive = true
# Secure deletion settings
[secure_delete]
passes = 3Environment Variables
Some settings can also be controlled via environment variables, which override config files:
# Password for non-interactive use
export NOKVAULT_PASSWORD="your-password"
# Keyfile path
export NOKVAULT_KEYFILE="~/.keys/master.key"
# Enable compression
export NOKVAULT_COMPRESSION="true"Project-Specific Configuration
Create a .nokvault.toml file in your project directory for project-specific settings:
# .nokvault.toml
compression = true
keyfile = "./.keys/project.key"
[watch]
exclude = ["*.tmp", "*.log", "node_modules"]This is useful for projects that need different encryption settings or keyfiles.