feat(doom): Enable language modules and disable stylix

This commit expands the Doom Emacs configuration by enabling a
wide array of programming language modules and tools. It also
decouples Emacs from the system's Stylix theming for more granular
control.

*** Modules
- Enabled language support for C/C++, Clojure, Go, Haskell,
  Python, Rust, Web, and Zig.
- Also enabled the ~company~, ~ibuffer~, ~upload~, and
  ~graphviz~ modules.
*** UI
- Switched to relative line numbers.
- Enabled icons for the ~vertico~ completion UI.
*** Nix
- Disabled the ~stylix~ target for Emacs to prevent it from
  overwriting the Doom theme.
- Added ~imagemagick~ as a dependency.
This commit is contained in:
ulic-youthlic 2025-08-29 11:26:18 +08:00
parent d6380773b3
commit 22646df961
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
3 changed files with 19 additions and 16 deletions

View file

@ -24,7 +24,7 @@
telega-prefix-map) telega-prefix-map)
(setq display-line-numbers-type (setq display-line-numbers-type
'visual) 'relative)
(add-hook 'telega-load-hook (add-hook 'telega-load-hook
'telega-notifications-mode) 'telega-notifications-mode)

View file

@ -23,12 +23,12 @@
;;layout ; auie,ctsrnm is the superior home row ;;layout ; auie,ctsrnm is the superior home row
:completion :completion
;;company ; the ultimate code completion backend company ; the ultimate code completion backend
(corfu +orderless) ; complete with cap(f), cape and a flying feather! (corfu +orderless) ; complete with cap(f), cape and a flying feather!
;;helm ; the *other* search engine for love and life ;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine... ;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life ;;ivy ; a search engine for love and life
vertico ; the search engine of the future (vertico +icons) ; the search engine of the future
:ui :ui
;;deft ; notational velocity for Emacs ;;deft ; notational velocity for Emacs
@ -73,7 +73,7 @@
dired ; making dired pretty [functional] dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent electric ; smarter, keyword-based electric-indent
;;eww ; the internet is gross ;;eww ; the internet is gross
;;ibuffer ; interactive buffer management ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree vc ; version-control and Emacs, sitting in a tree
@ -108,7 +108,7 @@
;;terraform ; infrastructure as code ;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux ;;tmux ; an API for interacting with tmux
tree-sitter ; syntax and parsing, sitting in a tree... tree-sitter ; syntax and parsing, sitting in a tree...
;;upload ; map local to remote projects via ssh/ftp upload ; map local to remote projects via ssh/ftp
:os :os
(:if (featurep :system 'macos) macos) ; improve compatibility with macOS (:if (featurep :system 'macos) macos) ; improve compatibility with macOS
@ -117,8 +117,8 @@
:lang :lang
;;agda ; types of types of types of types... ;;agda ; types of types of types of types...
;;beancount ; mind the GAAP ;;beancount ; mind the GAAP
;;(cc +lsp) ; C > C++ == 1 (cc +lsp) ; C > C++ == 1
;;clojure ; java with a lisp clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all ;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs ;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c ;;crystal ; ruby at the speed of c
@ -137,9 +137,9 @@
;;fsharp ; ML stands for Microsoft's Language ;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3 ;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for ;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect (go +lsp) ; the hipster dialect
;;(graphql +lsp) ; Give queries a REST ;;(graphql +lsp) ; Give queries a REST
;;(haskell +lsp) ; a language that's lazier than I am (haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python ;;hy ; readability of scheme w/ speed of python
idris ; a language you can depend on idris ; a language you can depend on
json ; At least it ain't XML json ; At least it ain't XML
@ -159,16 +159,16 @@
org ; organize your plain life in plain text org ; organize your plain life in plain text
;;php ; perl's insecure younger brother ;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more ;;plantuml ; diagrams for confusing people more
;;graphviz ; diagrams for confusing yourself even more graphviz ; diagrams for confusing yourself even more
;;purescript ; javascript, but functional ;;purescript ; javascript, but functional
;;python ; beautiful is better than ugly python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever qt ; the 'cutest' gui framework ever
racket ; a DSL for DSLs racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6 ;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client ;;rest ; Emacs as a REST client
;;rst ; ReST in peace ;;rst ; ReST in peace
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"} ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
;;(rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good ;;scala ; java, but good
(scheme +guile) ; a fully conniving family of lisps (scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor sh ; she sells {ba,z,fi}sh shells on the C xor
@ -176,9 +176,9 @@
;;solidity ; do you need a blockchain? No. ;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables? ;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance. ;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes web ; the tubes
yaml ; JSON, but readable yaml ; JSON, but readable
;;zig ; C, but simpler zig ; C, but simpler
:email :email
;;(mu4e +org +gmail) ;;(mu4e +org +gmail)

View file

@ -14,12 +14,13 @@ in
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
stylix.targets.emacs.enable = false;
services.emacs.enable = true; services.emacs.enable = true;
programs.doom-emacs = { programs.doom-emacs = {
enable = true; enable = true;
emacs = pkgs.emacs-pgtk; emacs = pkgs.emacs-pgtk;
extraPackages = extraPackages =
emacsPackages: with emacsPackages; [ ep: with ep; [
melpaPackages.telega melpaPackages.telega
]; ];
extraBinPackages = with pkgs; [ extraBinPackages = with pkgs; [
@ -28,8 +29,10 @@ in
git git
ripgrep ripgrep
fd fd
imagemagick
]; ];
doomDir = ./config; doomDir = ./config;
provideEmacs = true;
}; };
}; };
} }