about summary refs log tree commit diff
path: root/configs
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-01-06T14·58+0000
committerWilliam Carroll <wpcarro@gmail.com>2020-01-17T10·56+0000
commit069ca630828435280cd41e30d3e75057180f333c (patch)
tree7d3e0d9f438386b9af284ea13412282abff8e319 /configs
parent7175d230c2cb2e5d90a25bcbd012ed75eaa96860 (diff)
WIP: Nixify Emacs setup
The things that I dislike about this setup are:
1. `xref-find-definitions` takes me to `/nix/store`, which is a read-only
version of the source code, so I cannot edit it, which doesn't feel lispy.

2. I need to rebuild the derivation when I change something, which also doesn't
feel lispy.

There are ways to circumvent both of these drawbacks, but for now, I'm checking
this in only to later revert it.
Diffstat (limited to 'configs')
-rw-r--r--configs/shared/.emacs.d/init.el10
-rw-r--r--configs/shared/.emacs.d/wpc/packages/wpc-misc.el2
-rw-r--r--configs/shared/.xsessionrc.shared7
3 files changed, 14 insertions, 5 deletions
diff --git a/configs/shared/.emacs.d/init.el b/configs/shared/.emacs.d/init.el
index e07157c70f3f..c02b56f3f864 100644
--- a/configs/shared/.emacs.d/init.el
+++ b/configs/shared/.emacs.d/init.el
@@ -1,4 +1,8 @@
 (require 'wpc-package "~/.emacs.d/wpc/packages/wpc-package.el")
+(require 'f)
+(setq user-init-file (or load-file-name (buffer-file-name)))
+(setq user-emacs-directory (f-dirname user-init-file))
+;; TODO: Troubleshoot broken terminator.
 
 ;; load order is intentional
 (require 'constants)
@@ -11,7 +15,7 @@
 (require 'kaomoji)
 
 ;; Google
-(require 'google-stuff)
+;; (require 'google-stuff)
 
 ;; Laptop XF-functionality
 (require 'pulse-audio)
@@ -41,7 +45,7 @@
 (require 'wpc-lisp)
 (require 'wpc-haskell)
 (require 'wpc-reasonml)
-(require 'wpc-ocaml)
+;; (require 'wpc-ocaml)
 (require 'wpc-elixir)
 (require 'wpc-nix)
 (require 'wpc-rust)
@@ -50,3 +54,5 @@
 (require 'wpc-javascript)
 (require 'wpc-java)
 (require 'wpc-prolog)
+
+(run-hooks 'after-init-hook)
diff --git a/configs/shared/.emacs.d/wpc/packages/wpc-misc.el b/configs/shared/.emacs.d/wpc/packages/wpc-misc.el
index a6b1aab50b55..8af54c36ca80 100644
--- a/configs/shared/.emacs.d/wpc/packages/wpc-misc.el
+++ b/configs/shared/.emacs.d/wpc/packages/wpc-misc.el
@@ -13,7 +13,7 @@
 (display-time-mode 1)
 
 ;; disable custom variable entries from being written to ~/.emacs.d/init.el
-(setq custom-file "~/.emacs.d/custom.el")
+(setq custom-file "/tmp/custom.el")
 (load custom-file 'noerror)
 
 ;; integrate Emacs with X11 clipboard
diff --git a/configs/shared/.xsessionrc.shared b/configs/shared/.xsessionrc.shared
index 5c9da5b5a3be..f0f8355a820d 100644
--- a/configs/shared/.xsessionrc.shared
+++ b/configs/shared/.xsessionrc.shared
@@ -26,7 +26,7 @@ tmux new -d -s main
 
 # Start the Emacs server
 # TODO: Consider starting this with `systemctl --user enable emacs.service`
-emacs --daemon
+# emacs --daemon
 
 # Start ssh-agent
 eval "$(ssh-agent -s)"
@@ -42,4 +42,7 @@ compton &
 unclutter &
 
 # Startup Emacs (and EXWM).
-exec dbus-launch --exit-with-session emacs
+# TODO: Does this prevent the Emacs server (i.e. `emacs --daemon`) from running?
+# NOTE: wpcarros-emacs is built with `nix-env -iA emacs -f .` from
+# `CWD=~/Dropbox/dotfiles`
+exec dbus-launch --exit-with-session wpcarros-emacs