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 ESRname
: A unique identifier for your custom profilepath
: 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.