Most of the user configuration of Spacemacs now in Org file
Most of the content of `dotspacemacs/user-init' and `dotspacemacs/user-config' is now loaded from `~/spacemacs.org'. Literary programming ftw.
This commit is contained in:
		
							parent
							
								
									fb55a58dfa
								
							
						
					
					
						commit
						ad3e0d7ced
					
				
							
								
								
									
										39
									
								
								.gnus.el
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								.gnus.el
									
									
									
									
									
								
							| @ -1,39 +0,0 @@ | ||||
| (defun my-gnus-group-list-subscribed-groups () | ||||
|   "List all subscribed groups with or without un-read messages" | ||||
|   (interactive) | ||||
|   (gnus-group-list-all-groups 5)) | ||||
| 
 | ||||
| ;; get email, store in nnml | ||||
| (setq gnus-secondary-select-methods '((nnimap "lucien@phundrak.com" | ||||
|                                               (nnimap-address "mail.phundrak.com") | ||||
|                                               (nnimap-server-port 143) | ||||
|                                               (nnimap-stream starttls))) | ||||
|       ;; send email via 1and1 | ||||
|       message-send-mail-function 'smtpmail-send-it | ||||
|       smtpmail-smtp-server "mail.phundrak.com" | ||||
|       smtpmail-stream-type 'starttls | ||||
|       smtpmail-smtp-service 587 | ||||
|       ;; archive outgoing emails in Sent folder on imap.1and1.fr | ||||
|       gnus-message-archive-method '(nnimap "mail.phundrak.com") | ||||
|       gnus-message-archive-group "Sent" | ||||
|       ;; store email in ~/Mails directory | ||||
|       nnml-directory "~/Mails" | ||||
|       message-directory "~/Mails" | ||||
|       gnus-fetch-old-headers 'some | ||||
|       mm-discouraged-alternatives '("text/html" "text/richtext") | ||||
|       mm-text-html-renderer 'w3m | ||||
|       gnus-use-cache t) | ||||
| 
 | ||||
| (gnus-add-configuration | ||||
|  '(article (horizontal 1.0 (summary .4 point) (article 1.0)))) | ||||
| 
 | ||||
| (eval-after-load 'gnus-topic | ||||
|   '(progn | ||||
|      (setq gnus-message-archive-group '((format-time-string "sent.%Y"))) | ||||
|      (setq gnus-topic-topology '(("Gnus" visible) | ||||
|                                  (("lucien@phundrak.com" visible nil nil)))) | ||||
|      (setq gnus-topic-alist '(("lucien@phundrak.com" ; the key of the topic | ||||
|                                "nnimap+lucien@phundrak.com:INBOX" | ||||
|                                "nnimap+lucien@phundrak.com:Sent" | ||||
|                                "nnimap+lucien@phundrak.com:Drafts") | ||||
|                               ("Gnus"))))) | ||||
							
								
								
									
										520
									
								
								.spacemacs
									
									
									
									
									
								
							
							
						
						
									
										520
									
								
								.spacemacs
									
									
									
									
									
								
							| @ -601,20 +601,22 @@ This function is called immediately after `dotspacemacs/init', before layer | ||||
| configuration. | ||||
| It is mostly for variables that should be set before packages are loaded. | ||||
| If you are unsure, try setting them in `dotspacemacs/user-config' first." | ||||
|   (load "~/.emacs.d/private/private_emacs.el") | ||||
|   (require 'org-id) | ||||
|   (require 'package) | ||||
|   (require 'ox-latex) | ||||
|   (require 'ox-publish) | ||||
|   ;; (require 'org-tempo) | ||||
|   (require 'dap-lldb) | ||||
|   (require 'dap-firefox) | ||||
| 
 | ||||
|   (add-to-list 'load-path "~/.local/share/icons-in-terminal/") | ||||
|   (add-hook 'flycheck-mode-hook #'flycheck-rust-setup) | ||||
|   (flyspell-mode 0) | ||||
|   (setq tramp-ssh-controlmaster-options | ||||
|         "-o ControlMaster=auto -o ControlPath='tramp.%%C' -o ControlPersist=no")) | ||||
|   (setq phundrak/src-dir (concat (getenv "HOME") "/.emacs.d/private/") | ||||
|         phundrak/gnus-uc (concat (getenv "HOME") "/.gnus.el") | ||||
|         phundrak/src (concat (getenv "HOME") "/spacemacs.org") | ||||
|         phundrak/uc (concat phundrak/src-dir "user-config.el") | ||||
|         phundrak/ui (concat phundrak/src-dir "user-init.el")) | ||||
|   (when (or (file-newer-than-file-p phundrak/src phundrak/ui) | ||||
|             (file-newer-than-file-p phundrak/src phundrak/gnus-uc) | ||||
|             (file-newer-than-file-p phundrak/src phundrak/uc)) | ||||
|     (message "Exporting new Emacs configuration from spacemacs.org through Org-babel") | ||||
|     (call-process | ||||
|      (concat invocation-directory invocation-name) | ||||
|      nil nil t | ||||
|      "-q" "--batch" "--eval" "(require 'ob-tangle)" | ||||
|      "--eval" (format "(org-babel-tangle-file \"%s\")" phundrak/src))) | ||||
|   (load-file phundrak/ui)) | ||||
| 
 | ||||
| (defun dotspacemacs/user-load () | ||||
|   "Library to load while dumping. | ||||
| @ -628,448 +630,10 @@ dump." | ||||
| This function is called at the very end of Spacemacs startup, after layer | ||||
| configuration. | ||||
| Put your configuration code here, except for variables that should be set | ||||
| biefore packages are loaded." | ||||
| before packages are loaded." | ||||
| 
 | ||||
|   (defun load-config (FILE) | ||||
|     "Loads specified org file as EmacsLisp configuration file." | ||||
|     (interactive) | ||||
|     (org-babel-load-file FILE)) | ||||
| 
 | ||||
|   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;           Custom functions          ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (defun write-to-buffer (input-string outputbuf &optional switchbuf) | ||||
|     "Writes `input-string' to the specified `output-buffer'. If | ||||
| `switch-buffer' is non-nil, the active buffer will switch to the | ||||
| output buffer; otherwise, it will take the user back to their | ||||
| initial buffer. Works with `input-string' as a string or a list | ||||
| of strings." | ||||
|     (let ((oldbuf (current-buffer))) | ||||
|       (switch-to-buffer outputbuf) | ||||
|       (cond ((char-or-string-p input-string) (insert input-string)) | ||||
|             ((listp input-string) (dolist (elem input-string) | ||||
|                                     (insert (format "%s\n" elem))))) | ||||
|       (if switchbuf | ||||
|           (switch-to-buffer oldbuf)))) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                 Dart                ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|   (spacemacs/set-leader-keys-for-major-mode 'dart-mode | ||||
|     "ofH" 'flutter-hot-restart | ||||
|     "ofh" 'flutter-hot-reload | ||||
|     "ofq" 'flutter-quit | ||||
|     "ofr" (lambda () (interactive) (flutter-run "-v")) | ||||
|     "ofs" 'flutter-screenshot) | ||||
|   (spacemacs/declare-prefix-for-mode 'dart-mode "o" "custom") | ||||
|   (spacemacs/declare-prefix-for-mode 'dart-mode "of" "flutter") | ||||
|   (spacemacs/declare-prefix-for-mode 'dart-mode "ofr" "flutter-run") | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                 LSP                 ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|   (lsp-treemacs-sync-mode 1) | ||||
|   (dap-mode 1) | ||||
|   (dap-ui-mode 1) | ||||
|   (dap-tooltip-mode 1) | ||||
|   (tooltip-mode 1) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                 Misc                ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (defun terminal-here-default-terminal-command (_dir) | ||||
|     '("st")) | ||||
| 
 | ||||
|   (setq x86-lookup-pdf "~/Documents/code/asm/Intelx86/325383-sdm-vol-2abcd.pdf" | ||||
|         evil-want-C-u-scroll nil | ||||
|         asm-comment-char ?\# | ||||
|         twittering-use-master-password t | ||||
|         edit-server-default-major-mode 'org-mode | ||||
|         epa-pinentry-mode 'loopback | ||||
|         paragraph-start "\f\\|[ \t]*$\\|[ \t]*[-+*] " | ||||
|         python-shell-completion-native-disabled-interpreters '("python") | ||||
|         wttrin-default-cities '("Aubervilliers" "Paris" | ||||
|                                 "Lyon"          "Nonières" | ||||
|                                 "Saint Agrève") | ||||
|         prettify-symbols-alist '(("lambda" . 955) ; λ | ||||
|                                  ("->" . 8594)    ; → | ||||
|                                  ("<->" . 8596)   ; ↔ | ||||
|                                  ("<-" . 8592)    ; ← | ||||
|                                  ("=>" . 8658)    ; ⇒ | ||||
|                                  ("<=>" . 8860)   ; ⇔ | ||||
|                                  ("<=" . 8656)    ; ⇐ | ||||
|                                  ("mapc" . 8614)  ; ↦ | ||||
|                                  ("map" . 8614)   ; ↦ | ||||
|                                  (">>" . 187)     ; » | ||||
|                                  ("<<" . 171)     ; « | ||||
|                                  )) | ||||
|   (add-hook 'before-save-hook 'delete-trailing-whitespace) | ||||
|   (add-hook 'prog-mode-hook 'eldoc-mode) | ||||
|   (add-hook 'prog-mode-hook 'visual-line-mode) | ||||
|   (mapc (lambda (x) | ||||
|           (add-hook x 'auto-fill-mode) | ||||
|           (add-hook x 'visual-line-mode)) | ||||
|         '(message-mode-hook | ||||
|           org-mode-hook | ||||
|           text-mode-hook | ||||
|           markdown-mode-hook)) | ||||
|   (global-aggressive-indent-mode 1) | ||||
|   (add-to-list 'aggressive-indent-excluded-modes 'dart-mode) | ||||
| 
 | ||||
|   (defun phundrak/fill-paragraph() | ||||
|     (interactive) | ||||
|     (let* ((current-prefix-arg 4)) | ||||
|       (call-interactively 'fill-paragraph))) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;               Nov-mode              ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (defun my-nov-font-setup () | ||||
|     (face-remap-add-relative 'variable-pitch :family "Charis SIL" | ||||
|                              :size 16 | ||||
|                              :height 1.0)) | ||||
|   (mapc (lambda (mode) | ||||
|           (add-hook 'nov-mode-hook mode)) | ||||
|         '('my-nov-font-setup | ||||
|           'visual-line-mode)) | ||||
|   (setq nov-text-width 80) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;            file extension           ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (dolist (e '(("xml" . web-mode)    ("xinp"  . web-mode)  ("aiml" . web-mode) | ||||
|                ("C"   . c++-mode)    ("dconf" . conf-mode) ("yy" . bison-mode) | ||||
|                ("ll"  . flex-mode)   ("s"     . asm-mode)  ("pl" . prolog-mode) | ||||
|                ("l"   . scheme-mode) ("vs"    . glsl-mode) ("fs" . glsl-mode))) | ||||
|     (push (cons (concat "\\." (car e) "\\'") (cdr e)) auto-mode-alist)) | ||||
|   (dolist (e '("service" "timer" "target" "mount" "automount" "slice" "socket" | ||||
|                "path" "netdev" "network" "link")) | ||||
|     (push (cons (concat "\\." e "\\'") 'conf-unix-mode) auto-mode-alist)) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;              shortcuts              ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (global-set-key (kbd "C-x C-b") 'ibuffer) | ||||
|   (global-set-key (kbd "S-C-<left>") 'shrink-window-horizontally) | ||||
|   (global-set-key (kbd "S-C-<right>") 'enlarge-window-horizontally) | ||||
|   (global-set-key (kbd "S-C-<down>") 'shrink-window) | ||||
|   (global-set-key (kbd "S-C-<up>") 'enlarge-window) | ||||
|   (global-set-key (kbd "C-x <up>") 'windmove-up) | ||||
|   (global-set-key (kbd "C-x <down>") 'windmove-down) | ||||
|   (global-set-key (kbd "C-x <right>") 'windmove-right) | ||||
|   (global-set-key (kbd "C-x <left>") 'windmove-left) | ||||
|   (global-set-key (kbd "C-<prior>") 'previous-buffer) | ||||
|   (global-set-key (kbd "C-<next>") 'next-buffer) | ||||
|   (global-set-key (kbd "M-»") 'end-of-buffer) | ||||
|   (global-set-key (kbd "M-«") 'beginning-of-buffer) | ||||
|   (global-set-key (kbd "<XF86HomePage>") 'spacemacs/home) | ||||
|   (global-set-key (kbd "<XF86Open>") 'helm-find-files) | ||||
|   (global-set-key (kbd "<XF86Close>") 'kill-this-buffer) | ||||
|   (global-set-key (kbd "<XF86Save>") 'save-buffer) | ||||
|   (global-set-key (kbd "<C-tab>") 'evil-close-fold) | ||||
|   (global-set-key (kbd "<S-C-tab>") 'evil-close-folds) | ||||
|   (global-set-key (kbd "<C-iso-lefttab>") 'evil-open-fold) | ||||
|   (spacemacs/declare-prefix "o" "custom") | ||||
|   (spacemacs/declare-prefix "oa" "applications") | ||||
|   (spacemacs/declare-prefix "oB" "byte-compile .emacs.d") | ||||
|   (spacemacs/declare-prefix "oc" "comments") | ||||
|   (spacemacs/declare-prefix "of" "files") | ||||
|   (spacemacs/declare-prefix "ofb" ".local/bin sources") | ||||
|   (spacemacs/declare-prefix "off" "fish config") | ||||
|   (spacemacs/declare-prefix "ofi" "i3 config") | ||||
|   (spacemacs/declare-prefix "ofp" "polybar config") | ||||
|   (spacemacs/declare-prefix "ofr" "yadm README") | ||||
|   (spacemacs/declare-prefix "oi" "insert") | ||||
|   (spacemacs/declare-prefix "oii" "invisible space") | ||||
|   (spacemacs/declare-prefix "om" "multiple-cursors") | ||||
|   (spacemacs/declare-prefix "oo" "org-mode") | ||||
|   (spacemacs/declare-prefix "ooi" "custom IDs") | ||||
|   (spacemacs/declare-prefix "oos" "structure") | ||||
|   (spacemacs/declare-prefix "oot" "tables") | ||||
|   (spacemacs/declare-prefix "oott" "toggle width") | ||||
|   (spacemacs/declare-prefix "oote" "expand") | ||||
|   (spacemacs/declare-prefix "oots" "shrink") | ||||
|   (spacemacs/declare-prefix "or" "external command") | ||||
|   (spacemacs/declare-prefix "ot" "toggle") | ||||
|   (spacemacs/declare-prefix "ow" "writeroom") | ||||
|   (spacemacs/declare-prefix "ox" "text") | ||||
|   (spacemacs/set-leader-keys | ||||
|     "oac"  'calc | ||||
|     "oaC"  'calendar | ||||
|     "oae"  'eww | ||||
|     "oaw"  'wttrin | ||||
|     "oB"   (lambda () (byte-recompile-directory (expand-file-name "~/.emacs.d") 0)) | ||||
|     "ob"   'fancy-battery-mode | ||||
|     "occ"  'outorg-copy-edits-and-exit | ||||
|     "oce"  'outorg-edit-as-org | ||||
|     "oco"  'outline-minor-mode | ||||
|     "od"   'elcord-mode | ||||
|     "oF"   'flycheck-mode | ||||
|     "ofb"  (lambda () (interactive) (find-file "~/.local/bin/README.org")) | ||||
|     "off"  (lambda () (interactive) (find-file "~/.config/fish/README.org")) | ||||
|     "ofi"  (lambda () (interactive) (find-file "~/.config/i3/README.org")) | ||||
|     "ofp"  (lambda () (interactive) (find-file "~/.config/polybar/config##yadm.j2")) | ||||
|     "ofr"  (lambda () (interactive) (find-file "~/README.org")) | ||||
|     "ofo"  'find-file-at-point | ||||
|     "oii"  (lambda () (interactive) (insert "")) | ||||
|     "ome"  'mc/edit-lines | ||||
|     "omn"  'mc/mark-next-like-this | ||||
|     "omp"  'mc/mark-previous-like-this | ||||
|     "oma"  'mc/mark-all-like-this | ||||
|     "ooi"  'eos/org-add-ids-to-headlines-in-file | ||||
|     "oos"  'org-insert-structure-template | ||||
|     "ooT"  'org-sidebar-tree | ||||
|     "oott" 'org-table-toggle-column-width | ||||
|     "oote" 'org-table-expand | ||||
|     "oots" 'org-table-shrink | ||||
|     "oow"  'org-pomodoro | ||||
|     "owi"  'writeroom-increase-width | ||||
|     "or"   'helm-run-external-command | ||||
|     "os"   'prettify-symbols-mode | ||||
|     "oti"  'toggle-input-method | ||||
|     "otI"  'set-input-method | ||||
|     "owd"  'writeroom-decrease-width | ||||
|     "oxf"  'phundrak/fill-paragraph) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                 gnus                ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (spacemacs/declare-prefix "og" "gnus") | ||||
|   (spacemacs/set-leader-keys | ||||
|     "ogD" 'turn-on-gnus-dired-mode | ||||
|     "ogd" 'gnus-summary-delete-article | ||||
|     "ogf" 'gnus-summary-mail-forward | ||||
|     "ogo" 'my-gnus-group-list-subscribed-groups | ||||
|     "ogr" 'gnus-summary-insert-new-articles | ||||
|     "ogs" 'message-send-and-exit) | ||||
|   (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                Dired                ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (setq dired-recursive-copies 'always | ||||
|         dired-dwim-target t | ||||
|         dired-listing-switches "-ahl --group-directories-first") | ||||
|   (require 'org-download) | ||||
|   (add-hook 'dired-mode-hook 'org-download-enable) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;               org-mode              ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (with-eval-after-load 'org | ||||
| 
 | ||||
|     (org-link-set-parameters | ||||
|      "file" | ||||
|      :face (lambda (path) (if (file-exists-p path) 'org-link 'org-warning))) | ||||
| 
 | ||||
|     ;; custom org functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|     (defun ck/org-confirm-babel-evaluate (lang body) | ||||
|       (not (or (string= lang "latex") (string= lang "maxima")))) | ||||
| 
 | ||||
|     ;; custom IDs when exporting | ||||
|     ;; inspired by | ||||
|     ;; https://writequit.org/articles/emacs-org-mode-generate-ids.html | ||||
|     (defun eos/org-id-new (&optional prefix) | ||||
|       "Create a new globally unique ID. | ||||
| 
 | ||||
| An ID consists of two parts separated by a colon: | ||||
| - a prefix | ||||
| - a   unique   part   that   will   be   created   according   to | ||||
|   `org-id-method'. | ||||
| 
 | ||||
| PREFIX  can specify  the  prefix,  the default  is  given by  the | ||||
| variable  `org-id-prefix'.  However,  if  PREFIX  is  the  symbol | ||||
| `none', don't  use any  prefix even if  `org-id-prefix' specifies | ||||
| one. | ||||
| 
 | ||||
| So a typical ID could look like \"Org-4nd91V40HI\"." | ||||
|       (let* ((prefix (if (eq prefix 'none) | ||||
|                          "" | ||||
|                        (concat (or prefix org-id-prefix) "-"))) | ||||
|              unique) | ||||
|         (if (equal prefix "-") (setq prefix "")) | ||||
|         (cond | ||||
|          ((memq org-id-method '(uuidgen uuid)) | ||||
|           (setq unique (org-trim (shell-command-to-string org-id-uuid-program))) | ||||
|           (unless (org-uuidgen-p unique) | ||||
|             (setq unique (org-id-uuid)))) | ||||
|          ((eq org-id-method 'org) | ||||
|           (let* ((etime (org-reverse-string (org-id-time-to-b36))) | ||||
|                  (postfix (if org-id-include-domain | ||||
|                               (progn | ||||
|                                 (require 'message) | ||||
|                                 (concat "@" (message-make-fqdn)))))) | ||||
|             (setq unique (concat etime postfix)))) | ||||
|          (t (error "Invalid `org-id-method'"))) | ||||
|         (concat prefix unique))) | ||||
|     (defun eos/org-custom-id-get (&optional pom create prefix) | ||||
|       "Get the CUSTOM_ID property of the entry at point-or-marker POM. | ||||
|    If POM is nil, refer to the  entry at point. If the entry does | ||||
|    not have an CUSTOM_ID, the function returns nil. However, when | ||||
|    CREATE  is non  nil, create  a  CUSTOM_ID if  none is  present | ||||
|    already. PREFIX will be passed through to `eos/org-id-new'. In | ||||
|    any case, the CUSTOM_ID of the entry is returned." | ||||
|       (interactive) | ||||
|       (org-with-point-at pom | ||||
|         (let ((id (org-entry-get nil "CUSTOM_ID"))) | ||||
|           (cond | ||||
|            ((and id (stringp id) (string-match "\\S-" id)) | ||||
|             id) | ||||
|            (create | ||||
|             (setq id (eos/org-id-new (concat prefix "h"))) | ||||
|             (org-entry-put pom "CUSTOM_ID" id) | ||||
|             (org-id-add-location id (buffer-file-name (buffer-base-buffer))) | ||||
|             id))))) | ||||
|     (defun eos/org-add-ids-to-headlines-in-file () | ||||
|       "Add CUSTOM_ID properties to all headlines in the current | ||||
|    file which do not already have one. Only adds ids if the | ||||
|    `auto-id' option is set to `t' in the file somewhere. ie, | ||||
|    #+OPTIONS: auto-id:t" | ||||
|       (interactive) | ||||
|       (save-excursion | ||||
|         (widen) | ||||
|         (goto-char (point-min)) | ||||
|         (when (re-search-forward "^#\\+OPTIONS:.*auto-id:t" (point-max) t) | ||||
|           (org-map-entries (lambda () (eos/org-custom-id-get (point) 'create)))))) | ||||
| 
 | ||||
|     ;; org-babel languages ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|     (org-babel-do-load-languages | ||||
|      'org-babel-load-languages | ||||
|      '((C          . t) | ||||
|        (dot        . t) | ||||
|        (emacs-lisp . t) | ||||
|        (gnuplot    . t) | ||||
|        (latex      . t) | ||||
|        (makefile   . t) | ||||
|        (python     . t) | ||||
|        (R          . t) | ||||
|        (sass       . t) | ||||
|        (scheme     . t) | ||||
|        (shell      . t))) | ||||
| 
 | ||||
|     ;; org hooks ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|     (add-hook 'org-mode-hook | ||||
|               (lambda () | ||||
|                 (add-hook 'before-save-hook | ||||
|                           (lambda () | ||||
|                             (when (and (eq major-mode 'org-mode) | ||||
|                                        (eq buffer-read-only nil)) | ||||
|                               (eos/org-add-ids-to-headlines-in-file)))))) | ||||
| 
 | ||||
|     ;; variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|     (setq | ||||
|      org-hide-macro-markers t | ||||
|      org-id-link-to-org-use-id 'create-if-interactive-and-no-custom-id | ||||
|      geiser-default-implementation 'racket | ||||
|      org-agenda-custom-commands '(("h" "Daily habits" | ||||
|                                    ((agenda "")) | ||||
|                                    ((org-agenda-show-log t) | ||||
|                                     (org-agenda-ndays 7) | ||||
|                                     (org-agenda-log-mode-items '(state)) | ||||
|                                     (org-agenda-skip-function | ||||
|                                      '(org-agenda-skip-entry-if 'notregexp | ||||
|                                                                 ":DAILY:"))))) | ||||
|      org-agenda-files (list "~/org") | ||||
|      org-confirm-babel-evaluate 'ck/org-confirm-babel-evaluate | ||||
|      org-export-latex-hyperref-format "\\ref{%s}" | ||||
|      org-html-validation-link nil | ||||
|      org-journal-date-prefix "#+TITLE: " | ||||
|      org-journal-dir "~/org/journal/" | ||||
|      org-journal-file-format "%Y-%m-%d" | ||||
|      org-src-tab-acts-natively t | ||||
|      user-full-name "Lucien Cartier-Tilet" | ||||
|      user-mail-address "lucien@phundrak.com" | ||||
|      ;; subscripts and superscripts need {} to work | ||||
|      org-use-sub-superscripts (quote {}) | ||||
|      org-latex-listings 'minted | ||||
|      org-reveal-root "file:///home/phundrak/fromGIT/reveal.js" | ||||
|      org-latex-compiler "xelatex" | ||||
|      org-latex-pdf-process | ||||
|      '("xelatex -shell-escape -interaction nonstopmode -output-directory %o %f" | ||||
|        "xelatex -shell-escape -interaction nonstopmode -output-directory %o %f" | ||||
|        "xelatex -shell-escape -interaction nonstopmode -output-directory %o %f") | ||||
|      org-latex-default-packages-alist '((""         "graphicx"  t) | ||||
|                                         (""         "longtable" nil) | ||||
|                                         (""         "wrapfig"   nil) | ||||
|                                         (""         "rotating"  nil) | ||||
|                                         ("normalem" "ulem"      t) | ||||
|                                         (""         "amsmath"   t) | ||||
|                                         (""         "textcomp"  t) | ||||
|                                         (""         "amssymb"   t) | ||||
|                                         (""         "capt-of"   nil) | ||||
|                                         (""         "hyperref"  nil)) | ||||
|      org-structure-template-alist (append org-structure-template-alist | ||||
|                                           '(("el" . "src emacs-lisp"))) | ||||
| 
 | ||||
|      ;;; Org projects | ||||
|      org-publish-project-alist | ||||
|      '(("langue-phundrak-com-org" | ||||
|         :base-directory "~/Documents/conlanging/web/" | ||||
|         :base-extension "org" | ||||
|         :exclude "\\./\\(CONTRIB\\|README\\|head\\|temp\\|svg-ink\\).*" | ||||
|         :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue-phundrak-com/web" | ||||
|         :recursive t | ||||
|         :publishing-function org-html-publish-to-html | ||||
|         :headline-levels 5 | ||||
|         :auto-sitemap t | ||||
|         :auto-preamble t) | ||||
|        ("langue-phundrak-com-pdf" | ||||
|         :base-directory "~/Documents/conlanging/web/" | ||||
|         :base-extension "org" | ||||
|         :exclude "\\./\\(CONTRIB\\|README\\|index\\|head\\|temp\\|svg-ink\\).*" | ||||
|         :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue-phundrak-com/web" | ||||
|         :recursive t | ||||
|         :publishing-function org-latex-publish-to-pdf | ||||
|         :headline-levels 5 | ||||
|         :auto-preamble t) | ||||
|        ("langue-phundrak-com-static" | ||||
|         :base-directory "~/Documents/conlanging/web/" | ||||
|         :base-extension "css\\|scss\\|dart\\|js\\|png\\|jpg\\|gif\\|svg\\|jpeg\\|ttf\\|woff\\|txt\\|epub" | ||||
|         :publishing-directory "/ssh:Naro:~/www/phundrak.com/langue-phundrak-com/web" | ||||
|         :recursive t | ||||
|         :publishing-function org-publish-attachment) | ||||
|        ("langue-phundrak-com" | ||||
|         :components ("langue-phundrak-com-org" | ||||
|                      "langue-phundrak-com-static" | ||||
|                      "langue-phundrak-com-pdf")))) | ||||
| 
 | ||||
|     (add-to-list 'org-latex-packages-alist '("" "minted")) | ||||
|     (add-to-list 'org-latex-packages-alist '("" "fontspec")) | ||||
|     (add-to-list 'org-latex-packages-alist '("" "xeCJK")) | ||||
| 
 | ||||
|     ;; Shortcuts ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|     (with-eval-after-load 'org-agenda | ||||
|       (require 'org-projectile) | ||||
|       (mapcar #'(lambda (file) | ||||
|                   (when (file-exists-p file) | ||||
|                     (push file org-agenda-files))) | ||||
|               (org-projectile-todo-files))) | ||||
|     (eval-after-load "ox-latex" | ||||
|       ;; update the list of LaTeX classes and associated header (encoding, etc.) | ||||
|       ;; and structure | ||||
|       '(add-to-list 'org-latex-classes | ||||
|                     '("conlang" | ||||
|                       "\\documentclass{book}" | ||||
|                       ("\\chapter{%s}" . "\\chapter*{%s}") | ||||
|                       ("\\section{%s}" . "\\section*{%s}") | ||||
|                       ("\\subsection{%s}" . "\\subsection*{%s}") | ||||
|                       ("\\subsubsection{%s}" . "\\subsubsection*{%s}")) | ||||
|                     `("beamer" | ||||
|                       ,(concat "\\documentclass[presentation]{beamer}\n" | ||||
|                                "[DEFAULT-PACKAGES]" | ||||
|                                "[PACKAGES]" | ||||
|                                "[EXTRA]\n") | ||||
|                       ("\\section{%s}" . "\\section*{%s}") | ||||
|                       ("\\subsection{%s}" . "\\subsection*{%s}") | ||||
|                       ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))) | ||||
|   ;; load file exported from `~/spacemacs.org' in `dotspacemacs/user-load' | ||||
|   (load-file phundrak/uc) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                LaTeX                ; | ||||
| @ -1095,51 +659,6 @@ double-quotes matter and must be escaped appropriately." | ||||
|     :safe 'stringp) | ||||
|   (add-hook 'doc-view-minor-mode-hook 'auto-revert-mode) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                  Qt                 ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|   (setq | ||||
|    c-C++-access-key | ||||
|    "\\<\\(slots\\|signals\\|private\\|protected\\|public\\)\\>[ \t]*[(slots\\|signals)]*[ \t]*:") | ||||
|   (font-lock-add-keywords | ||||
|    'c++-mode | ||||
|    '(("\\<\\(Q_OBJECT\\|public slots\\|public signals\\|private slots\\|private signals\\|protected slots\\|protected signals\\)\\>" . font-lock-constant-face))) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;               flycheck              ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   ;; force flycheck to always use c++11 support. We use the | ||||
|   ;; clang language backend so this is set to clang | ||||
|   (add-hook 'c++-mode-hook | ||||
|             (lambda () (setq flycheck-clang-language-standard "c++17"))) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                 rust                ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (setq racer-cmd "~/.cargo/bin/racer" | ||||
|         racer-rust-src-path (concat | ||||
|                              (getenv "HOME") | ||||
|                              "/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src")) | ||||
|   (add-hook 'rust-mode-hook | ||||
|             '(lambda () | ||||
|                (local-set-key (kbd "TAB") #'company-indent-or-complete-common) | ||||
|                (electric-pair-mode 1) | ||||
|                (indent-guide-mode 1))) | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                scheme               ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (setq geiser-chicken-binary "chicken-csi") | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                 Java                ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| 
 | ||||
|   (setq eclimd-default-workspace "/home/phundrak/eclipse-workspace") | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
|                                         ;                Eshell               ; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| @ -1264,6 +783,9 @@ This function is called at the very end of Spacemacs initialization." | ||||
|        (javascript-backend . lsp) | ||||
|        (go-backend . go-mode) | ||||
|        (go-backend . lsp)))) | ||||
|    '(send-mail-function (quote smtpmail-send-it)) | ||||
|    '(smtpmail-smtp-server "mail.phundrak.com") | ||||
|    '(smtpmail-smtp-service 587) | ||||
|    '(solaire-mode-auto-swap-bg t) | ||||
|    '(vc-annotate-background "#282c34") | ||||
|    '(vc-annotate-color-map | ||||
|  | ||||
							
								
								
									
										1184
									
								
								spacemacs.org
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1184
									
								
								spacemacs.org
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user