✅ 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:

    • Press C-S-P (or s-S-P) and search for "Preferences: Open Settings (JSON)"

    • Or click the settings icon (⚙) in the top-right of the Settings UI and select "Open Settings (JSON)"

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

Example:

{
  "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
scimax.org.diagnostics.orphanLinksbooleantrueWarn on unresolved internal links
scimax.org.notes.excludeFromExportbooleantrueStrip dialog notes from exports
scimax.org.notes.labelPrefixstring"note-"Footnote label prefix for notes
scimax.org.notes.authorstring""Author recorded on new notes
scimax.org.depend.enabledbooleantrueEnable TODO task dependencies
scimax.org.depend.readyStatestringNEXTState to promote unblocked tasks to
scimax.org.depend.autoPromotebooleantruePromote on unblock (else notify only)
scimax.org.depend.showIndicatorsbooleantrueBlocked/ready CodeLens on TODO tasks
scimax.org.depend.hideBlockedInAgendabooleanfalseHide blocked tasks from agenda
scimax.org.entitiesarray[]Entity types for the Pick Entity selector

✅ Task Dependencies

When scimax.org.depend.enabled (the default), a TODO task with a :DEPENDS: property cannot be marked DONE until the tasks it depends on are DONE, and completing a task surfaces (and, when autoPromote is on, advances to readyState) any task it unblocks. A parent marked :ORDERED: t forces its children to be completed in order. Blocked/ready indicators (showIndicators), the Dependencies tree view, the agenda filter (hideBlockedInAgenda), and dangling/cycle diagnostics surface the dependency graph. See Task Dependencies for the full guide.

✅ Entity Selector (Contacts, Locations, …)

scimax.org.entities defines named entity types for the Scimax: Pick Entity selector — fuzzy-pick a tagged/propertied heading and act on it (insert link, insert/copy a field, mailto, maps, open URL). Built-in Contacts (:person:) and Locations (:location:) are always available; entries here are merged in. Adding a type needs no code:

"scimax.org.entities": [
  { "name": "Reagents", "tag": "reagent", "display": "CAS", "url": "SUPPLIER_URL" }
]

Fields: name (required), tag/property/value (selection), display (shown in the picker), email/address/url (properties powering the mailto/maps/open-link actions). See Contacts, Locations & Entity Selector.

✅ 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

Example:

{
  "scimax.org.logRepeat": "time"
}

File-level override: Use #+STARTUP: logrepeat, #+STARTUP: lognoterepeat, or #+STARTUP: nologrepeat

Heading-level override: Add :LOGGING: logrepeat property

✅ 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

Example:

{
  "scimax.org.logIntoDrawer": true
}

File-level override: Use #+STARTUP: logdrawer or #+STARTUP: nologdrawer

✅ 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

Example:

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

✅ scimax.journal.format

  • Type: string (enum)

  • Default: "org"

  • Options: "org", "markdown"

  • Description: File format for journal entries

Example:

{
  "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.

Example:

{
  "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

Common formats:

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

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

  • `YYYYMMDD' → 20260114

Example:

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

✅ scimax.journal.autoTimestamp

  • Type: boolean

  • Default: true

  • Description: Automatically insert timestamps when creating log entries

Example:

{
  "scimax.journal.autoTimestamp": false
}

✅ scimax.journal.weekStartsOn

  • Type: string (enum)

  • Default: "monday"

  • Options: "monday", "sunday"

  • Description: First day of the week in calendar view

Example:

{
  "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.dirsPerSessionnumber5Directories scanned per background indexing session
scimax.db.checkStaleOnActivationbooleantruePrompt to refresh on activation if indexed files changed on disk
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)

Example:

{
  "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)

Example:

{
  "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.

Example:

{
  "scimax.db.autoIndex": true
}

scimax.db.dirsPerSession

  • Type: number

  • Default: 5

  • Description: Number of configured directories to scan per background indexing session. Progress is saved in extension state, so remaining directories are picked up in later sessions. Lower this if activation feels slow with many indexed directories.

Example:

{
  "scimax.db.dirsPerSession": 3
}

✅ scimax.db.checkStaleOnActivation

  • Type: boolean

  • Default: true

  • Description: On activation, check whether any indexed files have changed on disk and show a one-time prompt offering to run Refresh. Useful for catching changes synced from another machine (e.g. Dropbox) while VS Code was closed. Skipped if scimax.db.autoCheckStale is on (which auto-refreshes in the background instead).

Example (disable the prompt):

{
  "scimax.db.checkStaleOnActivation": false
}

scimax.db.embeddingProvider

  • Type: string (enum)

  • Default: "ollama"

  • Options: "none", "ollama"

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

    • none: No semantic search (text-only)

    • ollama: Use local Ollama server (recommended)

Example:

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

scimax.db.ollamaUrl

  • Type: string

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

  • Description: Ollama API URL for embeddings

Example:

{
  "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.

Example:

{
  "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:

Example:

{
  "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.

Example:

{
  "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:

Example:

{
  "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.

Example:

{
  "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

Example:

{
  "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

Example:

{
  "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

Example:

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

scimax.ref.pdfDirectory

  • Type: string

  • Default: ""

  • Description: Directory containing PDF files for references

Example:

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

scimax.ref.notesDirectory

  • Type: string

  • Default: ""

  • Description: Directory for reference notes and annotations

Example:

{
  "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

    • cite: Generic citation

    • citet: Textual citation (Author (Year))

    • citep: Parenthetical citation ((Author, Year))

    • citeauthor: Author only

    • citeyear: Year only

Example:

{
  "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.citeBackendstring"bibtex"Org-cite backend (bibtex/biblatex)

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.

Example:

{
  "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.

Example:

{
  "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.

Example:

{
  "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.

Example:

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

✅ scimax.export.latex.citeBackend

  • Type: string (enum)

  • Default: "bibtex"

  • Options: "bibtex", "biblatex"

  • Description: Backend used when translating org-cite citations ([cite/STYLE/VARIANTS:@key]) into LaTeX.

    • bibtex (default): emits natbib commands -- \citep, \citet, \citealp, \Citet, etc. Use with the standard bibtex/natbib stack.

    • biblatex: emits biblatex commands -- \autocite, \textcite, \Autocite, \fullcite, etc. Requires \usepackage{biblatex} and biber.

A per-document override is also supported via #+cite_export: bibtex or #+cite_export: biblatex. See Export for the full style/variant → command mapping table.

Example:

{
  "scimax.export.latex.citeBackend": "biblatex"
}

✅ Beamer Export Settings

See Beamer Export for the full feature reference.

SettingTypeDefaultDescription
scimax.export.beamer.themestring""Default Beamer theme (e.g. "Madrid")
scimax.export.beamer.colorThemestring""Default color theme (e.g. "beaver")
scimax.export.beamer.fontThemestring""Default font theme
scimax.export.beamer.innerThemestring""Default inner theme
scimax.export.beamer.outerThemestring""Default outer theme
scimax.export.beamer.frameLevelnumber1Headline depth at which a heading becomes a frame
scimax.export.beamer.boldIsAlertbooleantrueRender *bold* as \alert{...}
scimax.export.beamer.aspectRatiostring""Beamer aspect ratio: "", 43, 169, 1610, 54, 32, 141
scimax.export.beamer.classOptionsstring"presentation"Comma-separated \documentclass[...]{beamer} options
scimax.export.beamer.defaultPreamblestring""Extra preamble appended after theme commands

⚠️ Custom Exporter Settings

SettingTypeDefaultDescription
scimax.export.customExporterPathsarray[]Extra directories to search for custom exporters
scimax.export.latexClassExportersobject{}Map #+LATEX_CLASS to a custom exporter id

⚠️ scimax.export.latexClassExporters

  • Type: object (string → string)

  • Default: {}

  • Description: Makes the ordinary LaTeX/PDF exports (C-c C-e l l, l p, l o) use a custom exporter when the document declares a matching #+LATEX_CLASS. Keys are class names (matched case-insensitively), values are custom exporter ids.

Example:

{
  "scimax.export.latexClassExporters": {
    "cmu-memo": "cmu-memo"
  }
}

A document with #+LATEX_CLASS: cmu-memo then exports through the cmu-memo exporter automatically. Override per file with #+EXPORTER: <id>, or disable routing for one file with #+EXPORTER: none.

See Extension Points for how to define custom exporters.

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.profilestring""Build profile to use by default
scimax.export.pdf.profilesobject{}Build profiles defined inline

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

    • latexmk-*: Uses latexmk which automatically handles multiple passes for references and bibliography (recommended)

    • Direct compilers: Manual handling of bibliography passes

Example:

{
  "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)

    • bibtex: Traditional, works with .bst styles

    • biber: Modern, required for biblatex

Example:

{
  "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

    • restricted: Allows minted/pygments but blocks dangerous commands (safe default)

    • full: Allows all shell commands (security risk, but needed for some packages)

    • disabled: No shell escape

Example:

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

scimax.export.pdf.extraArgs

  • Type: string

  • Default: ""

  • Description: Extra arguments to pass to the LaTeX compiler

Example:

{
  "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

⚠️ scimax.export.pdf.profile

  • Type: string

  • Default: ""

  • Description: Name of the build profile to use when a document does not choose one with #+LATEX_BUILD: and no nearby latex-profiles.json declares a default. Set to none to always use scimax.export.pdf.compiler.

Example:

{
  "scimax.export.pdf.profile": "lualatex-biber"
}

⚠️ scimax.export.pdf.profiles

  • Type: object

  • Default: {}

  • Description: Build profiles defined in settings, in the same shape as a latex-profiles.json file's profiles object. These override the built-in profiles of the same name and are available in every workspace, trusted or not. Project-local latex-profiles.json files override these in turn.

Example:

{
  "scimax.export.pdf.profiles": {
    "thesis": {
      "description": "lualatex with biber and a glossary",
      "steps": [
        { "command": "lualatex", "args": ["-interaction=nonstopmode", "%f"] },
        { "command": "biber", "args": ["%b"], "whenFileExists": "%b.bcf" },
        { "command": "makeglossaries", "args": ["%b"], "whenFileExists": "%b.glo" },
        { "command": "lualatex", "args": ["-interaction=nonstopmode", "%f"] },
        { "command": "lualatex", "args": ["-interaction=nonstopmode", "%f"] }
      ]
    }
  }
}

%f is the file name and %b the base name without extension - the form bibtex and biber expect. See Build Profiles for the full token and step reference.

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

Example:

{
  "scimax.latexPreview.enabled": true
}

scimax.latexPreview.cacheEnabled

  • Type: boolean

  • Default: true

  • Description: Cache rendered equations for faster hover responses

Example:

{
  "scimax.latexPreview.cacheEnabled": true
}

scimax.latexPreview.darkModeAware

  • Type: boolean

  • Default: true

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

Example:

{
  "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

Example:

{
  "scimax.latexLivePreview.buildOnSave": true
}

scimax.latexLivePreview.buildOnIdle

  • Type: boolean

  • Default: false

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

Example:

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

scimax.latexLivePreview.idleDelay

  • Type: number

  • Default: 2000

  • Description: Delay in milliseconds before idle build triggers

Example:

{
  "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

    • pdflatex: Standard, fast

    • xelatex: Better Unicode and font support

    • lualatex: Modern, Lua scripting support

Example:

{
  "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.

Example:

{
  "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

Example:

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

scimax.notebook.defaultTemplate

  • Type: string (enum)

  • Default: "research"

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

  • Description: Default template for new notebooks

    • empty: Minimal structure

    • research: Research project layout

    • software: Software development layout

    • notes: Note-taking layout

Example:

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

scimax.notebook.autoDetect

  • Type: boolean

  • Default: true

  • Description: Automatically detect and track projects in workspace

Example:

{
  "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

Example:

{
  "scimax.hydra.showKeyHints": true
}

scimax.hydra.singleKeySelection

  • Type: boolean

  • Default: true

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

Example:

{
  "scimax.hydra.singleKeySelection": true
}

scimax.hydra.dimNonMatching

  • Type: boolean

  • Default: true

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

Example:

{
  "scimax.hydra.dimNonMatching": true
}

scimax.hydra.sortByKey

  • Type: boolean

  • Default: false

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

Example:

{
  "scimax.hydra.sortByKey": false
}

✅ Highlighting Settings

Configure the visual decoration of org headings and source blocks.

Settings Overview

SettingTypeDefaultDescription
scimax.highlighting.headingBackgroundBarsbooleantrueTinted whole-line background behind each org heading

Detailed Configuration

scimax.highlighting.headingBackgroundBars

  • Type: boolean

  • Default: true

  • Description: Show a tinted whole-line background behind each org heading, fading at deeper levels.

The bar color for each level is configured via the workbench color customizations scimax.heading1Background ... scimax.heading6Background. Override them in settings.json under workbench.colorCustomizations to match your theme:

{
  "scimax.highlighting.headingBackgroundBars": true,
  "workbench.colorCustomizations": {
    "scimax.heading1Background": "#3b82f622",
    "scimax.heading2Background": "#3b82f618",
    "scimax.heading3Background": "#3b82f614",
    "scimax.heading4Background": "#3b82f610",
    "scimax.heading5Background": "#3b82f60c",
    "scimax.heading6Background": "#3b82f608"
  }
}

The matching foreground colors for each heading level are exposed as the orgHeading1 ... orgHeading6 semantic token types and can be themed via editor.semanticTokenColorCustomizations.

⚠️ Jump Navigation Settings

Configure the avy-style jump commands (scimax.jump.*). See Navigation for how the jump flow works.

Settings Overview

SettingTypeDefaultDescription
scimax.jump.timeoutMsinteger300Pause with no typing before labels are drawn
scimax.jump.labelCharsstringasdfjklghqweruiopzxcvbnmtyLabel characters, in order of preference
scimax.jump.allVisibleEditorsbooleantrueLabel targets in every visible editor, not just the active one
scimax.jump.dimBackgroundbooleanfalseGrey out the text while labels are showing
scimax.jump.labelBackgroundstring#d33682Label background color (any CSS color)
scimax.jump.labelForegroundstring#ffffffLabel text color (any CSS color)

Detailed Configuration

scimax.jump.timeoutMs

The equivalent of Emacs avy-timeout-seconds. After you stop typing your query for this many milliseconds, the labels are drawn over the matches and further keystrokes select a label rather than extending the query. Raise it if labels appear while you are still typing; set it to 0 to label as soon as the query matches anything.

scimax.jump.labelChars

The equivalent of Emacs avy-keys. Labels are assigned nearest-first from the cursor, so the characters at the front of this string land on the closest targets. Duplicate characters and whitespace are ignored, and at least two distinct characters are required.

scimax.jump.allVisibleEditors

When true, jump commands label matches in every visible editor and selecting a label in another split focuses that editor first. Set it to false to restrict jumping to the active editor.

scimax.jump.dimBackground

The equivalent of Emacs avy-background. Recolors the visible text to the muted line-number color while labels are showing, so the labels stand out. Off by default, matching avy.

scimax.jump.labelBackground / scimax.jump.labelForeground

Labels are painted directly over the characters they mark, so the background color must be opaque. Any CSS color works.

Example (a high-contrast pair for a light theme):

{
  "scimax.jump.labelBackground": "#b58900",
  "scimax.jump.labelForeground": "#000000",
  "scimax.jump.dimBackground": true
}

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.

Example:

{
  "scimax.speedCommands.enabled": true
}

Agenda Settings

Configure the agenda view and TODO tracking.

Settings Overview

The agenda is now a view over the Scimax database. Indexing scope (what files exist in the database, and therefore what's eligible for the agenda) is controlled by scimax.db.* settings. The scimax.agenda.* settings below are display-only.

SettingTypeDefaultDescription
scimax.agenda.excludearraySee belowHide from view (still index)
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

The following scimax.agenda.* settings are deprecated — they have no effect. Use the scimax.db.* equivalents instead:

DeprecatedUse instead
scimax.agenda.includeJournalscimax.db.includeJournal
scimax.agenda.includeWorkspacescimax.db.includeWorkspace
scimax.agenda.includeProjectsscimax.db.includeProjects
scimax.agenda.includescimax.db.include
scimax.agenda.maxFiles(no longer applicable)
scimax.agenda.batchSize(no longer applicable)
scimax.agenda.batchDelayMs(no longer applicable)

On activation, Scimax shows a one-shot toast if any deprecated agenda indexing setting is set non-default in your config.

Detailed Configuration

scimax.agenda.exclude

  • Type: array of strings

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

  • Description: Patterns or paths to hide from the agenda view. Files matching these stay in the database (search still finds them); they just don't show up in day/week/month views. Supports both glob patterns (containing *) and absolute paths. To not index a file at all, use scimax.db.exclude instead.

Example:

{
  "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

Example:

{
  "scimax.agenda.defaultSpan": 14
}

scimax.agenda.showDone

  • Type: boolean

  • Default: false

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

Example:

{
  "scimax.agenda.showDone": true
}

scimax.agenda.showHabits

  • Type: boolean

  • Default: true

  • Description: Show items tagged with :HABIT:

Example:

{
  "scimax.agenda.showHabits": false
}

scimax.agenda.todoStates

  • Type: array of strings

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

  • Description: Active TODO states to show in TODO list

Example:

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

scimax.agenda.doneStates

  • Type: array of strings

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

  • Description: Completed TODO states

Example:

{
  "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

Example:

{
  "scimax.imageOverlays.enabled": true
}

scimax.imageOverlays.maxWidth

  • Type: number

  • Default: 96

  • Description: Maximum width in pixels for thumbnail icons

Example:

{
  "scimax.imageOverlays.maxWidth": 128
}

scimax.imageOverlays.maxHeight

  • Type: number

  • Default: 96

  • Description: Maximum height in pixels for thumbnail icons

Example:

{
  "scimax.imageOverlays.maxHeight": 128
}

scimax.imageOverlays.renderMode

  • Type: string (enum)

  • Default: "gutter"

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

  • Description: Where to display image thumbnails

    • gutter: In the line margin (gutter)

    • after: Inline emoji after the link

    • both: Both locations

Example:

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

scimax.imageOverlays.excludePatterns

  • Type: array of strings

  • Default: [ ]

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

Example:

{
  "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)

Example:

{
  "scimax.imageOverlays.maxOverlaysPerDocument": 500
}

scimax.imageOverlays.showDimensions

  • Type: boolean

  • Default: true

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

Example:

{
  "scimax.imageOverlays.showDimensions": false
}

scimax.imageOverlays.cacheEnabled

  • Type: boolean

  • Default: true

  • Description: Cache generated thumbnails for faster loading

Example:

{
  "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""Default capture file
scimax.capture.defaultDirectorystring""Base directory for relative template paths
scimax.capture.showPreviewbooleantrueShow preview before inserting a capture
scimax.capture.openAfterCapturebooleantrueOpen the target file after capture
scimax.capture.datetreeFormatstring"day"Datetree granularity: day / week / month

Detailed Configuration

scimax.capture.templates

  • Type: array of objects

  • Default: [ ]

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

    • key: Single character shortcut

    • name: Template name

    • type: entry, item, or table-line

    • file: Target file

    • headline: Optional target headline

    • datetree: Boolean, use datetree structure

    • template: Template text with placeholders

Template placeholders:

  • %^{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

Example:

{
  "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: "" (falls back to {scimax.directory}/notes.org)

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

Example:

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

✅ scimax.capture.defaultDirectory

  • Type: string

  • Default: ""

  • Description: Base directory for resolving relative capture template file paths (supports ~). If empty, relative paths resolve against the default capture file's directory.

Example:

{
  "scimax.capture.defaultDirectory": "~/org"
}

✅ scimax.capture.showPreview

  • Type: boolean

  • Default: true

  • Description: Show a preview of the expanded template before inserting the capture.

✅ scimax.capture.openAfterCapture

  • Type: boolean

  • Default: true

  • Description: Open the target file and move the cursor to the insertion point after a capture.

✅ scimax.capture.datetreeFormat

  • Type: string (enum)

  • Default: "day"

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

  • Description: Granularity for file+datetree capture targets — controls the heading tree that captures are filed under. Missing headings are created automatically.

    • day: * 2024 > ** 2024-04 April > *** 2024-04-15 Monday (entry at level 4)

    • week: * 2024 > ** 2024-W16 (ISO week; entry at level 3)

    • month: * 2024 > ** 2024-04 April (entry at level 3)

    Week mode uses the ISO week-numbering year, so a date in early January that belongs to the previous ISO year is filed under that year.

Example:

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

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  %?"
    }
  ],

  // 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: Sync 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