{ inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; outputs = { self, nixpkgs }: let systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system}); in { packages = forAllSystems (pkgs: { default = pkgs.buildGoModule { pname = "dnstt_exporter"; version = "0.1.0"; src = ./.; vendorHash = "sha256-+msAQqz07XVzGjpwi8PvlA7jP4Y+j/BgSZdnIc0LrpA="; subPackages = [ "cmd/dnstt_exporter" ]; }; }); checks = forAllSystems (pkgs: { tests = self.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs (_: { doCheck = true; checkPhase = '' runHook preCheck go test ./... runHook postCheck ''; }); }); #checks = forAllSystems ( # pkgs: # { # tests = self.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs (_: { # pname = "nix-cache-login-tests"; # checkPhase = '' # runHook preCheck # go test ./... # runHook postCheck # ''; # doCheck = true; # }); # module-checks = import ./module-checks.nix { inherit self pkgs; }; # devShell = self.devShells.${pkgs.stdenv.hostPlatform.system}.default; # } # // pkgs.lib.optionalAttrs pkgs.stdenv.isLinux { # nixos-module = pkgs.testers.runNixOSTest (import ./nixos-test.nix self); # } #); devShells = forAllSystems (pkgs: { default = pkgs.mkShell { packages = with pkgs; [ go ]; }; }); nixosModules.default = { lib, pkgs, ... }: { imports = [ ./nixos-module.nix ]; services.prometheus.exporters.dnstt.package = lib.mkDefault self.packages.${pkgs.stdenv.hostPlatform.system}.default; }; nixosModules.dnstt-exporter = self.nixosModules.default; }; }