about summary refs log tree commit diff
path: root/tools/dnsmasq-leases-html/default.nix
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-04-06 17:37:27 -0700
committerFranck Cuny <franck@fcuny.net>2023-04-06 19:21:17 -0700
commit9516b633fa651875503bb61b5194bfb7e5f409e3 (patch)
treebc63b50a4f78ca72976d27a6cee6f4ca2301e213 /tools/dnsmasq-leases-html/default.nix
parentmonitoring: small fixes (diff)
downloadworld-9516b633fa651875503bb61b5194bfb7e5f409e3.tar.gz
tools/dnsmasq-leases-html: create a HTML page with leases from dnsmasq
Parse the file that contains all the leases assigned by dnsmasq, and
create a static HTML page from it. This can be served by nginx to make
it easy to see what IP is assigned to a machine, and which machines are
currently on the network.
Diffstat (limited to '')
-rw-r--r--tools/dnsmasq-leases-html/default.nix36
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/dnsmasq-leases-html/default.nix b/tools/dnsmasq-leases-html/default.nix
new file mode 100644
index 0000000..4848ea7
--- /dev/null
+++ b/tools/dnsmasq-leases-html/default.nix
@@ -0,0 +1,36 @@
+{ self, lib, stdenvNoCC, pkgs }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "dnsmasq-leases-html";
+  src = ./dnsmasq-leases-html.py;
+  templates = ./templates;
+  version = "0.1.0";
+
+  buildInputs = [
+    (pkgs.python310.withPackages (ps: with ps; [
+      jinja2
+    ]))
+  ];
+
+  propagatedBuildInputs = [
+    (pkgs.python310.withPackages (ps: with ps; [
+      jinja2
+    ]))
+  ];
+
+  dontUnpack = true;
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/${pname}
+    cp -r $templates $out/bin/templates
+  '';
+
+  meta = with pkgs.lib; {
+    description = "CLI to generate a HTML page with dnsmasq leases.";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ ];
+  };
+}