From b7ef29a8886a57aadb787807a7c6cf74c1f0ed3a Mon Sep 17 00:00:00 2001 From: anand Date: Wed, 17 Dec 2025 15:57:55 +0530 Subject: Nixos --- modules/android.nix | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ modules/home-manager.nix | 12 ++++++++++++ modules/lsp.nix | 19 ++++++++++++++++++ modules/mango.nix | 8 ++++++++ 4 files changed, 90 insertions(+) create mode 100644 modules/android.nix create mode 100644 modules/home-manager.nix create mode 100644 modules/lsp.nix create mode 100644 modules/mango.nix (limited to 'modules') diff --git a/modules/android.nix b/modules/android.nix new file mode 100644 index 0000000..7da4990 --- /dev/null +++ b/modules/android.nix @@ -0,0 +1,51 @@ +{ config, pkgs, ... }: + +{ + #### SYSTEM (NixOS) #### + + programs.adb.enable = true; + + nixpkgs.config.android_sdk.accept_license = true; + + users.users.anand.extraGroups = [ "adbusers" ]; + + + #### USER (Home Manager) #### + + home-manager.users.anand = { pkgs, ... }: + let + androidSdk = pkgs.androidenv.composeAndroidPackages { + platformVersions = [ "35" ]; + buildToolsVersions = [ "35.0.0" ]; + platformToolsVersion = "35.0.1"; + includeEmulator = true; + includeSources = true; + cmdLineToolsVersion = "12.0"; + }; + in + { + home.packages = [ + pkgs.flutter + androidSdk.androidsdk + androidSdk.emulator + ]; + + home.sessionPath = [ + "${androidSdk.androidsdk}/libexec/android-sdk/platform-tools" + "${androidSdk.androidsdk}/libexec/android-sdk/cmdline-tools/latest/bin" + ]; + + home.sessionVariables = { + ANDROID_SDK_ROOT = + "${androidSdk.androidsdk}/libexec/android-sdk"; + + ANDROID_HOME = + "${androidSdk.androidsdk}/libexec/android-sdk"; + + # This makes Flutter happy even if layout differs + ANDROID_SDK_MANAGER = + "${androidSdk.androidsdk}/libexec/android-sdk/cmdline-tools/*/bin/sdkmanager"; + }; + }; +} + diff --git a/modules/home-manager.nix b/modules/home-manager.nix new file mode 100644 index 0000000..ff14931 --- /dev/null +++ b/modules/home-manager.nix @@ -0,0 +1,12 @@ +{ home-manager, ... }: +{ + imports = [ + home-manager.nixosModules.home-manager + ]; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + users.anand = import ../home.nix; + backupFileExtension = "hmbackup"; + }; +} diff --git a/modules/lsp.nix b/modules/lsp.nix new file mode 100644 index 0000000..8cc7599 --- /dev/null +++ b/modules/lsp.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: + +{ + home-manager.users.anand = { pkgs, ... }: + + { + home.packages = [ + pkgs.nil + pkgs.tinymist + pkgs.lua-language-server + pkgs.clang-tools + pkgs.jdt-language-server + pkgs.rust-analyzer + pkgs.emmet-ls + pkgs.cmake-language-server + pkgs.phpactor + ]; + }; +} diff --git a/modules/mango.nix b/modules/mango.nix new file mode 100644 index 0000000..5ef2972 --- /dev/null +++ b/modules/mango.nix @@ -0,0 +1,8 @@ +{ mango, ... }: +{ + imports = [ + mango.nixosModules.mango + ]; + + programs.mango.enable = true; +} -- cgit v1.2.3