Skip to content

Configuration

Chirami uses two files:

  • ~/.config/chirami/config.yaml — User-managed settings (dotfiles-friendly).
  • ~/.local/state/chirami/state.yaml — Auto-managed runtime state. No manual editing needed.

Full Example

yaml
appearance: auto

launch_at_login: true

hotkey: cmd+shift+n

drag_modifier: command
warp_modifier: ctrl+option

smart_paste:
  enabled: true
  fetch_url_title: true

karabiner:
  variable: chirami_active
  on_focus: 1
  on_unfocus: 0
  cli_path: /Library/Application Support/org.pqrs/Karabiner-Elements/bin/karabiner_cli

color_schemes:
  monokai:
    dark:
      background: [0.149, 0.157, 0.129]
      text: [0.973, 0.973, 0.949]
      link: [0.400, 0.851, 0.937]
      code: [0.663, 0.882, 0.071]
    light:
      background: [0.980, 0.976, 0.965]
      text: [0.149, 0.157, 0.129]
      link: [0.157, 0.451, 0.702]
      code: [0.400, 0.553, 0.031]

notes:
  - path: ~/Notes/todo.md
    title: TODO
    color_scheme: blue
    transparency: 0.95
    font_size: 14
    hotkey: cmd+shift+t
    position: fixed

  - path: ~/Notes/daily/{yyyy-MM-dd}.md
    title: Daily
    color_scheme: green
    hotkey: cmd+shift+d
    rollover_delay: 2h
    template: ~/Notes/templates/daily.md

  - path: ~/Desktop/scratch.md
    color_scheme: yellow
    hotkey: cmd+shift+s
    position: cursor

Top-Level Settings

FieldTypeDefaultDescription
appearancestringautoAppearance mode. auto (follow system), light, or dark.
launch_at_loginboolfalseLaunch Chirami automatically on macOS login.
show_menu_bar_iconbooltrueShow the Chirami icon in the macOS menu bar. Set to false to hide it (use global hotkey to access notes).
hotkeystringGlobal hotkey to toggle all note windows. Format: modifier keys + key (e.g. cmd+shift+n).
drag_modifierstringcommandModifier key for window dragging. Allowed: command, option, shift, control.
warp_modifierstringctrl+optionModifier key combination for Window Warp (HJKL grid movement). Specify modifiers joined with + (e.g. ctrl+option, command+shift). Allowed tokens: ctrl/control, option/opt, command/cmd, shift.
smart_pasteobjectSmart Paste configuration. See Smart Paste.
karabinerobjectKarabiner-Elements integration. See Karabiner.
color_schemesobjectCustom color scheme definitions. See Custom Color Schemes.
notesarray[]List of Registered Note configurations.

Note Settings (Registered Notes)

Each entry in notes configures one Registered Note — a sticky note window managed by Chirami.

FieldTypeDefaultRequiredDescription
pathstringyesFile path. Absolute or ~/ relative. Supports {date-format} placeholders for periodic notes.
titlestringfilenamenoWindow title shown in the title bar.
color_schemestringyellownoColor scheme name. Built-in: yellow, blue, green, pink, purple, gray. Custom color schemes defined in color_schemes are also accepted.
transparencynumber0.9noWindow opacity (0.0–1.0).
font_sizeinteger14noFont size in points. Range: 8–32.
hotkeystringnoGlobal hotkey to toggle this note (e.g. cmd+shift+m).
positionstringfixednofixed (remembers last position) or cursor (appears at mouse cursor).
always_on_topbooleantruenoWhether the note window floats above all other windows.
rollover_delaystringnoDelay before date rollover for periodic notes (e.g. 2h, 30m).
templatestringnoTemplate file path for periodic notes. Copied when creating a new day's file.
attachment.dirstringnoAttachment directory for images. See Images.

Hotkey Format

Hotkeys are specified as modifier keys joined with +, followed by the key:

  • Modifiers: cmd, shift, option/alt, control/ctrl
  • Examples: cmd+shift+m, cmd+option+n

Built-in Color Schemes

Six built-in color schemes are available: yellow, blue, green, pink, purple, gray.

Custom Color Schemes

Define custom color schemes in the color_schemes block. Each color scheme requires dark and light variants, each with four color channels as RGB arrays (0.0–1.0).

yaml
color_schemes:
  monokai:
    dark:
      background: [0.149, 0.157, 0.129]
      text: [0.973, 0.973, 0.949]
      link: [0.400, 0.851, 0.937]
      code: [0.663, 0.882, 0.071]
    light:
      background: [0.980, 0.976, 0.965]
      text: [0.149, 0.157, 0.129]
      link: [0.157, 0.451, 0.702]
      code: [0.400, 0.553, 0.031]

notes:
  - path: ~/Notes/daily/{yyyy-MM-dd}.md
    color_scheme: monokai
FieldDescription
backgroundWindow and editor background color
textBody text color
linkHyperlink color
codeInline code and code block text color

Custom color scheme names can also override built-in ones (e.g. redefining yellow). Changes to color_schemes in config.yaml take effect immediately without restarting.

Smart Paste

FieldTypeDefaultDescription
smart_paste.enabledbooleantrueEnable Smart Paste (Cmd+Shift+V).
smart_paste.fetch_url_titlebooleantrueFetch page title when pasting URLs.

Karabiner

FieldTypeDefaultDescription
karabiner.variablestringKarabiner variable name to set on focus/unfocus.
karabiner.on_focusint or stringValue to set when a Chirami window gains focus.
karabiner.on_unfocusint or stringValue to set when a Chirami window loses focus.
karabiner.cli_pathstringauto-detectedPath to karabiner_cli binary.

state.yaml

~/.local/state/chirami/state.yaml stores runtime state (window positions, sizes, visibility). Chirami manages this file automatically — there is no need to edit it by hand.

yaml
windows:
  a1b2c3:
    position: [100, 200]
    size: [300, 400]
    visible: true

bookmarks:
  a1b2c3: <Base64 encoded security-scoped bookmark>

Released under the MIT License.