tvl-depot/emacs.nix

139 lines
2.6 KiB
Nix
Raw Normal View History

# Derivation for Emacs pre-configured with packages that I need.
#
# TODO: Fix sly (again)
2018-08-10 22:16:34 +02:00
{ pkgs }:
with pkgs; with emacsPackagesNg;
let emacsWithPackages = (emacsPackagesNgGen emacs).emacsWithPackages;
# As the EXWM-README points out, XELB should be built from source if
# EXWM is.
xelb = melpaBuild {
pname = "xelb";
ename = "xelb";
version = "0.15";
recipe = builtins.toFile "recipe" ''
(xelb :fetcher github
:repo "ch11ng/xelb")
'';
packageRequires = [ cl-generic emacs ];
src = fetchFromGitHub {
owner = "ch11ng";
repo = "xelb";
rev = "b8f168b401977098fe2b30f4ca32629c0ab6eb83";
sha256 = "1ack1h68x8ia0ji6wbhmayrakq35p5sgrrl6qvha3ns3pswc0pl9";
};
};
# EXWM pinned to a newer version than what is released due to a
# potential fix for ch11ng/exwm#425.
exwm = melpaBuild {
pname = "exwm";
ename = "exwm";
version = "0.19";
recipe = builtins.toFile "recipe" ''
(exwm :fetcher github
:repo "ch11ng/exwm")
'';
packageRequires = [ xelb ];
src = fetchFromGitHub {
owner = "ch11ng";
repo = "exwm";
rev = "472f7cb82b67b98843f10c12e6bda9b8ae7262bc";
sha256 = "19gflsrb19aijf2xcw7j2m658qad21nbwziw38s1h2jw66vhk8dj";
};
};
2018-12-09 13:26:30 +01:00
slyFixed = sly.overrideAttrs(_: {
recipe = builtins.toFile "recipe" ''
(sly :repo "joaotavora/sly"
:fetcher github
:files ("*.el"
("lib" "lib/*")
("contrib" "contrib/*")
"doc/*.texi"
"doc/*.info"
"doc/dir"))
'';
});
in emacsWithPackages(epkgs:
# Actual ELPA packages (the enlightened!)
(with epkgs.elpaPackages; [
ace-window
adjust-parens
avy
company
pinentry
rainbow-mode
undo-tree
which-key
]) ++
# MELPA packages:
(with epkgs.melpaPackages; [
browse-kill-ring
cargo
counsel
counsel-notmuch
dash
dash-functional
dockerfile-mode
edit-server
eglot
2018-07-14 16:18:21 +02:00
elixir-mode
erlang
exwm
go-mode
gruber-darker-theme
haskell-mode
ht
2018-06-19 15:21:34 +02:00
hydra
idle-highlight-mode
intero
ivy
ivy-pass
ivy-prescient
2018-06-08 00:13:27 +02:00
jq-mode
kotlin-mode
magit
markdown-mode
markdown-toc
2018-10-14 16:20:28 +02:00
meghanada
multi-term
multiple-cursors
2018-04-23 15:33:05 +02:00
nginx-mode
nix-mode
omnisharp
paredit
password-store
pg
pkgs.notmuch
prescient
rainbow-delimiters
restclient
rust-mode
s
2018-12-09 13:26:30 +01:00
slyFixed
smartparens
string-edit
swiper
telephone-line
terraform-mode
2018-03-17 21:47:27 +01:00
toml-mode
2018-06-22 10:32:01 +02:00
use-package
uuidgen
web-mode
websocket
yaml-mode
]) ++
# Custom packaged Emacs packages:
[ xelb exwm ]
)