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) |
(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