Browse Source

Add startup code

main
parent
commit
879222ed6a
  1. 31
      bin/packages.el
  2. 17
      bin/startup.el

31
bin/packages.el

@ -0,0 +1,31 @@
;; 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)

17
bin/startup.el

@ -0,0 +1,17 @@
;; 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)
Loading…
Cancel
Save