nixos/home/david/modules/programs/doom/default.nix
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

38 lines
649 B
Nix

{
config,
lib,
pkgs,
...
}:
let
cfg = config.david.programs.doom;
in
{
options = {
david.programs.doom = {
enable = lib.mkEnableOption "doom";
};
};
config = lib.mkIf cfg.enable {
stylix.targets.emacs.enable = false;
services.emacs.enable = true;
programs.doom-emacs = {
enable = true;
emacs = pkgs.emacs-pgtk;
extraPackages =
ep: with ep; [
melpaPackages.telega
];
extraBinPackages = with pkgs; [
editor-runtime
git
ripgrep
fd
imagemagick
];
doomDir = ./config;
provideEmacs = true;
};
};
}