diff options
Diffstat (limited to 'lisp/ss-core.el')
| -rw-r--r-- | lisp/ss-core.el | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/lisp/ss-core.el b/lisp/ss-core.el deleted file mode 100644 index 3be0711..0000000 --- a/lisp/ss-core.el +++ /dev/null @@ -1,147 +0,0 @@ -;;; ss-core.el --- Shared core setup -*- lexical-binding: t; -*- - -;;; Commentary: - -;; Shared startup helpers, package bootstrap, paths, and editor defaults. - -;;; Code: - -(require 'subr-x) - -(defconst ss-minimum-emacs-version "27.1" - "Minimum supported Emacs version.") - -(defconst ss-warning-emacs-version "28.1" - "Version threshold for compatibility warnings.") - -(defconst ss-spell-check-support-enabled nil) -(defconst ss-is-windows (memq system-type '(windows-nt ms-dos cygwin))) -(defconst ss-is-linux (eq system-type 'gnu/linux)) -(defconst ss-is-mac (eq system-type 'darwin)) - -(defconst ss-org-directory (expand-file-name "~/org/") - "Root directory for Org files.") - -(defconst ss-journal-file (expand-file-name "journal.org" ss-org-directory) - "Single-file work journal for operational capture.") - -(defconst ss-org-projects-directory (expand-file-name "projects/" ss-org-directory) - "Directory for project notes.") - -(defconst ss-org-areas-directory (expand-file-name "areas/" ss-org-directory) - "Directory for area notes.") - -(defconst ss-org-resources-directory (expand-file-name "resources/" ss-org-directory) - "Directory for resource notes.") - -(defconst ss-org-archives-directory (expand-file-name "archives/" ss-org-directory) - "Directory for archived notes.") - -(defconst ss-moc-file (expand-file-name "moc.org" ss-org-directory) - "Central MOC note.") - -(defconst ss-crm-file (expand-file-name "areas/people/people.org" ss-org-directory) - "Single source of truth for the people CRM.") - -(defconst ss-journal-section-headings - '("Tasks" "Notes" "Meetings") - "Per-day section headings maintained under each journal datetree entry.") - -(defconst ss-org-agenda-directories - (list ss-org-projects-directory - ss-org-areas-directory - ss-org-resources-directory) - "Directories whose Org files feed the agenda.") - -(defun ss-feature-enabled-p (feature) - "Return non-nil when FEATURE is enabled in `ss-enabled-features'." - (memq feature ss-enabled-features)) - -(defun ss-require-existing-directory (directory) - "Return DIRECTORY, signaling when it does not exist." - (unless (file-directory-p directory) - (user-error "Directory does not exist: %s" directory)) - directory) - -(defun ss-require-existing-file (file) - "Return FILE, signaling when it does not exist." - (unless (file-exists-p file) - (user-error "File does not exist: %s" file)) - file) - -(defun ss-enable-prose-abbrev-mode () - "Enable abbrev mode in prose buffers. -We keep this mode-local so code buffers stay on their own completion rules." - (abbrev-mode 1)) - -(defun ss-core-setup () - "Initialize shared core behavior." - (let ((minver ss-minimum-emacs-version)) - (when (version< emacs-version minver) - (error "Your Emacs is too old -- this config requires v%s or higher" minver))) - (when (version< emacs-version ss-warning-emacs-version) - (message - (concat - "Your Emacs is old, and some functionality in this config will be " - "disabled. Please upgrade if possible."))) - - ;; Keep custom-set-variables out of the main config. - (setq custom-file (expand-file-name "custom.el" user-emacs-directory)) - - (require 'package) - (setq package-archives - (append '(("melpa" . "https://melpa.org/packages/")) - package-archives) - package-archive-priorities '(("gnu" . 10) - ("nongnu" . 8) - ("melpa" . 5)) - package-install-upgrade-built-in t - use-package-always-ensure nil) - (package-initialize) - (require 'use-package) - (require 'abbrev) - - (set-language-environment "UTF-8") - (set-default-coding-systems 'utf-8) - (prefer-coding-system 'utf-8) - - (setq abbrev-file-name (expand-file-name "abbrev_defs" user-emacs-directory) - save-abbrevs 'silently) - (when (file-exists-p abbrev-file-name) - (quietly-read-abbrev-file abbrev-file-name)) - - (dolist (hook '(text-mode-hook org-mode-hook)) - (add-hook hook #'ss-enable-prose-abbrev-mode)) - - (setq auto-save-default nil - backup-inhibited t - echo-keystrokes 0.1 - compilation-ask-about-save nil - mouse-wheel-scroll-amount '(1 ((shift) . 1)) - mouse-wheel-progressive-speed nil - mouse-wheel-follow-mouse t - scroll-step 1 - scroll-conservatively 101 - enable-recursive-minibuffers t - gc-cons-threshold (* 128 1024 1024) - read-process-output-max (* 4 1024 1024) - process-adaptive-read-buffering nil) - - (fset 'yes-or-no-p 'y-or-n-p) - (global-auto-revert-mode 1) - (delete-selection-mode 1) - - (setq-default indent-tabs-mode nil - fill-column 80 - tab-width 2 - indicate-empty-lines t - sentence-end-double-space nil)) - -(defun ss-core-load-custom-file () - "Load `custom-file' when it exists." - (when (file-exists-p custom-file) - (load custom-file nil 'nomessage))) - -(provide 'ss-core) - -;;; ss-core.el ends here |
