diff --git a/config/fudo/netinfo-email.nix b/config/fudo/netinfo-email.nix new file mode 100644 index 0000000..4dcc3a2 --- /dev/null +++ b/config/fudo/netinfo-email.nix @@ -0,0 +1,93 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.fudo.netinfo-email; + + make-script = server: port: target: pkgs.writeText "netinfo-script.rb" '' + #!${pkgs.ruby}/bin/ruby + + require 'net/smtp' + + raise RuntimeError.new("NETINFO_SMTP_USERNAME not set!") if not ENV['NETINFO_SMTP_USERNAME'] + user = ENV['NETINFO_SMTP_USERNAME'] + + raise RuntimeError.new("NETINFO_SMTP_PASSWD not set!") if not ENV['NETINFO_SMTP_PASSWD'] + passwd = ENV['NETINFO_SMTP_PASSWD'] + + hostname = `${pkgs.inetutils}/bin/hostname -f`.strip + date = `${pkgs.coreutils}/bin/date +%Y-%m-%d`.strip + email_date = `${pkgs.coreutils}/bin/date` + ipinfo = `${pkgs.iproute}/bin/ip addr` + + message = < " if not (ARGV[0] and ARGV[1]) +server = ARGV[0] +user = ARGV[1] + +error "NETINFO_SMTP_PASSWD not set!" if not ENV['NETINFO_SMTP_PASSWD'] +passwd = ENV['NETINFO_SMTP_PASSWD'] + +hostname = `hostname -f`.strip +date = `date +%Y-%m-%d`.strip +email_date = `date` +ipinfo = `ip addr` + +message = <