emacs.d/bundle/bundle--package.el

442 lines
13 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
:init
(add-hook 'python-mode-hook 'eglot-ensure))
(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-editing-commands
slime-sbcl-exts)))
(use-package org
:init
(org-babel-lob-ingest "~/.emacs.d/library-of-babel.org")
:custom
(org-insert-mode-line-in-empty-file t)
(org-adapt-indentation nil)
(org-agenda-prefix-format
'((agenda . " %i %-12:c%?-12t%-6e% s")
(todo . " %i %-12:c %-6e")
(tags . " %i %-12:c")
(search . " %i %-12:c")))
(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-capture-templates
'(("n" "Note" entry
(file+headline "notes.org" "Notes") "* %?\n%u\n%a\n%k\n")
("t" "Task" entry
(file+headline "planning.org" "Tasks") "* OPEN %?\n%u\n%a")
("a" "Appointment" entry
(file+headline "planning.org" "Appointments") "* %?\n%T\n"
:clock-in t)
("j" "Journal" entry
(file+olp+datetree "journal.org") "* %?\nEntered on %U\n %i\n"
:tree-type week)
("l" "Logbook" entry
(file+olp+datetree "logbook.org") "** %U - %^{Activity} :LOG:")))
(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
'(ascii beamer html icalendar latex md odt))
(org-global-properties
'(("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
'(("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
'(("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
'((sequence "OPEN" "TODO" "DOING" "|" "DONE")))
(org-use-property-inheritance nil)
:config
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(js . t)
(lisp . t)
(python . t)
(sqlite . t)
(shell . t)
(plantuml . t)
(typescript . 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)
(setq ispell-dictionary "en_US")
:hook (text-mode . flyspell-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")))
(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))
(use-package pyvenv)
(add-to-list 'auto-mode-alist '("\\.webmanifest\\'" . js-mode))
(use-package python
:mode ("\\.py\\'" . python-mode)
("\\.wsgi$" . python-mode)
:init
(setq-default indent-tabs-mode nil)
:custom
(fill-column 79)
(python-indent-offset 4))
(use-package csv-mode)
(use-package elfeed
:bind ("C-x w" . elfeed)
:init
(setq elfeed-feeds
'(("http://nullprogram.com/feed/" lisp blog)
("http://planet.sbcl.org/rss20.xml" lisp)
("https://planet.emacslife.com/atom.xml" emacs)
("https://sachachua.com/blog/category/emacs-news/feed" emacs org blog)
("https://drewdevault.com/blog/index.xml" coding golang blog)
("https://emacsredux.com/atom.xml" emacs blog)
("https://endlessparentheses.com/atom.xml" emacs elisp blog)
("https://norvig.com/rss-feed.xml" coding lisp blog)
("https://blog.mozilla.org/en/feed/" browser web)
("https://blog.codinghorror.com/rss/" coding blog)
("https://blog.chromium.org/feeds/posts/default" browser web)
("https://blog.rust-lang.org/" rust)
("https://hacks.mozilla.org/feed/" browser web)
("https://www.interaction-design.org/rss/site_news.xml" ux design)
("https://www.nngroup.com/feed/rss/" ux design)
("https://uxpamagazine.org/?feed=full" ux design)
("https://feedpress.me/UXmatters" ux design)
("https://uxmovement.com/feed" ux design)
("https://www.uxbeginner.com/feed/" ux design)
("https://jeffgothelf.com/feed/" lean ux design blog)
("https://irreal.org/blog/?feed=rss2" emacs blog)
("https://www.planetpython.org/rss20.xml" python coding)
("https://www.colinmclear.net/posts/index.xml" research emacs blog)
("https://ambrevar.xyz/atom.xml" emacs lisp blog)
("https://en.wikipedia.org/w/api.php?action=featuredfeed&feed=onthisday&feedformat=atom" general)
("https://www.phoronix.com/rss.php" linux tech news)
("https://uxwritinghub.com/feed/" ux writing blog)
("https://www.philnewton.net/blog/feed/" emacs blog)
("https://emacsredux.com/atom.xml" emacs blog)
("https://marcus3santos.github.io/index.xml" emacs blog)
("https://pragdave.me/feed.xml" coding blog)
("https://yiming.dev/rss.xml" coding emacs lisp blog)
("https://mailbox.org/share/feed-de-mailbox.xml" email mailbox web))
elfeed-search-filter "@1-week-ago +unread "))
(use-package smartparens)
(use-package org-roam
:init
(setq org-roam-v2-ack t)
(require 'org-roam-dailies)
:bind (("C-c r l" . org-roam-buffer-toggle)
("C-c r f" . org-roam-node-find)
("C-c r g" . org-roam-graph)
("C-c r i" . org-roam-node-insert)
("C-c r c" . org-roam-capture)
("C-c r j" . org-roam-dailies-map)
:map org-roam-dailies-map
("t" . org-roam-dailies-capture-today)
("y" . org-roam-dailies-capture-yesterday)
("T" . org-roam-dailies-capture-tomorrow)
:map org-mode-map
("C-M-i" . completion-at-point))
:custom
(org-roam-completion-everywhere t)
(org-roam-dailies-capture-templates
'(("d" "default" entry "* %<%R> %?"
:if-new (file+head "%<%F>.org" "#+title: %<%F>\n"))))
(org-roam-capture-templates
'(("d" "default" plain
"%?"
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n#+date: %U\n%a\n")
:unnarrowed t)
("p" "personas" plain
"%?"
:if-new (file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}\n#+date: %U\n* Personality\n* Behaviors\n* Needs & Goals\n")
:unnarrowed t)))
:config
(org-roam-db-autosync-mode))
(use-package simple-httpd)
(use-package yaml)
(use-package yaml-mode)