diff --git a/configurations/android/nix-on-droid.nix b/configurations/android/nix-on-droid.nix
index 3f3eceb6..3cc85ab6 100644
--- a/configurations/android/nix-on-droid.nix
+++ b/configurations/android/nix-on-droid.nix
@@ -52,6 +52,7 @@
           user = "nix-on-droid";
 
           ideConfig = {
+            enableGolang = false;
             enableJava = false;
             enableNix = false;
             enablePython = false;
diff --git a/homeManagerModules/neovim/default.nix b/homeManagerModules/neovim/default.nix
index b2c0ef2c..b17ad530 100644
--- a/homeManagerModules/neovim/default.nix
+++ b/homeManagerModules/neovim/default.nix
@@ -25,6 +25,10 @@ in {
         type = types.bool;
         default = true;
       };
+      enableGolang = mkOption {
+        type = types.bool;
+        default = true;
+      };
       enableJava = mkOption {
         type = types.bool;
         default = true;
diff --git a/homeManagerModules/neovim/langs/default.nix b/homeManagerModules/neovim/langs/default.nix
index d9393a87..6482a7c7 100644
--- a/homeManagerModules/neovim/langs/default.nix
+++ b/homeManagerModules/neovim/langs/default.nix
@@ -14,6 +14,7 @@ in {
   imports = [
     ./bash
     ./c-lang
+    ./golang
     ./hyprlang
     ./java
     ./json
diff --git a/homeManagerModules/neovim/langs/golang/default.nix b/homeManagerModules/neovim/langs/golang/default.nix
new file mode 100644
index 00000000..0005ea1c
--- /dev/null
+++ b/homeManagerModules/neovim/langs/golang/default.nix
@@ -0,0 +1,39 @@
+{
+  config,
+  lib,
+  pkgs,
+  ...
+}: let
+  inherit (lib) mkIf;
+
+  cfg = config.programs.neovim;
+in {
+  config = mkIf (cfg.enable && cfg.ideConfig.enableGolang) {
+    programs = {
+      neovim = {
+        extraPackages = with pkgs; [go gopls];
+
+        plugins = [
+          {
+            plugin = pkgs.vimPlugins.clangd_extensions-nvim;
+            type = "lua";
+            config =
+              # lua
+              ''
+                local lsp = require('lspconfig');
+                local default_capabilities = require('cmp_nvim_lsp').default_capabilities();
+
+                lsp.gopls.setup({
+                    cmd = { '${pkgs.gopls}/bin/gopls' },
+                    capabilities = default_capabilities,
+                });
+              '';
+          }
+        ];
+      };
+    };
+  };
+
+  # For accurate stack trace
+  _file = ./default.nix;
+}