From 1c8f6a76066bdb97505be41baaa49b37774a9cfd Mon Sep 17 00:00:00 2001 From: Artur Manuel Date: Wed, 4 Dec 2024 15:44:04 +0000 Subject: [PATCH] feat: add an android flake --- templates/android/flake.lock | 183 +++++++++++++++++++++++++++++++++++ templates/android/flake.nix | 78 +++++++++++++++ 2 files changed, 261 insertions(+) create mode 100644 templates/android/flake.lock create mode 100644 templates/android/flake.nix diff --git a/templates/android/flake.lock b/templates/android/flake.lock new file mode 100644 index 0000000..2f2de24 --- /dev/null +++ b/templates/android/flake.lock @@ -0,0 +1,183 @@ +{ + "nodes": { + "android": { + "inputs": { + "devshell": "devshell", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1733257229, + "narHash": "sha256-Yj6fY+z8Vn+gJmhs4/9TQA1deSaJc5MZuBXx0E3G3wM=", + "owner": "tadfisher", + "repo": "android-nixpkgs", + "rev": "9ddb8a8033ecfbc6740e50b84e543e989b413877", + "type": "github" + }, + "original": { + "owner": "tadfisher", + "repo": "android-nixpkgs", + "type": "github" + } + }, + "devshell": { + "inputs": { + "nixpkgs": [ + "android", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "owner": "numtide", + "repo": "devshell", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "devshell_2": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1728330715, + "narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=", + "owner": "numtide", + "repo": "devshell", + "rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "devshell", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1722073938, + "narHash": "sha256-OpX0StkL8vpXyWOGUD6G+MA26wAXK6SpT94kLJXo6B4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e36e9f57337d0ff0cf77aceb58af4c805472bfae", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1733325258, + "narHash": "sha256-lLN1S4H5Kd7yZlm12AWM+vL4h9TQmH1ppnbWOtMJ96E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a574f2b68d3efd056189b1359cae188e5aa32f47", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "android": "android", + "devshell": "devshell_2", + "flake-parts": "flake-parts", + "nixpkgs": "nixpkgs_3" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/templates/android/flake.nix b/templates/android/flake.nix new file mode 100644 index 0000000..eff18fd --- /dev/null +++ b/templates/android/flake.nix @@ -0,0 +1,78 @@ +{ + description = "My Android project"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs"; + devshell.url = "github:numtide/devshell"; + flake-parts.url = "github:hercules-ci/flake-parts"; + android.url = "github:tadfisher/android-nixpkgs"; + }; + + outputs = inputs @ { + self, + nixpkgs, + ... + }: + inputs.flake-parts.lib.mkFlake {inherit inputs;} { + systems = ["x86_64-linux"]; + imports = [ + inputs.devshell.flakeModule + ]; + flake = { + overlays.default = final: prev: { + android-sdk = inputs.android.sdk.${final.system} (sdkPkgs: + builtins.attrValues { + inherit + (sdkPkgs) + build-tools-34-0-0 + cmdline-tools-latest + emulator + platform-tools + platforms-android-34 + ; + }); + android-studio = prev.androidStudioPackages.stable; + }; + }; + perSystem = { + pkgs, + system, + self', + }: { + _module.args.pkgs = import nixpkgs { + config.allowUnfree = true; + inherit system; + overlays = [ + inputs.devshell.overlays.default + self.overlays.default + ]; + }; + packages = {inherit (pkgs) android-studio android-sdk;}; + devshells.default = { + env = [ + { + name = "ANDROID_HOME"; + value = "${self'.packages.android-sdk}/share/android-sdk"; + } + { + name = "ANDROID_SDK_ROOT"; + value = "${self'.packages.android-sdk}/share/android-sdk"; + } + { + name = "JAVA_HOME"; + value = pkgs.jdk.home; + } + ]; + packages = builtins.attrValues { + inherit + (pkgs) + android-sdk + gradle + jdk + android-studio + ; + }; + }; + }; + }; +}