From a856026dbdee42b97d274228a0aa0c81922f3360 Mon Sep 17 00:00:00 2001 From: Ivan Folgueira Bande Date: Wed, 15 Oct 2025 11:17:02 +0200 Subject: [PATCH] add flake.nix --- flake.nix | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 flake.nix diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..3171e22 --- /dev/null +++ b/flake.nix @@ -0,0 +1,59 @@ +{ + description = "Nim-SDS build flake"; + + nixConfig = { + extra-substituters = [ "https://nix-cache.status.im/" ]; + extra-trusted-public-keys = [ "nix-cache.status.im-1:x/93lOfLU+duPplwMSBR+OlY4+mo+dCN7n0mr4oPwgY=" ]; + }; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs?rev=f44bd8ca21e026135061a0a57dcf3d0775b67a49"; + }; + + outputs = { self, nixpkgs }: + let + stableSystems = [ + "x86_64-linux" "aarch64-linux" + "x86_64-darwin" "aarch64-darwin" + "x86_64-windows" "i686-linux" + "i686-windows" + ]; + + forAllSystems = f: nixpkgs.lib.genAttrs stableSystems (system: f system); + + pkgsFor = forAllSystems ( + system: import nixpkgs { + inherit system; + config = { + android_sdk.accept_license = true; + allowUnfree = true; + }; + overlays = [ + (final: prev: { + androidEnvCustom = prev.callPackage ./nix/pkgs/android-sdk { }; + androidPkgs = final.androidEnvCustom.pkgs; + androidShell = final.androidEnvCustom.shell; + }) + ]; + } + ); + + in rec { + packages = forAllSystems (system: let + pkgs = pkgsFor.${system}; + in rec { + libsds-android-arm64 = pkgs.callPackage ./nix/default.nix { + inherit stableSystems; + src = self; + targets = ["libsds-android-arm64"]; + androidArch = "aarch64-linux-android"; + abidir = "arm64-v8a"; + }; + default = libsds-android-arm64; + }); + + devShells = forAllSystems (system: { + default = pkgsFor.${system}.callPackage ./nix/shell.nix {}; + }); + }; +} \ No newline at end of file