diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..809d959 --- /dev/null +++ b/flake.nix @@ -0,0 +1,56 @@ +{ + description = "mithril (secrets/SBOM/CVE scanner)"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + }; + + outputs = + { + self, + nixpkgs, + }: + let + forAllSystems = + f: + nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed ( + system: + f { + pkgs = nixpkgs.legacyPackages.${system}; + inherit system; + } + ); + in + { + packages = forAllSystems ( + { + pkgs, + system, + }: + let + mithril = pkgs.callPackage ./package.nix { }; + in + { + inherit mithril; + default = mithril; + } + ); + + devShells = forAllSystems ( + { + pkgs, + system, + }: + { + default = pkgs.mkShell { + inputsFrom = [ self.packages.${system}.mithril ]; + packages = with pkgs; [ + python3 + ]; + }; + } + ); + + formatter = forAllSystems ({ pkgs, ... }: pkgs.nixfmt-tree); + }; +} diff --git a/package.nix b/package.nix new file mode 100644 index 0000000..b3a7bb0 --- /dev/null +++ b/package.nix @@ -0,0 +1,29 @@ +{ + lib, + stdenv, + cmake, + ninja, +}: +stdenv.mkDerivation { + pname = "mithril"; + version = "0.2.1"; + src = ./.; + + nativeBuildInputs = [ + cmake + ninja + ]; + + cmakeFlags = [ + "-DCMAKE_BUILD_TYPE=Release" + ]; + + meta = with lib; { + description = "IoT static scanner for secrets, SBOM, CVEs and more"; + homepage = "https://github.com/nmatt0/mithril"; + license = licenses.mit; + maintainers = [ ]; + platforms = platforms.unix; + mainProgram = "mithril"; + }; +}