215 lines
6.9 KiB
EmacsLisp
215 lines
6.9 KiB
EmacsLisp
;; PACKAGE
|
|
(require 'package)
|
|
|
|
(setq package-archives '(("melpa" . "https://melpa.org/packages/")
|
|
("org" . "https://orgmode.org/elpa/")
|
|
("elpa" . "https://elpa.gnu.org/packages/")))
|
|
|
|
(package-initialize)
|
|
(unless package-archive-contents
|
|
(package-refresh-contents))
|
|
|
|
(unless (package-installed-p 'use-package)
|
|
(package-install 'use-package))
|
|
|
|
;; USE-PACKAGE
|
|
(require 'use-package)
|
|
(setq use-package-always-ensure t)
|
|
|
|
(use-package company
|
|
:init
|
|
(global-company-mode))
|
|
|
|
(use-package ivy
|
|
:bind (("C-s" . swiper))
|
|
:init
|
|
(ivy-rich-mode 1))
|
|
|
|
(use-package olivetti
|
|
:custom (olivetti-body-width 82))
|
|
|
|
(use-package nov
|
|
:config (setq nov-text-width nil nov-variable-pitch nil)
|
|
;;:hook (nov-mode . olivetti-mode))
|
|
)
|
|
|
|
(use-package projectile
|
|
:init
|
|
(projectile-mode +1)
|
|
:config
|
|
(setq projectile-completion-system (quote ivy)))
|
|
|
|
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
|
|
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)
|
|
|
|
(use-package elpy
|
|
:config (setq elpy-modules
|
|
'(elpy-module-autodoc
|
|
elpy-module-company
|
|
elpy-module-eldoc
|
|
elpy-module-pyvenv
|
|
elpy-module-yasnippet)
|
|
elpy-test-pytest-runner-command '("pytest")))
|
|
|
|
(use-package pyvenv
|
|
:init (pyvenv-mode 1))
|
|
|
|
(use-package typescript-mode)
|
|
|
|
(use-package go-mode)
|
|
|
|
(use-package eglot
|
|
:hook ((python-mode . eglot-ensure)
|
|
(c-mode . eglot-ensure)
|
|
(js-mode . eglot-ensure)
|
|
(typescript-mode . eglot-ensure)
|
|
(rust-mode . eglot-ensure)
|
|
(go-mode . eglot-ensure)))
|
|
|
|
(use-package go-mode
|
|
:init
|
|
(add-hook 'before-save-hook #'gofmt-before-save))
|
|
|
|
(use-package ob-go)
|
|
(use-package ob-http)
|
|
(use-package ob-rust)
|
|
(use-package ob-typescript)
|
|
|
|
(use-package web-mode
|
|
:mode "\\.html?\\'"
|
|
:init
|
|
(dolist (hook '(emmet-mode ac-emmet-html-setup ac-emmet-css-setup))
|
|
(add-hook 'web-mode-hook hook))
|
|
:config
|
|
(setq web-mode-markup-indent-offset 2
|
|
web-mode-css-indent-offset 2
|
|
web-mode-code-indent-offset 2
|
|
web-mode-enable-auto-pairing nil
|
|
web-mode-enable-auto-closing t
|
|
web-mode-enable-current-element-highlight t
|
|
web-mode-enable-current-column-highlight t
|
|
web-mode-ac-sources-alist
|
|
'(("css" . (ac-source-css-property ac-source-emmet-css-snippets))
|
|
("html" . (ac-source-emmet-html-aliases
|
|
ac-source-emmet-html-snippets))))
|
|
(add-hook 'web-mode-before-auto-complete-hooks
|
|
'(lambda ()
|
|
(let ((web-mode-cur-language (web-mode-language-at-pos)))
|
|
(if (string= web-mode-cur-language "css")
|
|
(setq emmet-use-css-transform t)
|
|
(setq emmet-use-css-transform nil))))))
|
|
|
|
(use-package slime
|
|
:config (setq inferior-lisp-program (executable-find "sbcl")))
|
|
|
|
(use-package org
|
|
:config
|
|
(setq org-babel-lob-ingest "~/Documents/journal/library-of-babel.org")
|
|
|
|
(setq org-agenda-dim-blocked-tasks nil
|
|
org-agenda-inhibit-startup nil
|
|
org-agenda-span 14
|
|
org-agenda-start-on-weekday nil
|
|
org-agenda-include-diary t)
|
|
|
|
(setq org-html-doctype "html5"
|
|
org-html-html5-fancy t
|
|
org-html-htmlize-output-type nil)
|
|
|
|
(setq org-latex-pdf-process (quote ("latexmk -xelatex -shell-escape -quiet -f %f"))
|
|
org-latex-compiler "xelatex"
|
|
org-latex-listings t)
|
|
|
|
(setq org-babel-shell-names (quote ("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh"))
|
|
org-adapt-indentation t
|
|
org-clock-persist t
|
|
org-confirm-babel-evaluate nil
|
|
org-log-done (quote time)
|
|
org-startup-folded t
|
|
org-startup-truncated nil
|
|
org-global-properties (quote (("EFFORT_ALL" . "1:00 2:00 3:00 5:00 8:00 13:00")))
|
|
org-todo-keywords (quote ((sequence "OPEN" "TODO" "DOING" "|" "DONE")))
|
|
org-export-backends (quote (ascii beamer html icalendar latex md odt confluence))
|
|
org-duration-format (quote h:mm)
|
|
org-src-lang-modes (quote
|
|
(("bash" . sh)
|
|
("beamer" . latex)
|
|
("calc" . fundamental)
|
|
("dot" . fundamental)
|
|
("screen" . shell-script)
|
|
("shell" . sh)
|
|
("C" . c)
|
|
("sqlite" . sql)
|
|
("plantuml" . plantuml)
|
|
("rust" . rust)))
|
|
org-use-property-inheritance nil
|
|
org-export-with-sub-superscripts nil
|
|
org-capture-templates (quote
|
|
(("t" "Task" entry (file+headline "tasks.org" "Tasks")
|
|
"* OPEN %?\n\s %u\n\s %a")
|
|
("j" "Journal" entry (file+headline "journal.org" "Journal")
|
|
"* %<%Y-%m-%d %H:%M:%S %p %Z>\n\s %?")
|
|
("a" "Appointment today"
|
|
entry (file+headline "appointments.org" "Appointments")
|
|
"* %?\n\s %T\n")
|
|
("A" "Appointment"
|
|
entry (file+headline "appointments.org" "Appointments")
|
|
"* %?\n\s %u\n\s"))))
|
|
(org-babel-do-load-languages
|
|
'org-babel-load-languages (quote
|
|
((js . t)
|
|
(gnuplot . t)
|
|
(emacs-lisp . t)
|
|
(python . t)
|
|
(sqlite . t)
|
|
(lisp . t)
|
|
(shell . t)
|
|
(css . t)
|
|
(calc . t)
|
|
(plantuml . t)
|
|
(C . t)
|
|
(dot . t)
|
|
(go . t)
|
|
(rust . t)
|
|
(http . t)
|
|
(typescript . t)))))
|
|
|
|
(use-package helpful
|
|
:commands (helpful-callable helpful-variable helpful-command helpful-key)
|
|
:custom
|
|
(counsel-describe-function-function #'helpful-callable)
|
|
(counsel-describe-variable-function #'helpful-variable)
|
|
:bind
|
|
([remap describe-function] . counsel-describe-function)
|
|
([remap describe-command] . helpful-command)
|
|
([remap describe-variable] . counsel-describe-variable)
|
|
([remap describe-key] . helpful-key))
|
|
|
|
(use-package counsel
|
|
:bind (("C-M-j" . 'counsel-switch-buffer)
|
|
:map minibuffer-local-map
|
|
("C-r" . 'counsel-minibuffer-history))
|
|
:custom
|
|
(counsel-linux-app-format-function #'counsel-linux-app-format-function-name-only)
|
|
:config
|
|
(counsel-mode 1))
|
|
|
|
(use-package ox-reveal)
|
|
|
|
(use-package powershell)
|
|
|
|
(use-package all-the-icons)
|
|
|
|
(use-package geiser
|
|
:config
|
|
(setq geiser-active-implementations '(guile)))
|
|
|
|
(use-package racket-mode)
|
|
|
|
(use-package doom-modeline
|
|
:init (doom-modeline-mode 1))
|
|
|
|
(use-package doom-themes)
|
|
|
|
(use-package rainbow-delimiters
|
|
:hook (prog-mode . rainbow-delimiters-mode))
|