home-manager/modules
David Baynard 719de878f7
imapnotify: Add launchd agent (#3291)
* imapnotify: expose package (and exe) options

There are multiple packages that provide an imapnotify interface. Those
packages have differently named executables. This can now be customized.

This change also means test configurations can use stub packages.

* imapnotify: use/create config in configHome

Exposing the configuration file makes testing imapnotify configurations much
easier. It also allows for golden tests in home-manager.

* imapnotify: extend with launchd agent

Now that home-manager supports launchd agents, the imapnotify service
can be configured (and enabled) for darwin. The configuration matches
that of the linux/systemd version. In particular, by not setting a
`UserName`, this runs as the user whose configuration includes the
module.

Due to the launchd `Program` implementation (it must take an absolute
path) it is not possible to use that for the program and stub the path
in tests. Instead, this uses `ProgramArguments` for the program name.

The `ThrottleInterval` is equivalent to `RestartSec`. `KeepAlive` is
equivalent to `Restart`.

The `ExitTimeOut` default is 20 seconds, but goimapnotify should not
time out — this is achieved by setting the `ExitTimeout` to 0.

* imapnotify: add launchd plist test

This only tests the generated plist (which is new), not the original
systemd implementation, nor the json config file.

(Note the lack of a newline at the end of the plist file.)
2023-07-07 11:39:12 +02:00
..
accounts programs.khal 2023-07-04 12:14:47 +02:00
config i18n: Use glibcLocales from NixOS if possible (#2333) (#4177) 2023-07-04 11:28:25 +02:00
i18n/input-method im/fcitx: drop as fcitx 4 has been removed from nixpkgs (#3804) 2023-03-25 15:32:31 +01:00
launchd launchd: sync option definition with nix-darwin 2023-03-25 23:59:58 +01:00
lib programs.joshuto: add the joshuto file manager (#4004) 2023-06-12 12:02:09 +02:00
lib-bash home-manager: verify username and home directory 2023-05-27 09:14:05 +02:00
misc xfconf: remove properties with null values (#4192) 2023-07-03 20:34:42 +02:00
po Translate using Weblate (Indonesian) 2023-07-04 12:41:08 +02:00
programs antidote: static file move to /tmp 2023-07-05 08:30:58 +02:00
services imapnotify: Add launchd agent (#3291) 2023-07-07 11:39:12 +02:00
targets treewide: fix typos 2022-12-05 12:58:02 +01:00
default.nix Add lib argument to homeManagerConfiguration (#2753) 2022-04-17 18:14:41 -04:00
files.nix lib/file-type: fix xrefs (#4007) 2023-05-22 22:48:23 +02:00
home-environment.nix home-environment: allow skipping sanity checks 2023-06-21 00:52:20 +02:00
manual.nix format: update and remove exceptions (#3029) 2022-06-16 14:13:06 +02:00
modules.nix ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
systemd-activate.rb Revert "systemd: use sd-switch" 2020-08-04 19:38:14 +02:00
systemd-activate.sh Revert "systemd: use sd-switch" 2020-08-04 19:38:14 +02:00
systemd.nix systemd: accept derivations as values for systemd options (#3974) 2023-05-11 15:50:37 +02:00
xresources.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
xsession.nix xsession: cleanup systemd variables (#3636) 2023-05-07 23:59:56 +02:00