1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# sugarrush config
# Copy to ~/.config/sugarrush/config.toml and set perms 600:
# mkdir -p ~/.config/sugarrush
# cp config.example.toml ~/.config/sugarrush/config.toml
# chmod 600 ~/.config/sugarrush/config.toml
# Base URL of your Nightscout instance (no trailing slash).
= "https://nightscout.example.com"
# Read-only access token.
# Create it in Nightscout Admin Tools: add a Subject with the `readable` role,
# then copy its access token here. Do NOT use API_SECRET (admin-level).
= "readonly-subject-token"
# Display units: "mgdl" or "mmol". Toggle live in-app with `u`.
= "mmol"
# Graph marker style: "dots" (default), "blocks", or "line".
= "dots"
# How many days of history the AGP view (the "AGP" graph tab) folds into its
# percentile profile, and the window the stats panel's TIR / mean / GMI are
# computed over (14 is the clinical standard). Clamped to 1–90. Change live in
# settings; cycle graph tabs with Tab.
= 14
# Auto-refresh interval in seconds.
= 30
# Minimap navigator: a trailing overview strip under the graph. Click or drag
# it to move the main window. Enabling it turns on terminal mouse capture
# (hold Shift to select text while the app runs).
[]
= true
= 24
# Optional local outage/startup history. Off by default because enabling it
# creates a durable health-data record on this computer. Files are owner-only;
# turning this off in settings deletes them.
[]
= false
= 14
# Alert thresholds and behaviour. Glucose bounds are in the same unit as
# `units` above (mmol/L here). This whole section is optional, as is each key;
# the values shown are the mmol equivalents of the defaults.
#
# If you change `units` to "mgdl", change these numbers too — 3.9 mmol/L is
# 70 mg/dL, not 3.9. sugarrush now refuses thresholds outside the physiological
# range and tells you which one it corrected, rather than running with an alarm
# that can never fire.
[]
= 3.0 # red banner + critical notification at or below
= 3.9 # yellow banner below
= 10.0 # yellow banner above
= 13.9 # red banner + critical notification at or above
= 15 # warn when the newest reading is older than this
= true # fire desktop notifications (Linux/macOS/Windows)
= true # looping audible alarm on urgent low/high and stale data
= 15 # how long the `a` key silences the audible alarm
# Quiet hours: during this window only urgent-low sounds (others stay silent).
# Omit to disable. The window may cross midnight.
# quiet_start = "23:00"
# quiet_end = "07:00"
# quiet_urgent_low = true # keep urgent-low audible overnight (safety)
# Escalation: re-notify (and push) if an urgent alert isn't cleared in time.
# escalate_minutes = 20 # 0 disables
# push_url = "https://ntfy.sh/your-topic" # POST urgent alerts here (ntfy/webhook)
# push_enabled = true # toggle push alerts (in settings) without losing the URL
# Notification privacy: false keeps desktop notifications content-free (no
# reading, no alert name) for lock screens and shared displays. They still fire,
# and urgent ones are still critical.
# notify_content = true
# Predictive alert: warn when the forecast crosses low/high within N minutes.
= 30 # 0 disables
# Display colors (optional). Each is a color name (red, green, cyan, yellow,
# blue, magenta, gray, white, light*) or a #rrggbb hex value.
# [theme]
# low = "red"
# in_range = "green"
# high = "yellow"
# urgent = "red"
# prediction = "magenta"
# graph = "cyan"
# Multiple sites (optional). Provide one or more [[sites]] instead of the
# top-level url/token above, and switch between them in-app with `n`.
# [[sites]]
# id = "018f3f7a-b492-7c2e-a851-2d0f4af43a20" # generated; immutable identity
# name = "home"
# url = "https://home.example.com"
# token = "readonly-token-1"
# write_token = "careportal-token" # optional; permits confirmed treatment writes
# timezone = "Europe/Amsterdam" # IANA zone for this person's AGP and exports
# # Optional: use a complete alert profile for this person instead of the
# # top-level [alerts]. The in-app settings screen is the easiest way to create
# # it and writes every value, including disabled quiet hours and push alerts.
# [sites.alerts]
# low = 4.4
# high = 10.0
#
# [[sites]]
# name = "clinic"
# url = "https://clinic.example.com"
# token = "readonly-token-2"
# Permit `sugarrush treatment --non-interactive` to write without a human.
#
# Off by default, and deliberately not editable in the settings screen. The
# interactive write path is guarded by typing the person's name; the unattended
# path skips that by construction, so the grant has to exist at rest. Turning
# this on lets anything that can run a command on this machine write to that
# person's health record. `sugarrush about` reports whether it is on.
# allow_unattended_writes = false