2020-01-30 17:00:29 +01:00
|
|
|
(require 'wpc-package)
|
2019-10-09 13:13:56 +02:00
|
|
|
|
|
|
|
;; load order is intentional
|
|
|
|
(require 'constants)
|
|
|
|
(require 'wpc-misc)
|
|
|
|
|
|
|
|
;; my libraries
|
|
|
|
(require 'functions)
|
|
|
|
(require 'prelude)
|
|
|
|
(require 'macros)
|
|
|
|
(require 'kaomoji)
|
|
|
|
|
|
|
|
;; Google
|
2020-01-27 15:50:09 +01:00
|
|
|
;; (require 'google-stuff)
|
2019-10-09 13:13:56 +02:00
|
|
|
|
|
|
|
;; Laptop XF-functionality
|
|
|
|
(require 'pulse-audio)
|
|
|
|
(require 'screen-brightness)
|
|
|
|
|
|
|
|
;; miscellaneous
|
|
|
|
(require 'clipboard)
|
|
|
|
(require 'battery)
|
|
|
|
(require 'dotfiles)
|
|
|
|
(require 'bookmark)
|
|
|
|
(require 'keyboard)
|
2019-12-24 14:38:06 +01:00
|
|
|
(require 'irc)
|
2019-12-23 11:55:21 +01:00
|
|
|
(require 'email)
|
2020-01-18 17:58:43 +01:00
|
|
|
;; TODO: Consider renaming entr.el.
|
|
|
|
(require 'entr)
|
2020-01-20 17:48:42 +01:00
|
|
|
(require 'scrot)
|
2020-02-02 13:13:33 +01:00
|
|
|
(require 'timestring)
|
2020-01-30 17:00:29 +01:00
|
|
|
|
2020-01-27 15:51:22 +01:00
|
|
|
;; TODO: Remove path once published to MELPA.
|
2020-01-30 17:00:29 +01:00
|
|
|
;; TODO: How can I package this using Nix?
|
|
|
|
;; (require 'egg-timer "~/programming/egg-timer.el/egg-timer.el")
|
2019-10-09 13:13:56 +02:00
|
|
|
|
2020-01-20 13:14:35 +01:00
|
|
|
;; TODO: Reconcile kbd.el, keybindings.el, wpc-keybindings.el, keyboard.el.
|
2019-10-09 13:13:56 +02:00
|
|
|
(require 'wpc-keybindings)
|
Require keybindings.el after wpc-keybindings.el
keybindings.el calls (require 'evil-ex), which I introduced in this commit...
0456a1c4b4405da2681296b2250681454637d80f
...calling (require 'evil-ex) loads evil. When evil is loaded before
evil-want-integration is set to nil, evil-collection writes to *Warnings* when
Emacs initializes, which I find noisy. This commit ensures the
evil-want-integration is set to nil before evil is loaded, which appeases
evil-collection and thus removes the warning message.
Bonus:
If you git checkout the previous commit, and attempt to run the KBDs...
- `SPC g s`: magit-status
- `s h`: evil-window-vsplit
...from a buffer whose major-mode is dired-mode, you should notice that the
above functions won't execute.
Strangely though, if you look at this commit...
37f8ca04f29ea9bf988b2277c42f3e264d7a89e1
...I fixed these issues. Well I introduced a regression when I added 0456a1c.
My current guess is that when evil-collection complains about
evil-want-integration, it is breaking the evaluation sequence of my init.el
file. wpc-dired.el is downstream from wpc-keybindings.el, which requires
evil-collection. Perhaps no modules required after wpc-keybindings.el are
evaluated after evil-collection warns about evil-want-integration. Even if that
assumption is wrong, what I do know is that this commit fixes the
evil-collection warning and restores the KBDs for dired-mode-map.
Here's to feeding two birds with one scone!
2020-02-17 23:35:53 +01:00
|
|
|
(require 'keybindings)
|
2019-10-09 13:13:56 +02:00
|
|
|
(require 'window-manager)
|
|
|
|
(require 'wpc-ui)
|
|
|
|
(require 'wpc-dired)
|
|
|
|
(require 'wpc-terminal)
|
|
|
|
(require 'wpc-org)
|
|
|
|
(require 'wpc-company)
|
Temporarily disable flycheck
TL;DR:
Problem: I ran into a bug where my computer wallpaper was changing every five
seconds whenever my init.el file was open and I was typing in it.
Short-term solution: Disable flycheck.
Long-term solution: Disable flycheck just for Elisp or just for init.el in
Elisp.
Post Mortem:
Warning: If you have flycheck-emacs-lisp-initialize-packages set to auto or
really anything other than nil, than the emacs-lisp flycheck-checker will spin
up a new Emacs instance, and evaluate all of the Elisp in init.el.
Why does this matter? Well, if like me, you have code anywhere in your
init.el (and any files downstream from init.el), that code will get evaluated
not just twice. But countless times... tens, hundreds, w/e. So... while you
might think you have code that is just running at startup this code will be
called incessantly.
As a dramatic, contrived example, if you had something like...
```elisp
(bank/send :amount 100 :to "wpcarro@gmail.com")
```
...anywhere in that your init.el would evaluate, you may end up sending
wpcarro@gmail.com millions of dollars. To make debugging this problem a bit more
complicated is that because this runs in a separate Emacs instance, you can't do
something like...
```elisp
(defvar already-evaluated? nil)
(unless already-evaluated? (bank/send :amount 100 :to "wpcarro@gmail.com"))
(setq already-evaluated? t)
```
...since the `already-evaluated?` variable will be local to the Emacs
instance. So if you needed a mechanism to ensure code like this runs only once,
you would need a way to share this semaphore across Emacs instances --
e.g. writing to and reading from disk.
2019-12-23 11:38:27 +01:00
|
|
|
;; TODO: Re-enable flycheck for all languages besides Elisp once I learn more
|
|
|
|
;; about the issue with the `emacs-lisp' `flycheck-checker'.
|
|
|
|
;; (require 'wpc-flycheck)
|
2019-10-09 13:13:56 +02:00
|
|
|
(require 'wpc-shell)
|
|
|
|
(require 'wpc-docker)
|
|
|
|
(require 'wpc-lisp)
|
|
|
|
(require 'wpc-haskell)
|
|
|
|
(require 'wpc-reasonml)
|
2020-02-06 00:33:29 +01:00
|
|
|
;; (require 'wpc-ocaml)
|
2019-10-09 13:13:56 +02:00
|
|
|
(require 'wpc-elixir)
|
|
|
|
(require 'wpc-nix)
|
|
|
|
(require 'wpc-rust)
|
|
|
|
(require 'wpc-clojure)
|
|
|
|
(require 'wpc-python)
|
|
|
|
(require 'wpc-javascript)
|
|
|
|
(require 'wpc-java)
|
2019-12-22 21:57:01 +01:00
|
|
|
(require 'wpc-prolog)
|
2020-02-01 00:15:01 +01:00
|
|
|
(require 'wpc-golang)
|