config.toml
Configuration File Structure
The configuration file uses a simple TOML format with top-level keys for global settings and then sections for different components. Here’s a breakdown of the key parts:
Top-Level Settings
watch-all = true
disabled-modules = ["github", "reddit", "firefox"]
watch-all
: Whether to monitor all profiles browsers (default:true
). Overrides browser sections.disabled-modules
: List of module names to disable (e.g.,"github"
,"reddit"
,"firefox"
)
note: set watch-all=false to control watching all profiles per browser.
[database]
[database]
path = "~/.local/share/gosuki/gosuki.db"
sync-interval = '4s'
path
: Full path to database file location (supports shell expansions like~
and$HOME
)sync-interval
: Synchronization interval (e.g., ‘5m’, default: ‘4s’)
[chrome]
[chrome]
[chrome.profile-options]
watch-all-profiles = false
profile = "Default"
[chrome.custom-profiles]
You can define a list of custom profiles with their corresponding paths. The path must point directly to the profile and not the browser’s base directory.
[[chrome.custom-profiles]]
flavour = "chrome"
name = "my-custom-chrome"
path = "/home/user/.config/google-chrome/MyProfile"
[[chrome.custom-profiles]]
flavour = "chrome"
name = "work-chrome"
path = "/opt/chromium/profiles/work"
Note: The
flavour
field must be set to"chrome"
for Google Chrome profiles. Usegosuki profile list
to verify your custom profile is detected and check available browser flavors.
[firefox]
[firefox]
[firefox.profile-options]
watch-all-profiles = true
profile = "default"
[firefox.custom-profiles]
[[firefox.custom-profiles]]
flavour = "firefox"
name = "work-firefox"
path = "/home/user/.mozilla/firefox/abc123.default"
[[firefox.custom-profiles]]
flavour = "firefox"
name = "personal-firefox"
path = "/opt/firefox/profiles/personal"
Note: The
flavour
field must be set to"firefox"
for both Firefox and Firefox ESR profiles. Usegosuki profile list
to verify your custom profile is detected.
[github]
[github]
sync-interval = '6h'
github-token = "GITHUB_TOKEN"
github-token
: GitHub personal access token (required for syncing)sync-interval
: Sync interval in seconds (default: ‘6h’)
[p2p-sync]: multi device synchronization settings
[p2p-sync]
sync-master = true # Set to true to run this node as a sync master
master-node = "hostname.lan" # The host or ip v4 address of the master node (listening port is 2026)
master-listen = "" # Address to listen on as sync-master (defaults to 0.0.0.0)
alias = "" # Alias to identify this Gosuki node
sync-master
: Whether this node acts as the master for p2p sync (default:true
)master-node
: The host or ip v4 address of the master node (listening port is2026
)master-listen
: Address to listen on as sync-master (defaults to 0.0.0.0)alias
: Alias to identify this Gosuki node
[html-autoimport]:
Auto imports bookmarks from a Netscape Bookmarks html file.
[html-autoimport]
paths = ["$HOME/shares/bookmarks", "~/other/shared/bookmarks"]
paths
: List of directories to scan for HTML bookmark files
[reddit]
[reddit]
client-id = ""
client-secret = ""
username = ""
password = ""
sync-interval = '24h'
include-likes = false
client-id
/client-secret
: Reddit API credentials (required)username
/password
: Reddit account credentials (required for syncing)sync-interval
: Sync interval in seconds (default: ‘1h’)include-likes
: Whether to also save liked posts
Configuration Notes
- Path Expansion: Values like
~/.local/share/gosuki/
and$HOME/shares/bookmarks
will be automatically expanded to their absolute paths. - Custom Profile Paths: To use non-standard browser profiles, define them using the
[custom-profiles]
array format shown above. Optionally setwatch-all-profiles = false
and specify which profile to use withprofile = "your-custom-name"
. - Flavour Specification: The
flavour
field is required for each custom profile (use"chrome"
for Chrome/Chromium,"firefox"
for Firefox/Firefox ESR). Usegosuki profile list
to verify your profiles are detected and check available browser flavors. - Module Flavors: To see all available modules and their supported flavors, run
gosuki modules list
. - Default Values: Unspecified options will use their built-in defaults.
- Editing: You can manually edit the config file after generation. Changes will take effect after restarting the daemon.