{ description = "Exporter for SDM120M meters to mqtt, written in nim"; 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}" ]; }; }; }; }