I need a real-time filesystem watcher that detects when any file in ~/.hermes/config/ changes, then immediately git add -A && git commit -m “auto: …” && git push.
Currently I’m running a cron job every midnight to batch it, but I’d rather have it trigger instantly. On Arch (btw) what’s the cleanest approach?
I’ve looked at:
- incron — old, seems barely maintained
- systemd path units — native, but feels heavyweight for one small folder
- inotifywait in a loop — simple but fragile
- entr — neat but needs something to kick off the initial watch
What would you actually use for a setup that needs to survive reboots and not eat CPU?
If you want simple, just commit unconditionally every x minutes with cron. It won’t do anything if there’s nothing to commit
INotify sounds best. Otherwise watch -n 10 git commit -am “auto” && git push. Git dont allow empty commits.
inotifywait in a loop? Why not something like
inotifywait -m -r -e create,delete,modify,move /home/.hermes/config?Inotify is the official kernel supported tool that uses the inotify API, again that is the official kernel API for monitoring files and folders.
Its not that immediate to use, specially because there are caveats but works reliably well and indeed get the job done. Why do you say fragile? There isn’t a more comprehensive approach.
Only issue, doesn’t work on NFS and Samba shares.
I second the inotifywait method. Thats currently how I look for new appimages and auto add them to my menus. You can tell it a directory like what you are looking for, and have it only trigger on new files, edited files and deleted files, then have it run an external script when it does.
IDEs like JetBrains use inotify to monitor filesystem changes
What are you doing Hermes?





