42 lines
990 B
Nix
42 lines
990 B
Nix
{ symlinkJoin, writeShellApplication, socat, dash, hectic, curl }:
|
|
let
|
|
shell = "${dash}/bin/dash";
|
|
bashOptions = [
|
|
"errexit"
|
|
"nounset"
|
|
];
|
|
|
|
base64 = hectic.writeShellApplication {
|
|
inherit shell bashOptions;
|
|
name = "base64";
|
|
runtimeInputs = [ ];
|
|
text = builtins.readFile ./base64.sh;
|
|
};
|
|
|
|
# TODO: writeDashApplication
|
|
probe = hectic.writeShellApplication {
|
|
inherit shell bashOptions;
|
|
name = "probe";
|
|
runtimeInputs = [ socat dash probe-loop ];
|
|
text = builtins.readFile ./probe.sh;
|
|
};
|
|
|
|
probe-loop = hectic.writeShellApplication {
|
|
inherit shell bashOptions;
|
|
name = "probe-loop";
|
|
runtimeInputs = [ base64 ];
|
|
text = builtins.readFile ./probe-loop.sh;
|
|
};
|
|
|
|
sentinel = hectic.writeShellApplication {
|
|
inherit shell bashOptions;
|
|
name = "sentinel";
|
|
runtimeInputs = [ hectic.shellplot curl ];
|
|
text = builtins.readFile ./sentinel.sh;
|
|
};
|
|
in
|
|
symlinkJoin {
|
|
name = "sentinèlla";
|
|
paths = [ probe sentinel ];
|
|
}
|