mirror of
https://codeberg.org/andyscott/dotfiles.git
synced 2024-12-22 01:43:10 -05:00
Emacs: init rewrite and added init-org.el
This commit is contained in:
parent
0cd7907b00
commit
bddc589588
3 changed files with 646 additions and 621 deletions
|
@ -31,7 +31,28 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
;; Relocate emacs-user-directory to XDG_DATA_HOME
|
;; Disable `package.el'
|
||||||
|
(setq package-enable-at-startup nil)
|
||||||
|
|
||||||
|
;; Ensure other defaults are loaded
|
||||||
|
(setq inhibit-default-init nil)
|
||||||
|
|
||||||
|
;; Avoid `garbage-collect' during init
|
||||||
|
(setq gc-cons-percentage 1
|
||||||
|
gc-cons-threshold most-positive-fixnum)
|
||||||
|
|
||||||
|
;; Skip regexp checking by `find-file-name-handler' during init
|
||||||
|
(defvar default-file-name-handler-alist file-name-handler-alist)
|
||||||
|
(setq file-name-handler-alist nil)
|
||||||
|
|
||||||
|
;; Restore `garbage-collect' and `file-name-handler-alist' settings
|
||||||
|
(add-hook 'emacs-startup-hook
|
||||||
|
(lambda ()
|
||||||
|
(setq file-name-handler-alist default-file-name-handler-alist
|
||||||
|
gc-cons-percentage 0.1
|
||||||
|
gc-cons-threshold (* 1024 1024 8))))
|
||||||
|
|
||||||
|
;; Relocate `emacs-user-directory' to XDG_DATA_HOME
|
||||||
(setq user-emacs-directory
|
(setq user-emacs-directory
|
||||||
(expand-file-name "emacs/" (or (getenv "XDG_DATA_HOME") "~/.local/share/")))
|
(expand-file-name "emacs/" (or (getenv "XDG_DATA_HOME") "~/.local/share/")))
|
||||||
|
|
||||||
|
@ -41,18 +62,12 @@
|
||||||
(unless (file-directory-p xdg_cache_home)
|
(unless (file-directory-p xdg_cache_home)
|
||||||
(make-directory xdg_cache_home))
|
(make-directory xdg_cache_home))
|
||||||
|
|
||||||
;; Move eln-cache to XDG_CACHE_HOME
|
;; Move `eln-cache' to XDG_CACHE_HOME
|
||||||
(when (fboundp 'startup-redirect-eln-cache)
|
(when (fboundp 'startup-redirect-eln-cache)
|
||||||
(if (< emacs-major-version 29)
|
(if (< emacs-major-version 29)
|
||||||
(push (expand-file-name "eln-cache/" xdg_cache_home) native-comp-eln-load-path)
|
(push (expand-file-name "eln-cache/" xdg_cache_home) native-comp-eln-load-path)
|
||||||
(startup-redirect-eln-cache (expand-file-name "eln-cache/" xdg_cache_home))))
|
(startup-redirect-eln-cache (expand-file-name "eln-cache/" xdg_cache_home))))
|
||||||
|
|
||||||
;; Disable package.el
|
|
||||||
(setq package-enable-at-startup nil)
|
|
||||||
|
|
||||||
;; Ensure other default libs are loaded
|
|
||||||
(setq inhibit-default-init nil)
|
|
||||||
|
|
||||||
;; Load newest byte code
|
;; Load newest byte code
|
||||||
(setq load-prefer-newer t)
|
(setq load-prefer-newer t)
|
||||||
|
|
||||||
|
@ -61,19 +76,22 @@
|
||||||
(setq native-comp-deferred-compilation t
|
(setq native-comp-deferred-compilation t
|
||||||
native-comp-async-report-warnings-errors nil))
|
native-comp-async-report-warnings-errors nil))
|
||||||
|
|
||||||
;; Raise garbage collection threshold
|
|
||||||
(setq gc-cons-threshold 500000000
|
|
||||||
gc-cons-percentage 0.1)
|
|
||||||
|
|
||||||
;; Don't advertise instructions for frame exit
|
;; Don't advertise instructions for frame exit
|
||||||
(setq server-client-instructions nil)
|
(setq server-client-instructions nil)
|
||||||
|
|
||||||
;; Don't implicitly resize the frame
|
;; Don't implicitly resize the frame
|
||||||
(setq frame-inhibit-implied-resize t)
|
(setq frame-inhibit-implied-resize t)
|
||||||
|
|
||||||
|
;; Allow frames to increase/decrease by one pixel
|
||||||
|
(setq frame-resize-pixelwise t)
|
||||||
|
|
||||||
;; Disable startup screen
|
;; Disable startup screen
|
||||||
(setq inhibit-startup-screen t)
|
(setq inhibit-startup-screen t)
|
||||||
|
|
||||||
|
;; Start in `fundamental-mode' instead of `lisp-interaction-mode' to avoid
|
||||||
|
;; loading unnecessary packages via hooks
|
||||||
|
(setq initial-major-mode 'fundamental-mode)
|
||||||
|
|
||||||
;; Visible bell only
|
;; Visible bell only
|
||||||
(setq visible-bell t)
|
(setq visible-bell t)
|
||||||
|
|
||||||
|
@ -94,6 +112,8 @@
|
||||||
(push '(menu-bar-lines . 0) default-frame-alist)
|
(push '(menu-bar-lines . 0) default-frame-alist)
|
||||||
(push '(tool-bar-lines . 0) default-frame-alist)
|
(push '(tool-bar-lines . 0) default-frame-alist)
|
||||||
(push '(vertical-scroll-bars) default-frame-alist)
|
(push '(vertical-scroll-bars) default-frame-alist)
|
||||||
|
(push '(background-color . "#282828") default-frame-alist)
|
||||||
|
(push '(foreground-color . "#C6C6C6") default-frame-alist)
|
||||||
|
|
||||||
;; Make lsp-mode use plists
|
;; Make lsp-mode use plists
|
||||||
(setenv "LSP_USE_PLISTS" "true")
|
(setenv "LSP_USE_PLISTS" "true")
|
||||||
|
|
File diff suppressed because it is too large
Load diff
102
dot_config/emacs/lisp/init-org.el
Normal file
102
dot_config/emacs/lisp/init-org.el
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
;;; org-mode.el --- org-mode customizations -*- lexical-binding: t -*-
|
||||||
|
|
||||||
|
;; Author: Andrew Scott <git at andyscott dot me>
|
||||||
|
;; Keywords: org, convenience, tools
|
||||||
|
;; URL: https://codeberg.org/andyscott/dotfiles
|
||||||
|
|
||||||
|
;; This file is not part of GNU Emacs
|
||||||
|
|
||||||
|
;; Copyright (c) 2024 Andrew Scott
|
||||||
|
|
||||||
|
;; MIT No Attribution
|
||||||
|
|
||||||
|
;; Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||||
|
;; software and associated documentation files (the "Software"), to deal in the Software
|
||||||
|
;; without restriction, including without limitation the rights to use, copy, modify,
|
||||||
|
;; merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
;; permit persons to whom the Software is furnished to do so.
|
||||||
|
|
||||||
|
;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||||
|
;; INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
|
;; PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
;; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
;; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
;;; Commentary:
|
||||||
|
|
||||||
|
;; My org-mode customizations.
|
||||||
|
|
||||||
|
;;; Code:
|
||||||
|
|
||||||
|
(use-package org
|
||||||
|
:bind
|
||||||
|
(:map global-map
|
||||||
|
("C-c a" . org-agenda)
|
||||||
|
("C-c c" . org-capture)
|
||||||
|
("C-c l" . org-store-link))
|
||||||
|
:config
|
||||||
|
(setopt org-agenda-files (list (concat org-directory "/personal")
|
||||||
|
(concat org-directory "/projects")
|
||||||
|
(concat org-directory "/work"))
|
||||||
|
org-hide-emphasis-markers t
|
||||||
|
org-log-done 'time
|
||||||
|
org-return-follows-link t
|
||||||
|
org-todo-keywords '((sequence "TODO(t)" "IN-PROGRESS(i@/!)" "|"
|
||||||
|
"DONE(d!)" "BLOCKED(b@)" "WONT-DO(w@/!)" ))
|
||||||
|
org-todo-keyword-faces '(("TODO" . (icon-button))
|
||||||
|
("IN-PROGRESS" . (tool-bar))
|
||||||
|
("BLOCKED" . (match))
|
||||||
|
("WONT-DO" . (org-done))))
|
||||||
|
(setopt org-capture-templates
|
||||||
|
`(
|
||||||
|
("m" "Personal")
|
||||||
|
("mj" "Log Entry"
|
||||||
|
entry (file+datetree ,(concat org-directory "/personal/log.org"))
|
||||||
|
"* %?"
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
("mn" "Note"
|
||||||
|
entry (file+headline ,(concat org-directory "/personal/notes.org") "Note to self...")
|
||||||
|
"* %?"
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
("mt" "Todo"
|
||||||
|
entry (file+headline ,(concat org-directory "/personal/todo.org") "Personal Tasks")
|
||||||
|
"* TODO [#B] %?\n:Created: %T\n "
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
("p" "Projects")
|
||||||
|
("pn" "Note"
|
||||||
|
entry (file+headline ,(concat org-directory "/projects/notes.org") "Project Notes")
|
||||||
|
"** %?"
|
||||||
|
:empty-lines 1)
|
||||||
|
|
||||||
|
("pt" "Todo"
|
||||||
|
entry (file+headline ,(concat org-directory "/projects/todo.org") "Project Tasks")
|
||||||
|
"* TODO [#B] %?\n:Created: %T\n%i\n%a\nNotes: "
|
||||||
|
:empty-lines 0)
|
||||||
|
|
||||||
|
("w" "Work")
|
||||||
|
("wn" "Note"
|
||||||
|
entry (file+headline "~/Nextcloud/Documents/org/work/notes.org" "Work notes")
|
||||||
|
"** %?"
|
||||||
|
:empty-lines 0)
|
||||||
|
|
||||||
|
("wt" "Todo"
|
||||||
|
entry (file+headline "~/Nextcloud/Documents/org/work/todo.org" "Work tasks")
|
||||||
|
"* TODO [#B] %?\n:Created: %T\n%i\n%a\nNotes: "
|
||||||
|
:empty-lines 0)))
|
||||||
|
:hook (org-mode . org-indent-mode)
|
||||||
|
:init
|
||||||
|
(setopt org-directory "~/Nextcloud/Documents/org")
|
||||||
|
;; (bind-keys :prefix-map as/org-prefix-map
|
||||||
|
;; :prefix "C-c o"
|
||||||
|
;; ("d" . org-priority-down)
|
||||||
|
;; ("u" . org-priority-up)
|
||||||
|
;; ("r" . org-shiftmetaright)
|
||||||
|
;; ("l" . org-shiftmetaleft))
|
||||||
|
)
|
||||||
|
|
||||||
|
(provide 'init-org)
|
||||||
|
;;; org-mode.el ends here
|
Loading…
Reference in a new issue