diff --git a/home-manager/common/software/cli/doom-emacs.d/config.el b/home-manager/common/software/cli/doom-emacs.d/config.el index 57cde6e0..f12930ca 100644 --- a/home-manager/common/software/cli/doom-emacs.d/config.el +++ b/home-manager/common/software/cli/doom-emacs.d/config.el @@ -1,3 +1,20 @@ +;; Themes (setq doom-theme 'gruvbox-dark-hard) - (setq doom-themes-treemacs-theme "doom-colors") + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; LSP Modules +;; Python +(use-package lsp-python-ms + :ensure t + :hook (python-mode . (lambda () + (require 'lsp-python-ms) + (lsp))) + :init + (setq lsp-python-ms-executable (executable-find "python-language-server"))) + + ;; Bash + (use-package lsp-mode + :commands lsp + :hook + (sh-mode . lsp)) diff --git a/home-manager/common/software/cli/doom-emacs.d/init.el b/home-manager/common/software/cli/doom-emacs.d/init.el index 9c2da11f..c3fde8a8 100644 --- a/home-manager/common/software/cli/doom-emacs.d/init.el +++ b/home-manager/common/software/cli/doom-emacs.d/init.el @@ -21,40 +21,43 @@ :completion company ; the ultimate code completion backend - ;;helm ; the *other* search engine for love and life - ;;ido ; the other *other* search engine... ivy ; a search engine for love and life vertico ; the search engine of the future + ;;ido ; the other *other* search engine... + ;;helm ; the *other* search engine for love and life + :ui - ;;deft ; notational velocity for Emacs doom ; what makes DOOM look the way it does doom-dashboard ; a nifty splash screen for Emacs ;;doom-quit ; DOOM quit-message prompts when you quit Emacs (emoji +unicode) ; 🙂 hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW - ;;hydra indent-guides ; highlighted indent columns ligatures ; ligatures and symbols to make your code pretty again minimap ; show a map of the code on the side modeline ; snazzy, Atom-inspired modeline, plus API nav-flash ; blink cursor line after big motions - ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup +defaults) ; tame sudden yet inevitable temporary windows tabs ; a tab bar for Emacs treemacs ; a project drawer, like neotree but cooler - ;;unicode ; extended unicode support for various languages vc-gutter ; vcs diff in the fringe vi-tilde-fringe ; fringe tildes to mark beyond EOB window-select ; visually switch windows workspaces ; tab emulation, persistence & separate workspaces zen ; distraction-free coding or writing + ;;unicode ; extended unicode support for various languages + ;;hydra + ;;neotree ; a project drawer, like NERDTree for vim + ;;deft ; notational velocity for Emacs :editor (evil +everywhere); come to the dark side, we have cookies file-templates ; auto-snippets for empty files fold ; (nigh) universal code folding + snippets ; my elves. They type so I don't have to + ;;(format +onsave) ; automated prettiness ;;god ; run Emacs commands without modifier keys ;;lispy ; vim for lisp, for people who don't like vim @@ -62,7 +65,6 @@ ;;objed ; text object editing for the innocent ;;parinfer ; turn lisp into python, sort of ;;rotate-text ; cycle region at point between text candidates - snippets ; my elves. They type so I don't have to ;;word-wrap ; soft wrapping with language-aware indent :emacs @@ -73,10 +75,10 @@ vc ; version-control and Emacs, sitting in a tree :term + vterm ; the best terminal emulation in Emacs ;;eshell ; the elisp shell that works everywhere ;;shell ; simple shell REPL for Emacs ;;term ; basic terminal emulator for Emacs - vterm ; the best terminal emulation in Emacs :checkers syntax ; tasing you for every semicolon you forget @@ -84,6 +86,10 @@ ;;grammar ; tasing grammar mistake every you make :tools + (eval +overlay) ; run code, run (also, repls) + lookup ; navigate your code and its documentation + lsp ; M-x vscode + magit ; a git porcelain for Emacs ;;ansible ;;biblio ; Writes a PhD for you (citation needed) ;;debugger ; FIXME stepping through code, to help you add bugs @@ -91,11 +97,7 @@ ;;docker ;;editorconfig ; let someone else argue about tabs vs spaces ;;ein ; tame Jupyter notebooks with emacs - (eval +overlay) ; run code, run (also, repls) ;;gist ; interacting with github gists - lookup ; navigate your code and its documentation - lsp ; M-x vscode - magit ; a git porcelain for Emacs ;;make ; run make tasks from Emacs ;;pass ; password manager for nerds ;;pdf ; pdf enhancements @@ -107,10 +109,21 @@ ;;upload ; map local to remote projects via ssh/ftp :os - (:if IS-MAC macos) ; improve compatibility with macOS tty ; improve the terminal Emacs experience :lang + emacs-lisp ; drown in parentheses + json ; At least it ain't XML + markdown ; writing docs for people to ignore + javascript ; all(hope(abandon(ye(who(enter(here)))))) + nix ; I hereby declare "nix geht mehr!" + org ; organize your plain life in plain text + python +lsp ; beautiful is better than ugly + rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap() + sh +lsp ; she sells {ba,z,fi}sh shells on the C xor + web ; the tubes + yaml ; JSON, but readable + ;;agda ; types of types of types of types... ;;beancount ; mind the GAAP ;;cc ; C > C++ == 1 @@ -124,7 +137,6 @@ ;;dhall ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? - emacs-lisp ; drown in parentheses ;;erlang ; an elegant language for a more civilized age ;;ess ; emacs speaks statistics ;;factor @@ -137,40 +149,30 @@ ;;(haskell +lsp) ; a language that's lazier than I am ;;hy ; readability of scheme w/ speed of python ;;idris ; a language you can depend on - json ; At least it ain't XML ;;(java +meghanada) ; the poster child for carpal tunnel syndrome - javascript ; all(hope(abandon(ye(who(enter(here)))))) ;;julia ; a better, faster MATLAB ;;kotlin ; a better, slicker Java(Script) ;;latex ; writing papers in Emacs has never been so fun ;;lean ; for folks with too much to prove ;;ledger ; be audit you can be ;;lua ; one-based indices? one-based indices - markdown ; writing docs for people to ignore ;;nim ; python + lisp at the speed of c - nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - org ; organize your plain life in plain text ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more ;;purescript ; javascript, but functional - python +lsp ; beautiful is better than ugly ;;qt ; the 'cutest' gui framework ever ;;racket ; a DSL for DSLs ;;raku ; the artist formerly known as perl6 ;;rest ; Emacs as a REST client ;;rst ; ReST in peace ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} - rust +lsp ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps - sh +lsp ; she sells {ba,z,fi}sh shells on the C xor ;;sml ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. - web ; the tubes - yaml ; JSON, but readable ;;zig ; C, but simpler :email diff --git a/home-manager/common/software/cli/doom-emacs.d/packages.el b/home-manager/common/software/cli/doom-emacs.d/packages.el index e72bfb46..e3811799 100644 --- a/home-manager/common/software/cli/doom-emacs.d/packages.el +++ b/home-manager/common/software/cli/doom-emacs.d/packages.el @@ -1,7 +1,2 @@ ;; Themes -(package! gruvbox-theme) - -;; Language servers for LSP -(package! lsp-python-ms) ;; Python -(package! bash-language-server) ;; Bash -;; (package! rls) ;; Rust \ No newline at end of file +(package! gruvbox-theme) \ No newline at end of file