blob: 913f8de7ed5f159c730fc4d13c430014d338d231 (
plain) (
tree)
|
|
# Derivation for Emacs pre-configured with packages that I need.
#
# TODO: Fix sly (again)
{ 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";
};
};
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
elixir-mode
erlang
exwm
go-mode
gruber-darker-theme
haskell-mode
ht
hydra
idle-highlight-mode
intero
ivy
ivy-pass
ivy-prescient
jq-mode
kotlin-mode
magit
markdown-mode
markdown-toc
multi-term
multiple-cursors
nginx-mode
nix-mode
paredit
password-store
pg
pkgs.notmuch
prescient
rainbow-delimiters
restclient
rust-mode
s
# sly
smartparens
string-edit
swiper
telephone-line
terraform-mode
toml-mode
use-package
uuidgen
web-mode
websocket
yaml-mode
]) ++
# Custom packaged Emacs packages:
[ xelb exwm ]
)
|