{ description = "Exporter for SDM120M meters to mqtt, written in nim"; inputs = { flake-utils.url = "github:numtide/flake-utils"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11"; }; 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.nimPackages.buildNimPackage { name = "sdm2mqtt"; src = self; buildInputs = [ nmqtt ]; nimBinOnly = true; nimRelease = true; } ); }; } // (flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlay ]; }; in rec { packages.default = pkgs.sdm2mqtt; packages.sdm2mqtt = pkgs.sdm2mqtt; apps.default = { type = "app"; program = "${pkgs.sdm2mqtt}/bin/sdm2mqtt"; }; } )); }