{ pkgs, config, lib, ... }: {
  programs.emacs = {
    enable = true;
    extraPackages = epkgs: [ epkgs.vterm ];
  };
  # Only run emacsclient
  services.emacs.enable = false;

  home = {
    sessionPath = [ "${config.xdg.configHome}/emacs/bin" ];
    sessionVariables = {
      DOOMDIR = "${config.xdg.configHome}/doom";
      DOOMLOCALDIR = "${config.xdg.dataHome}/doom";
      EMACSDIR = "${config.xdg.configHome}/emacs";
      DOOMPROFILELOADFILE = "${config.xdg.configHome}/doom-profiles-load.el";
    };
  };

  xdg.configFile."doom".source = ../../../doom_files;
  xdg.configFile."emacs".source = builtins.fetchGit {
    url = "https://github.com/doomemacs/doomemacs";
    rev = "c8a5e6ec1ca85a35f94d6c820c2fd8888373c2ae";
  };

  home.packages = with pkgs; [
    # doom emacs dependencies
    binutils
    gnutls
    fd
    imagemagick
    zstd
    editorconfig-core-c
  ];
}