about summary refs log tree commit diff
path: root/emacs.nix
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@gmail.com>2018-03-03T23·07+0100
committerVincent Ambo <tazjin@gmail.com>2018-03-03T23·07+0100
commit95eedea9ac2763f43fad0643d3a35a76227aea47 (patch)
treebf9fd0a07cba0e9dd8a2c0de08e4467b5d331103 /emacs.nix
parent9042d0a9870469aee9c75cfbf142e9ef11f39011 (diff)
feat(emacs): Install required emacs packages via Nix
Diffstat (limited to 'emacs.nix')
-rw-r--r--emacs.nix66
1 files changed, 66 insertions, 0 deletions
diff --git a/emacs.nix b/emacs.nix
new file mode 100644
index 0000000000..ec7da68bbb
--- /dev/null
+++ b/emacs.nix
@@ -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
+  ])
+)