about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2024-02-21 13:42:18 +0300
committerAzat Bahawi <azat@bahawi.net>2024-02-21 13:42:18 +0300
commitc5c58f9294dfcae7b04ec9edfbef316481c756c6 (patch)
treea283889382344cb9b042de7d0aa094a9e238b91b
parent2024-02-20 (diff)
2024-02-21
-rw-r--r--modules/common/common/nix.nix4
-rw-r--r--modules/common/emacs/default.nix1
-rw-r--r--modules/common/emacs/doom/config.el15
-rw-r--r--modules/common/emacs/doom/packages.el2
4 files changed, 22 insertions, 0 deletions
diff --git a/modules/common/common/nix.nix b/modules/common/common/nix.nix
index 4f13a13..78672a0 100644
--- a/modules/common/common/nix.nix
+++ b/modules/common/common/nix.nix
@@ -61,14 +61,18 @@ with lib; {
         "https://cache.iog.io"
         "https://cachix.cachix.org"
         "https://nix-community.cachix.org"
+        "https://organist.cachix.org"
         "https://pre-commit-hooks.cachix.org"
+        "https://tweag-nickel.cachix.org"
       ];
       trusted-public-keys = [
         "azahi.cachix.org-1:2bayb+iWYMAVw3ZdEpVg+NPOHCXncw7WMQ0ElX1GO3s="
         "cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM="
         "hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
         "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
+        "organist.cachix.org-1:GB9gOx3rbGl7YEh6DwOscD1+E/Gc5ZCnzqwObNH2Faw="
         "pre-commit-hooks.cachix.org-1:Pkk3Panw5AW24TOv6kz3PvLhlH8puAsJTBbOPmBo7Rc="
+        "tweag-nickel.cachix.org-1:GIthuiK4LRgnW64ALYEoioVUQBWs0jexyoYVeLDBwRA="
       ];
 
       trusted-users = ["root" localUsername];
diff --git a/modules/common/emacs/default.nix b/modules/common/emacs/default.nix
index 439a6bc..4d17e92 100644
--- a/modules/common/emacs/default.nix
+++ b/modules/common/emacs/default.nix
@@ -101,6 +101,7 @@ in {
                     libxml2 # :lang data :editor format
                     markdownlint-cli # :lang markdown
                     nil # :lang (nix +lsp)
+                    nls # :lang (nickel +lsp)
                     nodePackages.bash-language-server # :lang (sh +lsp)
                     nodePackages.eslint # :lang (json +lsp)
                     nodePackages.js-beautify # :lang web
diff --git a/modules/common/emacs/doom/config.el b/modules/common/emacs/doom/config.el
index 70116f8..8fd2afc 100644
--- a/modules/common/emacs/doom/config.el
+++ b/modules/common/emacs/doom/config.el
@@ -122,6 +122,21 @@
 (setq lsp-haskell-formatting-provider "ormolu")
 
 ;;
+;;; Nickel
+;;
+
+(use-package! nickel-mode
+  :config
+  (after! lsp-mode
+    (add-to-list 'lsp-language-id-configuration '(nickel-mode . "nickel")
+      (lsp-register-client (make-lsp-client
+                             :new-connection (lsp-stdio-connection "nls")
+                             :activation-fn (lsp-activate-on "nickel")
+                             :server-id 'nls
+                             :major-modes 'nickel-mode)))
+    (add-hook 'nickel-mode-hook 'lsp-deferred)))
+
+;;
 ;;; YAML
 ;;
 
diff --git a/modules/common/emacs/doom/packages.el b/modules/common/emacs/doom/packages.el
index ba24eb8..cbd90ea 100644
--- a/modules/common/emacs/doom/packages.el
+++ b/modules/common/emacs/doom/packages.el
@@ -11,4 +11,6 @@
 
 (package! hledger-mode)
 
+(package! nickel-mode)
+
 (package! fcitx)

Consider giving Nix/NixOS a try! <3