nixos/home/david/modules/programs/doom/config/config.el
ulic-youthlic 22646df961
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.
2025-08-29 11:26:18 +08:00

43 lines
1.2 KiB
EmacsLisp

;;; config.el -*- lexical-binding: t; -*-
;;; Fix non-POSIX SHELL
(setq shell-file-name
(executable-find "bash"))
(let ((fish-exe (executable-find "fish")))
(setq-default vterm-shell
fish-exe)
(setq-default explicit-shell-file-name
fish-exe))
(setq doom-font (font-spec
:family "Maple Mono NF CN"
:size 20))
(setq doom-theme 'doom-gruvbox)
;;; Fix failure to loacate 'Symbols Nerd Font Mono' font
(setq nerd-icons-font-family "Maple Mono NF CN")
(setq telega-emoji-use-images
nil)
(map! :map global-map
"C-c t"
telega-prefix-map)
(setq display-line-numbers-type
'relative)
(add-hook 'telega-load-hook
'telega-notifications-mode)
(defvar my/emacs-deps-exec-path (seq-filter
(lambda (p)
(string-match-p
"/nix/store/.*-emacs-packages-deps/bin"
p))
exec-path))
(advice-add #'envrc--update
:after #'(lambda ()
(setq exec-path
(append exec-path
my/emacs-deps-exec-path))))