Christopher James Hayward
4 years ago
9 changed files with 300 additions and 216 deletions
-
205README.org
-
0bin/.git-keep
-
17bin/cleanup.el
-
63bin/options.el
-
31bin/packages.el
-
BINdocs/images/modules.png
-
BINdocs/tasks.org.gpg
-
67early-init.el
-
133init.el
@ -1,17 +0,0 @@ |
|||
;; Emacs creates a lot of files relative to `user-emacs-directory'. |
|||
;; These files are not part of this immutable configuration and do not belong in the emacs directory. |
|||
|
|||
;; How can we solve this issue? |
|||
|
|||
;; Shortly after initialization, before most packages load, we change the value to `dotfiles/cache'. |
|||
;; I elaborate more on the technique in my post https://chrishayward.xyz/immutable-emacs/. |
|||
|
|||
(setq user-emacs-directory dotfiles/cache) |
|||
|
|||
;; Because this project uses version-control, we can disable more unwanted features: |
|||
|
|||
;; + Lock files |
|||
;; + Backup files |
|||
|
|||
(setq create-lockfiles nil |
|||
make-backup-files nil) |
@ -1,63 +0,0 @@ |
|||
;; All of the options available in the framework. |
|||
;; Please see README.org for more information. |
|||
|
|||
(defvar dotfiles/home user-emacs-directory |
|||
"Original value of `user-emacs-directory'.") |
|||
|
|||
(defvar dotfiles/cache (expand-file-name "~/.cache/emacs") |
|||
"Redirection target of `user-emacs-directory'.") |
|||
|
|||
(defvar dotfiles/browser (getenv "BROWSER") |
|||
"Default system web browser.") |
|||
|
|||
(defvar dotfiles/language (getenv "LANG") |
|||
"Default system dictionary language.") |
|||
|
|||
(defconst dotfiles/modules-p |
|||
'(core |
|||
editor |
|||
shell |
|||
email |
|||
terminal |
|||
encryption |
|||
desktop |
|||
writing |
|||
presentations |
|||
website |
|||
capture |
|||
projects |
|||
development |
|||
interface |
|||
dashboard) |
|||
"All of the available modules.") |
|||
|
|||
(defvar dotfiles/modules dotfiles/modules-p |
|||
"All of the enabled modules.") |
|||
|
|||
(defvar dotfiles/font "Fira Code" |
|||
"Unified system font family.") |
|||
|
|||
(defvar dotfiles/font-size 96 |
|||
"Unified system font size.") |
|||
|
|||
(defvar dotfiles/idle 0.0 |
|||
"Delay time before offering suggestions and completions.") |
|||
|
|||
(defvar dotfiles/leader-key "SPC" |
|||
"All powerful leader key.") |
|||
|
|||
(defvar dotfiles/leader-key-global |
|||
(concat "C-" dotfiles/leader-key) |
|||
"Global prefix for the leader key.") |
|||
|
|||
(defvar dotfiles/projects |
|||
(expand-file-name "~/.local/source/") |
|||
"Location of source code projects.") |
|||
|
|||
(defvar dotfiles/passwords |
|||
(expand-file-name "~/.password-store/") |
|||
"Location of local password store.") |
|||
|
|||
(defvar dotfiles/public-key |
|||
"37AB1CB72B741E478CA026D43025DCBD46F81C0F" |
|||
"GPG key to encrypt org files for.") |
@ -1,31 +0,0 @@ |
|||
;; Download and instll packages using https://github.com/raxod502/straight.el |
|||
;; It's a functional package manager that integrates with https://github.com/jwiegley/use-package |
|||
|
|||
;; + Use the development branch |
|||
;; + Integrate with use-package |
|||
|
|||
;; Apply the configurations prior to bootstrapping the package manager. |
|||
|
|||
(setq straight-repository-branch "develop" |
|||
straight-use-package-by-default t) |
|||
|
|||
;; Bootstrap the package manager. |
|||
;; Download, Install, or Configuring depending on the state of the configuration. |
|||
;; All packages build from source, pinned to specific git commit hashes. |
|||
|
|||
(defvar bootstrap-version) |
|||
(let ((bootstrap-file |
|||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) |
|||
(bootstrap-version 5)) |
|||
(unless (file-exists-p bootstrap-file) |
|||
(with-current-buffer |
|||
(url-retrieve-synchronously |
|||
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" |
|||
'silent 'inhibit-cookies) |
|||
(goto-char (point-max)) |
|||
(eval-print-last-sexp))) |
|||
(load bootstrap-file nil 'nomessage)) |
|||
|
|||
;; Integrate with use-package by installing it with straight. |
|||
|
|||
(straight-use-package 'use-package) |
Before Width: 864 | Height: 421 | Size: 29 KiB |
@ -1 +1,68 @@ |
|||
;; Emacs creates a lot of files relative to `user-emacs-directory'. |
|||
;; These files are not part of this immutable configuration and do not belong in the emacs directory. |
|||
|
|||
(defconst dotfiles/home |
|||
(or (getenv "DOTFILES_HOME") |
|||
(expand-file-name user-emacs-directory))) |
|||
|
|||
(defconst dotfiles/cache |
|||
(or (getenv "DOTFILES_CACHE") |
|||
(expand-file-name "~/.cache/emacs"))) |
|||
|
|||
;; How can we solve this issue? |
|||
|
|||
(unless (file-exists-p dotfiles/cache) |
|||
(make-directory dotfiles/cache t)) |
|||
|
|||
;; Shortly after initialization, before most packages load, we change the value to `dotfiles/cache'. |
|||
;; I elaborate more on the technique in my post https://chrishayward.xyz/immutable-emacs/. |
|||
|
|||
(setq user-emacs-directory dotfiles/cache) |
|||
|
|||
;; Disable error messages for packages that do not yet support native compilation. |
|||
|
|||
(setq comp-async-report-warnings-errors nil) |
|||
|
|||
;; Because this project uses version-control, we can disable more unwanted features: |
|||
|
|||
;; + Lock files |
|||
;; + Backup files |
|||
|
|||
(setq make-backup-files nil |
|||
create-lockfiles nil) |
|||
|
|||
;; Download and instll packages using https://github.com/raxod502/straight.el |
|||
;; It's a functional package manager that integrates with https://github.com/jwiegley/use-package |
|||
|
|||
;; + Use the development branch |
|||
;; + Integrate with use-package |
|||
|
|||
;; Apply the configurations prior to bootstrapping the package manager. |
|||
|
|||
(setq straight-repository-branch "develop" |
|||
straight-use-package-by-default t |
|||
package-enable-at-startup nil) |
|||
|
|||
;; Bootstrap the package manager. |
|||
;; Download, Install, or Configuring depending on the state of the configuration. |
|||
;; All packages build from source, pinned to specific git commit hashes. |
|||
|
|||
(defvar bootstrap-version) |
|||
(let ((bootstrap-file |
|||
(expand-file-name "straight/repos/straight.el/bootstrap.el" user-emacs-directory)) |
|||
(bootstrap-version 5)) |
|||
(unless (file-exists-p bootstrap-file) |
|||
(with-current-buffer |
|||
(url-retrieve-synchronously |
|||
"https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el" |
|||
'silent 'inhibit-cookies) |
|||
(goto-char (point-max)) |
|||
(eval-print-last-sexp))) |
|||
(load bootstrap-file nil 'nomessage)) |
|||
|
|||
;; Integrate with use-package by installing it with straight. Override some package sources to |
|||
;; avoid the default package shipped with Emacs. |
|||
|
|||
(straight-use-package 'use-package) |
|||
(straight-use-package 'no-littering) |
|||
(straight-use-package '(org :local-repo nil)) |
Write
Preview
Loading…
Cancel
Save
Reference in new issue