{ inputs = { flake-utils.url = "github:numtide/flake-utils"; naersk.url = "github:nix-community/naersk"; nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; }; outputs = { self, flake-utils, naersk, nixpkgs }: flake-utils.lib.eachDefaultSystem (system: let pkgs = (import nixpkgs) { inherit system; }; naersk' = pkgs.callPackage naersk {}; in rec { # For `nix build` & `nix run`: defaultPackage = naersk'.buildPackage { src = ./.; nativeBuildInputs = with pkgs; [ pkg-config openssl ]; }; # For `nix develop`: devShell = pkgs.mkShell { nativeBuildInputs = with pkgs; [ rustc cargo iconv ] ++ (pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.Security pkgs.darwin.apple_sdk.frameworks.CoreFoundation pkgs.darwin.apple_sdk.frameworks.CoreServices ]); }; } ); }