diff options
Diffstat (limited to 'user/settings/emacs.nix')
-rw-r--r-- | user/settings/emacs.nix | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/user/settings/emacs.nix b/user/settings/emacs.nix index 8ce0c7d6..27327af7 100644 --- a/user/settings/emacs.nix +++ b/user/settings/emacs.nix @@ -8,11 +8,6 @@ let nativeCompileDirectory = "${config.xdg.cacheHome}/emacs/native-compile/"; - darwinPath = pkgs.runCommandLocal "path_helper " { } '' - eval $(/usr/libexec/path_helper) - echo -n $PATH > $out - ''; - editorScript = pkgs.writeScriptBin "edit" '' #!${pkgs.runtimeShell} if [ -z "$1" ]; then @@ -31,9 +26,14 @@ in "*.el diff=elisp" ]; programs.git.extraConfig."diff.elisp" = { - xfuncname = "^\\((((def\\S+)|use-package)\\s+\\S+)"; + xfuncname = "^(((;;;+ )|\\(|([ \t]+\\(((cl-|el-patch-)?def(un|var|macro|method|custom)|gb/))).*)$"; }; + services.emacs = lib.mkIf stdenv.isLinux { + enable = true; + package = config.programs.emacs.finalPackage; + client.enable = true; + }; programs.emacs = { enable = true; package = lib.mkDefault (pkgs.emacs29.override { withGTK3 = true; }); @@ -65,6 +65,7 @@ in cdg = "cd (project-root)"; }; }; + extraPackages = epkgs: (with epkgs; [ ace-link @@ -83,7 +84,6 @@ in crux dired-git-info docker-compose-mode - dockerfile-mode dtrt-indent envrc editorconfig @@ -101,6 +101,7 @@ in evil-commentary evil-embrace evil-exchange + evil-lion evil-matchit evil-mu4e evil-numbers @@ -120,22 +121,21 @@ in git-gutter-fringe git-modes git-timemachine + gl-conf-mode # gitolite goto-chg helpful - ibuffer-project jinx just-mode justl - json-mode kind-icon lua-mode - lispy + lsp-mode lispyville magit - magit-filenotify markdown-mode marginalia nerd-icons + nix-ts-mode orderless doom-modeline php-mode @@ -149,17 +149,31 @@ in tempel tempel-collection eglot-tempel - toml-mode treesit-grammars.with-all-grammars + treesit-auto vc-msg vertico vertico-prescient wgrep-ag ws-butler which-key - yaml-mode + yasnippet + yasnippet-capf ]); + overrides = self: super: { + apheleia = self.melpaPackages.apheleia.overrideAttrs + (old: { + patchPhase = '' + substituteInPlace apheleia-formatters.el \ + --replace-fail '"prettier"' '"prettierd"' + ''; + }); + lsp-mode = self.melpaPackages.lsp-mode.overrideAttrs { + LSP_USE_PLISTS = "true"; # sync with below + }; + }; extraConfig = '' + (setenv "LSP_USE_PLISTS" "true") ; sync with above (with-eval-after-load 'editorconfig (setq editorconfig-exec-path "${pkgs.editorconfig-core-c}/bin/editorconfig")) (when (featurep 'native-compile) @@ -170,11 +184,11 @@ in (setq insert-directory-program "${pkgs.coreutils-prefixed}/bin/gls")) (with-eval-after-load 'dired (setq dired-use-ls-dired t)) - (setq exec-path (parse-colon-path (setenv "PATH" "${pkgs.lib.readFile darwinPath}"))) ''; }; home.packages = with pkgs; [ editorScript + enchant ]; xdg.configFile."raycast/scripts/Emacs" = { executable = true; |