boxen/home/bits/emacs.nix

57 lines
1.3 KiB
Nix
Raw Normal View History

{ config, pkgs, lib, ... }:
{
programs.emacs = {
enable = true;
package = pkgs.emacsGcc;
};
home.packages = with pkgs;
let py = python38Packages;
in [
editorconfig-core-c
black
mypy
haskell-language-server
rust-analyzer
py.python-language-server
py.pyls-isort
py.pyls-black
py.pyls-mypy
(pkgs.makeDesktopItem {
name = "org-protocol";
desktopName = "Emacs org-protocol handler";
exec = "emacsclient %u";
terminal = "false";
categories = "System;";
mimeType = "x-scheme-handler/org-protocol;";
})
];
home.file = {
".doom.d" = {
source = ../dotfiles/doom;
recursive = true;
};
".doom.d/snippets".source = ../dotfiles/emacs/snippets;
};
2020-11-17 17:24:51 +00:00
programs.firefox.profiles.default.settings = {
"network.protocol-handler.expose.org-protocol" = false;
2020-11-17 17:24:51 +00:00
};
programs.zsh.shellAliases = {
2021-06-24 19:24:29 +00:00
e = "emacsclient -t"; # Terminal
ew = "emacsclient -c"; # New window (and wait)
en = "emacsclient -nc"; # New window (and return immediately)
calc = "emacs -f full-calc -nw -q"; # Quick fullscreen calculator
2021-06-24 19:24:29 +00:00
doom = "~/.emacs.d/bin/doom";
};
services.gpg-agent.extraConfig = ''
2020-11-21 15:51:37 +00:00
allow-emacs-pinentry
'';
}