From 21a709fcebee75f7af9237921ac73221d5fe46cc Mon Sep 17 00:00:00 2001 From: Stefan Ellmauthaler Date: Wed, 6 Oct 2021 20:22:38 +0200 Subject: [PATCH] global emacs default.el set up Signed-off-by: Stefan Ellmauthaler --- programs/emacs/default.el | 63 ++++++++++++++++++++++++++++++++++++-- programs/emacs/default.nix | 20 ++++++++---- 2 files changed, 74 insertions(+), 9 deletions(-) diff --git a/programs/emacs/default.el b/programs/emacs/default.el index 6a36ae9..b2b00c5 100644 --- a/programs/emacs/default.el +++ b/programs/emacs/default.el @@ -21,13 +21,70 @@ (add-hook 'LaTeX-mode-hook '(lambda () (flyspell-mode 1))) ;; ido -(ido-mode 1) -(setq ido-enable-flex-matching t); flexible matching -(define-key (cdr ido-minor-mode-map-entry) [remap write-file] nil) ;do not suggest name when save as +;(ido-mode 1) +;(setq ido-enable-flex-matching t); flexible matching +;(define-key (cdr ido-minor-mode-map-entry) [remap write-file] nil) ;do not suggest name when save as ;; make ido show suggestions one per line and not in one line ;; (make-local-variable 'ido-decorations) ;; (setf (nth 2 ido-decorations) "\n") +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ;;;;;;;;;;;;;;; helm ;;;;;;;;;;;;;;;;;; +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +; helm +(use-package helm + :after (helm-flx helm-descbinds helm-projectile) + :bind-keymap (("C-c h" . helm-command-prefix)) + :bind (("M-x" . helm-M-x) + ("M-y" . helm-show-kill-ring) + ("C-x b" . helm-mini) + ("C-x C-f" . helm-find-files) + ("C-h SPC" . helm-all-mark-rings) + ;; :map helm-command-prefix + ;; ("g" . helm-google-suggest) + :map helm-map + ("" . helm-execute-persistent-action) + ("C-i" . helm-execute-persistent-action) + ("C-z" . helm-select-action) + :map minibuffer-local-map + ("C-c C-l" . helm-minibuffer-history)) + :diminish helm-mode + :custom + (helm-adaptive-mode t nil (helm-adaptive)) + (helm-buffers-fuzzy-matching t) + (helm-ff-file-name-history-use-recentf t) + (helm-ff-search-library-in-sexp t) + (helm-ff-skip-boring-files t) + (helm-locate-fuzzy-match t) + (helm-mode t) + (helm-move-to-line-cycle-in-source t) + (helm-net-prefer-curl t) + (helm-recentf-fuzzy-match t) + (helm-scroll-amount 8) + (helm-split-window-in-side-p t) + (helm-boring-file-regexp-list + '("\\.hi$" "\\.o$" "~$" "\\.bin$" "\\.lbin$" "\\.so$" "\\.a$" "\\.ln$" "\\.blg$" "\\.bbl$" "\\.elc$" "\\.lof$" "\\.glo$" "\\.idx$" "\\.lot$" "\\.svn$" "\\.hg$" "\\.git$" "\\.bzr$" "CVS$" "_darcs$" "_MTN$" "\\.fmt$" "\\.tfm$" "\\.class$" "\\.fas$" "\\.lib$" "\\.mem$" "\\.x86f$" "\\.sparcf$" "\\.dfsl$" "\\.pfsl$" "\\.d64fsl$" "\\.p64fsl$" "\\.lx64fsl$" "\\.lx32fsl$" "\\.dx64fsl$" "\\.dx32fsl$" "\\.fx64fsl$" "\\.fx32fsl$" "\\.sx64fsl$" "\\.sx32fsl$" "\\.wx64fsl$" "\\.wx32fsl$" "\\.fasl$" "\\.ufsl$" "\\.fsl$" "\\.dxl$" "\\.lo$" "\\.la$" "\\.gmo$" "\\.mo$" "\\.toc$" "\\.aux$" "\\.cp$" "\\.fn$" "\\.ky$" "\\.pg$" "\\.tp$" "\\.vr$" "\\.cps$" "\\.fns$" "\\.kys$" "\\.pgs$" "\\.tps$" "\\.vrs$" "\\.pyc$" "\\.pyo$" "\\.synctex\\.gz$")) + :custom-face + (helm-selection ((t (:inherit region :foreground "#2aa198")))) + (helm-source-header ((t (:foreground "#eee8d5" :background "#073642")))) + :config + (add-to-list 'helm-sources-using-default-as-input 'helm-source-man-pages) + (helm-flx-mode t) + (helm-descbinds-mode t)) +(use-package helm-rg + :defer t + :bind (:map projectile-mode-map + (" " . helm-projectile-rg)) + :after (helm projectile)) +(use-package helm-config + :ensure helm) +(use-package helm-flx) +(use-package helm-bbdb) +(use-package helm-descbinds) +(use-package helm-projectile) +(use-package helm-company) + ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;;;;;;;;;;;;;;; org-mode ;;;;;;;;;;;;;;;;; diff --git a/programs/emacs/default.nix b/programs/emacs/default.nix index 3f0b220..3f1cf8f 100644 --- a/programs/emacs/default.nix +++ b/programs/emacs/default.nix @@ -3,10 +3,10 @@ let defaultEl = ./default.el; - # defaultConfig = pkgs.runCommand "default.el" { } '' - # mkdir -p $out/share/emacs/site-lisp - # cp ${defaultEl} $out/share/emacs/site-lisp/default.el - #''; + defaultConfig = pkgs.runCommand "default.el" { } '' + mkdir -p $out/share/emacs/site-lisp + cp ${defaultEl} $out/share/emacs/site-lisp/default.el + ''; emacsPackage = (pkgs.emacsPackagesGen pkgs.emacs).emacsWithPackages (epkgs: let @@ -20,13 +20,14 @@ let # gnupg # nixpkgs-fmt #]) - #[(defaultConfig)] ++ + [(defaultConfig)] ++ [(with epkgs.elpaPackages; [ auctex org flymake ])] ++ (with epkgs.melpaStablePackages; [ ]) ++ (with epkgs.melpaPackages; [ + ac-helm academic-phrases add-hooks alert @@ -47,7 +48,14 @@ let flycheck free-keys highlight-indentation - ivy + helm + helm-bbdb + helm-company + helm-flx + helm-descbinds + helm-lsp + helm-projectile + helm-rg json-mode less-css-mode lsp-mode