chore(emacs): Move Nix derivation for building Emacs over from infra
This commit is contained in:
parent
b4f835e21c
commit
863f5b146d
1 changed files with 0 additions and 0 deletions
138
tools/emacs/default.nix
Normal file
138
tools/emacs/default.nix
Normal file
|
@ -0,0 +1,138 @@
|
|||
# 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";
|
||||
};
|
||||
};
|
||||
|
||||
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
|
||||
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
|
||||
elm-mode
|
||||
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
|
||||
meghanada
|
||||
multi-term
|
||||
multiple-cursors
|
||||
nginx-mode
|
||||
nix-mode
|
||||
omnisharp
|
||||
paredit
|
||||
password-store
|
||||
pg
|
||||
pkgs.notmuch
|
||||
prescient
|
||||
rainbow-delimiters
|
||||
restclient
|
||||
rust-mode
|
||||
s
|
||||
slyFixed
|
||||
smartparens
|
||||
string-edit
|
||||
swiper
|
||||
telephone-line
|
||||
terraform-mode
|
||||
toml-mode
|
||||
use-package
|
||||
uuidgen
|
||||
web-mode
|
||||
websocket
|
||||
yaml-mode
|
||||
]) ++
|
||||
|
||||
# Custom packaged Emacs packages:
|
||||
[ xelb exwm ]
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue