;;; My basic configuration Gerardo Marx 20/May/2021 ;; MacOS version ;;-------- ;; Melpa repository: (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")t) (package-initialize) ;;+++++++++++++ ;;function to check installed packages: (defun is-installed (pack) "Check if a package is istalled" (unless (package-installed-p pack) (package-refresh-contents) (package-install pack))) ;;++++++++++++++++ ;; use-package (is-installed 'use-package) (is-installed 'helm) (require 'helm-config) (global-set-key (kbd "M-x") 'helm-M-x) (global-set-key (kbd "C-x r b") #'helm-filtered-bookmarks) (global-set-key (kbd "C-x C-f") #'helm-find-files) (helm-mode 1) ;;++++++++++++ ;; which-key (is-installed 'which-key) (require 'which-key) (which-key-mode) ;;+++++++++++++ ;; frame size (setq initial-frame-alist '((top . 35)(left . 10) (width . 80)(height . 45))) ;;+++++++++++ ;; Doom-themes, all-the-icons, mode-line and font (unless (package-installed-p 'doom-themes) (package-install 'doom-themes)) (unless (package-installed-p 'all-the-icons) (package-install 'all-the-icons)) (require 'doom-themes) ;; Global settings (defaults) (setq doom-themes-enable-bold t ; if nil, bold is universally disabled doom-themes-enable-italic t) ; if nil, italics is universally disabled ;; Load the theme (doom-one, doom-molokai, etc); keep in mind that each ;; theme may have their own settings. (load-theme 'doom-one t) ;; Enable flashing mode-line on errors (doom-themes-visual-bell-config) ;; Enable custom neotree theme (doom-themes-neotree-config) ; all-the-icons fonts must be installed! ;; Installling doom-modeline: (unless (package-installed-p 'doom-modeline) (package-install 'doom-modeline)) (require 'doom-modeline) (doom-modeline-mode 1) ;;Intalling all-the-icons font: (unless (package-installed-p 'all-the-icons) (package-install 'all-the-icons)) ;; Set default font: (add-to-list 'default-frame-alist '(font . "Source Code Pro-18")) ;;+++++++ ;;auctex: (is-installed 'auctex) ;;(is-installed 'pdf-tools);; PDFtools ;;(pdf-tools-install) (setenv "PATH" (concat "/Library/TeX/texbin:" (getenv "PATH"))) (add-to-list 'exec-path "/Library/TeX/texbin") (setq TeX-auto-save t) (setq TeX-save-query nil) (setq LaTeX-includegraphics-read-file 'LaTeX-includegraphics-read-file-relative) (setq TeX-parse-self t) (setq-default TeX-master nil) (add-hook 'LaTeX-mode-hook 'visual-line-mode) (add-hook 'LaTeX-mode-hook 'flyspell-mode) (add-hook 'LaTeX-mode-hook 'LaTeX-math-mode) (add-hook 'LaTeX-mode-hook 'turn-on-reftex) (custom-set-variables '(pdf-tools-handle-upgrades nil)) ; Use brew upgrade pdf-tools instead. (setq pdf-info-epdfinfo-program "/usr/local/bin/epdfinfo") (pdf-tools-install) (setq reftex-plug-into-AUCTeX t) (setq TeX-view-program-selection '((output-pdf "PDF Tools")) TeX-source-correlate-start-server t) ;; Update PDF buffers after successful LaTeX runs (add-hook 'TeX-after-compilation-finished-functions #'TeX-revert-document-buffer) (add-to-list 'auto-mode-alist '("\\.pdf\\'" . pdf-view-mode)) (add-hook 'pdf-view-mode-hook (lambda () (pdf-tools-enable-minor-modes))) (setq TeX-source-correlate-method 'synctex) (custom-set-variables '(LaTeX-command "latex -synctex=1")) (setq reftex-bibliography-commands '("bibliography" "nobibliography" "addbibresource")) ;;--end---- ;;++++++++ ;; emacs startup config (setq inhibit-startup-message t) ;;inhibit startup (global-visual-line-mode t) (tool-bar-mode -1) (menu-bar-mode -1) (global-hl-line-mode +1) ;; highlith current line (delete-selection-mode +1) ;; deletes selected text and replace it (scroll-bar-mode -1) (setq ns-right-alternate-modifier nil) ;; right option macos key enable (fset 'yes-or-no-p 'y-or-n-p) ;; Ask y/n instead of yes/no (add-hook 'prog-mode-hook 'display-line-numbers-mode) ;; display line number when programming (show-paren-mode +1) ;; show matching parentheses ;;--------- ;;======== ;;Flyspell (setq ispell-program-name "/usr/local/bin/aspell") ;(setq ispell-aspell-data-dir "/usr/local/Cellar/ispell/3.4.04/lib/ispell/") ;(setq ispell-aspell-dict-dir ispell-aspell-data-dir) (dolist (hook '(text-mode-hook)) (add-hook hook (lambda () (flyspell-mode 1)))) ;; ========== ;; ORG files: (is-installed 'org-ref) (require 'org-ref) (setq org-latex-pdf-process (list "latexmk -shell-escape -bibtex -f -pdf %f")) (setq org-latex-prefer-user-labels t) ;; ========== ;; TRMAP (eval-after-load 'tramp '(setenv "SHELL" "/bin/bash")) ;;========= ;;Shell (setq-default explicit-shell-file-name "/bin/bash") ;; ========= ;; markdown (is-installed 'markdown-mode) (autoload 'markdown-mode "markdown-mode" "Major mode for editing Markdown files" t) (add-to-list 'auto-mode-alist '("\\.markdown\\'" . markdown-mode)) (add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode)) (autoload 'gfm-mode "markdown-mode" "Major mode for editing GitHub Flavored Markdown files" t) (add-to-list 'auto-mode-alist '("README\\.md\\'" . gfm-mode)) ;; ======== ;; docker (is-installed 'docker-compose-mode) (require 'docker-compose-mode) ;;======== ;;Neotree (is-installed 'neotree) (require 'neotree) (global-set-key [f8] 'neotree-toggle) ;;======== ;; auto-complete (is-installed 'auto-complete) (ac-config-default) ;;======= ;; Python completion: (is-installed 'anaconda-mode) (add-hook 'python-mode-hook 'anaconda-mode) (add-hook 'python-mode-hook 'anaconda-eldoc-mode) ;(add-hook 'python-mode-hook 'jedi:setup) ;(setq jedi:complete-on-dot t) ; optional ;(setq jedi:environment-root "/usr/local/bin/python3") ;;======= ;; Python pyvenv (is-installed 'pyvenv) (pyvenv-mode t) (setenv "WORKON_HOME" "~/.pyvenv/") ;(setq python-shell-interpreter (concat pyvenv-virtual-env "bin/python3")) ;(setq python-shell-interpreter "/usr/local/bin/python3") ;;========== (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(custom-safe-themes '("0fe24de6d37ea5a7724c56f0bb01efcbb3fe999a6e461ec1392f3c3b105cc5ac" "e1ef2d5b8091f4953fe17b4ca3dd143d476c106e221d92ded38614266cea3c8b" "08a27c4cde8fcbb2869d71fdc9fa47ab7e4d31c27d40d59bf05729c4640ce834" "7a994c16aa550678846e82edc8c9d6a7d39cc6564baaaacc305a3fdc0bd8725f" default)) '(org-agenda-files '("~/ownCloud/org/linux.org" "~/ownCloud/org/phd.org" "~/ownCloud/org/iDesiIng.org" "~/ownCloud/org/index.org")) '(package-selected-packages '(anaconda-mode which-key use-package pyvenv pkg-info org-ref neotree markdown-mode jedi helm-projectile doom-themes doom-modeline docker-compose-mode auctex)) '(safe-local-variable-values '((LaTeX-includegraphics-read-file . LaTeX-includegraphics-read-file-relative) (org-attach-use-inheritance . t) (org-attach-id-dir . /Users/gmarx/ownCLoud/org/phd/) (org-attach-id-dir . /Users/gmarx/ownCloud/org/phd/) (org-startup-folded . "fold") (org-startup-folded . fold) (org-startup-folded . t) (gnus-group-uncollapsed-levels) (gnus-group-uncollapsed-levels . t) (org-todo-keywords (sequence "Marx" "Luis" "Pascual" "Osvaldo" "DONE")) (org-todo-keywords (sequence "Marx" "Luis" "Pascual" "Osvaldo" | "DONE")) (org-todo-keywords (type "Marx" "Luis" "Pascual" "Osvaldo" | "DONE")) (org-todo-keywords quote ((type "Marx" "Luis" "Pascual" "Osvaldo" | "DONE")))))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. )