about summary refs log tree commit diff
path: root/emacs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'emacs.nix')
-rw-r--r--emacs.nix18
1 files changed, 15 insertions, 3 deletions
diff --git a/emacs.nix b/emacs.nix
index e5780812df2a..8700ac645424 100644
--- a/emacs.nix
+++ b/emacs.nix
@@ -1,5 +1,4 @@
 # Derivation for Emacs configured with the packages that I need:
-
 { pkgs }:
 
 let emacsWithPackages = with pkgs; (emacsPackagesNgGen emacs).emacsWithPackages;
@@ -58,6 +57,20 @@ nix-mode = with pkgs; emacsPackagesNg.melpaBuild {
   '';
 };
 
+# The default Rust language server mode is not really usable, install
+# `eglot` instead and hope for the best.
+eglot = with pkgs; emacsPackagesNg.melpaBuild rec {
+  pname = "eglot";
+  version = "0.8";
+
+  src = fetchFromGitHub {
+    owner  = "joaotavora";
+    repo   = "eglot";
+    rev    = version;
+    sha256 = "1avsry84sp3s2vr2iz9dphm579xgw8pqlwffl75gn5akykgazwdx";
+  };
+};
+
 in emacsWithPackages(epkgs:
   # Pinned packages (from unstable):
   (with pkgs; with lib; attrValues pinnedEmacs) ++
@@ -91,7 +104,6 @@ in emacsWithPackages(epkgs:
     haskell-mode
     ht
     idle-highlight-mode
-    intero
     kotlin-mode
     magit
     multi-term
@@ -116,5 +128,5 @@ in emacsWithPackages(epkgs:
   ]) ++
 
   # Custom packaged Emacs packages:
-  [ sly sly-company nix-mode pkgs.notmuch ]
+  [ sly sly-company nix-mode eglot pkgs.notmuch ]
 )