✅ Introduction

Scimax VS Code provides extensive configuration options to customize your scientific computing environment. This guide covers all available settings and provides examples for common use cases.

✅ Accessing Settings

There are multiple ways to access and modify Scimax settings:

  1. Settings UI: Press C/Cmd-, to open the VS Code settings interface. Search for "scimax" to see all Scimax-related settings.

  2. settings.json: Edit your settings file directly for more control:

Settings File Locations

VS Code uses two types of settings files:

TypeScopeLocation
UserAll workspacesLinux: ~/.config/Code/User/settings.json
macOS: ~/Library/Application Support/Code/User/settings.json
Windows: %APPDATA%\Code\User\settings.json
WorkspaceCurrent workspace only.vscode/settings.json in workspace root

Workspace settings override user settings for that specific workspace.

Settings Format

All Scimax settings use JSON format in settings.json:

{
  "scimax.journal.directory": "~/my-journal",
  "scimax.journal.format": "org",
  "scimax.db.autoIndex": true
}

✅ General Settings

General settings that apply across Scimax features.

Settings Overview

SettingTypeDefaultDescription
scimax.emailstring""Email for API integrations (OpenAlex)

Detailed Configuration

scimax.email

  • Type: string

  • Default: "" (empty)

  • Description: Your email address for Scimax API integrations

This email is used for services that offer better access to identified users. Currently used for:

  • OpenAlex: Setting your email gives you access to the polite pool with faster rate limits

{
  "scimax.email": "user@example.com"
}

You can also configure this via the command scimax.ref.configureOpenAlex which provides a quick pick menu for setting both your email and optional API key.

✅ Org-mode Settings

Settings for org-mode document behavior including TODO states, progress logging, and more.

✅ Settings Overview

SettingTypeDefaultDescription
scimax.org.logRepeatstring (enum)"false"Enable progress logging
scimax.org.logIntoDrawerboolean or stringfalseWhere to log state changes

✅ Detailed Configuration

✅ scimax.org.logRepeat

  • Type: string

  • Values: "false", "time", "note"

  • Default: "false"

  • Description: Controls logging when repeating tasks cycle back to TODO

When a repeating task (one with a repeater like +1w in its DEADLINE or SCHEDULED timestamp) is marked done, it cycles back to TODO. This setting controls whether to log that completion.

ValueBehavior
"false"No logging (default)
"time"Log timestamp and state change
"note"Log timestamp, state change, prompt for note
{
  "scimax.org.logRepeat": "time"
}

✅ scimax.org.logIntoDrawer

  • Type: boolean or string

  • Default: false

  • Description: Where to log state changes

ValueBehavior
falseLog in body text after properties
trueLog into :LOGBOOK: drawer
"CUSTOMNAME"Log into custom-named drawer
{
  "scimax.org.logIntoDrawer": true
}

✅ Journal Settings

Configure the journal system for daily note-taking and logging.

✅ Settings Overview

SettingTypeDefaultDescription
scimax.journal.directorystring""Directory for journal files
scimax.journal.formatstring"org"File format (org or markdown)
scimax.journal.templatestring"default"Template name for new entries
scimax.journal.dateFormatstring"YYYY-MM-DD"Date format for filenames
scimax.journal.autoTimestampbooleantrueAuto-add timestamps to log entries
scimax.journal.weekStartsOnstring"monday"First day of week (monday or sunday)

✅ Detailed Configuration

✅ scimax.journal.directory

  • Type: string

  • Default: "" (uses ~/scimax-journal)

  • Description: Directory where journal files are stored

{
  "scimax.journal.directory": "~/Documents/journal"
}

✅ scimax.journal.format

  • Type: string (enum)

  • Default: "org"

  • Options: "org", "markdown"

  • Description: File format for journal entries

{
  "scimax.journal.format": "markdown"
}

✅ scimax.journal.template

  • Type: string

  • Default: "default"

  • Description: Template name for new journal entries. Create custom templates in your journal directory.

{
  "scimax.journal.template": "daily-standup"
}

✅ scimax.journal.dateFormat

  • Type: string

  • Default: "YYYY-MM-DD"

  • Description: Date format for journal file names using date-fns tokens

  • `YYYY-MM-DD' → 2026-01-14

  • YYYY/MM/DD → 2026/01/14

  • `YYYYMMDD' → 20260114

{
  "scimax.journal.dateFormat": "YYYY/MM/DD"
}

✅ scimax.journal.autoTimestamp

  • Type: boolean

  • Default: true

  • Description: Automatically insert timestamps when creating log entries

{
  "scimax.journal.autoTimestamp": false
}

✅ scimax.journal.weekStartsOn

  • Type: string (enum)

  • Default: "monday"

  • Options: "monday", "sunday"

  • Description: First day of the week in calendar view

{
  "scimax.journal.weekStartsOn": "sunday"
}

✅ Database & Search Settings

Configure the full-text search database and semantic search capabilities.

Settings Overview

SettingTypeDefaultDescription
scimax.db.includeJournalbooleantrueInclude journal directory
scimax.db.includeWorkspacebooleantrueInclude workspace folders
scimax.db.includeProjectsbooleantrueInclude scimax projects
scimax.db.includearray[ ]Additional directories/files
scimax.db.excludearraySee belowPatterns/paths to exclude
scimax.db.autoIndexbooleanfalseAuto-index workspace on activation
scimax.db.embeddingProviderstring"ollama"Embedding provider for semantic search
scimax.db.ollamaUrlstring"http://localhost:11434"Ollama API URL
scimax.db.ollamaModelstring"nomic-embed-text"Ollama embedding model
scimax.db.queryTimeoutMsnumber30000Query timeout in milliseconds
scimax.db.maxRetryAttemptsnumber3Max retries for transient failures
scimax.db.maxFileSizeMBnumber10Max file size to index (MB)

Detailed Configuration

scimax.db.includeJournal

  • Type: boolean

  • Default: true

  • Description: Include the journal directory in database indexing

scimax.db.includeWorkspace

  • Type: boolean

  • Default: true

  • Description: Include workspace folders in database indexing

scimax.db.includeProjects

  • Type: boolean

  • Default: true

  • Description: Include all scimax projects in database indexing

scimax.db.include

  • Type: array of strings

  • Default: [ ]

  • Description: Additional directories or files to index (supports ~ for home directory)

{
  "scimax.db.include": [
    "~/Documents/notes",
    "~/research",
    "~/teaching/courses"
  ]
}

scimax.db.exclude

  • Type: array of strings

  • Default: ["**/node_modules/**", "**/.git/**", "**/dist/**", "**/build/**"]

  • Description: Patterns or paths to exclude from indexing (globs and absolute paths)

{
  "scimax.db.exclude": [
    "**/node_modules/**",
    "**/.git/**",
    "**/dist/**",
    "**/build/**",
    "**/archive/**",
    "~/notes/scratch.org"
  ]
}

scimax.db.autoIndex

  • Type: boolean

  • Default: false

  • Description: Automatically index workspace files on activation. Warning: Disable for large workspaces to prevent memory issues.

{
  "scimax.db.autoIndex": true
}

scimax.db.embeddingProvider

  • Type: string (enum)

  • Default: "ollama"

  • Options: "none", "ollama"

  • Description: Embedding provider for semantic/AI-powered search

{
  "scimax.db.embeddingProvider": "ollama"
}

scimax.db.ollamaUrl

  • Type: string

  • Default: "http://localhost:11434"

  • Description: Ollama API URL for embeddings

{
  "scimax.db.embeddingProvider": "ollama",
  "scimax.db.ollamaUrl": "http://localhost:11434"
}

scimax.db.ollamaModel

  • Type: string

  • Default: "nomic-embed-text"

  • Description: Ollama model name for embeddings. Must be installed in Ollama.

{
  "scimax.db.embeddingProvider": "ollama",
  "scimax.db.ollamaModel": "nomic-embed-text"
}

✅ scimax.db.queryTimeoutMs

  • Type: number

  • Default: 30000 (30 seconds)

  • Range: 5000 - 300000

  • Description: Maximum time in milliseconds for database queries. Prevents hung operations.

Increase this value if you have a very large database or slow disk:

{
  "scimax.db.queryTimeoutMs": 60000
}

✅ scimax.db.maxRetryAttempts

  • Type: number

  • Default: 3

  • Range: 1 - 10

  • Description: Maximum retry attempts for transient database failures (e.g., database locked, I/O errors).

Uses exponential backoff between retries.

{
  "scimax.db.maxRetryAttempts": 5
}

✅ scimax.db.maxFileSizeMB

  • Type: number

  • Default: 10

  • Range: 1 - 100

  • Description: Maximum file size in MB to index. Files larger than this are skipped.

Useful when working with external repositories or collaborator files that may contain large generated files:

{
  "scimax.db.maxFileSizeMB": 20
}

✅ Logging Settings

Configure logging and diagnostics.

Settings Overview

SettingTypeDefaultDescription
scimax.logLevelstring"info"Log level for Scimax output
scimax.logMaxSizeKBnumber1024Max log file size before rotation
scimax.logBackupCountnumber3Number of backup log files to keep

Detailed Configuration

scimax.logLevel

  • Type: string

  • Default: "info"

  • Enum: "debug", "info", "warn", "error"

  • Description: Controls the verbosity of logging to the Scimax output channel.

LevelShows
debugAll messages including detailed debug info
infoNormal operation messages
warnWarnings and errors only
errorErrors only

Note: Errors are always logged to the error log regardless of this setting, and a status bar indicator appears when errors occur.

scimax.logMaxSizeKB

  • Type: number

  • Default: 1024 (1MB)

  • Min/Max: 100 - 10240

  • Description: Maximum size of each log file in KB before rotation. Logs are written to the extension's storage directory.

scimax.logBackupCount

  • Type: number

  • Default: 3

  • Min/Max: 1 - 10

  • Description: Number of rotated log backup files to keep (scimax.log.1, scimax.log.2, etc.). Oldest backup is deleted when limit is reached.

Opening Log Files

Use the command Scimax: Open Log File Directory to open the directory containing log files for debugging.

{
  "scimax.logLevel": "debug",
  "scimax.logMaxSizeKB": 2048,
  "scimax.logBackupCount": 5
}

Code Execution Settings

Configure Python and Jupyter paths for source block execution.

Settings Overview

SettingTypeDefaultDescription
scimax.literate.pythonPathstring""Path to Python executable
scimax.literate.jupyterPathstring""Path to Jupyter executable

Detailed Configuration

scimax.literate.pythonPath

  • Type: string

  • Default: "" (uses system Python)

  • Description: Path to Python executable for code block execution

{
  "scimax.literate.pythonPath": "/usr/local/bin/python3"
}

Or with virtual environment:

{
  "scimax.literate.pythonPath": "~/projects/myproject/.venv/bin/python"
}

scimax.literate.jupyterPath

  • Type: string

  • Default: "" (uses system Jupyter)

  • Description: Path to Jupyter executable

{
  "scimax.literate.jupyterPath": "~/anaconda3/bin/jupyter"
}

Reference/Citation Settings

Configure bibliography management and citation styles.

Settings Overview

SettingTypeDefaultDescription
scimax.ref.bibliographyFilesarray[ ]Paths to BibTeX files
scimax.ref.pdfDirectorystring""Directory with PDF files
scimax.ref.notesDirectorystring""Directory for reference notes
scimax.ref.defaultCiteStylestring"cite"Default citation style

Detailed Configuration

scimax.ref.bibliographyFiles

  • Type: array of strings

  • Default: [ ]

  • Description: Paths to BibTeX bibliography files

{
  "scimax.ref.bibliographyFiles": [
    "~/Documents/bibliography/main.bib",
    "~/research/papers.bib"
  ]
}

scimax.ref.pdfDirectory

  • Type: string

  • Default: ""

  • Description: Directory containing PDF files for references

{
  "scimax.ref.pdfDirectory": "~/Documents/papers"
}

scimax.ref.notesDirectory

  • Type: string

  • Default: ""

  • Description: Directory for reference notes and annotations

{
  "scimax.ref.notesDirectory": "~/Documents/notes/references"
}

scimax.ref.defaultCiteStyle

  • Type: string (enum)

  • Default: "cite"

  • Options: "cite", "citet", "citep", "citeauthor", "citeyear"

  • Description: Default citation style for insertions

{
  "scimax.ref.defaultCiteStyle": "citep"
}

Export Settings

Configure LaTeX and PDF export options.

LaTeX Export Settings

SettingTypeDefaultDescription
scimax.export.latex.customHeaderstring""Custom LaTeX preamble
scimax.export.latex.documentClassstring"article"Default document class
scimax.export.latex.classOptionsstring"12pt,letterpaper"Default class options
scimax.export.latex.defaultPreamblestring(see below)Default LaTeX packages

scimax.export.latex.customHeader

  • Type: string

  • Default: ""

  • Description: Custom LaTeX header (preamble) that replaces the auto-generated one. Should include \documentclass through all \usepackage commands.

{
  "scimax.export.latex.customHeader": "\\documentclass[11pt]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage{graphicx}\n\\usepackage{amsmath}\n\\usepackage[margin1in]{geometry}"
}

scimax.export.latex.documentClass

  • Type: string

  • Default: "article"

  • Description: Default LaTeX document class. Can be overridden by #+LATEX_CLASS: in the document.

{
  "scimax.export.latex.documentClass": "report"
}

scimax.export.latex.classOptions

  • Type: string

  • Default: "12pt,letterpaper"

  • Description: Default LaTeX class options. Can be overridden by #+LATEX_CLASS_OPTIONS: in the document.

{
  "scimax.export.latex.classOptions": "11pt,a4paper,twoside"
}

scimax.export.latex.defaultPreamble

  • Type: string

  • Default: Standard academic packages (inputenc, graphicx, amsmath, etc.)

  • Description: Default LaTeX preamble packages. Can be extended by #+LATEX_HEADER: in the document.

{
  "scimax.export.latex.defaultPreamble": "\\usepackage[utf8]{inputenc}\n\\usepackage{graphicx}\n\\usepackage{amsmath}"
}

PDF Export Settings

SettingTypeDefaultDescription
scimax.export.pdf.compilerstring"latexmk-lualatex"LaTeX compiler for PDF
scimax.export.pdf.bibtexCommandstring"bibtex"Bibliography processor
scimax.export.pdf.shellEscapestring"restricted"Shell escape mode
scimax.export.pdf.extraArgsstring""Extra compiler arguments
scimax.export.pdf.openLogOnErrorbooleantrueOpen log on compilation failure
scimax.export.pdf.cleanAuxFilesbooleantrueClean auxiliary files on success

scimax.export.pdf.compiler

  • Type: string (enum)

  • Default: "latexmk-lualatex"

  • Options: "latexmk-lualatex", "latexmk-pdflatex", "latexmk-xelatex", "lualatex", "pdflatex", "xelatex"

  • Description: LaTeX compiler to use for PDF generation

{
  "scimax.export.pdf.compiler": "latexmk-xelatex"
}

scimax.export.pdf.bibtexCommand

  • Type: string (enum)

  • Default: "bibtex"

  • Options: "biber", "bibtex"

  • Description: Bibliography processor (only used when not using latexmk)

{
  "scimax.export.pdf.bibtexCommand": "biber"
}

scimax.export.pdf.shellEscape

  • Type: string (enum)

  • Default: "restricted"

  • Options: "restricted", "full", "disabled"

  • Description: Shell escape mode for LaTeX compilation

{
  "scimax.export.pdf.shellEscape": "full"
}

scimax.export.pdf.extraArgs

  • Type: string

  • Default: ""

  • Description: Extra arguments to pass to the LaTeX compiler

{
  "scimax.export.pdf.extraArgs": "-synctex=1"
}

scimax.export.pdf.openLogOnError

  • Type: boolean

  • Default: true

  • Description: Automatically open the log file when PDF compilation fails

scimax.export.pdf.cleanAuxFiles

  • Type: boolean

  • Default: true

  • Description: Clean up auxiliary files (.aux, .bbl, .blg, etc.) after successful compilation

LaTeX Preview Settings

Configure inline LaTeX equation previews.

Settings Overview

SettingTypeDefaultDescription
scimax.latexPreview.enabledbooleantrueEnable LaTeX preview on hover
scimax.latexPreview.cacheEnabledbooleantrueCache rendered equations
scimax.latexPreview.darkModeAwarebooleantrueAdjust rendering for dark themes

Detailed Configuration

scimax.latexPreview.enabled

  • Type: boolean

  • Default: true

  • Description: Enable LaTeX equation preview on hover

{
  "scimax.latexPreview.enabled": true
}

scimax.latexPreview.cacheEnabled

  • Type: boolean

  • Default: true

  • Description: Cache rendered equations for faster hover responses

{
  "scimax.latexPreview.cacheEnabled": true
}

scimax.latexPreview.darkModeAware

  • Type: boolean

  • Default: true

  • Description: Automatically adjust equation rendering for dark/light themes

{
  "scimax.latexPreview.darkModeAware": true
}

LaTeX Live Preview Settings

Configure automatic PDF building and live preview.

Settings Overview

SettingTypeDefaultDescription
scimax.latexLivePreview.buildOnSavebooleantrueAuto-rebuild PDF on save
scimax.latexLivePreview.buildOnIdlebooleanfalseAuto-rebuild after idle period
scimax.latexLivePreview.idleDelaynumber2000Idle delay in milliseconds
scimax.latexLivePreview.compilerstring"pdflatex"LaTeX compiler to use
scimax.latexLivePreview.useLatexmkbooleantrueUse latexmk for smart builds

Detailed Configuration

scimax.latexLivePreview.buildOnSave

  • Type: boolean

  • Default: true

  • Description: Automatically rebuild PDF when the org file is saved

{
  "scimax.latexLivePreview.buildOnSave": true
}

scimax.latexLivePreview.buildOnIdle

  • Type: boolean

  • Default: false

  • Description: Automatically rebuild PDF after idle period (no typing)

{
  "scimax.latexLivePreview.buildOnIdle": true,
  "scimax.latexLivePreview.idleDelay": 3000
}

scimax.latexLivePreview.idleDelay

  • Type: number

  • Default: 2000

  • Description: Delay in milliseconds before idle build triggers

{
  "scimax.latexLivePreview.buildOnIdle": true,
  "scimax.latexLivePreview.idleDelay": 5000
}

scimax.latexLivePreview.compiler

  • Type: string (enum)

  • Default: "pdflatex"

  • Options: "pdflatex", "xelatex", "lualatex"

  • Description: LaTeX compiler to use

{
  "scimax.latexLivePreview.compiler": "xelatex"
}

scimax.latexLivePreview.useLatexmk

  • Type: boolean

  • Default: true

  • Description: Use latexmk for smart incremental builds (recommended). Automatically handles multiple passes for references, bibliography, etc.

{
  "scimax.latexLivePreview.useLatexmk": true
}

Notebook Settings

Configure the project-based notebook system.

Settings Overview

SettingTypeDefaultDescription
scimax.notebook.directorystring""Default parent directory
scimax.notebook.defaultTemplatestring"research"Default template
scimax.notebook.autoDetectbooleantrueAuto-detect projects

Detailed Configuration

scimax.notebook.directory

  • Type: string

  • Default: ""

  • Description: Default parent directory for new notebooks

{
  "scimax.notebook.directory": "~/projects"
}

scimax.notebook.defaultTemplate

  • Type: string (enum)

  • Default: "research"

  • Options: "empty", "research", "software", "notes"

  • Description: Default template for new notebooks

{
  "scimax.notebook.defaultTemplate": "software"
}

scimax.notebook.autoDetect

  • Type: boolean

  • Default: true

  • Description: Automatically detect and track projects in workspace

{
  "scimax.notebook.autoDetect": false
}

Hydra Menu Settings

Configure the Hydra menu system for quick command access.

Settings Overview

SettingTypeDefaultDescription
scimax.hydra.showKeyHintsbooleantrueShow keyboard shortcuts inline
scimax.hydra.singleKeySelectionbooleantrueSingle keypress selection
scimax.hydra.dimNonMatchingbooleantrueDim non-matching items
scimax.hydra.sortByKeybooleanfalseSort items by keyboard shortcut

Detailed Configuration

scimax.hydra.showKeyHints

  • Type: boolean

  • Default: true

  • Description: Show keyboard shortcuts inline with menu items

{
  "scimax.hydra.showKeyHints": true
}

scimax.hydra.singleKeySelection

  • Type: boolean

  • Default: true

  • Description: Select menu items with a single keypress (no Enter needed)

{
  "scimax.hydra.singleKeySelection": true
}

scimax.hydra.dimNonMatching

  • Type: boolean

  • Default: true

  • Description: Dim menu items that don't match the current filter

{
  "scimax.hydra.dimNonMatching": true
}

scimax.hydra.sortByKey

  • Type: boolean

  • Default: false

  • Description: Sort menu items by their keyboard shortcut instead of logical grouping

{
  "scimax.hydra.sortByKey": false
}

Speed Commands Settings

Configure org-mode style speed commands.

Settings Overview

SettingTypeDefaultDescription
scimax.speedCommands.enabledbooleantrueEnable speed commands at heading start

Detailed Configuration

scimax.speedCommands.enabled

  • Type: boolean

  • Default: true

  • Description: Enable org-mode speed commands (single-key shortcuts at beginning of headings)

When enabled, you can use single-key shortcuts (like `n', `p', `u') when the cursor is at the beginning of a heading line.

{
  "scimax.speedCommands.enabled": true
}

Agenda Settings

Configure the agenda view and TODO tracking.

Settings Overview

SettingTypeDefaultDescription
scimax.agenda.includeJournalbooleantrueInclude journal in agenda
scimax.agenda.includeWorkspacebooleantrueInclude workspace folders
scimax.agenda.includeProjectsbooleantrueInclude scimax projects
scimax.agenda.includearray[ ]Additional dirs/files
scimax.agenda.excludearraySee belowPatterns/paths to exclude
scimax.agenda.defaultSpannumber7Days to show in agenda
scimax.agenda.showDonebooleanfalseShow completed items
scimax.agenda.showHabitsbooleantrueShow habit-tagged items
scimax.agenda.todoStatesarray["TODO", "NEXT", "WAITING"]Active TODO states
scimax.agenda.doneStatesarray["DONE", "CANCELLED"]Completed states

Detailed Configuration

scimax.agenda.includeJournal

  • Type: boolean

  • Default: true

  • Description: Include the journal directory in agenda scanning

When enabled, the journal directory (from scimax.journal.directory) is automatically included in agenda scanning. Disable this if you don't want journal entries in your agenda.

scimax.agenda.includeWorkspace

  • Type: boolean

  • Default: true

  • Description: Include workspace folders in agenda scanning

scimax.agenda.includeProjects

  • Type: boolean

  • Default: true

  • Description: Include all scimax projects in agenda scanning

When enabled, all projects registered with scimax projectile are included in agenda scanning. This is useful because projects often contain TODO items and tasks.

scimax.agenda.include

  • Type: array of strings

  • Default: [ ] (empty)

  • Description: Additional directories or files to include in the agenda (supports ~ for home directory)

{
  "scimax.agenda.include": [
    "~/Documents/org",
    "~/work/projects"
  ]
}

scimax.agenda.exclude

  • Type: array of strings

  • Default: ["**/node_modules/**", "**/.git/**", "**/archive/**"]

  • Description: Patterns or paths to exclude from agenda scanning. Supports both glob patterns (containing *) and absolute paths.

{
  "scimax.agenda.exclude": [
    "**/node_modules/**",
    "**/.git/**",
    "**/archive/**",
    "~/org/scratch.org"
  ]
}

scimax.agenda.defaultSpan

  • Type: number

  • Default: 7

  • Description: Default number of days to show in agenda view

{
  "scimax.agenda.defaultSpan": 14
}

scimax.agenda.showDone

  • Type: boolean

  • Default: false

  • Description: Show completed (DONE) items in agenda view

{
  "scimax.agenda.showDone": true
}

scimax.agenda.showHabits

  • Type: boolean

  • Default: true

  • Description: Show items tagged with :HABIT:

{
  "scimax.agenda.showHabits": false
}

scimax.agenda.todoStates

  • Type: array of strings

  • Default: ["TODO", "NEXT", "WAITING"]

  • Description: Active TODO states to show in TODO list

{
  "scimax.agenda.todoStates": [
    "TODO",
    "NEXT",
    "IN-PROGRESS",
    "WAITING",
    "SOMEDAY"
  ]
}

scimax.agenda.doneStates

  • Type: array of strings

  • Default: ["DONE", "CANCELLED"]

  • Description: Completed TODO states

{
  "scimax.agenda.doneStates": [
    "DONE",
    "CANCELLED",
    "DEFERRED",
    "ARCHIVED"
  ]
}

Image Overlay Settings

Configure inline image thumbnails in org-mode files.

Settings Overview

SettingTypeDefaultDescription
scimax.imageOverlays.enabledbooleantrueEnable inline image thumbnails
scimax.imageOverlays.maxWidthnumber96Maximum thumbnail width in pixels
scimax.imageOverlays.maxHeightnumber96Maximum thumbnail height in pixels
scimax.imageOverlays.renderModestring"gutter"Where to display thumbnails
scimax.imageOverlays.onlyWhenCursorNotInLinkbooleantrueHide when cursor in link
scimax.imageOverlays.excludePatternsarray[ ]Regex patterns to exclude
scimax.imageOverlays.maxOverlaysPerDocumentnumber200Max overlays per document
scimax.imageOverlays.showDimensionsbooleantrueShow image dimensions
scimax.imageOverlays.cacheEnabledbooleantrueCache generated thumbnails

Detailed Configuration

scimax.imageOverlays.enabled

  • Type: boolean

  • Default: true

  • Description: Enable inline image thumbnails in org-mode files

{
  "scimax.imageOverlays.enabled": true
}

scimax.imageOverlays.maxWidth

  • Type: number

  • Default: 96

  • Description: Maximum width in pixels for thumbnail icons

{
  "scimax.imageOverlays.maxWidth": 128
}

scimax.imageOverlays.maxHeight

  • Type: number

  • Default: 96

  • Description: Maximum height in pixels for thumbnail icons

{
  "scimax.imageOverlays.maxHeight": 128
}

scimax.imageOverlays.renderMode

  • Type: string (enum)

  • Default: "gutter"

  • Options: "gutter", "after", "both"

  • Description: Where to display image thumbnails

{
  "scimax.imageOverlays.renderMode": "both"
}

scimax.imageOverlays.excludePatterns

  • Type: array of strings

  • Default: [ ]

  • Description: Regex patterns for image paths to exclude from overlays

{
  "scimax.imageOverlays.excludePatterns": [
    ".*\\.ico$",
    ".*thumbnail.*"
  ]
}

scimax.imageOverlays.maxOverlaysPerDocument

  • Type: number

  • Default: 200

  • Description: Maximum number of image overlays to display per document (prevents performance issues)

{
  "scimax.imageOverlays.maxOverlaysPerDocument": 500
}

scimax.imageOverlays.showDimensions

  • Type: boolean

  • Default: true

  • Description: Show image dimensions in the after-content decoration

{
  "scimax.imageOverlays.showDimensions": false
}

scimax.imageOverlays.cacheEnabled

  • Type: boolean

  • Default: true

  • Description: Cache generated thumbnails for faster loading

{
  "scimax.imageOverlays.cacheEnabled": true
}

Capture Settings

Configure the org-capture system for quick note-taking.

Settings Overview

SettingTypeDefaultDescription
scimax.capture.templatesarray[ ]Capture templates
scimax.capture.defaultFilestring"~/org/notes.org"Default capture file
scimax.capture.datetreeFormatstring"day"Datetree granularity
scimax.capture.autoSavebooleantrueAuto-save after capture

Detailed Configuration

scimax.capture.templates

  • Type: array of objects

  • Default: [ ]

  • Description: Capture templates for quick note-taking. Each template has:

  • %^{prompt}: Prompt for input

  • %t: Current timestamp

  • %T: Current timestamp with time

  • %i: Initial content (selected text)

  • %a: Link to current location

  • %?: Cursor position after insertion

{
  "scimax.capture.templates": [
    {
      "key": "t",
      "name": "Task",
      "type": "entry",
      "file": "~/org/todo.org",
      "headline": "Tasks",
      "template": "* TODO %^{Task}\n  SCHEDULED: %t\n  %?"
    },
    {
      "key": "n",
      "name": "Note",
      "type": "entry",
      "file": "~/org/notes.org",
      "datetree": true,
      "template": "* %^{Title}\n  %T\n\n  %?"
    },
    {
      "key": "m",
      "name": "Meeting",
      "type": "entry",
      "file": "~/org/meetings.org",
      "template": "* Meeting: %^{Topic}\n  %T\n\n  Attendees: %^{Attendees}\n\n  Notes:\n  %?"
    }
  ]
}

scimax.capture.defaultFile

  • Type: string

  • Default: "~/org/notes.org"

  • Description: Default file for captures when no target file is specified in template

{
  "scimax.capture.defaultFile": "~/Documents/inbox.org"
}

scimax.capture.datetreeFormat

  • Type: string (enum)

  • Default: "day"

  • Options: "day", "week", "month"

  • Description: Granularity of datetree entries

{
  "scimax.capture.datetreeFormat": "week"
}

scimax.capture.autoSave

  • Type: boolean

  • Default: true

  • Description: Automatically save the file after capture

{
  "scimax.capture.autoSave": true
}

Common Configurations

This section provides complete `settings.json' examples for different use cases.

Academic Writing Setup

Perfect for researchers, graduate students, and academic writers:

{
  // Journal for daily research log
  "scimax.journal.directory": "~/research/journal",
  "scimax.journal.format": "org",
  "scimax.journal.autoTimestamp": true,

  // References and bibliography
  "scimax.ref.bibliographyFiles": [
    "~/research/bibliography/main.bib",
    "~/research/bibliography/conferences.bib"
  ],
  "scimax.ref.pdfDirectory": "~/research/papers",
  "scimax.ref.notesDirectory": "~/research/notes",
  "scimax.ref.defaultCiteStyle": "citep",

  // Database and search
  "scimax.db.include": [
    "~/research",
    "~/teaching"
  ],
  "scimax.db.autoIndex": true,
  "scimax.db.embeddingProvider": "ollama",
  "scimax.db.ollamaModel": "nomic-embed-text",

  // LaTeX export and preview
  "scimax.latexPreview.enabled": true,
  "scimax.latexPreview.darkModeAware": true,
  "scimax.latexLivePreview.buildOnSave": true,
  "scimax.latexLivePreview.compiler": "pdflatex",
  "scimax.latexLivePreview.useLatexmk": true,

  // Agenda for deadlines and tasks
  "scimax.agenda.include": [
    "~/research/projects",
    "~/teaching"
  ],
  "scimax.agenda.defaultSpan": 14,
  "scimax.agenda.showDone": false,
  "scimax.agenda.todoStates": ["TODO", "NEXT", "WAITING", "REVIEW"],
  "scimax.agenda.doneStates": ["DONE", "PUBLISHED"],

  // Capture templates
  "scimax.capture.templates": [
    {
      "key": "p",
      "name": "Paper Note",
      "type": "entry",
      "file": "~/research/notes/papers.org",
      "template": "* %^{Title}\n  :PROPERTIES:\n  :CITE: %^{Citation key}\n  :END:\n\n  %?"
    },
    {
      "key": "i",
      "name": "Research Idea",
      "type": "entry",
      "file": "~/research/ideas.org",
      "datetree": true,
      "template": "* %^{Idea}\n  %T\n\n  %?"
    }
  ]
}

Software Development Setup

Optimized for software developers and programmers:

{
  // Journal for development log
  "scimax.journal.directory": "~/devlog",
  "scimax.journal.format": "markdown",
  "scimax.journal.template": "daily-standup",

  // Code execution
  "scimax.literate.pythonPath": "~/.pyenv/shims/python",
  "scimax.literate.jupyterPath": "~/.pyenv/shims/jupyter",

  // Database - index project documentation
  "scimax.db.include": [
    "~/projects",
    "~/docs"
  ],
  "scimax.db.exclude": [
    "**/node_modules/**",
    "**/.git/**",
    "**/dist/**",
    "**/build/**",
    "**/.venv/**",
    "**/target/**"
  ],
  "scimax.db.autoIndex": false,
  "scimax.db.embeddingProvider": "ollama",
  "scimax.db.ollamaUrl": "http://localhost:11434",
  "scimax.db.ollamaModel": "nomic-embed-text",

  // Notebooks for project organization
  "scimax.notebook.directory": "~/projects",
  "scimax.notebook.defaultTemplate": "software",
  "scimax.notebook.autoDetect": true,

  // Agenda for issue tracking
  "scimax.agenda.include": [
    "~/projects"
  ],
  "scimax.agenda.defaultSpan": 7,
  "scimax.agenda.todoStates": ["TODO", "IN-PROGRESS", "BLOCKED", "REVIEW"],
  "scimax.agenda.doneStates": ["DONE", "WONTFIX", "DUPLICATE"],

  // Capture for quick notes and TODOs
  "scimax.capture.templates": [
    {
      "key": "t",
      "name": "TODO",
      "type": "entry",
      "file": "~/projects/todo.org",
      "headline": "Inbox",
      "template": "* TODO %^{Task}\n  SCHEDULED: %t\n  %a\n  %?"
    },
    {
      "key": "b",
      "name": "Bug",
      "type": "entry",
      "file": "~/projects/bugs.org",
      "template": "* TODO [BUG] %^{Description}\n  %T\n\n  Steps to reproduce:\n  %?\n\n  Expected:\n  Actual:"
    }
  ],

  // Disable image overlays for cleaner code view
  "scimax.imageOverlays.enabled": false
}

Personal Notes & PKM Setup

For personal knowledge management and note-taking:

{
  // Journal
  "scimax.journal.directory": "~/notes/journal",
  "scimax.journal.format": "org",
  "scimax.journal.weekStartsOn": "monday",
  "scimax.journal.autoTimestamp": true,

  // Database with semantic search
  "scimax.db.include": [
    "~/notes",
    "~/books",
    "~/articles"
  ],
  "scimax.db.exclude": [
    "**/archive/**",
    "**/temp/**"
  ],
  "scimax.db.autoIndex": true,
  "scimax.db.embeddingProvider": "ollama",
  "scimax.db.ollamaModel": "nomic-embed-text",

  // References for reading notes
  "scimax.ref.bibliographyFiles": [
    "~/notes/reading.bib"
  ],
  "scimax.ref.pdfDirectory": "~/books",
  "scimax.ref.notesDirectory": "~/notes/reading-notes",

  // Agenda for personal tasks
  "scimax.agenda.include": [
    "~/notes"
  ],
  "scimax.agenda.defaultSpan": 7,
  "scimax.agenda.showDone": false,
  "scimax.agenda.showHabits": true,
  "scimax.agenda.todoStates": ["TODO", "NEXT", "WAITING", "SOMEDAY"],
  "scimax.agenda.doneStates": ["DONE", "CANCELLED"],

  // Image overlays for visual notes
  "scimax.imageOverlays.enabled": true,
  "scimax.imageOverlays.maxWidth": 128,
  "scimax.imageOverlays.maxHeight": 128,
  "scimax.imageOverlays.renderMode": "both",

  // Rich capture templates
  "scimax.capture.templates": [
    {
      "key": "n",
      "name": "Note",
      "type": "entry",
      "file": "~/notes/inbox.org",
      "template": "* %^{Title}\n  %T\n\n  %?"
    },
    {
      "key": "b",
      "name": "Book Note",
      "type": "entry",
      "file": "~/notes/books.org",
      "template": "* %^{Book Title}\n  :PROPERTIES:\n  :AUTHOR: %^{Author}\n  :GENRE: %^{Genre}\n  :RATING: %^{Rating (1-5)}\n  :END:\n\n  %?"
    },
    {
      "key": "j",
      "name": "Journal Entry",
      "type": "entry",
      "file": "~/notes/journal.org",
      "datetree": true,
      "template": "* %^{Entry}\n  %T\n\n  %?"
    },
    {
      "key": "t",
      "name": "Task",
      "type": "entry",
      "file": "~/notes/tasks.org",
      "headline": "Inbox",
      "template": "* TODO %^{Task}\n  SCHEDULED: %t\n  %?"
    }
  ],
  "scimax.capture.datetreeFormat": "day",
  "scimax.capture.autoSave": true,

  // Hydra menu settings
  "scimax.hydra.showKeyHints": true,
  "scimax.hydra.singleKeySelection": true
}

Minimal Configuration

Bare-bones setup with just the essentials:

{
  "scimax.journal.directory": "~/journal",
  "scimax.db.autoIndex": false,
  "scimax.agenda.include": ["~/notes"]
}

Troubleshooting

Database Performance

If database indexing is slow or uses too much memory:

{
  "scimax.db.autoIndex": false,
  "scimax.db.exclude": [
    "**/node_modules/**",
    "**/.git/**",
    "**/dist/**",
    "**/build/**",
    "**/*.min.js",
    "**/archive/**"
  ]
}

Then manually trigger indexing with C-S-P → "Scimax: Reindex Files"

Jupyter Kernels Not Found

Ensure Jupyter is in your PATH or specify the full path:

{
  "scimax.literate.jupyterPath": "/usr/local/bin/jupyter"
}

Check available kernels with C-S-P → "Scimax: Show Available Jupyter Kernels"

LaTeX Preview Not Working

Ensure you have a LaTeX distribution installed (TeX Live, MiKTeX, etc.), then:

{
  "scimax.latexPreview.enabled": true,
  "scimax.latexPreview.cacheEnabled": false
}

Semantic Search Not Working

Ensure the Ollama server is running and the embedding model is pulled:

curl http://localhost:11434/api/version

Navigation