326 lines
9.2 KiB
EmacsLisp
326 lines
9.2 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 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 magit)
|
|
|
|
(use-package all-the-icons
|
|
:if (display-graphic-p)
|
|
:commands all-the-icons-install-fonts
|
|
:init
|
|
(unless (find-font (font-spec :name "all-the-icons"))
|
|
(all-the-icons-install-fonts t)))
|
|
|
|
(use-package all-the-icons-dired
|
|
:if (display-graphic-p)
|
|
:hook (dired-mode . all-the-icons-dired-mode))
|
|
|
|
(use-package ivy
|
|
:bind (("C-s" . swiper))
|
|
:init
|
|
(ivy-mode 1))
|
|
|
|
(use-package olivetti
|
|
:custom (olivetti-body-width 89))
|
|
|
|
(use-package shrface
|
|
:config
|
|
(shrface-basic)
|
|
(shrface-trial)
|
|
(shrface-default-keybindings)
|
|
(setq shrface-href-versatile t
|
|
shrface-toggle-bullets t
|
|
shr-width nil))
|
|
|
|
(use-package eww
|
|
:init
|
|
(add-hook 'eww-after-render-hook #'shrface-mode)
|
|
:config
|
|
(require 'shrface)
|
|
(setq shr-use-colors nil
|
|
shr-use-fonts nil
|
|
shr-cookie-policy nil
|
|
browse-url-browser-function (quote eww-browse-url)))
|
|
|
|
(use-package nov
|
|
:hook (nov-mode . olivetti-mode)
|
|
:init
|
|
(add-hook 'nov-mode-hook #'shrface-mode)
|
|
:config
|
|
(require 'shrface)
|
|
(setq nov-shr-rendering-functions '((img . nov-render-img) (title . nov-render-title)))
|
|
(setq nov-shr-rendering-functions (append nov-shr-rendering-functions shr-external-rendering-functions))
|
|
(setq nov-text-width nil
|
|
nov-variable-pitch nil))
|
|
|
|
(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 eglot)
|
|
|
|
(use-package go-mode
|
|
:hook (go . eglot-ensure)
|
|
:init
|
|
(add-hook 'before-save-hook #'gofmt-before-save))
|
|
|
|
(use-package rust-mode
|
|
:hook (rust . eglot-ensure))
|
|
|
|
(use-package typescript-mode
|
|
:hook (typescript . eglot-ensure))
|
|
|
|
(use-package ob-go)
|
|
(use-package ob-http)
|
|
(use-package ob-rust)
|
|
(use-package ob-typescript)
|
|
|
|
(use-package web-mode
|
|
;; :hook html-mode
|
|
:mode "\\.html?\\'"
|
|
:custom
|
|
(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))
|
|
|
|
(use-package slime
|
|
:custom
|
|
(slime-autodoc-use-multiline-p 1)
|
|
:config
|
|
(setq inferior-lisp-program (executable-find "sbcl"))
|
|
(slime-setup '(slime-autodoc
|
|
slime-fancy
|
|
slime-asdf
|
|
slime-indentation
|
|
slime-sbcl-exts
|
|
slime-company)))
|
|
|
|
(use-package org
|
|
:init
|
|
(org-babel-lob-ingest "~/.emacs.d/library-of-babel.org")
|
|
:custom
|
|
(org-adapt-indentation t)
|
|
(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)
|
|
(org-babel-shell-names (quote
|
|
("sh" "bash" "csh" "ash" "dash" "ksh" "mksh" "posh")))
|
|
(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" entry (file+headline "appointments.org" "Appointments") "* %?\n\s %T\n"))))
|
|
(org-clock-out-remove-zero-time-clocks t)
|
|
(org-clock-persist t)
|
|
(org-clock-rounding-minutes 30)
|
|
(org-confirm-babel-evaluate nil)
|
|
(org-duration-format (quote h:mm))
|
|
(org-export-with-sub-superscripts nil)
|
|
(org-export-dispatch-use-expert-ui nil)
|
|
(org-export-backends (quote
|
|
(ascii beamer html icalendar latex md odt)))
|
|
(org-global-properties (quote
|
|
(("EFFORT_ALL" . "1:00 2:00 3:00 5:00 8:00 13:00"))))
|
|
(org-html-doctype "html5")
|
|
(org-html-html5-fancy t)
|
|
(org-html-htmlize-output-type nil)
|
|
(org-latex-pdf-process (quote
|
|
("latexmk -xelatex -shell-escape -quiet -f %f")))
|
|
(org-latex-compiler "xelatex")
|
|
(org-latex-listings t)
|
|
(org-log-done (quote time))
|
|
(org-refile-targets '((nil :maxlevel . 3)))
|
|
(org-startup-folded t)
|
|
(org-startup-truncated nil)
|
|
(org-src-fontify-natively t)
|
|
(org-src-tab-acts-natively t)
|
|
(org-src-window-setup 'other-window)
|
|
(org-src-lang-modes (quote
|
|
(("bash" . sh)
|
|
("elisp" . emacs-lisp)
|
|
("beamer" . latex)
|
|
("calc" . fundamental)
|
|
("dot" . fundamental)
|
|
("screen" . shell-script)
|
|
("shell" . sh)
|
|
("C" . c)
|
|
("sqlite" . sql)
|
|
("scheme" . racket)
|
|
("plantuml" . plantuml))))
|
|
(org-time-stamp-rounding-minutes '(30 30))
|
|
(org-todo-keywords (quote
|
|
((sequence "OPEN" "TODO" "DOING" "|" "DONE"))))
|
|
(org-use-property-inheritance nil)
|
|
:config
|
|
(org-babel-do-load-languages
|
|
'org-babel-load-languages (quote
|
|
((emacs-lisp . t)
|
|
(js . t)
|
|
(lisp . t)
|
|
(python . t)
|
|
(sqlite . t)
|
|
(shell . t)
|
|
(plantuml . t)
|
|
(http . 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 ox-reveal)
|
|
|
|
(use-package powershell)
|
|
|
|
;; (use-package geiser
|
|
;; :config
|
|
;; (setq geiser-active-implementations '(racket)))
|
|
|
|
;; (use-package geiser-racket)
|
|
|
|
;; (use-package racket-mode)
|
|
|
|
(use-package doom-modeline
|
|
:init (doom-modeline-mode 1))
|
|
|
|
(use-package doom-themes
|
|
:init (load-theme 'doom-nord t))
|
|
|
|
(use-package rainbow-delimiters
|
|
:hook (prog-mode . rainbow-delimiters-mode))
|
|
|
|
(use-package flyspell
|
|
:config
|
|
(add-hook 'text-mode-hook #'flyspell-mode)
|
|
;;(add-hook 'prog-mode-hook #'flyspell-prog-mode)
|
|
)
|
|
|
|
(use-package org-tree-slide
|
|
:custom
|
|
(org-image-actual-width nil))
|
|
|
|
(use-package ace-window)
|
|
|
|
(use-package markdown-mode)
|
|
|
|
(use-package yaml-mode)
|
|
|
|
(use-package webpaste)
|
|
|
|
(use-package slime-company
|
|
:after (slime company)
|
|
:custom (slime-company-after-completion 'slime-company-just-one-space))
|
|
|
|
(use-package erc
|
|
:custom
|
|
(erc-track-shorten-start 8)
|
|
(erc-kill-buffer-on-part t)
|
|
(erc-auto-query 'bury)
|
|
(erc-hide-list '("JOIN" "PART" "QUIT"))
|
|
(erc-network-hide-list '(("irc.libera.chat" "JOIN" "PART" "QUIT")))
|
|
(erc-channel-hide-list '(("#emacs" "JOIN" "PART" "QUIT")))
|
|
(erc-rename-buffers t)
|
|
(erc-autojoin-channels-alist '(("libera.chat" "#emacs" "#commonlisp")))
|
|
(erc-interpret-mirc-color t)
|
|
(erc-modules '(autojoin
|
|
button
|
|
completion
|
|
fill
|
|
irccontrols
|
|
list
|
|
match
|
|
menu
|
|
move-to-prompt
|
|
netsplit
|
|
networks
|
|
noncommands
|
|
notifications
|
|
readonly
|
|
ring
|
|
stamp
|
|
track
|
|
truncate)))
|
|
|
|
(use-package erc-image
|
|
:after erc
|
|
:custom (erc-image-inline-rescale 300)
|
|
:config (add-to-list 'erc-modules 'image))
|
|
|
|
(use-package emojify
|
|
:hook (erc-mode . emojify-mode)
|
|
:commands emojify-mode)
|
|
|
|
(use-package org-web-tools
|
|
:custom (org-web-tools-pandoc-sleep-time 0.4))
|
|
|
|
(use-package webjump
|
|
:bind ("C-c j" . webjump)
|
|
:custom
|
|
(webjump-sites
|
|
(append '(("Wikipedia_de" . [simple-query
|
|
"de.wikipedia.org"
|
|
"https://de.wikipedia.org/wiki/" ""]))
|
|
webjump-sample-sites)))
|
|
|
|
(use-package plantuml-mode
|
|
:mode "\\.puml?\\'")
|
|
|
|
(use-package unicode-fonts
|
|
:config
|
|
(unicode-fonts-setup))
|