commit 4ce267e00aa3c72e951df60418d050cda8c21e2e
parent f659fe1ee8d63a3938c2f890616ca21a039768f4
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Mar 2025 21:48:07 +0100
parent f659fe1ee8d63a3938c2f890616ca21a039768f4
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Mar 2025 21:48:07 +0100
flake: refactor, remove `flake-utils` dependency
2 files changed, 48 insertions(+), 86 deletions(-)
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,57 +1,54 @@ { - description = "Exporter for SDM120M meters to mqtt, written in nim"; - - inputs = { - flake-utils.url = "github:numtide/flake-utils"; - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; - }; - - outputs = { self, nixpkgs, flake-utils }: { - - nixosModule = import ./nixosModule.nix; - - overlay = final: prev: { - - sdm2mqtt = ( - let - nmqtt = final.fetchFromGitHub { - owner = "zevv"; - repo = "nmqtt"; - rev = "v1.0.4"; - sha256 = "1by0xyqz754dny19lf8rpkg42passnj0rs6rk3jr763m1zr803mc"; - }; - - in final.buildNimPackage { - name = "sdm2mqtt"; - src = self; - - nimFlags = [ - "--path:${nmqtt}" - ]; - nimRelease = true; - } - ); - - }; + description = "Exporter for SDM120M meters to mqtt, written in nim"; - } // (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.sdm2mqtt; + sdm2mqtt = pkgs.sdm2mqtt; + }); + + apps = forAllSystems (pkgs: { + default.type = "app"; + default.program = "${pkgs.sdm2mqtt}/bin/sdm2mqtt"; + }); + + nixosModules.default = import ./nixosModule.nix; + + overlays.default = final: prev: { + sdm2mqtt = let + nmqtt = final.fetchFromGitHub { + owner = "zevv"; + repo = "nmqtt"; + rev = "v1.0.4"; + sha256 = "1by0xyqz754dny19lf8rpkg42passnj0rs6rk3jr763m1zr803mc"; + }; + + in final.buildNimPackage { + name = "sdm2mqtt"; + src = inputs.self; + + nimRelease = true; + nimFlags = [ + "--path:${nmqtt}" + ]; }; + }; - in rec { - - packages.default = pkgs.sdm2mqtt; - packages.sdm2mqtt = pkgs.sdm2mqtt; - - apps.default = { - type = "app"; - program = "${pkgs.sdm2mqtt}/bin/sdm2mqtt"; - }; + }; - } - )); -}- \ No newline at end of file +}