Browse Source

Add output comments

main
parent
commit
7e9dc8cad9
  1. 79
      init.el

79
init.el

@ -1,3 +1,10 @@
;; Options
;; Here's a complete list of all of the options configurable for each host, and their default values. If a host configuration does not exist, the default values will remain.
;; Configure the system font with a single ~font-family~ and define the size, of which variations to the font size are relative to this value.
(defvar dotfiles/font (defvar dotfiles/font
"Fira Code" "Fira Code"
"Unified system font family, used on all font faces.") "Unified system font family, used on all font faces.")
@ -6,60 +13,128 @@
96 96
"Unified font size, of which all variations are relative to.") "Unified font size, of which all variations are relative to.")
;; Used by the desktop module to find the appropriate browser.
(defvar dotfiles/browser (defvar dotfiles/browser
(getenv "BROWSER") (getenv "BROWSER")
"The default browser used by the system.") "The default browser used by the system.")
;; Used by the writing module to determine the system language.
(defvar dotfiles/language (defvar dotfiles/language
(getenv "LANG") (getenv "LANG")
"The default system language.") "The default system language.")
;; All of the available modules defined in the ~dotfiles/modules-available~ constant.
(defconst dotfiles/modules-available (defconst dotfiles/modules-available
'(core editor desktop writing projects interface) '(core editor desktop writing projects interface)
"All of the available modules for hosts to load.") "All of the available modules for hosts to load.")
;; Add the modules you want to initialize to the ~dotfiles/modules~ variable.
(defvar dotfiles/modules (defvar dotfiles/modules
dotfiles/modules-available dotfiles/modules-available
"Enabled modules, modify this in your host configuration.") "Enabled modules, modify this in your host configuration.")
;; Specify the emacs home, and the cache directory.
(defvar dotfiles/home (defvar dotfiles/home
user-emacs-directory user-emacs-directory
"Original value of `user-emacs-directory'.") "Original value of `user-emacs-directory'.")
;; Used to seperate the immutable configuration from the stateful package files.
(defvar dotfiles/cache (defvar dotfiles/cache
(expand-file-name "~/.cache/emacs") (expand-file-name "~/.cache/emacs")
"Where `user-emacs-directory' redirects to.") "Where `user-emacs-directory' redirects to.")
;; Functionality like =completion= and =hints= delayed to avoid popups for common manuevers.
(defvar dotfiles/idle (defvar dotfiles/idle
0.0 0.0
"Length of time to wait before offering completions.") "Length of time to wait before offering completions.")
;; Required for the all powerful leader key.
(defvar dotfiles/leader-key (defvar dotfiles/leader-key
"SPC" "SPC"
"Custom leader key for custom actions.") "Custom leader key for custom actions.")
;; The desktop module requires the global leader key set.
(defvar dotfiles/leader-key-global (defvar dotfiles/leader-key-global
(concat "C-" dotfiles/leader-key) (concat "C-" dotfiles/leader-key)
"Global leader key available everywhere.") "Global leader key available everywhere.")
;; Define where the source repositories exist on disk, for integration with the projects module.
(defvar dotfiles/projects (defvar dotfiles/projects
(expand-file-name "~/.local/source/") (expand-file-name "~/.local/source/")
"Location where source code projects exist on disk.") "Location where source code projects exist on disk.")
;; Where the password store exists on disk.
(defvar dotfiles/passwords (defvar dotfiles/passwords
(expand-file-name "~/.password-store/") (expand-file-name "~/.password-store/")
"Directory containing the password store.") "Directory containing the password store.")
;; Configure the public GPG key that Emacs will encrypt files to.
(defvar dotfiles/public-key (defvar dotfiles/public-key
"37AB1CB72B741E478CA026D43025DCBD46F81C0F" "37AB1CB72B741E478CA026D43025DCBD46F81C0F"
"Public PGP key that Emacs will encrypt files to.") "Public PGP key that Emacs will encrypt files to.")
;; Load the host configuration.
;; Startup
;; The host configuration loads (if it exist) using the systems name.
(let ((host-file (concat dotfiles/home "/hosts/" system-name ".el"))) (let ((host-file (concat dotfiles/home "/hosts/" system-name ".el")))
(when (file-exists-p host-file) (when (file-exists-p host-file)
(load-file host-file))) (load-file host-file)))
;; Load the enabled modules.
;; Load all of the enabled modules:
(dolist (m dotfiles/modules) (dolist (m dotfiles/modules)
(let ((mod-file (concat dotfiles/home "/modules/" (symbol-name m) ".el"))) (let ((mod-file (concat dotfiles/home "/modules/" (symbol-name m) ".el")))
(when (file-exists-p mod-file) (when (file-exists-p mod-file)

Loading…
Cancel
Save