dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
commit fded7f0676182ba4cc4442d7f0b403bc674fb741 parent 205e919d2954f98703e7acf0bd5ceb6f1c9e58b9 Author: maydayv7 <maydayv7@gmail.com> Date: Fri, 28 Nov 2025 05:22:07 +0530 feat: Add Android development shell
Diffstat:
| M | CHANGELOG.md | | | 1 | + |
| M | modules/apps/games/mc-server.nix | | | 4 | ++-- |
| M | modules/apps/vscode.nix | | | 2 | ++ |
| A | shells/android.nix | | | 61 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | shells/cc.nix | | | 5 | +++-- |
| M | shells/java.nix | | | 2 | +- |
| M | shells/rust.nix | | | 3 | ++- |
| M | shells/sql.nix | | | 2 | +- |
8 files changed, 73 insertions(+), 7 deletions(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md @@ -2,6 +2,7 @@ ### November +- Add Android development shell - Support multiple concurrent Minecraft Servers - Update Hyprland to v0.52 - Add modded skyblock Minecraft Server diff --git a/modules/apps/games/mc-server.nix b/modules/apps/games/mc-server.nix @@ -200,8 +200,8 @@ in # Ozone Skyblock Reborn 2 modpack = fetchzip { - url = "https://mediafilez.forgecdn.net/files/7165/375/OSR2%201.1.5%20-%20Server.zip"; - sha256 = "sha256-5oVl3zcQQ6ad6Yx79+9m7K5wHzFVgK1zlEXE4NAuOfQ="; + url = "https://mediafilez.forgecdn.net/files/7243/245/OSR2%201.2.1%20-%20Server.zip"; + sha256 = "sha256-G7qUQ2ZKKsBUKugTcsv7RppAZVrNgsncrYYWzusTSF0="; }; in { diff --git a/modules/apps/vscode.nix b/modules/apps/vscode.nix @@ -70,6 +70,7 @@ in eamodio.gitlens github.vscode-pull-request-github + dart-code.flutter # Flutter divyanshuagrawal.competitive-programming-helper # CP jnoortheen.nix-ide # Nix ms-python.python # Python @@ -90,6 +91,7 @@ in ] ++ (with pkgs.code.vscode-marketplace; [ kisstkondoros.vscode-gutter-preview # Image Preview + fwcd.kotlin # Kotlin ]); }; }; diff --git a/shells/android.nix b/shells/android.nix @@ -0,0 +1,61 @@ +pkgs: +let + androidEnv = pkgs.callPackage "${toString pkgs.path}/pkgs/development/mobile/androidenv" { + inherit pkgs; + licenseAccepted = true; + }; + + buildTools = "34.0.0"; + inherit + (androidEnv.composeAndroidPackages { + cmdLineToolsVersion = "8.0"; + toolsVersion = "26.1.1"; + platformToolsVersion = "34.0.5"; + buildToolsVersions = [ + buildTools + "33.0.2" + ]; + includeEmulator = false; + platformVersions = [ + "33" + "34" + "35" + ]; + includeSystemImages = false; + includeSources = false; + cmakeVersions = [ "3.22.1" ]; + includeNDK = true; + ndkVersions = [ + "27.0.12077973" + "26.3.11579264" + ]; + extraLicenses = [ + "android-sdk-license" + "android-sdk-preview-license" + ]; + }) + androidsdk + ; + +in +rec { + name = "Android"; + packages = with pkgs; [ + jdk + kotlin + gradle + flutter + + androidsdk + pkg-config + ]; + + shellHook = ''echo "## Android Development Shell ##"''; + JAVA_HOME = pkgs.jdk; + GRADLE_HOME = "${pkgs.gradle}/lib/gradle"; + GRADLE_OPTS = "-Dorg.gradle.project.android.aapt2FromMavenOverride=${androidsdk}/libexec/android-sdk/build-tools/${buildTools}/aapt2"; + FLUTTER_ROOT = pkgs.flutter; + DART_ROOT = "${FLUTTER_ROOT}/bin/cache/dart-sdk"; + ANDROID_SDK_ROOT = "${androidsdk}/libexec/android-sdk"; + ANDROID_NDK_ROOT = "${ANDROID_SDK_ROOT}/ndk-bundle"; +} diff --git a/shells/cc.nix b/shells/cc.nix @@ -1,7 +1,5 @@ pkgs: { name = "C"; - shellHook = ''echo "## C/C++ Development Shell ##"''; - LIBCLANG_PATH = "${pkgs.libclang}/lib"; packages = with pkgs; [ clang cmake @@ -9,4 +7,7 @@ pkgs: { gdb libcxx ]; + + shellHook = ''echo "## C/C++ Development Shell ##"''; + LIBCLANG_PATH = "${pkgs.libclang}/lib"; } diff --git a/shells/java.nix b/shells/java.nix @@ -1,6 +1,6 @@ pkgs: { name = "Java"; - shellHook = ''echo "## Java Development Shell ##"''; packages = [ pkgs.jdk ]; + shellHook = ''echo "## Java Development Shell ##"''; JAVA_HOME = pkgs.jdk; } diff --git a/shells/rust.nix b/shells/rust.nix @@ -1,9 +1,10 @@ pkgs: { name = "Rust"; - shellHook = ''echo "## Rust Development Shell ##"''; packages = with pkgs; [ cargo rustup ]; + + shellHook = ''echo "## Rust Development Shell ##"''; RUST_BACKTRACE = 1; } diff --git a/shells/sql.nix b/shells/sql.nix @@ -4,7 +4,7 @@ let in { name = "SQL"; - buildInputs = [ pkg ]; + packages = [ pkg ]; shellHook = '' alias mysql='mysql -u root' MYSQL_HOME=$HOME/.mysql