From 12b78742bb19d23dde9519fb2dca724028d2be13 Mon Sep 17 00:00:00 2001 From: "Alexander \"PapaTutuWawa" Date: Sat, 5 Nov 2022 12:51:36 +0100 Subject: [PATCH] Initial commit --- .gitignore | 2 ++ LICENSE | 21 +++++++++++++++++++++ README.md | 7 +++++++ flake.lock | 43 +++++++++++++++++++++++++++++++++++++++++++ flake.nix | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 125 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c5edab1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.envrc +.direnv/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..dc6a3cd --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Alexander "PapaTutuWawa" + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..4672586 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# moxxmpp + +moxxmpp is a XMPP library written purely in Dart for usage in Moxxy. + +## License + +See `./LICENSE`. diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..842552d --- /dev/null +++ b/flake.lock @@ -0,0 +1,43 @@ +{ + "nodes": { + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1667610399, + "narHash": "sha256-XZd0f4ZWAY0QOoUSdiNWj/eFiKb4B9CJPtl9uO9SYY4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1dd8696f96db47156e1424a49578fe7dd4ce99a4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..7c05e44 --- /dev/null +++ b/flake.nix @@ -0,0 +1,52 @@ +{ + description = "Moxxy v2"; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let + pkgs = import nixpkgs { + inherit system; + config = { + android_sdk.accept_license = true; + allowUnfree = true; + }; + }; + android = pkgs.androidenv.composeAndroidPackages { + # TODO: Find a way to pin these + #toolsVersion = "26.1.1"; + #platformToolsVersion = "31.0.3"; + #buildToolsVersions = [ "31.0.0" ]; + #includeEmulator = true; + #emulatorVersion = "30.6.3"; + platformVersions = [ "28" ]; + includeSources = false; + includeSystemImages = true; + systemImageTypes = [ "default" ]; + abiVersions = [ "x86_64" ]; + includeNDK = false; + useGoogleAPIs = false; + useGoogleTVAddOns = false; + }; + pinnedJDK = pkgs.jdk; + + pythonEnv = pkgs.python3.withPackages (ps: with ps; [ + requests pyyaml # For the build scripts + pycryptodome # For the Monal UDP Logger + ]); + in { + devShell = pkgs.mkShell { + buildInputs = with pkgs; [ + flutter pinnedJDK android.platform-tools dart scrcpy # Flutter/Android + pythonEnv gnumake # Build scripts + gitlint jq # Code hygiene + ripgrep # General utilities + ]; + + ANDROID_HOME = "/home/alexander/Development/Moxxy/moxxyv2/.android/sdk"; + JAVA_HOME = pinnedJDK; + ANDROID_AVD_HOME = (toString ./.) + "/.android/avd"; + }; + }); +}