diff --git a/flake.lock b/flake.lock index e10d374..bc1f6cb 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,20 @@ { "nodes": { + "crane": { + "locked": { + "lastModified": 1742394900, + "narHash": "sha256-vVOAp9ahvnU+fQoKd4SEXB2JG2wbENkpqcwlkIXgUC0=", + "owner": "ipetkov", + "repo": "crane", + "rev": "70947c1908108c0c551ddfd73d4f750ff2ea67cd", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -51,6 +66,7 @@ }, "root": { "inputs": { + "crane": "crane", "flake-parts": "flake-parts", "nixpkgs": "nixpkgs" } diff --git a/flake.nix b/flake.nix index 1d4f5ab..c472c66 100644 --- a/flake.nix +++ b/flake.nix @@ -4,12 +4,17 @@ inputs = { flake-parts.url = "github:hercules-ci/flake-parts"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + crane.url = "github:ipetkov/crane"; }; - outputs = inputs@{ flake-parts, ... }: + outputs = inputs@{ flake-parts, crane, ... }: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; - perSystem = { config, self', inputs', pkgs, system, ... }: { + perSystem = { config, self', inputs', pkgs, system, ... }: + let + craneLib = crane.mkLib pkgs; + in + { devShells.default = pkgs.mkShell { nativeBuildInputs = with pkgs; [ pkg-config @@ -18,6 +23,17 @@ openssl ]; }; + + packages.default = craneLib.buildPackage { + src = craneLib.cleanCargoSource ./.; + strictDeps = true; + nativeBuildInputs = with pkgs; [ + pkg-config + ]; + buildInputs = with pkgs; [ + openssl + ]; + }; }; }; }