tvl-depot/users/sterni/emacs/default.nix
sterni 58b9a53d5c feat(users/sterni): add emacs configuration
Change-Id: Icbdb52ba5ea51e8594eb46c5f0740e4f7c353be4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3381
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-08-24 12:13:06 +00:00

40 lines
1 KiB
Nix

{ depot, pkgs, ... }:
let
inherit (pkgs.emacsGcc.pkgs) withPackages;
emacs = withPackages (epkgs: [
# basic setup
epkgs.elpaPackages.undo-tree
epkgs.melpaPackages.evil
epkgs.melpaPackages.evil-collection
epkgs.melpaPackages.use-package
# languages
epkgs.elpaPackages.ada-mode
epkgs.melpaPackages.adoc-mode
epkgs.melpaPackages.dockerfile-mode
epkgs.melpaPackages.haskell-mode
epkgs.melpaPackages.markdown-mode
epkgs.melpaPackages.nix-mode
epkgs.melpaPackages.sly
epkgs.melpaPackages.yaml-mode
epkgs.urweb-mode
# misc
epkgs.melpaPackages.hl-todo
epkgs.elpaPackages.rainbow-mode
epkgs.melpaPackages.rainbow-delimiters
# beyond text editing
epkgs.melpaPackages.elfeed
epkgs.melpaPackages.magit
epkgs.tvlPackages.tvl
]);
in
# sadly we can't give an init-file via the command line
pkgs.writeShellScriptBin "emacs" ''
exec ${emacs}/bin/emacs \
--no-init-file \
--directory ${./.} \
--eval "(require 'init)" \
"$@"
''