pkgs/kat-glauca-dns: What have I done?

This commit is contained in:
kat witch 2021-03-27 01:18:16 +00:00
parent b705cf985c
commit 1d4d8eb4d8
No known key found for this signature in database
GPG key ID: 1B477797DCA5EC72
4 changed files with 51 additions and 3 deletions

View file

@ -14,6 +14,35 @@
deploy.groups = [ "gui" ];
deploy.ssh.host = "192.168.1.135";
secrets.files.kat-glauca-dns = {
text = pkgs.lib.deployEmbedFuckery ''
user="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${../../../private/files/bitw/master.gpg} get infra/hexdns-dynamic -f username)"
pass="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${../../../private/files/bitw/master.gpg} get infra/hexdns-dynamic -f password)"
hostname="$(${pkgs.rbw-bitw}/bin/bitw -p gpg://${../../../private/files/bitw/master.gpg} get infra/hexdns-dynamic -f hostname)"
'';
owner = "kat";
group = "users";
};
systemd.services.kat-glauca-dns = {
serviceConfig = {
ExecStart = "${pkgs.kat-glauca-dns}/bin/kat-glauca-dns";
};
environment = {
passFile = config.secrets.files.kat-glauca-dns.path;
};
wantedBy = [ "default.target"];
};
systemd.timers.kat-glauca-dns = {
timerConfig = {
Unit = "kat-glauca-dns.service";
OnBootSec = "5m";
OnUnitActiveSec = "30m";
};
wantedBy = [ "default.target" ];
};
# graphics tablet
services.xserver.wacom.enable = true;

View file

@ -17,7 +17,8 @@ let
'' else ''
<<${if hasPrefix "__FUCKERY__" file.text then "EOF" else "'EOF'"}
${removePrefix "__FUCKERY__" file.text}
EOF'')) (attrValues config.secrets.files);
EOF
'')) (attrValues config.secrets.files);
in {
options = {
deploy = {

View file

@ -17,8 +17,6 @@ let
clockSupport = true;
};
kat-website = super.callPackage ./kat-website { };
waybar = super.waybar.override { pulseSupport = true; };
notmuch = super.callPackage ./notmuch { inherit (super) notmuch; };
@ -35,6 +33,10 @@ let
screenstub = unstable.callPackage ./screenstub { };
kat-glauca-dns = unstable.callPackage ./kat-glauca-dns { inherit sources; };
kat-website = super.callPackage ./kat-website { };
kat-weather = super.callPackage ./kat-weather { };
kat-gpg-status = super.callPackage ./kat-gpg-status { };

View file

@ -0,0 +1,16 @@
{ sources, pkgs, curl, coreutils, writeShellScriptBin }:
let
rbw-bitw = (import sources.arc-nixexprs { inherit pkgs; }).pkgs.rbw-bitw;
in writeShellScriptBin "kat-glauca-dns" ''
#!/usr/bin/env bash
set -eu
ip4=$(${curl}/bin/curl -s --ipv4 https://dns.glauca.digital/checkip)
ip6=$(${curl}/bin/curl -s --ipv6 https://dns.glauca.digital/checkip)
source $passFile
echo "$ip4, $ip6"
${curl}/bin/curl -u ''${user}:''${pass} --data-urlencode "hostname=''${hostname}" --data-urlencode "myip=''${ip4}" "https://dns.glauca.digital/nic/update"
echo ""
${curl}/bin/curl -u ''${user}:''${pass} --data-urlencode "hostname=''${hostname}" --data-urlencode "myip=''${ip6}" "https://dns.glauca.digital/nic/update"
''