From a2dc92cade122ba97c5dcd43d50f632e0bb3759c Mon Sep 17 00:00:00 2001 From: Charlotte Van Petegem Date: Mon, 15 May 2023 18:43:33 +0200 Subject: [PATCH] Add orgzly shell --- flake.nix | 2 +- shells/dodona.nix | 2 +- shells/gamification2.nix | 2 +- shells/gandalf.nix | 2 +- shells/nixos-config.nix | 2 +- shells/orgzly.nix | 44 ++++++++++++++++++++++++++++++++++++++++ shells/tab.nix | 2 +- shells/tap.nix | 2 +- 8 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 shells/orgzly.nix diff --git a/flake.nix b/flake.nix index bdcabc3e..362d1e85 100644 --- a/flake.nix +++ b/flake.nix @@ -146,7 +146,7 @@ systemAttrs = flake-utils.lib.eachDefaultSystem (system: let pkgs = import (nixpkgsForSystem system) { inherit overlays system; }; - nameToValue = name: import (./shells + "/${name}.nix") { inherit pkgs inputs; }; + nameToValue = name: import (./shells + "/${name}.nix") { inherit pkgs inputs system; }; in { devShells = builtins.listToAttrs (builtins.map (name: { inherit name; value = nameToValue name; }) shellNames); diff --git a/shells/dodona.nix b/shells/dodona.nix index b4e4ef8b..b1359ad1 100644 --- a/shells/dodona.nix +++ b/shells/dodona.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs }: +{ pkgs, inputs, ... }: let support-services = { memcached.command = "memcached"; diff --git a/shells/gamification2.nix b/shells/gamification2.nix index 9121ae19..6bc48310 100644 --- a/shells/gamification2.nix +++ b/shells/gamification2.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs }: pkgs.devshell.mkShell { +{ pkgs, inputs, ... }: pkgs.devshell.mkShell { name = "Gamification 2"; imports = [ "${inputs.devshell}/extra/language/ruby.nix" ]; env = [ diff --git a/shells/gandalf.nix b/shells/gandalf.nix index 849f3e60..abe67618 100644 --- a/shells/gandalf.nix +++ b/shells/gandalf.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs }: pkgs.devshell.mkShell { +{ pkgs, inputs, ... }: pkgs.devshell.mkShell { name = "Gandalf"; imports = [ "${inputs.devshell}/extra/language/ruby.nix" ]; commands = [ diff --git a/shells/nixos-config.nix b/shells/nixos-config.nix index 71c0f072..bbf0ce81 100644 --- a/shells/nixos-config.nix +++ b/shells/nixos-config.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs }: pkgs.devshell.mkShell { +{ pkgs, ... }: pkgs.devshell.mkShell { name = "NixOS config"; commands = [ { diff --git a/shells/orgzly.nix b/shells/orgzly.nix new file mode 100644 index 00000000..e5e8267e --- /dev/null +++ b/shells/orgzly.nix @@ -0,0 +1,44 @@ +{ inputs, system, ... }: let + pkgs = import inputs.nixpkgs { inherit system; config = { android_sdk.accept_license = true; allowUnfree = true; }; overlays = [ inputs.devshell.overlays.default ]; }; + buildToolsVersion = "30.0.3"; + composed = pkgs.androidenv.composeAndroidPackages { + buildToolsVersions = [ buildToolsVersion ]; + platformVersions = [ "32" ]; + }; + fhsEnv = pkgs.buildFHSUserEnv { + name = "android-sdk-env"; + targetPkgs = pkgs: (with pkgs; [ glibc ]); + profile = '' + export ANDROID_SDK_ROOT="${composed.androidsdk}/libexec/android-sdk/" + ''; + }; +in + pkgs.devshell.mkShell { + name = "Orgzly"; + packages = [ pkgs.jdk17 pkgs.kotlin-language-server pkgs.nixpkgs-fmt ]; + env = [ + { name = "ANDROID_SDK_ROOT"; eval = "${composed.androidsdk}/libexec/android-sdk/"; } + { name = "BUILD_TOOLS_PATH"; eval = "$ANDROID_SDK_ROOT/build-tools/${buildToolsVersion}"; } + { name = "APK_DIR"; eval = "$PRJ_ROOT/app/build/outputs/apk/release"; } + ]; + commands = [ + { + name = "gradle"; + category = "tools"; + help = "Working gradle invocation"; + command = "${fhsEnv}/bin/android-sdk-env \"$PRJ_ROOT/gradlew\" $@"; + } + { + name = "install-debug-signed-release"; + category = "tools"; + help = "Install a debug signed release APK"; + command = '' + rm -f "$APK_DIR/"* + gradle assembleRelease + "$BUILD_TOOLS_PATH/zipalign" -v -p 4 "$APK_DIR/app-release-unsigned.apk" "$APK_DIR/app-release-unsigned-aligned.apk" + echo android | "$BUILD_TOOLS_PATH/apksigner" sign --ks "$HOME/.android/debug.keystore" --out "$APK_DIR/app-release.apk" "$APK_DIR/app-release-unsigned-aligned.apk" + adb install -r "$APK_DIR/app-release.apk" + ''; + } + ]; +} diff --git a/shells/tab.nix b/shells/tab.nix index 04782fc4..0a41d949 100644 --- a/shells/tab.nix +++ b/shells/tab.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs }: pkgs.devshell.mkShell { +{ pkgs, inputs, ... }: pkgs.devshell.mkShell { name = "Tab"; imports = [ "${inputs.devshell}/extra/language/ruby.nix" ]; commands = [ diff --git a/shells/tap.nix b/shells/tap.nix index 9a8b17cb..8543d3db 100644 --- a/shells/tap.nix +++ b/shells/tap.nix @@ -1,4 +1,4 @@ -{ pkgs, inputs }: pkgs.devshell.mkShell { +{ pkgs, inputs, ... }: pkgs.devshell.mkShell { name = "Tap"; imports = [ "${inputs.devshell}/extra/language/ruby.nix" ]; commands = [