On 2024-05-21 17:33:24 +0200, Tristan Kohl via wrote: > Hello Felix, > > my last message was not to critizise your help but rather my frustration with > my own limited progress. I really appreciate the help! > > program-file at least results in a usable thing however since the script gets > executed by smard I get the "command not found" in my logs. It seems like > curl is not in PATH for smartd. Do I need to import something into the gexp? > > Also those env variables are defined by smartd during runtime depending on > which drive produced the error. Therefore I need shell expansion/env > variables and have to use system (without *) imho. > > This is the current state: > > (define-smartd-send-ntfy > (program-file "send-ntfy" > #~(system > (string-append "curl " "-H \"Title: $SMARTD_SUBJECT\" " ...))))
Ignoring the obvious quoting issues here (what Felix does with `getenv' seems much safer, and should produce the same result?), > > Note: when using system* the error is: > In execvp of curl: No such file or directory This should be solvable by using `file-append', so, basing on the system* variant, something like: #~(system* #$(file-append curl "/bin/curl") <other-arguments-here>) Should invoke curl by absolute path. (You need import (gnu packages curl) of course.) Hope this helps, Tomas -- There are only two hard things in Computer Science: cache invalidation, naming things and off-by-one errors.
signature.asc
Description: PGP signature