Migrating From macOS To Arch Linux: i3wm And Nextcloud Integration

October 25, 2017
Setup Archlinux

As I switched from macOS to Arch Linux I needed some alternatives to the things I used on macOS, such as a synced to do list, a calendar, contacts, advancade note taking with One Note and so on. The Gnome desktop environment provides good apps for these tasks, but without running the Gnome desktop environment it’s a bit unclear how to get things up and running.As I switched from macOS to Arch Linux I needed some alternatives to the things I used on macOS, such as a synced to do list, a calendar, contacts, advancade note taking with One Note and so on. The Gnome desktop environment provides good apps for these tasks, but without running the Gnome desktop environment it’s a bit unclear how to get things up and running.

As an avid macOS user (I’ve used it now for 6 consecutive years) I wasn’t happy where the OS was going and felt I was being put in a cage update by update. Additionally the performance of the OS itself was horrible. This might be due to my 2011 MacBook Pro, but with 8GB RAM, SSD and an okay processor I felt this was inacceptable. So I switched back to Arch Linux, which was my main OS/distro prior to macOS.

Another factor in the decision was the intransparent services from apple or other vendors. This lead me to using a self hosted Nextcloud. I discovered all the cool apps it provides, and so I sought after a self hosted alternative to all the software I used which relied on syncing my data to who-knows-where, including, but not limited to a calendar, to do lists, contacts, rss feed reader and more importantly note taking—as One Note doesn’t have a Linux client, and the web interface is no alternative due to the performance, same goes for running a 7 years old version via wine.

Browser Bookmarks And Tabs

Instead of Safari I use Firefox. In theory I could sync my tabs from my iPhone by using Firefox with a Firefox account. For now I’m okay without syncing my tabs though. What I want to sync on the other hand is the bookmarks, as I’d like them to be backed up somewhere. Floccus provides this very functionality for Nextcloud Bookmarks. It runs every thirty minutes and backs them up in a flat manner. Folders and subfolders are not yet supported.

RSS Reader

For reading news I was using newsbeuter on macOS which also runs fine on linux. But for the sake of syncing and having a better reading experience I switched to feedreader synced with Nextcloud News.

Feedreader working seamlessly with Nextcloud News

Gnome To Do & Gnome Calendar

The problem with using Gnome To Do, Gnome Calendar and Gnome Notes with Nextcloud is the configuration. You can install all applications on arch without having all the dependencies from Gnome, but you’re greeted with local or empty calendars, notebooks and to do lists. But we’d rather have it looking like below:

Gnome To Do with working Nextcloud integration

In order to configure the apps and add your Nextcloud server you need the following:

# pacman -S gnome-control-center gnome-keyring libsecret

The cofiguration seems to be happening inside the gnome keychain, so the gnome-settings-daemon is not needed. I didn’t need to configure anything here. If you now start the gnome-control-center it looks a bit “off” though.

I feel like something's missing here

If you start Settings the following way though …

env XDG_CURRENT_DESKTOP=GNOME gnome-control-center

… it looks good and you can configure all the apps at once: Gnome Online Accounts in the Settings

I now have Gnome To Do, Gnome Calendar and maybe even Gnome Notes (aka Bijiben). But well, maybe not:

λ bijiben 
** Message: Loading account account_xxxxxxxxxxxx

(bijiben:27550): GLib-GIO-CRITICAL **: g_volume_get_mount: assertion 'G_IS_VOLUME (volume)' failed

(bijiben:27550): GLib-GIO-CRITICAL **: g_volume_mount: assertion 'G_IS_VOLUME (volume)' failed
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
bijiben: xcb_io.c:259: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.
fish: “bijiben” terminated by signal SIGABRT (Abort)

Doesn’t matter much now, as my note taking app won’t be Gnome Notes. But more of that in a second. Notes isn’t the only app that doesn’t work fully: even Gnome To Do has it’s problems when changing or adding tasks:

Gnome To Do: Something went wrong

So there’s a bit of work left to do to get a fully functional Nextcloud-synced workflow working. Feedreader, Geary (mail) and Google Calendar works fine. California, the new calendar alternative is somewhat broken on arch, the package is flagged as out-of-date, but Gnome Calendar works just fine. Even the creation and changing of event works.

The Hardest Part: Note Taking

A few years back I used Evernote. Evernote however never really got formula support. As a computer scientist that’s a turn down. A year or so ago I switched to One Note, despite my despise for Microsoft and its products. One Note is quite a gem: it comes with freely placeable content boxes, which can contain images, tables, formulas and whatnot. Also I can clip things from the browser and the iPhone app is somewhat usable.

For Linux I need something else though as their is no practical way to use it. Gnome Notes doesn’t work, QOwnNotes is ugly as hell. The thing with having distinct editing and viewing modes is something I dislike as well. I use Zim for now. It’s not the most beautiful thing out there, but I can get it work. Especially since it has native LaTeX and table support.

The clipping support via ff-zim-clip is there but not really working yet for me and the documentation is in french. Besides that Zim has a lot to offer in regards to plugins and other hacks

TL;DR

Besides the errors the issue with Gnome To Do seems to be a minor one. I still have a bit to figure out, but still, it’s a start.

Apps I use now and what Apple counterpart it replaces:

  • Feedreader
  • Geary: Apple Mail
  • Gnome To Do: Apple To Do
  • Gnome Calendar: iCal
  • Zim: One Note
comments powered by Disqus