Browse Source

Add exwm class names

main
parent
commit
8d3b6df814
  1. 18
      README.org
  2. 30
      init.el
  3. 4
      modules/desktop.org

18
README.org

@ -46,15 +46,6 @@ To highlight some of the features available out of the box:
3. Loads the host definition file at ~$HOME/.emacs.d/host/$HOSTNAME~
4. Lodas the enabled modules in ~dotfiles/modules~
** Startup
This project makes heavy use of modern features and libraries. Since *Babel's* used in initialization, *Org* must load prior to importing any of custom modules. This introduces a unique *chicken before the egg* problem. My solution included some initialization code in *Emacs Lisp* called before using any *Babel* APIs.
#+begin_src emacs-lisp
(load-file "~/.emacs.d/bin/cleanup.el")
(load-file "~/.emacs.d/bin/packages.el")
#+end_src
** Options
Here's a complete list of all of the options configurable for each host, and their default values. All variables prefixed with ~dotfiles/~. If you need to make configurations to another variable, consider creating a new option.
@ -125,6 +116,15 @@ Here's a complete list of all of the options configurable for each host, and the
"GPG key to encrypt org files for.")
#+end_src
** Startup
This project makes heavy use of modern features and libraries. Since *Babel's* used in initialization, *Org* must load prior to importing any of custom modules. This introduces a unique *chicken before the egg* problem. My solution included some initialization code in *Emacs Lisp* called before using any *Babel* APIs.
#+begin_src emacs-lisp
(load-file "~/.emacs.d/bin/cleanup.el")
(load-file "~/.emacs.d/bin/packages.el")
#+end_src
* Hosts machines
Each host machines configuration loaded immediately after declaring the options, before applying any configuration. This allows system to system control while remaining immutable. Override any of the available options configurations in a host file. Here's some examples to get started:

30
init.el

@ -1,11 +1,3 @@
;; Startup
;; This project makes heavy use of modern features and libraries. Since *Babel's* used in initialization, *Org* must load prior to importing any of custom modules. This introduces a unique *chicken before the egg* problem. My solution included some initialization code in *Emacs Lisp* called before using any *Babel* APIs.
(load-file "~/.emacs.d/bin/cleanup.el")
(load-file "~/.emacs.d/bin/packages.el")
;; Options
;; Here's a complete list of all of the options configurable for each host, and their default values. All variables prefixed with ~dotfiles/~. If you need to make configurations to another variable, consider creating a new option.
@ -75,6 +67,14 @@
"37AB1CB72B741E478CA026D43025DCBD46F81C0F"
"GPG key to encrypt org files for.")
;; Startup
;; This project makes heavy use of modern features and libraries. Since *Babel's* used in initialization, *Org* must load prior to importing any of custom modules. This introduces a unique *chicken before the egg* problem. My solution included some initialization code in *Emacs Lisp* called before using any *Babel* APIs.
(load-file "~/.emacs.d/bin/cleanup.el")
(load-file "~/.emacs.d/bin/packages.el")
;; Hosts machines
;; Each host machines configuration loaded immediately after declaring the options, before applying any configuration. This allows system to system control while remaining immutable. Override any of the available options configurations in a host file. Here's some examples to get started:
@ -87,9 +87,9 @@
;; Begin the process by loading any host specific overrides. The host configuration tangles, and loads (if it exist) using the systems name.
(let ((host-file (concat dotfiles/home "/hosts/" system-name ".org")))
(when (file-exists-p host-file)
(org-babel-load-file host-file)))
(let ((host-file (concat dotfiles/home "/hosts/" system-name ".org")))
(when (file-exists-p host-file)
(org-babel-load-file host-file)))
;; Module directory
@ -108,7 +108,7 @@
;; By default all of the modules will load, override the variable ~dotfiles/modules~ in a host configuration to override this.
(dolist (m dotfiles/modules)
(let ((mod-file (concat dotfiles/home "/modules/" (symbol-name m) ".org")))
(when (file-exists-p mod-file)
(org-babel-load-file mod-file))))
(dolist (m dotfiles/modules)
(let ((mod-file (concat dotfiles/home "/modules/" (symbol-name m) ".org")))
(when (file-exists-p mod-file)
(org-babel-load-file mod-file))))

4
modules/desktop.org

@ -105,7 +105,7 @@ Place keybindings for executing shell commands behind =SPC x=.
"xz" '(async-shell-command :which-key "Async"))
#+end_src
* Initialization
* Configuration
Connect our custom hooks and configure the input keys, a custom layer for key capture layers.
@ -124,7 +124,6 @@ Place keybindings for executing shell commands behind =SPC x=.
:custom (exwm-workspace-show-all-buffers t)
(exwm-input-prefix-keys
'(?\M-x
?\C-c
?\C-g
?\C-\ ))
(exwm-input-global-keys
@ -139,6 +138,7 @@ Place keybindings for executing shell commands behind =SPC x=.
(exwm-randr-enable)
(add-hook 'exwm-init-hook #'dotfiles/init-hook)
(add-hook 'exwm-randr-screen-change-hook #'dotfiles/update-display)
(add-hook 'exwm-update-class-hook (lambda () (exwm-workspace-rename-buffer exwm-class-name)))
(dotfiles/update-display)
(exwm-enable))
#+end_src

Loading…
Cancel
Save