nixos/home/david/modules/programs/doom/default.nix

48 lines
873 B
Nix
Raw Normal View History

{
config,
lib,
pkgs,
2025-09-17 00:25:17 +08:00
inputs,
...
2025-07-13 06:04:55 +08:00
}:
let
cfg = config.david.programs.doom;
2025-09-17 00:25:17 +08:00
inherit (inputs) emacs-overlay nixpkgs;
inherit (pkgs) system;
pkgs' = import nixpkgs {
inherit system;
overlays = [ emacs-overlay.overlays.default ];
};
2025-07-13 06:04:55 +08:00
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;
2025-09-17 00:25:17 +08:00
emacs = pkgs'.emacs-igc-pgtk;
2025-07-13 06:04:55 +08:00
extraPackages =
ep: with ep; [
melpaPackages.telega
2025-09-17 00:25:17 +08:00
melpaPackages.nixos-options
];
extraBinPackages = with pkgs; [
editor-runtime
git
ripgrep
fd
imagemagick
];
doomDir = ./config;
provideEmacs = true;
};
};
}