Configuration

Configuration

First Run Configuration

On first run, GoSuki will automatically generate a default configuration file at $XDG_CONFIG_DIR/gosuki/config.toml. This file serves as the central configuration for all modules and features.

You can view the default configuration template using the command:

gosuki config gen
output
# overrides browser specific option
watch-all = true

disabled-modules = ["github", "reddit"]

[chrome]
[chrome.profile-options]
watch-all-profiles = false  # Watch all Chrome profiles for changes
profile = "Default"         # Specific Chrome profile to monitor

[firefox]
[firefox.profile-options]
watch-all-profiles = true   # Watch all Firefox profiles for changes
profile = "default"         # Specific Firefox profile to monitor

[database]
path = "~/.local/share/gosuki/gosuki.db"  # Database file path
sync-interval = '5s'                      # Database sync interval

[github]
github-token = "xxxxxxxxxxxxxxxxxxxx"     # GitHub API token for authentication
sync-interval = '6h'                      # GitHub data sync interval

[html-autoimport]
paths = ["$HOME/shares/bookmarks"]        # Paths to import HTML bookmarks from

[reddit-saves]
client-id = "xxxxxxxxxxxxxxxxxxxx"        # Reddit API client ID
client-secret = "xxxxxxxxxxxxxxxxxxxx"    # Reddit API client secret
password = "xxxxxxxxxxxxxxxxxxxx"         # Reddit account password
sync-interval = '24h'                     # Reddit saves sync interval
username = "xxxxxxxxxxxxxxxxxxxx"         # Reddit username

[p2p-sync]

# Set to address/hostname of master sync node
# Set to `localhost` or empty when running as sync-master
# You need to open port 2026/tcp on the master node
master-node = ""          # Address of the sync master node

sync-master = true        # Set to true to run this node as a sync master
master-listen = ""        # Address to listen on as sync-master (defaults to 0.0.0.0)
alias = ""                # Alias to identify this Gosuki node

This will output a TOML file with all available configuration options, pre-filled with default values. The generated file includes sections for:

  • Browser configurations (Chrome, Firefox)
  • Database settings
  • Module-specific options
  • Global settings

Custom Profile Paths

GoSuki supports custom browser profile paths through the [chrome.custom-profiles] and [firefox.custom-profiles] sections. Each entry requires:

  • flavour: Must be set to "chrome" for Chrome/Chromium or "firefox" for Firefox/Firefox ESR
  • name: A unique identifier for your custom profile
  • path: The absolute path to the browser profile directory

Example configuration:

[[chrome.custom-profiles]]
flavour = "chrome"
name = "work-chrome"
path = "/opt/chromium/profiles/work"

[[firefox.custom-profiles]]
flavour = "firefox"
name = "personal-firefox"
path = "/home/user/.mozilla/firefox/abc123.default"

After adding custom profiles, verify they’re detected with gosuki profile list. You’ll need to set watch-all-profiles = false and specify your desired profile via profile = "work-chrome" in the browser configuration section.

See More