aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shoshin-config.el6
-rw-r--r--shoshin-config.org74
2 files changed, 64 insertions, 16 deletions
diff --git a/shoshin-config.el b/shoshin-config.el
index 982f66f..803af5d 100644
--- a/shoshin-config.el
+++ b/shoshin-config.el
@@ -1,10 +1,8 @@
;;; shoshimacs.el --- Beginner's Mind Config -*- lexical-binding:t -*-
;;; Package Management
-(add-to-list 'load-path (expand-file-name "xah-fly-keys/" user-emacs-directory))
-(require 'xah-fly-keys)
-(xah-fly-keys-set-layout "qwerty")
-(xah-fly-keys t)
+(when (string< "28.1" emacs-version)
+ (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/")))
;;; Completion
(package-install 'consult)
diff --git a/shoshin-config.org b/shoshin-config.org
index 5aaa2fc..725faca 100644
--- a/shoshin-config.org
+++ b/shoshin-config.org
@@ -57,21 +57,58 @@ is tangled into the resulting elisp file:
:header-args:emacs-lisp+: :noweb-ref package-management :noweb-sep "\n\n" :results silent
:END:
-i've been using ~straight.el~ in my "main" config, primarily because i liked
-having the package repos cloned onto my machine for easy contribution
-possibilities. additionally, at the time it was a nice easy way to install
-a package without the custom package installation snippets borrowed from
-the web ages ago.
+I've been using [[https://github.com/radian-software/straight.el#start-of-content][straight.el]]
+as my package manager since 2019 when I moved away from Spacemacs as my
+main configuration for day-to-day work. While I definitely recommend it
+as a flexible yet minimal package manager, it is certainly more useful
+to experienced Emacs users.
-however, these days ~package.el~ offers the [[help:package-install][package-install]] command (since
-Emacs 25 apparently) which "does the right thing" if used in one's init
-file. so for the time being, packages will have their installation and
-configuration happen in place in this literate config file.
+This configuration will stick to packages available through the built-in
+~package.el~ system. As of Emacs 28, this is everything in the ELPA and
+non-gnu ELPA package repositories.
-** Packages not in repos (flykeys)
+** ELPA and Non-GNU ELPA
+
+ELPA packages have their copyright assigned to the FSF, which is a requirement
+for any code to be included into Emacs itself. ELPA packages are thus the
+most likely to be merged into Emacs as a new feature. Some, like EMMS, are
+likely to continue as "add-on" optional features only some users may choose.
+
+Non-gnu ELPA is relatively new, and does not require copyright assignment
+to the FSF. Packages are added to both repositories through the emacs-devel
+mailing list and the maintainers there. It intends to extend the packages
+available to the base Emacs installation while providing a bridge to inclusion
+in ELPA or Emacs proper at some time in the future.
+
+*** Add non-gnu ELPA to Emacs < 28
+
+Emacs 28 is the first version to include non-gnu ELPA by default. Some
+distributions may not yet have it as an available package.
+
+#+name: add-nongnu-elpa
+#+begin_src emacs-lisp
+ (when (string< "28.1" emacs-version)
+ (add-to-list 'package-archives '("nongnu" . "https://elpa.nongnu.org/nongnu/")))
+#+end_src
+
+** Installing Packages
+
+~package.el~ provides the [[help:package-install][package-install]] command which can be used interactively
+or from Lisp code like this configuration. If a package is already installed,
+it won't try to install it again. When you install a package this way, Emacs will
+add its name to [[help:package-selected-packages][package-selected-packages]].
+
+You can also use ~list-packages~ to browse, install and upgrade packages as
+well.
+
+** Packages not in the default repos
+
+Any elisp package that is in Emacs's [[help:load-path][load-path]] can be ~require~'d and used.
+
+*** COMMENT xah-fly-keys
muscle memory has bound me to xah-fly-keys, and so i've decided to just
-manually install it by cloning the repo and adding it to the load
+manually install it by cloning the repo and adding it to the
#+begin_src shell :var dir=(expand-file-name "xah-fly-keys" user-emacs-directory) :tangle no
git clone https://github.com/xahlee/xah-fly-keys $dir
@@ -84,7 +121,20 @@ manually install it by cloning the repo and adding it to the load
(xah-fly-keys t)
#+end_src
-Set this up first, so other keymap changes will add onto flykeys (hopefully).
+however, it is now in non-gnu elpa! so i don't need this anymore.
+
+* Keybindings
+** xah-fly-keys
+
+this is what i adopted to combat rsi and have trained my muscle memory to.
+
+#+begin_src emacs-lisp
+ (package-install 'xah-fly-keys)
+ (xah-fly-keys-set-layout "qwerty")
+ (setq xah-fly-use-control-key nil
+ xah-fly-use-meta-key nil)
+ (xah-fly-keys t)
+#+end_src
* Completion
:PROPERTIES: