diff --git a/home/dot_config/exact_nvim/exact_lua/exact_plugins/conform.lua b/home/dot_config/exact_nvim/exact_lua/exact_plugins/conform.lua
new file mode 100644
index 0000000..38d7e78
--- /dev/null
+++ b/home/dot_config/exact_nvim/exact_lua/exact_plugins/conform.lua
@@ -0,0 +1,12 @@
+return {
+  {
+    'stevearc/conform.nvim',
+    optional = true,
+    opts = {
+      formatters_by_ft = {
+        ruby = { vim.g.lazyvim_ruby_formatter },
+        eruby = { 'prettier' },
+      },
+    },
+  },
+}
diff --git a/home/dot_config/exact_nvim/exact_lua/exact_plugins/lsp.lua b/home/dot_config/exact_nvim/exact_lua/exact_plugins/lsp.lua
index 135f0ec..1782b65 100644
--- a/home/dot_config/exact_nvim/exact_lua/exact_plugins/lsp.lua
+++ b/home/dot_config/exact_nvim/exact_lua/exact_plugins/lsp.lua
@@ -33,6 +33,39 @@ return {
         ruby_lsp = {
           mason = false,
           cmd = { vim.fn.expand('~/.asdf/shims/ruby-lsp') },
+          cmd_env = {
+            BUNDLE_GEMFILE = vim.fn.expand('~/.ruby-lsp/Gemfile'),
+          },
+          init_options = {
+            enabledFeatures = {
+              'codeActions',
+              'codeLens',
+              'completion',
+              'definition',
+              'diagnostics',
+              'documentHighlights',
+              'documentLink',
+              'documentSymbols',
+              'foldingRanges',
+              'formatting',
+              'hover',
+              'selectionRanges',
+              'semanticHighlighting',
+              'signatureHelp',
+              'typeHierarchy',
+              'workspaceSymbol',
+            },
+            experimentalFeaturesEnabled = false,
+            formatter = 'auto',
+            indexing = {
+              excludedPatterns = {
+                '**/test/**/*',
+                '**/spec/**/*',
+                '**/db/**/*',
+                '**/vendor/**/*',
+              },
+            },
+          },
         },
         eslint = {
           root_dir = get_root_dir,
diff --git a/home/exact_dot_ruby-lsp/Gemfile b/home/exact_dot_ruby-lsp/Gemfile
new file mode 100644
index 0000000..271f14f
--- /dev/null
+++ b/home/exact_dot_ruby-lsp/Gemfile
@@ -0,0 +1,15 @@
+# frozen_string_literal: true
+
+source 'https://rubygems.org'
+
+ruby file: '.tool-versions'
+
+gem 'rubocop'
+gem 'rubocop-packaging'
+gem 'rubocop-performance'
+gem 'rubocop-rails'
+gem 'rubocop-rspec'
+gem 'rubocop-shopify'
+gem 'rubocop-thread_safety'
+gem 'ruby-lsp'
+gem 'test-prof'
diff --git a/home/exact_dot_ruby-lsp/dot_tool-versions b/home/exact_dot_ruby-lsp/dot_tool-versions
new file mode 100644
index 0000000..c1c77c3
--- /dev/null
+++ b/home/exact_dot_ruby-lsp/dot_tool-versions
@@ -0,0 +1 @@
+ruby 3.2.3