nixos-config/modules/applications/emacs/default.nix
2020-12-04 13:20:51 +03:00

83 lines
1.9 KiB
Nix

{ pkgs, config, lib, ... }: {
home-manager.users.balsoft = {
programs.emacs = {
enable = true;
package = pkgs.emacs;
extraPackages = epkgs:
with epkgs; [
use-package
nix-mode
haskell-mode
wakib-keys
exec-path-from-shell
counsel
projectile
which-key
markdown-mode
frames-only-mode
company
rainbow-delimiters
diff-hl
mode-line-bell
hasklig-mode
flycheck
flycheck-pkg-config
auto-indent-mode
clipmon
org-gcal
company-ghci
xresources-theme
company-tabnine
expand-region
ivy
smex
quickrun
counsel-tramp
ix
magit
xah-fly-keys
arduino-mode
elixir-mode
company-box
ws-butler
yaml-mode
gitlab-ci-mode
gitlab-ci-mode-flycheck
gitlab
undo-tree
rust-mode
go-mode
edit-indirect
lsp-mode
];
};
home.packages = [
(pkgs.makeDesktopItem {
terminal = "false";
type = "Application";
name = "emacsclient";
genericName = "Text editor";
desktopName = "Emacs client";
mimeType = "text/plain";
exec = "emacsclient -s /tmp/emacs1000/server -c %F";
categories = "Development;TextEditor;Utility;";
icon = "emacs";
})
pkgs.clang
];
services.emacs.enable = true;
systemd.user.services.emacs.Service.Environment =
"PATH=/run/current-system/sw/bin:/etc/profiles/per-user/balsoft/bin";
home.file.".emacs.d/init.el".source = ./init.el;
home.activation.emacs = {
before = [ ];
after = [ ];
data = "$DRY_RUN_CMD mkdir -p ~/.emacs.d/autosave";
};
};
}