dotfiles/home-manager/emacs.nix

80 lines
1.7 KiB
Nix

{ lib, config, options, pkgs, ... }: let
epkgs = pkgs.emacsPackagesFor pkgs.emacsPgtkNativeComp;
engpkgs = pkgs.emacsPackagesNgFor pkgs.emacsPgtkNativeComp;
in {
programs.emacs = {
enable = true;
package = pkgs.emacsPgtkNativeComp;
extraPackages = _:
(with epkgs.melpaPackages; [
all-the-icons
avy
company
counsel
counsel-projectile
diminish
direnv
elixir-mode
evil
evil-leader
# evil-magit
evil-surround
flycheck
flycheck-inline
forge
ggtags
git-gutter-fringe
haskell-mode
htmlize
ivy
ivy-hydra
linum-relative
lsp-haskell
lsp-ivy
lsp-mode
lsp-ui
magit
markdown-mode
nix-buffer
nix-mode
org-bullets
org-ref
pandoc-mode
projectile
reason-mode
request
s
solarized-theme
swiper
terraform-mode
use-package
vue-mode
weechat
which-key
]) ++ (with engpkgs; [
crdt
doom-modeline
evil-goggles
evil-mc
notmuch
org-cliplink
ox-mediawiki
rust-mode
undo-tree
]);
};
fonts.fontconfig.enable = true;
home.packages = [
pkgs.rnix-lsp
(pkgs.runCommand "all-the-icons-fonts" {} ''
mkdir -p $out/share/fonts/truetype
cp ${epkgs.melpaPackages.all-the-icons.src}/fonts/*.ttf $_
'')
];
# todo: precompile?
home.file.".emacs.d/init.el".source = ../emacs/init.el;
home.file.".emacs.d/early-init.el".source = ../emacs/early-init.el;
}