From 64ccd037b4676e8845615d720837e5528fd341a3 Mon Sep 17 00:00:00 2001
From: Vedang Manerikar <ved.manerikar@gmail.com>
Date: Wed, 20 Nov 2024 09:03:08 +0530
Subject: [PATCH] Add a note for python configuration

---
 unravel-emacs.org                |  7 ++++++-
 unravel-modules/unravel-langs.el | 11 ++---------
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/unravel-emacs.org b/unravel-emacs.org
index a07e665..dac65cb 100644
--- a/unravel-emacs.org
+++ b/unravel-emacs.org
@@ -4670,7 +4670,12 @@ Prot is the developer of this package.
 
 The built-in Python mode for Emacs goes a long way. We build minimal tooling around this mode, specifically to support ~eglot~ and Python's virtualenv system.
 
-Anytime you create a virtualenv, you should run the following command: =pip3 install ruff python-lsp-server python-lsp-ruff=
+Run the following commands to make sure you have the developer dependencies installed globally:
+
+- =pipx= : Installed by =brew install pipx=
+- =ruff= : An extremely fast Python linter, and code formatter, written in Rust. Installed by  =pipx install ruff=
+  - Ruff is also a langauge server, but it only provides functionality related to formating and linting. As it adds more over time (like go-to definition), I may make it my primary language server
+- =pylsp= : The defacto language server for Python. Install with =pipx install python-lsp-server=
 
 #+begin_src emacs-lisp :tangle "unravel-modules/unravel-langs.el"
   ;;;; Configuration for Python Programming
diff --git a/unravel-modules/unravel-langs.el b/unravel-modules/unravel-langs.el
index e171f8f..341874b 100644
--- a/unravel-modules/unravel-langs.el
+++ b/unravel-modules/unravel-langs.el
@@ -346,23 +346,16 @@ Perform the comparison with `string<'."
 
 (use-package python
   :ensure nil
-  :hook
-  ((python-ts-mode . eglot-ensure)
-   (python-mode . eglot-ensure))
+  :hook ((python-base-mode . eglot-ensure))
   :config
   (setq python-shell-dedicated 'project))
 
 (use-package pyvenv
   :ensure t
+  :after python
   :commands (pyvenv-create pyvenv-workon pyvenv-activate pyvenv-deactivate)
   :config
   (setenv "WORKON_HOME" "~/.cache/venvs/")
   (pyvenv-tracking-mode 1))
 
-(use-package auto-virtualenv
-  :ensure t
-  :config
-  (setq auto-virtualenv-verbose t)
-  (auto-virtualenv-setup))
-
 (provide 'unravel-langs)