1
0
mirror of https://github.com/nix-community/home-manager synced 2024-06-28 17:38:33 +02:00
home-manager/modules/services
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
..
redshift-gammastep modules/redshift-gammastep: install package into the profile (#3710) 2023-02-27 15:49:49 +01:00
window-managers i3: remove deprecated example in i3.config.startup (#4201) 2023-07-05 12:23:31 +02:00
autorandr.nix services.autorandr: add module 2023-02-02 21:54:53 +01:00
avizo.nix avizo: don't write a config file if settings are empty 2023-04-19 21:17:56 +02:00
barrier.nix barrier: change enableCrypto behaviour 2022-06-21 21:59:19 +02:00
batsignal.nix batsignal: add module 2023-04-18 08:28:46 +02:00
betterlockscreen.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
blueman-applet.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
borgmatic.nix borgmatic: Do not inhibit idle in service (#3637) 2023-02-05 11:13:04 +01:00
cachix-agent.nix cachix-agent: add module 2022-12-25 09:54:43 +01:00
caffeine.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
cbatticon.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
clipman.nix Update documentation to mention renamed option name. (#4126) 2023-06-20 12:43:16 +02:00
clipmenu.nix clipmenu: add launcher option 2022-08-26 00:52:29 +02:00
comodoro.nix comodoro: add module 2023-06-14 23:43:19 +02:00
copyq.nix Update documentation to mention renamed option name. (#4126) 2023-06-20 12:43:16 +02:00
devilspie2.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
dropbox.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
dunst.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
dwm-status.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
easyeffects.nix easyeffects: add package option (#3568) 2023-01-05 21:49:20 -07:00
emacs.nix emacs: minor fixes 2023-05-12 23:52:19 +02:00
espanso.nix Espanso: Fix broken module to be compatible with Espanso version 2.x (#4066) 2023-06-09 12:05:01 +02:00
etesync-dav.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
flameshot.nix flameshot: extend module with package-option 2021-11-20 09:37:34 +01:00
fluidsynth.nix fluidsynth: add sound service option 2021-08-18 00:38:29 +02:00
fnott.nix fnott: add D-Bus service file 2023-04-22 16:49:26 +02:00
fusuma.nix fusuma: fix settings example (#3067) 2022-07-07 00:55:01 -06:00
getmail.nix Use newer getmail6 over getmail package (#2982) 2022-06-05 11:48:58 +02:00
git-sync.nix git-sync: add ssh to path 2022-09-05 13:15:40 +02:00
gnome-keyring.nix gnome-keyring: fix pass-secret-service assertion (#3963) 2023-05-08 13:04:12 +02:00
gpg-agent.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
grobi.nix treewide: prefer XDG variables over dot directories 2021-12-10 23:51:44 +01:00
gromit-mpx.nix gromit-mpx: add module 2021-12-11 19:17:59 +01:00
home-manager-auto-upgrade.nix home-manager.autoUpgrade: add module 2022-01-28 23:42:25 +01:00
hound.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
imapnotify-accounts.nix imapnotify: add extraConfig account option 2021-10-18 09:45:23 +02:00
imapnotify.nix imapnotify: Add launchd agent (#3291) 2023-07-07 11:39:12 +02:00
kanshi.nix treewide: fix typos 2022-12-05 12:58:02 +01:00
kbfs.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
kdeconnect.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
keepassx.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
keybase.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
keynav.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
lieer.nix notmuch: fix database creation when using hooks 2022-02-11 00:04:40 +01:00
listenbrainz-mpd.nix listenbrainz-mpd: add module 2023-03-22 08:21:11 +01:00
lorri.nix lorri: add nixPackage and enableNotifications options 2022-09-30 23:30:42 +02:00
mako.nix mako: programs.mako -> services.mako (#3265) 2023-03-02 11:58:42 +01:00
mbsync.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
megasync.nix megasync: add module 2022-12-16 16:01:49 +01:00
mopidy.nix mopidy: add support for extraConfigFiles 2022-06-21 01:04:56 +02:00
mpd-discord-rpc.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
mpd-mpris.nix mpd-mpris: add module 2023-02-20 23:43:42 +01:00
mpd.nix mpd: add extraArgs (#3735) 2023-03-05 09:41:34 +01:00
mpdris2.nix mpdris2: remove assertion on mpd module 2022-05-25 18:32:34 +02:00
mpris-proxy.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
muchsync.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
network-manager-applet.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
nextcloud-client.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
notify-osd.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
opensnitch-ui.nix opensnitch-ui: add module 2021-12-12 18:10:10 +01:00
owncloud-client.nix owncloud-client: add package option 2023-02-19 23:33:03 +01:00
pantalaimon.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
parcellite.nix parcellite: add basic test case 2022-12-28 22:16:47 +01:00
pass-secret-service.nix pass-secret-service: Add dbus file, assert (#3953) 2023-05-07 23:44:48 +02:00
password-store-sync.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
pasystray.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
pbgopy.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
picom.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
plan9port.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
playerctld.nix playerctld: fix maintainers entry for fendse 2021-12-29 09:50:59 +01:00
plex-mpv-shim.nix plex-mpv-shim: init service (#2655) 2022-02-02 16:34:19 -05:00
polybar.nix polybar: fix restart trigger 2022-12-04 12:12:32 +01:00
poweralertd.nix treewide: fix typos 2022-12-05 12:58:02 +01:00
pueue.nix pueue: fix for empty settings 2022-11-29 17:39:24 +01:00
pulseeffects.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
random-background.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
recoll.nix recoll: fix generation of string lists 2023-03-02 20:01:51 +01:00
rsibreak.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
safeeyes.nix safeeyes: add module 2022-09-25 23:01:25 +02:00
screen-locker.nix Drop CODEOWNERS 2023-05-14 12:46:21 +02:00
sctd.nix sctd: add module 2022-06-26 21:29:50 +02:00
spotifyd.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
ssh-agent.nix ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
stalonetray.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
status-notifier-watcher.nix pasystray, status-notifier-watcher: fix maintainers entry for pltanton 2021-12-29 09:50:58 +01:00
swayidle.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
sxhkd.nix sxhkd: allow usage of derivations as keybind commands (#4169) 2023-06-30 17:49:05 -06:00
syncthing.nix syncthing: add Darwin support 2023-03-25 13:09:55 +01:00
systembus-notify.nix systembus-notify: add module 2021-12-21 23:35:56 +01:00
taffybar.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
tahoe-lafs.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
taskwarrior-sync.nix Move platform check into modules 2021-07-18 20:43:22 +02:00
trayer.nix trayer: fix maintainers entry for mager 2021-12-29 09:50:59 +01:00
twmn.nix twmn: add module 2022-02-04 01:05:04 +01:00
udiskie.nix modules: add platform assertions 2023-02-07 21:54:24 +01:00
unclutter.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
unison.nix unison: fix option example 2022-01-25 23:54:40 +01:00
vdirsyncer.nix vdirsyncer: synchronize metadata as well (#4167) 2023-07-04 12:11:28 +02:00
volnoti.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
wlsunset.nix docs: fix a few stray periods 2022-01-25 00:10:25 +01:00
xcape.nix xcape: run xcape after setxkbmap (#2198) (#2199) 2021-07-19 21:16:14 -04:00
xembed-sni-proxy.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
xidlehook.nix service.xidlehook: add detect-sleep option (#3165) 2022-08-24 15:56:45 -04:00
xscreensaver.nix xscreensaver: add xscreensaver to service PATH 2022-04-25 23:05:43 +02:00
xsettingsd.nix Replace usage of literalExample 2021-10-13 00:16:10 +02:00
xsuspender.nix xsuspender: fix typo that made debug option a noop (#3653) 2023-02-08 00:15:20 +01:00