diff --git a/flake.lock b/flake.lock index 2e1321c..4540133 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1726390749, - "narHash": "sha256-aZf0/NpKwrO1J3HHMYL7UEcXyrO/mTdVNGpBCxMTyHM=", + "lastModified": 1726477211, + "narHash": "sha256-42boTsTLIUxalTeJSRWiTRCs30wfXu8KTDLbZc32BBk=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "2b8a4aeadf19c702355559b02a1593c9d09b1546", + "rev": "f4acc62c00a67e5b71ce11e0ee2c3e1b3928c681", "type": "github" }, "original": { @@ -39,11 +39,11 @@ "extra-package-haskell-ts-mode": { "flake": false, "locked": { - "lastModified": 1726283223, - "narHash": "sha256-VaLpvnLFokidx+YsD7eZACccO0V+VdnleZ+no1Yz6CM=", + "lastModified": 1726487881, + "narHash": "sha256-45Ah8ekUp1YGkM/i5si4K+E3/ccLWsx3/pTUieRIoZI=", "ref": "refs/heads/main", - "rev": "804d0fc090b48c85b449b21e52df7401e2679064", - "revCount": 75, + "rev": "a2b07815bca130713186ca4fce49c92c06905c8e", + "revCount": 84, "type": "git", "url": "https://codeberg.org/pranshu/haskell-ts-mode.git" }, @@ -55,11 +55,11 @@ "extra-package-indent-bars": { "flake": false, "locked": { - "lastModified": 1726320542, - "narHash": "sha256-rTS6Mx/nzTSYqcrO2nsal4Tv5zzbTecR06BS7WYL7yY=", + "lastModified": 1726438391, + "narHash": "sha256-qWRkJUofGZdekJEbNNiIT+KGy5BovY0AA6Btm4Cp/pY=", "owner": "jdtsmith", "repo": "indent-bars", - "rev": "f926ed81aefb48624ed49f1bebd1e01507bba93c", + "rev": "4a2e8e179285befaaf80ebae8d3f8016360967dc", "type": "github" }, "original": { @@ -84,6 +84,22 @@ "type": "github" } }, + "extra-package-typst-ts-mode": { + "flake": false, + "locked": { + "lastModified": 1725890782, + "narHash": "sha256-8fkyK9KxE90oej2WxxKavFIHwPiL/VyPQ/WZx9B/Hr8=", + "ref": "refs/heads/main", + "rev": "30f54090584a77057463d4bd7972e4cc3cbba4e7", + "revCount": 211, + "type": "git", + "url": "https://codeberg.org/meow_king/typst-ts-mode.git" + }, + "original": { + "type": "git", + "url": "https://codeberg.org/meow_king/typst-ts-mode.git" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -161,11 +177,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726062873, - "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", + "lastModified": 1726243404, + "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", + "rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059", "type": "github" }, "original": { @@ -226,6 +242,7 @@ "extra-package-haskell-ts-mode": "extra-package-haskell-ts-mode", "extra-package-indent-bars": "extra-package-indent-bars", "extra-package-notmuch-notify": "extra-package-notmuch-notify", + "extra-package-typst-ts-mode": "extra-package-typst-ts-mode", "flake-parts": "flake-parts", "hercules-ci-effects": "hercules-ci-effects", "nixpkgs": [ diff --git a/flake.nix b/flake.nix index f48cc79..e7136c0 100644 --- a/flake.nix +++ b/flake.nix @@ -22,6 +22,10 @@ url = "git+https://codeberg.org/pranshu/haskell-ts-mode.git"; flake = false; }; + extra-package-typst-ts-mode = { + url = "git+https://codeberg.org/meow_king/typst-ts-mode.git"; + flake = false; + }; }; outputs = inputs @ {flake-parts, ...}: diff --git a/init.el b/init.el index 255151a..d8bd5ed 100644 --- a/init.el +++ b/init.el @@ -31,6 +31,13 @@ (eglot-connect-timeout nil) ; never timeout ) +(use-package consult-eglot + :after (consult eglot embark) + :config + (require 'consult-eglot-embark) + (consult-eglot-embark-mode) + ) + (use-package emacs :bind (("" . scroll-down-line) ("" . scroll-up-line) @@ -420,10 +427,11 @@ (use-package magit-delta :hook (magit-mode . magit-delta-mode)) -(use-package magit-todos - :after magit - :custom (magit-todos-keyword-suffix "\\(?:([^)]+)\\)?:?") - :config (magit-todos-mode 1)) +;; FIXME +;; (use-package magit-todos +;; :after magit +;; :custom (magit-todos-keyword-suffix "\\(?:([^)]+)\\)?:?") +;; :config (magit-todos-mode 1)) (use-package difftastic :demand t @@ -453,10 +461,6 @@ (require 'eglot) (add-to-list 'eglot-server-programs '(nix-ts-mode . ("nixd"))) - ;; FIXME `nixd' completion not working, will give it a second try in the future - ;; '(nix-ts-mode . ("nixd" :initializationOptions (:eval (:depth 10 :workers 4) - ;; :formatting (:command "alejandra") - ;; :options (:enable t :target (:installable "" :args ["--epxr" "(import \"${(builtins.getFlake \"n\")}/nixos\" {}).options" "--json"])))))) (eglot-ensure))) (nix-ts-mode . electric-pair-mode) (nix-ts-mode . (lambda () (setq indent-bars-spacing-override 2) (indent-bars-mode))) @@ -481,10 +485,14 @@ (eglot-ensure)))) :mode "\\.ts\\'") -(use-package haskell-mode - :hook ((haskell-mode . eglot-ensure)) +(use-package haskell-ts-mode + :hook ((haskell--ts-mode . eglot-ensure) :mode "\\.hs\\'") +(use-package typst-ts-mode + :hook ((typst--ts-mode . eglot-ensure) + :mode "\\.typ\\'") + (use-package purescript-mode :custom ((project-vc-extra-root-markers '("spago.dhall"))) :hook ((purescript-mode . eglot-ensure) diff --git a/packages/packages.nix b/packages/packages.nix index 99105b9..a31c59d 100644 --- a/packages/packages.nix +++ b/packages/packages.nix @@ -78,6 +78,7 @@ pkgs: epkgs: let nix-mode nix-ts-mode agenix + zig-mode unisonlang-mode purescript-mode dhall-mode