commit 8e41c8b4d1475902ab5801c82f5fccab411d46ec
parent aa4a39a043ac3cff1733f3637851caf449a1b047
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Mar 2025 21:53:17 +0100
parent aa4a39a043ac3cff1733f3637851caf449a1b047
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 5 Mar 2025 21:53:17 +0100
flake: refactor, remove `flake-utils` dependency
2 files changed, 46 insertions(+), 66 deletions(-)
diff --git a/flake.lock b/flake.lock @@ -1,20 +1,5 @@ { "nodes": { - "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1719426051, @@ -33,7 +18,6 @@ }, "root": { "inputs": { - "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } }
diff --git a/flake.nix b/flake.nix @@ -1,55 +1,52 @@ { - description = "Exporter for solax solar inverters 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 }: { - - overlay = final: prev: { - - solax2mqtt = ( - let - nmqtt = final.fetchFromGitHub { - owner = "zevv"; - repo = "nmqtt"; - rev = "v1.0.4"; - sha256 = "1by0xyqz754dny19lf8rpkg42passnj0rs6rk3jr763m1zr803mc"; - }; - - in final.buildNimPackage { - name = "solax2mqtt"; - src = self; - - nimFlags = [ - "--path:${nmqtt}" - ]; - nimRelease = true; - } - ); - - }; + description = "Exporter for solax solar inverters 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.solax2mqtt; + solax2mqtt = pkgs.solax2mqtt; + }); + + apps = forAllSystems (pkgs: { + default.type = "app"; + default.program = "${pkgs.solax2mqtt}/bin/solax2mqtt"; + }); + + overlays.default = final: prev: { + solax2mqtt = let + nmqtt = final.fetchFromGitHub { + owner = "zevv"; + repo = "nmqtt"; + rev = "v1.0.4"; + sha256 = "1by0xyqz754dny19lf8rpkg42passnj0rs6rk3jr763m1zr803mc"; + }; + + in final.buildNimPackage { + name = "solax2mqtt"; + src = inputs.self; + + nimRelease = true; + nimFlags = [ + "--path:${nmqtt}" + ]; }; + }; - in rec { - - packages.default = pkgs.solax2mqtt; - packages.solax2mqtt = pkgs.solax2mqtt; - - apps.default = { - type = "app"; - program = "${pkgs.solax2mqtt}/bin/solax2mqtt"; - }; + }; - } - )); -}- \ No newline at end of file +}