nixos-config/modules/applications/emacs/default.nix

88 lines
1.9 KiB
Nix
Raw Normal View History

2021-03-30 15:05:31 +04:00
{ pkgs, config, lib, inputs, ... }:
let
emacs = pkgs.emacsPgtk;
crdt = (pkgs.emacsPackagesNgFor emacs).trivialBuild {
pname = "crdt";
version = "0.0.0";
phases = [ "buildPhase" "installPhase" ];
buildPhase = ''
cp ${inputs.crdt}/*.el .
'';
};
in {
2021-02-09 00:29:43 +04:00
# secrets-envsubst.emacs = {
# owner = "balsoft:users";
# directory = "emacs";
2021-02-09 00:29:43 +04:00
# };
2020-02-17 17:00:59 +04:00
home-manager.users.balsoft = {
programs.emacs = {
enable = true;
2021-03-30 15:05:31 +04:00
package = emacs;
2020-02-17 17:00:59 +04:00
extraPackages = epkgs:
with epkgs; [
use-package
nix-mode
haskell-mode
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
company-ghci
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
2020-07-16 17:46:49 +04:00
undo-tree
2020-09-14 02:36:22 +04:00
rust-mode
2020-10-18 14:28:27 +04:00
edit-indirect
2020-12-25 21:13:04 +04:00
idris-mode
2020-12-04 14:20:51 +04:00
lsp-mode
2021-02-28 20:06:01 +04:00
envrc
2021-03-01 14:04:17 +04:00
lsp-haskell
2021-05-08 02:22:06 +04:00
treemacs
lsp-treemacs
treemacs-projectile
dap-mode
2021-05-18 16:50:49 +04:00
forge
2020-02-17 17:00:59 +04:00
];
};
home.packages = [ pkgs.clang ];
2020-02-17 17:00:59 +04:00
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";
};
};
}