Norc is an unofficial Linux desktop app for Notion Calendar (formerly Cron). It repackages the official app with Linux support and its matching Electron version. This project is independent of Notion.
Download a package from the latest release, then install it from your downloads directory:
| Distribution | Command |
|---|---|
| Fedora | sudo dnf install ./norc-*.rpm |
| Debian / Ubuntu | sudo apt install ./norc_*.deb |
| Arch Linux | sudo pacman -U ./norc-*.pkg.tar.xz |
Launch Norc from your application menu or run norc.
Browser sign-in requires an installed package; launching the unpacked app alone
does not register the cron:// callback. If your browser cannot return to Norc, run:
xdg-mime default norc.desktop x-scheme-handler/cronQuit any unpacked instance and launch the installed app before retrying. Updates are delivered through new Linux packages.
Enable start at login in Settings → General to use your desktop's standard autostart mechanism. Installed Zoom and Notion apps are detected through Linux's registered link handlers.
Open .ics or .vcs files with Norc from your file manager, or run
norc /path/to/event.ics to import them.
Norc defaults to X11 (XWayland on Wayland desktops) and shows floating meeting
reminders at the top right without taking focus. To use native Wayland, fully quit Norc
and run norc --ozone-platform=wayland; reminder placement is then
controlled by your desktop.
Requires Linux, Node.js 22.12+, npm, and 7-Zip with DMG/HFS support (7zz or 7z).
RPM builds also need rpmbuild; Pacman builds need bsdtar.
# Fedora
sudo dnf install nodejs npm 7zip rpm-build bsdtar libxcrypt-compat
# Ubuntu (install Node.js 22.12+ and npm separately)
sudo apt-get update
sudo apt-get install -y 7zip rpm libarchive-toolsFrom the repository:
npm ci
npm run format:check
npm test
npm run buildPackages, SHA256SUMS, and build-info.json are written to out/release/.
For an RPM only, use npm run build:rpm. Builds default to x64 (x86-64);
pass -- --arch arm64 for ARM64. CI builds x86-64 packages.
For another build, use -- --reuse to reuse the extracted app or
-- --output out-new to download a fresh bundle. Install the resulting package
to test browser sign-in locally.
Use npm run format to format the source. Generated upstream bundles, packages
and the npm lockfile are excluded.
The app version mirrors upstream: Notion Calendar 1.139.0 produces Norc
1.139.0. Its first Linux release uses tag v1.139.0 and package revision 1.
Linux-only fixes increase the package revision: tag v1.139.0-linux.2 produces
norc-1.139.0-2.x86_64.rpm (and matching DEB/Pacman packages), while the app
still reports 1.139.0. A new upstream version starts again at revision 1.
The upstream workflow checks every six hours
and can also run manually. For a new version, it refreshes the icons, runs tests,
builds RPM, DEB, and Pacman packages, and publishes the matching release with
checksums and build metadata. It uses GITHUB_TOKEN and never overwrites a
published release.
The build workflow runs for branch pushes and pull
requests, skipping Markdown-only changes. Manual runs remain available.
Pushing a v<version> tag publishes an upstream release; the tag must match both
package.json and the downloaded upstream version.
For Linux patches, run Release Linux patch manually on the branch containing the fixes and enter the next revision tag, or push that tag:
git tag -a v1.139.0-linux.2 -m "Norc v1.139.0-linux.2"
git push origin v1.139.0-linux.2Patch builds reuse the upstream URL and checksum recorded in the original
release's build-info.json. Published assets are never overwritten; interrupted
drafts can be retried from their original tag. Ordinary branch pushes do not
publish patch releases. To build locally, use npm run build -- --revision 2.
To check upstream without publishing:
npm run upstream:check -- --repo rohankmr414/norc