Files
dotfiles/doom.d/modules/personal.org
AChavali 5ee6c267a9 +goto-dotfiles function
Code cleanliness
2020-03-02 23:14:51 +00:00

2.9 KiB

Personal module

Preclude

Personal functionality that aid my workflow or are just cool.

Reload

Reload the doom session by brute force fully loading the "config.el" file in the doom private directory.

(defun oreodave/reload ()
  "Reload instance of doom"
  (interactive)
  (load-file (concat doom-private-dir "config.el")))

Change theme

Allow user to set a theme from a limited set of candidates, based on "oreodave/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:

    • Any of the base16 themes for anything other than editing code, not org. Contrast isn't good enough
    • Light themes other than Emacs default, maybe sometimes solarized-light
    • Horrid low contrast ones with no colour. Grayscale particularly. I can't handle those.
(setq oreodave/themes/theme-list '(doom-solarized-dark doom-gruvbox doom-city-lights
                                                doom-outrun-electric doom-vibrant doom-molokai
                                                doom-solarized-light doom-acario-light))

(defun oreodave/themes/set-new-theme ()
  "Set the theme from my own selection, mutate as you see fit"
  (interactive)
  (ivy-read "Select theme: "
            oreodave/themes/theme-list
            :caller 'oreodave/set-new-theme
            :action (lambda (x) ; Shamelessly copied from counsel in case of change
                      (condition-case nil
                          (progn
                            (mapc #'disable-theme custom-enabled-themes)
                            (load-theme (intern x) t)
                            (when (fboundp 'powerline-reset)
                              (powerline-reset)))
                        (error "Problem loading theme %s" x)))))

Password store

Function to get a password given a key.

(defun oreodave/password-store/get-password (KEY)
  (shell-command-to-string (concat "pass " KEY)))

Weather

Function to quickly check weather, which is what I wanted wttrin for.

(defun oreodave/weather ()
  "Check the weather at the 'location' stored in password store"
  (interactive)
  (wttrin (oreodave/password-store/get-password "location")))

Go to dotfiles

A better version of 'goto private directory' which actually goes to my Dot files directory overall.

(defun oreodave/goto-dotfiles ()
  "Go to the dotfiles directory"
  (interactive)
  (doom-project-find-file "~/Dotfiles"))