5.7 KiB
Other Configurations/Packages
- Intro
- Ido
- EWW
- PDF-Tools
- Fancy Battery
- Rainbow Delimiter
- Org Tree Slide
- Emacs Shell
- Undo Tree
- Password store
- Nov.el
- Elgrep
- Abbrev
- Pinentry
- Telega
- Elfeed Web
Intro
This is where other packages are configured, that are very short, not worthy of their own file
Ido
Ido is a autocomplete package for emacs' commands
(use-package ido
:custom
(ido-virtual-buffers t)
(ido-use-faces t)
:config
(ido-everywhere t)
(ido-mode 1))
EWW
Emacs Web WOWSER! This config just sets the download directory
(use-package eww
:custom
(eww-download-directory "~/dls" "location to put downloaded files")
(eww-search-prefix "https://lite.duckduckgo.com/lite/?q=" "prefix url to do search"))
PDF-Tools
PDF-Tools is a emacs package that provides better PDF support to emacs. It is faster, and less resource intensive compared to Emacs' PDFView mode
(use-package pdf-tools
;; :hook "\\.pdf\\'"
:config
(pdf-loader-install)
:hook
(pdf-major-mode . (lambda () (fringe-mode 0)))
(pdf-outline-buffer-mode . (lambda ()
(display-line-numbers-mode -1))))
Fancy Battery
This shows the battery level on the emacs modeline
(use-package fancy-battery
:commands
fancy-battery-mode
:bind
("s-b b" . fancy-battery-mode))
Rainbow Delimiter
color delimiters (parentheses, brackets, braces, etc) according to their level/depth.
(use-package rainbow-delimiters
:hook ((emacs-lisp-mode . rainbow-delimiters-mode)
(prog-mode . rainbow-delimiters-mode)))
Org Tree Slide
do presentations in Org mode
(use-package org-tree-slide
:after org
:commands
org-tree-slide-mode
:config
(define-key org-tree-slide-mode-map (kbd "<f8>") 'org-tree-slide-mode-next-tree)
(define-key org-tree-slide-mode-map (kbd "<f9>") 'org-tree-slide-move-next-tree))
Emacs Shell
History
(add-hook 'eshell-expand-input-functions 'eshell-expand-history-references)
Autocomplete
setup EShell's tab completion to be like bash's
(add-hook 'eshell-mode-hook (lambda () (setq pcomplete-cycle-completions nil)))
(setq eshell-cmpl-cycle-completions nil)
Prompt
This sets the prompt to a lambda, for aesthetic reasons
(setq eshell-prompt-function
(lambda nil
(concat
(propertize (concat
"\n# "
(user-login-name)
"@"
(car (split-string system-name "\\."))
":"
(file-name-nondirectory (eshell/pwd))
(if (= (user-uid) 0) " #λ" " λ"))
'face `(:inherit 'eshell-prompt :weight bold))
(propertize " " 'face `(:inherit default)))))
(setq eshell-highlight-prompt nil)
Undo Tree
a visualizer for Emacs' cool but confusing undo/history system
(use-package undo-tree
:diminish
:custom
(undo-tree-history-directory-alist `(("." . ,(expand-file-name "cache" user-emacs-directory))) ".undo-tree files dir")
:config
(global-undo-tree-mode))
Password store
; (use-package password-store)
; (use-package pass)
Nov.el
Mode to read epub files
(use-package nov
:mode ("\\.epub\\'" . nov-mode))
Elgrep
a built in grep command in emacs
(use-package elgrep
:commands elgrep)
Abbrev
Abbrev is helpful for typing long commands, but I don't need to know it in the modeline
(diminish 'abbrev)
Pinentry
use emacs' internal pinentry
(use-package pinentry
:config
;; let's get encryption established
(setenv "GPG_AGENT_INFO" nil) ;; use emacs pinentry
(setq auth-source-debug t)
(setq epg-gpg-program "gpg2") ;; not necessary
(require 'epa-file)
(epa-file-enable)
(setq epa-pinentry-mode 'loopback)
(pinentry-start)
(require 'org-crypt)
(org-crypt-use-before-save-magic))
Telega
Telegram chat client for Emacs
(use-package telega
:commands telega
:pin "melpa-stable"
:custom
(telega-directory (expand-file-name "telega" user-emacs-directory) "set telega runtime files to be inside user-emacs-directory")
(telega-use-images t)
(telega-emoji-font-family "Noto Color Emoji")
(telega-emoji-use-images nil))
Elfeed Web
Elfeed is a emacs package for reading RSS Web News.
(use-package elfeed
:commands
elfeed
elfeed-update
:custom
(elfeed-db-directory (expand-file-name "elfeed" user-emacs-directory)
"location for elfeed to put it's database")
(elfeed-feeds '(("https://feeds.bbci.co.uk/news/technology/rss.xml" bbc technology)
("https://feeds.feedburner.com/rsscna/engnews" taiwan central focustaiwan)
("https://hnrss.org/frontpage.atom" hacker)
("https://www.kernel.org/feeds/kdist.xml" linux kernel)
("https:/hund.tty1.se/feed.xml" hund blog)
("https://opensource.com/feed" opensource)
("https://rss.slashdot.org/Slashdot/slashdot" slashdot technology)
("https://www.cnet.com/rss/news/" cnet technology))
"links to the news sources and keywords associated to them"))