feat(emacs): Install required emacs packages via Nix

This commit is contained in:
Vincent Ambo 2018-03-04 00:07:38 +01:00
parent 9042d0a987
commit 95eedea9ac
2 changed files with 69 additions and 2 deletions

View file

@ -3,6 +3,7 @@
{ config, lib, pkgs, ... }:
let wallpapers = import ./pkgs/wallpapers.nix;
emacs = import ./emacs.nix { inherit pkgs; };
in {
# Configure basic X-server stuff:
services.xserver = {
@ -23,8 +24,8 @@ in {
services.xserver.windowManager.session = lib.singleton {
name = "exwm";
start = ''
${pkgs.emacs}/bin/emacs --daemon -f exwm-enable
emacsclient -c
${emacs}/bin/emacs --daemon -f exwm-enable
${emacs}/bin/emacsclient -c
'';
};

66
emacs.nix Normal file
View file

@ -0,0 +1,66 @@
# Derivation for Emacs configured with the packages that I need:
{ pkgs ? import <nixpkgs> {} }:
let emacsWithPackages = with pkgs; (emacsPackagesNgGen emacs).emacsWithPackages;
# Custom code for packages missing from the current Nix packages.
in emacsWithPackages(epkgs:
# Actual ELPA packages (the enlightened!)
(with epkgs.elpaPackages; [
ace-window
adjust-parens
avy
company
exwm
pinentry
rainbow-mode
undo-tree
which-key
]) ++
# Stable packages:
(with epkgs.melpaStablePackages; [
browse-kill-ring
cargo
dash
dash-functional
dockerfile-mode
erlang
flycheck
go-mode
gruber-darker-theme
haskell-mode
helm
ht
idle-highlight-mode
magit
markdown-mode-plus
multi-term
multiple-cursors
nix-mode
paredit
password-store
racer
rainbow-delimiters
rust-mode
s
sly
sly-company
smart-mode-line
string-edit
terraform-mode
yaml-mode
]) ++
# Bleeding-edge packages:
(with epkgs.melpaPackages; [
helm-pass
pg
racket-mode
restclient
sly-quicklisp
uuidgen
])
)