completing-read for icomplete-mode but also because it allows others to use it, regardless of completion framework of choice
83 lines
2.8 KiB
Org Mode
83 lines
2.8 KiB
Org Mode
#+TITLE: Personal module
|
|
|
|
* Preclude
|
|
Personal functionality or variables that aid my workflow or are just cool.
|
|
* Variables
|
|
Some user variables
|
|
#+BEGIN_SRC elisp
|
|
(setq user-full-name "Aryadev Chavali"
|
|
user-mail-address "aryadevchavali1@gmail.com")
|
|
#+END_SRC
|
|
* Reload
|
|
Reload the doom session by brute force fully loading the "config.el" file in the
|
|
doom private directory.
|
|
#+BEGIN_SRC elisp
|
|
(defun dx:reload ()
|
|
"Reload instance of doom"
|
|
(interactive)
|
|
(load-file (concat doom-private-dir "config.el")))
|
|
#+END_SRC
|
|
* Change theme
|
|
Allow user to set a theme from a limited set of candidates, based on
|
|
"dx:theme-list".
|
|
|
|
- Themes sanctioned by me:
|
|
- doom-solarized-dark: just the right everything. best for day.
|
|
- doom-gruvbox: good contrast, better for night.
|
|
- doom-city-lights: Eh contrast, quite dark
|
|
- doom-outrun-electric: Interesting colour palette
|
|
- doom-vibrant: Good contrast, bit lighter
|
|
- doom-molokai: hacker style
|
|
- doom-solarized-light: Light orange theme that's actually okay on the eyes
|
|
- doom-acario-light: Light theme with not bad colours
|
|
- Themes not sanctioned:
|
|
- Light themes other than solarized-light and acario
|
|
- Horrid low contrast ones with no colour. Grayscale particularly. I can't
|
|
handle those.
|
|
|
|
#+BEGIN_SRC elisp
|
|
(setq dx:themes/theme-list '(doom-solarized-dark
|
|
doom-gruvbox doom-city-lights
|
|
doom-outrun-electric doom-vibrant doom-molokai
|
|
doom-solarized-light doom-acario-light
|
|
base16-3024 base16-classic-dark base16-material-vivid))
|
|
|
|
(defun dx:themes/set-new-theme ()
|
|
"Set the theme from my own selection, mutate as you see fit"
|
|
(interactive)
|
|
(let ((theme (completing-read "Select theme: " dx:themes/theme-list)))
|
|
(condition-case nil
|
|
(progn
|
|
(mapc #'disable-theme custom-enabled-themes)
|
|
(load-theme (intern theme) t)
|
|
(when (fboundp 'powerline-reset)
|
|
(powerline-reset)))
|
|
(error "Problem loading theme %s" theme))))
|
|
#+END_SRC
|
|
* Password store
|
|
Function to get a password given a key.
|
|
#+BEGIN_SRC elisp
|
|
(defun dx:password-store/get-password (KEY)
|
|
(shell-command-to-string (concat "pass " KEY)))
|
|
#+END_SRC
|
|
* Weather
|
|
Function to quickly check weather, which is what I wanted wttrin for.
|
|
#+BEGIN_SRC elisp
|
|
(defun dx:weather ()
|
|
"Check the weather at the 'location' stored in password store"
|
|
(interactive)
|
|
(wttrin (dx:password-store/get-password "location")))
|
|
#+END_SRC
|
|
* Newline
|
|
Insert a newline without having to exit normal mode!
|
|
#+BEGIN_SRC elisp
|
|
(defun dx:newline (&optional BACKWARD)
|
|
(interactive)
|
|
(message "%s" BACKWARD)
|
|
(let ((old (point)))
|
|
(cond ((and BACKWARD (= BACKWARD 1)) (+default/newline-above))
|
|
(t (+default/newline-below)))
|
|
(goto-char (+ old 1))
|
|
(evil-normal-state)))
|
|
#+END_SRC
|