ctucx.git: dnsmasq-lease-overview

web-overview for dhcp-leases from dnsmasq

commit 0a99912bc41f42492e3e55e26588bb2dfbb677f1
parent c222a434dd94cb7246c0730c16ce79a96dbf376b
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Mar 2025 20:05:57 +0100

flake: refactor, remove `flake-utils` dependency
2 files changed, 47 insertions(+), 85 deletions(-)
M
flake.lock
|
34
----------------------------------
M
flake.nix
|
98
++++++++++++++++++++++++++++++++++++++-----------------------------------------
diff --git a/flake.lock b/flake.lock
@@ -1,23 +1,5 @@
 {
   "nodes": {
-    "flake-utils": {
-      "inputs": {
-        "systems": "systems"
-      },
-      "locked": {
-        "lastModified": 1710146030,
-        "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
-        "type": "github"
-      },
-      "original": {
-        "owner": "numtide",
-        "repo": "flake-utils",
-        "type": "github"
-      }
-    },
     "nixpkgs": {
       "locked": {
         "lastModified": 1719426051,

@@ -36,24 +18,8 @@
     },
     "root": {
       "inputs": {
-        "flake-utils": "flake-utils",
         "nixpkgs": "nixpkgs"
       }
-    },
-    "systems": {
-      "locked": {
-        "lastModified": 1681028828,
-        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
-        "owner": "nix-systems",
-        "repo": "default",
-        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nix-systems",
-        "repo": "default",
-        "type": "github"
-      }
     }
   },
   "root": "root",
diff --git a/flake.nix b/flake.nix
@@ -1,56 +1,53 @@
 {
-  description = "web-overview for dhcp-leases from dnsmasq";
-
-  inputs = {
-    flake-utils.url = "github:numtide/flake-utils";
-    nixpkgs.url     = "github:NixOS/nixpkgs/nixos-24.05";
-  };
-
-  outputs = { self, nixpkgs, flake-utils }: {
-
-    overlay = final: prev: {
-
-      dnsmasq-lease-overview = (
-        let
-          nim-mustache = final.fetchFromGitHub {
-            owner  = "soasme";
-            repo   = "nim-mustache";
-            rev    = "v0.4.3";
-            sha256 = "sha256-rrmKSb422YALxg0nV8rjTNgLecJAM8jvg8tnbvSa9SY";
-          };
-
-        in final.buildNimPackage {
-          name        = "dnsmasq-lease-overview";
-          src         = self;
-
-          nimFlags = [
-            "--showAllMismatches:on"
-            "--path:${nim-mustache}/src"
-          ];
 
-          nimRelease  = true;
-        }
-      );
-
-    };
+  description = "web-overview for dhcp-leases from dnsmasq";
 
-  } // (flake-utils.lib.eachDefaultSystem (system:
-    let
-      pkgs = import nixpkgs {
-        inherit system;
-        overlays = [ self.overlay ];
+  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
+
+  outputs = inputs: let
+    forAllSystems = function:
+      inputs.nixpkgs.lib.genAttrs [
+        "x86_64-linux"
+        "aarch64-linux"
+        "aarch64-darwin"
+      ] (system: function (import inputs.nixpkgs {
+        system   = system;
+        overlays = [ inputs.self.overlays.default ];
+      }));
+
+  in {
+
+    packages = forAllSystems (pkgs: {
+      default                = pkgs.dnsmasq-lease-overview;
+      dnsmasq-lease-overview = pkgs.dnsmasq-lease-overview;
+    });
+
+    apps = forAllSystems (pkgs: {
+      default.type    = "app";
+      default.program = "${pkgs.dnsmasq-lease-overview}/bin/overview";
+    });
+
+    overlays.default = final: prev: {
+      dnsmasq-lease-overview = let
+        nim-mustache = final.fetchFromGitHub {
+          owner  = "soasme";
+          repo   = "nim-mustache";
+          rev    = "v0.4.3";
+          sha256 = "sha256-rrmKSb422YALxg0nV8rjTNgLecJAM8jvg8tnbvSa9SY";
+        };
+
+      in final.buildNimPackage {
+        name = "dnsmasq-lease-overview";
+        src  = inputs.self;
+
+        nimRelease = true;
+        nimFlags   = [
+          "--showAllMismatches:on"
+          "--path:${nim-mustache}/src"
+        ];
       };
+    };
 
-    in rec {
-
-      packages.default                = pkgs.dnsmasq-lease-overview;
-      packages.dnsmasq-lease-overview = pkgs.dnsmasq-lease-overview;
-
-      apps.default = {
-        type = "app";
-        program = "${pkgs.dnsmasq-lease-overview}/bin/overview";
-      };
+  };
 
-    }
-  ));
-}-
\ No newline at end of file
+}