This commit is contained in:
Case Duckworth 2021-02-23 12:17:33 -06:00
parent c9950cbc5a
commit 89467846ab
7 changed files with 202 additions and 200 deletions

8
.gitattributes vendored
View File

@ -1,3 +1,5 @@
*.lisp diff=lisp * text=eol=lf
*.el diff=lisp
*.org diff=org *.lisp diff=lisp
*.el diff=lisp
*.org diff=org

50
.gitignore vendored
View File

@ -1,25 +1,25 @@
# ignore everything # ignore everything
* *
# except ... # except ...
!config.org !config.org
!init.el !init.el
!early-init.el !early-init.el
!.gitignore !.gitignore
!.gitattributes !.gitattributes
!README.* !README.*
# and ... # and ...
!var/ !var/
var/* var/*
!var/elpher-bookmarks.el !var/elpher-bookmarks.el
!var/elfeed/ !var/elfeed/
var/elfeed/* var/elfeed/*
!var/elfeed/db !var/elfeed/db
!etc/ !etc/
etc/* etc/*
!etc/eshell !etc/eshell
!etc/eshell/* !etc/eshell/*
!elfeed.org !elfeed.org

28
LICENSE
View File

@ -1,14 +1,14 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004 Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified copies of Everyone is permitted to copy and distribute verbatim or modified copies of
this license document, and changing it is allowed as long as the name is changed. this license document, and changing it is allowed as long as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO. 0. You just DO WHAT THE FUCK YOU WANT TO.

View File

@ -1,89 +1,89 @@
;;; early-init.el -*- no-byte-compile: t; coding: utf-8 -*- ;;; early-init.el -*- no-byte-compile: t; coding: utf-8 -*-
;; Copyright (C) 2020 Case Duckworth ;; Copyright (C) 2020 Case Duckworth
;; Author: Case Duckworth <acdw@acdw.net> ;; Author: Case Duckworth <acdw@acdw.net>
;; Created: Sometime during the Covid-19 lockdown, 2019 ;; Created: Sometime during the Covid-19 lockdown, 2019
;; Keywords: configuration ;; Keywords: configuration
;; URL: https://tildegit.org/acdw/emacs ;; URL: https://tildegit.org/acdw/emacs
;; This file is not part of GNU Emacs. ;; This file is not part of GNU Emacs.
;;; Commentary: ;;; Commentary:
;; This file is automatically tangled from config.org. ;; This file is automatically tangled from config.org.
;; Hand edits will be overwritten! ;; Hand edits will be overwritten!
;;; Code: ;;; Code:
;; BOOTSTRAP PACKAGE MANAGEMENT ;; BOOTSTRAP PACKAGE MANAGEMENT
(let ((win-app-dir "~/Applications")) (let ((win-app-dir "~/Applications"))
(dolist (path (list (dolist (path (list
;; Windows ;; Windows
(expand-file-name "exe" win-app-dir) (expand-file-name "exe" win-app-dir)
(expand-file-name "exe/bin" win-app-dir) (expand-file-name "exe/bin" win-app-dir)
(expand-file-name "Git/bin" win-app-dir) (expand-file-name "Git/bin" win-app-dir)
(expand-file-name "Git/usr/bin" win-app-dir) (expand-file-name "Git/usr/bin" win-app-dir)
(expand-file-name "Git/mingw64/bin" win-app-dir) (expand-file-name "Git/mingw64/bin" win-app-dir)
(expand-file-name "Everything" win-app-dir) (expand-file-name "Everything" win-app-dir)
(expand-file-name "Win-builds/bin" win-app-dir) (expand-file-name "Win-builds/bin" win-app-dir)
(expand-file-name "Z/bin" win-app-dir) (expand-file-name "Z/bin" win-app-dir)
;; Linux ;; Linux
(expand-file-name "bin" user-emacs-directory) (expand-file-name "bin" user-emacs-directory)
(expand-file-name "~/bin") (expand-file-name "~/bin")
(expand-file-name "~/.local/bin") (expand-file-name "~/.local/bin")
(expand-file-name "~/Scripts") (expand-file-name "~/Scripts")
)) ))
(when (file-exists-p path) (when (file-exists-p path)
(add-to-list 'exec-path path :append)))) (add-to-list 'exec-path path :append))))
;; Set $PATH ;; Set $PATH
(setenv "PATH" (mapconcat #'identity exec-path path-separator)) (setenv "PATH" (mapconcat #'identity exec-path path-separator))
(setq package-enable-at-startup nil) (setq package-enable-at-startup nil)
(defun acdw/bootstrap-straight () (defun acdw/bootstrap-straight ()
"Bootstrap straight.el." "Bootstrap straight.el."
(defvar bootstrap-version) (defvar bootstrap-version)
(let ((bootstrap-file (let ((bootstrap-file
(expand-file-name (expand-file-name
"straight/repos/straight.el/bootstrap.el" "straight/repos/straight.el/bootstrap.el"
user-emacs-directory)) user-emacs-directory))
(bootstrap-version 5)) (bootstrap-version 5))
(unless (file-exists-p bootstrap-file) (unless (file-exists-p bootstrap-file)
(with-current-buffer (with-current-buffer
(url-retrieve-synchronously (url-retrieve-synchronously
(concat (concat
"https://raw.githubusercontent.com/" "https://raw.githubusercontent.com/"
"raxod502/straight.el/develop/install.el") "raxod502/straight.el/develop/install.el")
'silent 'inhibit-cookies) 'silent 'inhibit-cookies)
(goto-char (point-max)) (goto-char (point-max))
(eval-print-last-sexp))) (eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))) (load bootstrap-file nil 'nomessage)))
(when (executable-find "git") (when (executable-find "git")
(unless (ignore-errors (acdw/bootstrap-straight)) (unless (ignore-errors (acdw/bootstrap-straight))
(let ((msg "Straight.el didn't bootstrap correctly. Cloning directly")) (let ((msg "Straight.el didn't bootstrap correctly. Cloning directly"))
(message "%s..." msg) (message "%s..." msg)
(call-process "git" nil (call-process "git" nil
(get-buffer-create "*bootstrap-straight-messages*") nil (get-buffer-create "*bootstrap-straight-messages*") nil
"clone" "clone"
"https://github.com/raxod502/straight.el" "https://github.com/raxod502/straight.el"
(expand-file-name "straight/repos/straight.el" (expand-file-name "straight/repos/straight.el"
user-emacs-directory)) user-emacs-directory))
(message "%s...Done." msg) (message "%s...Done." msg)
(acdw/bootstrap-straight)))) (acdw/bootstrap-straight))))
;; SETUP FRAME ;; SETUP FRAME
(add-to-list 'default-frame-alist (add-to-list 'default-frame-alist
'(tool-bar-lines . 0)) '(tool-bar-lines . 0))
(tool-bar-mode -1) (tool-bar-mode -1)
(add-to-list 'default-frame-alist (add-to-list 'default-frame-alist
'(menu-bar-lines . 0)) '(menu-bar-lines . 0))
(menu-bar-mode -1) (menu-bar-mode -1)
(add-to-list 'default-frame-alist (add-to-list 'default-frame-alist
'(vertical-scroll-bars . nil) '(vertical-scroll-bars . nil)
'(horizontal-scroll-bars . nil)) '(horizontal-scroll-bars . nil))
(scroll-bar-mode -1) (scroll-bar-mode -1)
(horizontal-scroll-bar-mode -1) (horizontal-scroll-bar-mode -1)
(setq-default frame-inhibit-implied-resize t (setq-default frame-inhibit-implied-resize t
frame-resize-pixelwise t) frame-resize-pixelwise t)
;;; early-init.el ends here ;;; early-init.el ends here

View File

@ -1 +1 @@
alias e find-file $1 alias e find-file $1

100
init.el
View File

@ -1,50 +1,50 @@
;;; init.el -*- lexical-binding: t; coding: utf-8 -*- ;;; init.el -*- lexical-binding: t; coding: utf-8 -*-
;; Copyright (C) 2020 Case Duckworth ;; Copyright (C) 2020 Case Duckworth
;; Author: Case Duckworth <acdw@acdw.net> ;; Author: Case Duckworth <acdw@acdw.net>
;; Created: Sometime during the Covid-19 lockdown, 2019 ;; Created: Sometime during the Covid-19 lockdown, 2019
;; Keywords: configuration ;; Keywords: configuration
;; URL: https://tildegit.org/acdw/emacs ;; URL: https://tildegit.org/acdw/emacs
;; This file is not part of GNU Emacs. ;; This file is not part of GNU Emacs.
;;; Commentary: ;;; Commentary:
;; This file is automatically tangled from config.org. ;; This file is automatically tangled from config.org.
;; Hand edits will be overwritten! ;; Hand edits will be overwritten!
;;; Code: ;;; Code:
(setq-default load-prefer-newer t) (setq-default load-prefer-newer t)
(let* (;; Speed up init (let* (;; Speed up init
(gc-cons-threshold most-positive-fixnum) (gc-cons-threshold most-positive-fixnum)
;; (gc-cons-percentage 0.6) ;; (gc-cons-percentage 0.6)
(file-name-handler-alist nil) (file-name-handler-alist nil)
;; Config file names ;; Config file names
(config (expand-file-name "config" (config (expand-file-name "config"
user-emacs-directory)) user-emacs-directory))
(config.el (concat config ".el")) (config.el (concat config ".el"))
(config.org (concat config ".org")) (config.org (concat config ".org"))
(straight-org-dir (locate-user-emacs-file "straight/build/org"))) (straight-org-dir (locate-user-emacs-file "straight/build/org")))
;; Okay, let's figure this out. ;; Okay, let's figure this out.
;; `and' evaluates each form, and returns nil on the first that ;; `and' evaluates each form, and returns nil on the first that
;; returns nil. `unless' only executes its body if the test ;; returns nil. `unless' only executes its body if the test
;; returns nil. So. ;; returns nil. So.
;; 1. Test if config.org is newer than config.el. If it is (t), we ;; 1. Test if config.org is newer than config.el. If it is (t), we
;; *want* to evaluate the body, so we need to negate that test. ;; *want* to evaluate the body, so we need to negate that test.
;; 2. Try to load the config. If it errors (nil), it'll bubble that ;; 2. Try to load the config. If it errors (nil), it'll bubble that
;; to the `and' and the body will be evaluated. ;; to the `and' and the body will be evaluated.
(unless (and (not (file-newer-than-file-p config.org config.el)) (unless (and (not (file-newer-than-file-p config.org config.el))
(load config :noerror)) (load config :noerror))
;; A plain require here just loads the older `org' ;; A plain require here just loads the older `org'
;; in Emacs' install dir. We need to add the newer ;; in Emacs' install dir. We need to add the newer
;; one to the `load-path', hopefully that's all. ;; one to the `load-path', hopefully that's all.
(when (file-exists-p straight-org-dir) (when (file-exists-p straight-org-dir)
(add-to-list 'load-path straight-org-dir)) (add-to-list 'load-path straight-org-dir))
;; Load config.org ;; Load config.org
(message "%s..." "Loading config.org") (message "%s..." "Loading config.org")
(require 'org) (require 'org)
(org-babel-load-file config.org) (org-babel-load-file config.org)
(message "%s... Done" "Loading config.org"))) (message "%s... Done" "Loading config.org")))
;;; init.el ends here ;;; init.el ends here

View File

@ -1,18 +1,18 @@
; Elpher bookmarks file ; Elpher bookmarks file
; Bookmarks are stored as a list of (label URL) items. ; Bookmarks are stored as a list of (label URL) items.
; Feel free to edit by hand, but take care to ensure ; Feel free to edit by hand, but take care to ensure
; the list structure remains intact. ; the list structure remains intact.
(("MEDUSAE directory" "gemini://medusae.space/") (("MEDUSAE directory" "gemini://medusae.space/")
("Will Lewis" "gemini://wflewis.com/") ("Will Lewis" "gemini://wflewis.com/")
("Cornbread Recipe" "gemini://perplexing.space/2021/cornbread-recipe.gmi") ("Cornbread Recipe" "gemini://perplexing.space/2021/cornbread-recipe.gmi")
("SMOG" "gemini://gemini.trans-neptunian.space/~smog/") ("SMOG" "gemini://gemini.trans-neptunian.space/~smog/")
("Caolan - Vermont Sourdough" "gemini://caolan.uk/baking/2020-11-26_vermont_sourdough.gmi") ("Caolan - Vermont Sourdough" "gemini://caolan.uk/baking/2020-11-26_vermont_sourdough.gmi")
("BREADPUNK!" "gemini://breadpunk.club/") ("BREADPUNK!" "gemini://breadpunk.club/")
("ACDW" "gemini://gem.acdw.net/") ("ACDW" "gemini://gem.acdw.net/")
("Spacewalk" "gemini://rawtext.club/~sloum/spacewalk.gmi") ("Spacewalk" "gemini://rawtext.club/~sloum/spacewalk.gmi")
("CAPCOM" "gemini://gemini.circumlunar.space/capcom/") ("CAPCOM" "gemini://gemini.circumlunar.space/capcom/")
("cosmic voyage" "gemini://cosmic.voyage/") ("cosmic voyage" "gemini://cosmic.voyage/")
("kayw" "gemini://salejandro.me/") ("kayw" "gemini://salejandro.me/")
("low-key: weechat relay" "gemini://low-key.me/guides/weechat_irc_relay.gmi")) ("low-key: weechat relay" "gemini://low-key.me/guides/weechat_irc_relay.gmi"))