Package Details: goimapnotify 2.0-4

Git Clone URL: https://aur.archlinux.org/goimapnotify.git (read-only)
Package Base: goimapnotify
Description: Execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE, golang version.
Upstream URL: https://gitlab.com/shackra/goimapnotify
Keywords: email imap mu4e notmuch
Licenses: GPL
Submitter: shackra
Maintainer: shackra
Last Packager: shackra
Votes: 1
Popularity: 0.804507
First Submitted: 2017-08-31 03:39
Last Updated: 2019-05-11 02:36

Latest Comments

1 2 Next › Last »

Rhinoceros commented on 2019-05-11 06:54

@shackra That's perfect! Thank you for sorting it all out!

shackra commented on 2019-05-11 02:37

I have pushed some changes, tell me if it works fine

Rhinoceros commented on 2019-05-10 04:18

Ah got it. So the important change to make it work as a user unit is removing Requires=network.target. I imagine that's probably okay to do? I'm guessing that if the network goes down, then goimapnotify will terminate (and attempt to restart).

A few other things: the service file refers to /home/%i/.config/imapnotify/%i.conf. This presumes that the "instance name" %i is the same as the user (in /home/%i). However, this is not the case for me. I run three instances of *imapnotify for different email accounts. In comparison, nodejs-imapnotify specifies the path with %h/.config/imapnotify/%I instead. I don't entirely understand the preference between %i and %I, but could you please change the %h part at least?

node-imapnotify also has Type=simple, which I think is more appropriate than the default of oneshot? I think the other changes you make (Restart, WantedBy) are good though!

shackra commented on 2019-05-10 03:16

I run Emacs as a service too, which is my "email client" of choice.

You can remove that from the unit service.

Rhinoceros commented on 2019-05-10 03:12

What is emacs.service? I don't have that on my system.

shackra commented on 2019-05-10 03:04

@Rhinoceros I, uh, just copied the same systemd unit service to ~/.config/systemd/user/ and modify it like this

[Unit]
Description=Execute scripts on IMAP mailbox changes (new/deleted/updated messages) using IDLE, golang version.
Requires=emacs.service
After=emacs.service

[Service]
ExecStart=/usr/bin/goimapnotify -conf /home/jorge/.config/imapnotify/jorge.conf
Restart=always
RestartSec=30

[Install]
WantedBy=default.target

Maybe I just should copy that back to this package and call it a day.

Rhinoceros commented on 2019-05-10 02:48

Sorry, I should have mentioned that I tested moving it to /usr/lib/systemd/user/ already, but it failed for me. Apparently you can't mix system and user units. As long as it requires network.target, which is logical, it must be a system unit unfortunately.

How do you run goimapnotify personally? Not as a systemd unit then?

shackra commented on 2019-05-10 02:33

@Rhinoceros I happen to be no expert, sorry jaja.

I have pushed a new commit addressing your concern at the best of my knowledge about systemd. I think the unit service can depend on network.target wherever the service is a user or system service.

Correct me if I'm wrong.

Rhinoceros commented on 2019-05-10 02:05

I've given this a test since the recent update upstream, and it's way better than nodejs-imapnotify and python-imapnotify! The former dies after 5 minutes, and the latter depends on old packages.

I had a query about the systemd units. For node-imapnotify, the systemd file is in /usr/lib/systemd/user/, which allows users to systemctl --user start imapnotify@account without root permissions. However, this package uses /usr/lib/systemd/system/, which means you have to have root permissions to use it. I can see that it requires network.target, which is a system unit. This makes sense. Hence, goimapnotify must be a system unit. So would you recommend to run it as root? This isn't a great option, but I'm not sure what else we could do.

Rhinoceros commented on 2019-01-22 21:50

@shackra No worries. Thank you for the response. Very interesting.