about summary refs log tree commit diff
path: root/tools/dnsupdate/default.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2022-05-25 19:39:32 -0700
committerFranck Cuny <franck@fcuny.net>2022-05-25 19:39:32 -0700
commita4c74ea0decb9c6e04b9abb5124b81438940d07f (patch)
tree1fc0893b7685b42363168ebcdcce0ba04760222f /tools/dnsupdate/default.nix
parentref(notes): drop flake.nix (diff)
downloadworld-a4c74ea0decb9c6e04b9abb5124b81438940d07f.tar.gz
ref(dnsupdate): move under tools
Integrate properly the tool `dnsupdate` with flake.nix, by adding a
default.nix inside its directory.

Having all the tools under a directory named `tools` is easier to reason
about. I don't need a go.mod at the top level directory either, each
tool will have its own.
Diffstat (limited to 'tools/dnsupdate/default.nix')
-rw-r--r--tools/dnsupdate/default.nix19
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/dnsupdate/default.nix b/tools/dnsupdate/default.nix
new file mode 100644
index 0000000..b8201c0
--- /dev/null
+++ b/tools/dnsupdate/default.nix
@@ -0,0 +1,19 @@
+{ pkgs, ... }:
+
+pkgs.buildGoModule rec {
+  name = "dnsupdate";
+  src = ./.;
+  vendorSha256 = "sha256-DQ/kYC/EZpcOKk0Y+DvwJtAPZpamxvEl7gKk8uEB2Ls=";
+  nativeBuildInputs = with pkgs; [ go ];
+
+  push = pkgs.writers.writeBashBin "dns-push" ''
+    set -ueo pipefail
+
+    cd $(git rev-parse --show-toplevel)/tools/dnsupdate
+
+    export TS_API_KEY=$(pass api/api.tailscale.com)
+    export GOOGLE_APPLICATION_CREDENTIALS=/run/agenix/gcloud/world-nix
+
+    go run .
+  '';
+}