Skip to content

Port the installer to Arch/Omarchy - #8

Open
shawnyeager wants to merge 4 commits into
tirtha4:mainfrom
shawnyeager:omarchy-arch-support
Open

shawnyeager wants to merge 4 commits into
tirtha4:mainfrom
shawnyeager:omarchy-arch-support

Conversation

@shawnyeager

Copy link
Copy Markdown

Makes granola-linux.sh work as a first-class install on Arch and Omarchy, then documents it.

This overlaps with #1 (Electron checksums, Arch README) and #2 (compiler search past g++-15, Categories=Office;). Happy to drop anything you would rather take from those PRs instead.

What changed

  • Missing-tool errors print the right install command: omarchy pkg add … on Omarchy, pacman / apt / dnf elsewhere.
  • Compiler search walks g++-30 down to g++-11, then the unversioned g++. Arch’s current g++ is 16; the old list stopped at 15.
  • Electron zip is checked against that release’s SHASUMS256.txt before unpack.
  • Launcher uses --ozone-platform-hint=auto plus WebRTCPipeWireCapturer so Hyprland/Omarchy get native Wayland and a PipeWire capture path through xdg-desktop-portal.
  • Desktop entry: one main category, keywords for the launcher, StartupNotify, desktop-file-validate clean.
  • .gitignore for .cache/, *.dmg, and *.asar (the README already said this file existed).

Tested

Omarchy 4.0.0 (ID=omarchy, Arch, gcc 16.2, glibc 2.44, x86-64) with the current Granola - AI Notepad.dmg:

Granola 7.568.0
Electron 44.0.0
Compiler g++ 16
Native rebuild better-sqlite3-multiple-ciphers 12.9.0, smoke test (SQLCipher + updateHook) passed
Window class granola, native Wayland (xwayland: 0), login screen rendered
Desktop file desktop-file-validate silent; granola:// registered to granola.desktop

7zip was not installed from the repo (no TTY for sudo); the script’s bundled 7zz download was the path that ran.

Electron 44 logs '--ozone-platform=wayland' is not compatible with Vulkan on this Intel Ultra box. The window still came up on Wayland and looked correct, so the launcher does not force X11 or disable Vulkan.

The script only told you to `apt install g++-11`, and the compiler
search stopped at g++-15, so a current Arch box with plain `g++` 16
worked only by accident. Missing tools now print the matching package
command (omarchy pkg add / pacman / apt / dnf), the compiler walk
starts at g++-30, and the Electron zip is checked against upstream
SHASUMS256.txt before unpack.

The launcher asks Electron for Wayland and PipeWire capture, which is
what Hyprland/Omarchy actually run. The desktop entry drops the
duplicate main category that desktop-file-validate warns about, and
.gitignore now covers the .dmg, asar, and .cache the README already
claimed it covered.

Tested on Omarchy 4.0 (gcc 16, glibc 2.44) with Granola 7.568.0 /
Electron 44.0.0: native module smoke test passes, window class is
granola on native Wayland, and the login screen comes up.
icon.png in the bundle is a black "g|" glyph on a fully transparent
canvas. On a dark launcher that reads as a missing icon. mac-icon.png
is the lime squircle Granola actually ships; fall back to icon.png
only if it is absent.
xdg-mime default left granola:// in mimeapps.list, and a leftover
~/Applications directory after deleting the app. Strip those on
uninstall, and kill only this install's electron rather than any
process whose command line happens to mention the path.
packaging/arch/PKGBUILD downloads the official macOS .dmg, patches
the Linux-rejected platform string, rebuilds Granola's sqlite fork
against distro electron44, and installs /usr/bin/granola. The desktop
icon is the lime squircle, not the transparent wordmark.

makepkg -si from that directory is the install path on Arch and
Omarchy. Built and installed 7.568.0-1 locally.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant