Move foreign dev shells to flake outputs

This commit is contained in:
Charlotte Van Petegem 2022-04-30 16:06:29 +02:00
parent b451416d6f
commit 311770ad2e
No known key found for this signature in database
GPG key ID: 019E764B7184435A
11 changed files with 61 additions and 215 deletions

View file

@ -1,64 +0,0 @@
let
pkgs = import <nixpkgs> { config.android_sdk.accept_license = true; };
buildToolsVersion = "29.0.2";
composed = pkgs.androidenv.composeAndroidPackages {
toolsVersion = "26.1.1";
platformToolsVersion = "29.0.6";
buildToolsVersions = [ buildToolsVersion ];
# includeEmulator = false;
# emulatorVersion = "27.2.0";
platformVersions = [ "29" ];
includeSources = true;
includeDocs = true;
# includeSystemImages = false;
# systemImageTypes = [ "default" ];
# abiVersions = [ "armeabi-v7a" ];
# lldbVersions = [ "2.0.2558144" ];
# cmakeVersions = [ "3.6.4111459" ];
# includeNDK = false;
# ndkVersion = "16.1.4479499";
# useGoogleAPIs = false;
# useGoogleTVAddOns = false;
# includeExtras = [ "extras;google;gcm" ];
};
gradle-fhs-nix = pkgs.writeText "gradle-fhs.nix" ''
{ run }:
let
pkgs = import <nixpkgs> {};
in
(pkgs.buildFHSUserEnv {
name = "android-sdk-env";
targetPkgs = pkgs: (with pkgs; [ glibc ]);
profile = '''
export ANDROID_SDK_ROOT="${composed.androidsdk}/libexec/android-sdk/"
''';
runScript = "bash -c '''''${run}'''";
}).env
'';
gradle-run-script = pkgs.writeShellScriptBin "gradle" ''
REPO_ROOT="$(git rev-parse --show-toplevel)"
nix-shell --argstr run "\"$REPO_ROOT/gradlew $@\"" "${gradle-fhs-nix}"
'';
sign-release = pkgs.writeShellScriptBin "sign-release" ''
BUILD_TOOLS_PATH="${composed.androidsdk}/libexec/android-sdk/build-tools/${buildToolsVersion}"
REPO_ROOT="$(git rev-parse --show-toplevel)"
APK_DIR="$REPO_ROOT/app/build/outputs/apk/release"
rm "$APK_DIR/"*
${gradle-run-script}/bin/gradle assembleRelease
"$BUILD_TOOLS_PATH/zipalign" -v -p 4 "$APK_DIR/app-release-unsigned.apk" "$APK_DIR/app-release-unsigned-aligned.apk"
"$BUILD_TOOLS_PATH/apksigner" sign --ks "$REPO_ROOT/keystore.jks" --out "$APK_DIR/app-release.apk" "$APK_DIR/app-release-unsigned-aligned.apk"
"$BUILD_TOOLS_PATH/apksigner" verify "$APK_DIR/app-release.apk"
'';
in
pkgs.mkShell {
buildInputs = with pkgs; [
gradle-run-script
sign-release
jdk11
];
shellHook = ''
export ANDROID_SDK_ROOT="${composed.androidsdk}/libexec/android-sdk/"
'';
}

View file

@ -1,29 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
ffmpeg
imagemagick
postgresql
ruby_3_1
taglib
zlib
(
pkgs.writeShellScriptBin "start-db" ''
trap "systemd-run --user --no-block docker stop accentor-db" 0
docker run -d --name accentor-db -p 5432:5432 --rm -v accentor-db-data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=accentor postgres:latest
while [ 1 -eq 1 ]
do
sleep 1000
done
''
)
];
shellHook = ''
export DATABASE_URL="postgres://postgres:accentor@127.0.0.1:5432/accentor"
export GEM_HOME="$PWD/vendor/bundle/$(ruby -e 'puts RUBY_VERSION')"
export PATH="$GEM_HOME/bin:$PATH"
'';
}

View file

@ -1,10 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
nodejs-12_x
python38
yarn
];
}

View file

@ -1,12 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
nodejs-12_x
yarn
];
shellHook = ''
export PUPPETEER_EXECUTABLE_PATH="${pkgs.ungoogled-chromium}/bin/chromium"
'';
}

View file

@ -1,32 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
chromedriver
libmysqlclient
nodejs-14_x
ruby_3_0
yarn
zlib
(
pkgs.writeShellScriptBin "start-dockers" ''
trap "systemd-run --user --no-block docker stop dodona-db dodona-cache" 0
docker run -d --name dodona-db -p 3306:3306 --rm -v dodona-db-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=dodona mariadb:latest
docker run -d --name dodona-cache -p 11211:11211 --rm memcached:latest
while [ 1 -eq 1 ]
do
sleep 1000
done
''
)
];
shellHook = ''
export TEST_DATABASE_URL="mysql2://root:dodona@127.0.0.1:3306/dodona_test"
export DATABASE_URL="mysql2://root:dodona@127.0.0.1:3306/dodona"
export GEM_HOME="$PWD/vendor/bundle/$(ruby -e 'puts RUBY_VERSION')"
export PATH="$GEM_HOME/bin:$PATH"
'';
}

View file

@ -1,7 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
(pkgs.buildFHSUserEnv {
name = "idea-env";
targetPkgs = pkgs: [ pkgs.jdk11 pkgs.wget pkgs.bash pkgs.zlib pkgs.xlibs.libXext pkgs.xlibs.libX11 pkgs.xlibs.libXrender pkgs.xlibs.libXtst pkgs.xlibs.libXi pkgs.freetype pkgs.fontconfig ];
}).env

View file

@ -1,19 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
(
pkgs.writeShellScriptBin "compile" ''
find src -name '*.java' -print0 | xargs --no-run-if-empty -0 ${jdk17}/bin/javac -d out -sourcepath src
find src -type d -printf '%P\0' | xargs -0 -I \{\} mkdir -p out/\{\}
find resources -type d -printf '%P\0' | xargs -0 -I \{\} mkdir -p out/\{\}
find src -type f -not -name '*.java' -printf '%P\0' | xargs -0 -I \{\} cp src/\{\} out/\{\}
find resources -type f -not -name '*.java' -printf '%P\0' | xargs -0 -I \{\} cp resources/\{\} out/\{\}
(cd out && ${jdk17}/bin/java polis.Main)
''
)
jdk17
openjfx17
];
}

View file

@ -1,20 +0,0 @@
let
pkgs = import <nixpkgs> { };
in
pkgs.mkShell {
buildInputs = [
(pkgs.rWrapper.override {
packages = with pkgs.rPackages; [
base64enc
dplyr
dslabs
jsonlite
knitr
lintr
R6
rlang
styler
];
})
];
}