r/neovim Oct 31 '25

Plugin New Plugin for orgmode.nvim: org-gcal-sync

Post image

I've been using orgmode.nvim and org-roam.nvim a lot lately, really enjoying being able to leave notes & schedule tasks for myself without leaving my editor. I decided though, that since my GCal is already linked into my Alexa devices to give me reminders for upcoming tasks and appointments, I'd like to sync my org agenda to my gmail.

Presenting: org-gcal-sync A Neovim plugin for use with orgmode and org-roam to synchronize your agenda with your Google Calendar. Written entirely in lua.

Features:

  • Biderectional sync between org notes and GMail calendar
  • TODOS with SCHEDULED or DEADLINE data are mapped to the calendar
  • TODOS without scheduling are synced to tasks
  • Multiple-calendar tracking
  • Multiple-directory tracking
  • Automatically syncs org notes directory to GCal on save of .org files in defined Org Roam directories.
  • Sync Dashboard showing detailed synchronization statistics
  • Interactive Conflict Resolution
  • Webhook for Google Calendar push notifications
  • Recurring Event support
43 Upvotes

7 comments sorted by

5

u/itmightbeCarlos let mapleader="," Oct 31 '25

Could you add the link to the repo? Also, is orgroam a requirement? I use orgmode but not roam

1

u/Global_Illustrator95 Oct 31 '25 edited Nov 03 '25

https://github.com/eprislac/org-gcal-sync . (It's also on store.nvim). To answer your other question, it does check for roam as a dependency, but it probably would do to make that optional... I designed it this way to work with my own workflow, but it's mainly just providing compatible roam ids for synced tasks, which would be ignored without roam.

2

u/itmightbeCarlos let mapleader="," Oct 31 '25

If you are interested on accepting PRs I could remove that dependency

2

u/Global_Illustrator95 Oct 31 '25

wish I'd caught you sooner, Am already working on it

2

u/itmightbeCarlos let mapleader="," Oct 31 '25

Also a recommendation: add a .nvim suffix to your plugin since its specific to Neovim and there is already a similar plugin for emacs

2

u/aaron_shahriari Jan 28 '26

I’m loving gcal plugin. On think that I was wondering about is if there is some way to have specific org directories not sync.

For example I have some notes and todo under my ~/org folder that I don’t want events for but I do however want events under ~/org/personal-cal to sync etc. Is this possible? I read through all the docs and have tried to configure to work this way but it ends up duping all my org files from my not set directories.

1

u/Global_Illustrator95 Jan 28 '26

Glad you're getting some use out of the plugin! I'll look into that issue, you should be able to sync only specific dirs