#+TITLE: config * Font settings #+BEGIN_SRC emacs-lisp (setq doom-font (font-spec :family "Fira Code" :size 14) doom-big-font (font-spec :family "Fira Code" :size 24) doom-variable-pitch-font (font-spec :family "Fira Code" :size 16)) #+END_SRC * Themes #+BEGIN_SRC emacs-lisp (use-package! paper-theme) (use-package! modus-operandi-theme) (use-package! modus-vivendi-theme) #+END_SRC * Projectile Projectile Path #+BEGIN_SRC emacs-lisp (setq projectile-project-search-path '("~/code")) #+END_SRC * Relative line numbers #+BEGIN_SRC emacs-lisp (setq display-line-numbers-type 'relative) #+END_SRC * Org #+BEGIN_SRC emacs-lisp (add-hook 'org-mode-hook #'auto-fill-mode) #+END_SRC #+BEGIN_SRC emacs-lisp (after! org (map! :map org-mode-map :n "M-j" #'org-metadown :n "M-k" #'org-metaup )) #+END_SRC Org capture #+BEGIN_SRC emacs-lisp (after! org (defvar org-capture-todo-file "~/org/todo.org" ) (setq org-capture-templates '(("t" "Personal todo" entry (file+headline org-capture-todo-file "Inbox") "* TODO %?\n%i\n%a" :prepend t :kill-buffer t) ("n" "Personal notes" entry (file+headline +org-capture-notes-file "Inbox") "* %u %?\n%i\n%a" :prepend t :kill-buffer t) ("p" "Templates for projects") ("pt" "Project todo" entry (file+headline org-capture-project-todo-file "Inbox") "* TODO %?\n%i\n%a" :prepend t :kill-buffer t) ("pn" "Project notes" entry (file+headline +org-capture-project-notes-file "Inbox") "* TODO %?\n%i\n%a" :prepend t :kill-buffer t) ("pc" "Project changelog" entry (file+headline +org-capture-project-notes-file "Unreleased") "* TODO %?\n%i\n%a" :prepend t :kill-buffer t)))) #+END_SRC Org Super Agenda #+BEGIN_SRC emacs-lisp (use-package! org-super-agenda :after org-agenda :init (setq org-super-agenda-groups '((:name "Today" :time-grid t :scheduled today) (:name "Due today" :deadline today) (:name "Important" :priority "A") (:name "Overdue" :deadline past) (:name "Due soon" :deadline future) (:name "Big Outcomes" :tag "bo"))) :config (org-super-agenda-mode) ) #+END_SRC * IMenu #+BEGIN_SRC emacs-lisp (setq imenu-anywhere-delimiter ": ") (add-hook 'imenu-after-jump-hook #'better-jumper-set-jump) (after! imenu-list (setq imenu-list-idle-update-delay 0.5) (set-popup-rule! "^\\*Ilist" :side 'right :size 35 :quit nil :select nil :ttl 0)) #+END_SRC * Tramp #+BEGIN_SRC emacs-lisp (setf tramp-shell-prompt-pattern "\\(?:^\\|^M\\)[^]#$%>\n]*#?[]#$%>].* *\\(^[\\[[0-9;]*[a-zA-Z] *\\)*") #+END_SRC * Leader keys #+BEGIN_SRC emacs-lisp ;;(map! :leader ;; (:prefix-map ("/" . "search")) ;; (:when (featurep! :ui workspaces) ;; (:prefix-map ("TAB" . "workspace"))) ;; (:prefix-map ("b" . "buffer")) ;; (:prefix-map ("c" . "code")) ;; (:prefix-map ("f" . "file")) ;; (:prefix-map ("g" . "git")) ;; (:prefix-map ("i" . "insert")) ;; (:prefix-map ("n" . "notes")) ;; (:prefix-map ("o" . "open") ;; (:prefix-map ("p" . "project")) ;; (:prefix-map ("q" . "session")) ;; (:when (featurep! :editor upload) ;; (:prefix-map ("r" . "remote"))) ;; (:when (featurep! :editor snipets) ;; (:prefix-map ("s" . "snippets"))) ;; (:prefix-map ("t" . "toggle") ;; :desc "Toggle imenu-list" "m" #'imenu-list-smart-toggle))) #+END_SRC * Dired Do what I mean target allows dired to use window context for copying and moving #+BEGIN_SRC emacs-lisp (setq dired-dwim-target t) #+END_SRC * Laguages c++ #+BEGIN_SRC emacs-lisp (use-package! cmake-ide :after rtags :config (require 'rtags) (cmake-ide-setup)) #+END_SRC * LSP ** C++ #+BEGIN_SRC emacs-lisp (use-package! eglot :config (add-to-list 'eglot-server-programs '((c++-mode c-mode) "clangd")) (add-hook! (c++-mode c-mode) 'eglot-ensure)) #+END_SRC ** Java #+BEGIN_SRC emacs-lisp ;; (after! eglot ;; (defconst my-eclipse-jdt-home "/home/peter/.emacs.d/.cache/lsp/eclipse.jdt.ls/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar") ;; (defun my-eglot-eclipse-jdt-contact (interactive) ;; "contact with the jdt server input INETRACTIVE." ;; (let ((cp (getenv "CLASSPATH"))) ;; (setenv "CLASSPATH" (concat my-eclipse-jdt-home ":" cp)) ;; (unwind-protect (eglot--eclipse-jdt-contact nil) ;; (setenv "CLASSPATH" cp)))) ;; (setcdr (assq 'java-mode eglot-server-programs) #'my-eglot-eclipse-jdt-contact) ;; (add-hook 'java-mode-hook 'eglot-ensure)) #+END_SRC * Ledger #+BEGIN_SRC emacs-lisp (setq ledger-default-date-format "%Y-%m-%d") #+END_SRC