cli + tui to publish to leaflet (wip) & manage tasks, notes & watch/read lists 馃崈
charm leaflet readability golang
29
fork

Configure Feed

Select the types of activity you want to include in your feed.

Configuration#

Noteleaf stores its configuration in a TOML file. The configuration file location depends on your operating system and can be overridden with environment variables.

Configuration File Location#

Default Paths#

Linux:

~/.config/noteleaf/.noteleaf.conf.toml

macOS:

~/Library/Application Support/noteleaf/.noteleaf.conf.toml

Windows:

%APPDATA%\noteleaf\.noteleaf.conf.toml

Environment Variable Override#

Set NOTELEAF_CONFIG to use a custom configuration file location:

export NOTELEAF_CONFIG=/path/to/custom/config.toml

Configuration Options#

General Settings#

date_format#

Format for displaying dates throughout the application.

Type: String Default: "2006-01-02" (ISO 8601) Example:

date_format = "2006-01-02"

Common formats:

  • "2006-01-02" - ISO format: 2024-03-15
  • "01/02/2006" - US format: 03/15/2024
  • "02-Jan-2006" - Short month: 15-Mar-2024

color_scheme#

Color scheme for terminal output.

Type: String Default: "default" Example:

color_scheme = "default"

default_view#

Default view mode for interactive lists.

Type: String Default: "list" Example:

default_view = "list"

default_priority#

Default priority for new tasks when not specified.

Type: String Default: None Options: "low", "medium", "high", "urgent" Example:

default_priority = "medium"

editor#

Text editor for editing notes and tasks. Falls back to $EDITOR environment variable if not set.

Type: String Default: None (uses $EDITOR) Example:

editor = "vim"

Data Storage#

database_path#

Custom path to SQLite database file. Leave empty to use default location.

Type: String Default: Platform-specific data directory Example:

database_path = "/custom/path/noteleaf.db"

data_dir#

Directory for storing application data (articles, notes, attachments).

Type: String Default: Platform-specific data directory Example:

data_dir = "/custom/data/directory"

You can also use the NOTELEAF_DATA_DIR environment variable:

export NOTELEAF_DATA_DIR=/custom/data/directory

articles_dir#

Directory for storing saved articles.

Type: String Default: <data_dir>/articles Example:

articles_dir = "/path/to/articles"

notes_dir#

Directory for storing notes.

Type: String Default: <data_dir>/notes Example:

notes_dir = "/path/to/notes"

Archive and Export#

auto_archive#

Automatically archive completed tasks after a specified period.

Type: Boolean Default: false Example:

auto_archive = true

export_format#

Default format for exporting data.

Type: String Default: "json" Options: "json", "csv", "markdown" Example:

export_format = "json"

Synchronization#

Synchronization features are planned for future releases.

sync_enabled#

Enable synchronization with remote server.

Type: Boolean Default: false Example:

sync_enabled = false

sync_endpoint#

URL of the synchronization server.

Type: String Default: None Example:

sync_endpoint = "https://sync.example.com/api"

sync_token#

Authentication token for synchronization.

Type: String Default: None Example:

sync_token = "your-secret-token"

API Keys#

movie_api_key#

API key for movie database services (future feature).

Type: String Default: None Example:

movie_api_key = "your-api-key"

book_api_key#

API key for book database services. Currently uses Open Library which doesn't require an API key.

Type: String Default: None Example:

book_api_key = "your-api-key"

AT Protocol / Bluesky Integration#

Configuration for publishing content to Bluesky/AT Protocol.

atproto_did#

Your Decentralized Identifier (DID) on the AT Protocol network.

Type: String Default: None Example:

atproto_did = "did:plc:abcd1234efgh5678"

atproto_handle#

Your Bluesky/AT Protocol handle.

Type: String Default: None Example:

atproto_handle = "username.bsky.social"

atproto_pds_url#

Personal Data Server URL.

Type: String Default: None Example:

atproto_pds_url = "https://bsky.social"

atproto_access_jwt#

Access token for authentication (managed automatically).

Type: String Default: None Example:

atproto_access_jwt = "eyJhbGc..."

atproto_refresh_jwt#

Refresh token for authentication (managed automatically).

Type: String Default: None

atproto_expires_at#

Token expiration timestamp (managed automatically).

Type: String (ISO8601) Default: None

Managing Configuration#

View Current Configuration#

noteleaf config show

Set Configuration Value#

noteleaf config set <key> <value>

Examples:

noteleaf config set editor "nvim"
noteleaf config set default_priority "high"
noteleaf config set date_format "01/02/2006"

Get Configuration Value#

noteleaf config get <key>

Example:

noteleaf config get editor

Example Configuration#

Complete example configuration with common settings:

# General settings
date_format = "2006-01-02"
color_scheme = "default"
default_view = "list"
default_priority = "medium"
editor = "vim"

# Data storage
# database_path = ""  # Use default location
# data_dir = ""       # Use default location

# Archive and export
auto_archive = false
export_format = "json"

# Synchronization (future feature)
sync_enabled = false
# sync_endpoint = ""
# sync_token = ""

# API keys (optional)
# movie_api_key = ""
# book_api_key = ""

# AT Protocol / Bluesky (optional)
# atproto_did = ""
# atproto_handle = ""
# atproto_pds_url = "https://bsky.social"

Environment Variables#

Noteleaf respects the following environment variables:

  • NOTELEAF_CONFIG - Custom path to configuration file
  • NOTELEAF_DATA_DIR - Custom path to data directory
  • EDITOR - Default text editor (fallback if editor config not set)

Example:

export NOTELEAF_CONFIG=~/.config/noteleaf/config.toml
export NOTELEAF_DATA_DIR=~/Documents/noteleaf-data
export EDITOR=nvim