feat(emacs): Org theming
This commit is contained in:
18
README.org
18
README.org
@@ -3,6 +3,7 @@
|
|||||||
:ROAM_ALIASES: sydnix
|
:ROAM_ALIASES: sydnix
|
||||||
:END:
|
:END:
|
||||||
#+title: Guix-rebound 2
|
#+title: Guix-rebound 2
|
||||||
|
#+author: Madeleine Sydney Ślaga
|
||||||
#+tags: nix
|
#+tags: nix
|
||||||
|
|
||||||
Current name of ~guix-rebound~ ought to be changed. This is a rewrite from scratch. }:3
|
Current name of ~guix-rebound~ ought to be changed. This is a rewrite from scratch. }:3
|
||||||
@@ -22,9 +23,10 @@ In order of descending preference, user programs should be configured by...
|
|||||||
3. ~home.file~ and similar.
|
3. ~home.file~ and similar.
|
||||||
4. Mutable symlinks using ~home.file~ and ~mkOutOfStoreSymlink~.
|
4. Mutable symlinks using ~home.file~ and ~mkOutOfStoreSymlink~.
|
||||||
|
|
||||||
|
doge
|
||||||
** Repo structure
|
** Repo structure
|
||||||
|
|
||||||
*** =hosts/=
|
*** =Hosts/=
|
||||||
|
|
||||||
Each directory =hosts/«HOST»= is expected to configure a single specific device, where =«HOST»= is the device's exact hostname. Said directory =«HOST»= should have at least the following structure:
|
Each directory =hosts/«HOST»= is expected to configure a single specific device, where =«HOST»= is the device's exact hostname. Said directory =«HOST»= should have at least the following structure:
|
||||||
|
|
||||||
@@ -67,7 +69,7 @@ Where =default.nix= returns an attrset of form
|
|||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** ~modules/~
|
*** =modules/=
|
||||||
|
|
||||||
#+begin_example
|
#+begin_example
|
||||||
modules
|
modules
|
||||||
@@ -171,9 +173,9 @@ A bit on the nose for a transfemme into computers, but my chosen name is also Ma
|
|||||||
|
|
||||||
Used as a server admin account with little configuration.
|
Used as a server admin account with little configuration.
|
||||||
|
|
||||||
* ~sydnix-cli~
|
* =sydnix-cli=
|
||||||
|
|
||||||
sydnix-cli is a command-line utility written in Clojure wrapping various sydnix-related scripts.
|
~sydnix-cli~ is a command-line utility written in Clojure wrapping various sydnix-related scripts.
|
||||||
|
|
||||||
* Tasks
|
* Tasks
|
||||||
|
|
||||||
@@ -609,7 +611,7 @@ https://discourse.nixos.org/t/what-to-do-with-a-full-boot-partition/2049
|
|||||||
|
|
||||||
- Support ~--pager~
|
- Support ~--pager~
|
||||||
|
|
||||||
*** TODO =rage-edit=
|
*** TODO ~rage-edit~
|
||||||
|
|
||||||
*** TODO ~forget-host HOST~
|
*** TODO ~forget-host HOST~
|
||||||
|
|
||||||
@@ -617,11 +619,11 @@ Remove a given host from =~/.ssh/known_hosts=. Something like =sed -i -e '/192.1
|
|||||||
|
|
||||||
Confirm by printing diff.
|
Confirm by printing diff.
|
||||||
|
|
||||||
*** TODO =lets-temp [NAME]=
|
*** TODO ~scratch-dir [NAME]~
|
||||||
|
|
||||||
Create a new tempdir called ~[NAME]~, and cd into it.
|
Create a new tempdir called ~[NAME]~, and cd into it.
|
||||||
|
|
||||||
*** TODO =doctor= / =status=
|
*** TODO ~doctor~ / ~status~
|
||||||
|
|
||||||
Run various checks on the system.
|
Run various checks on the system.
|
||||||
|
|
||||||
@@ -639,7 +641,7 @@ Following is a subset of the many places I've learnt from. Most important of all
|
|||||||
|
|
||||||
Doom Emacs was my gateway drug to Emacs, as well as continually supportive parent as I've begun to move out — of course, that's a flowerism obfuscating the more direct statement "I've stolen a great deal of their code" }:).
|
Doom Emacs was my gateway drug to Emacs, as well as continually supportive parent as I've begun to move out — of course, that's a flowerism obfuscating the more direct statement "I've stolen a great deal of their code" }:).
|
||||||
|
|
||||||
Beloved Faye's Wishsys is an incredibly impressive 3-kloc NixOS config with several hosts, users, and a beautiful level of modularity. Her system has a number of quirks that initially raise eyebrows, but the questioning turns to awe once you understand she really knows what she's doing }:). Faye and her config are entirely responsible for inspiring and motivating my effort expent here, as well as being a wonderful reference as I re-learnt Nix from the ground up. In the most nerdy moment of my life, I've genuinely /swooned/ over this damn config.
|
The beloved Faye's Wishsys is an incredibly impressive 3-kloc NixOS config with several hosts, users, and a beautiful level of modularity. Her system has a number of quirks that initially raise eyebrows, but the questioning turns to awe once you understand she really knows what she's doing }:). Faye and her config are entirely responsible for inspiring and motivating my effort expent here, as well as being a wonderful reference as I re-learnt Nix from the ground up. In the most nerdy moment of my life, I've genuinely /swooned/ over this damn config.
|
||||||
|
|
||||||
- My darling dearest Faye's =wishsys= }:D
|
- My darling dearest Faye's =wishsys= }:D
|
||||||
- [[https://github.com/rasendubi/dotfiles][rasendubi/dotfiles]]
|
- [[https://github.com/rasendubi/dotfiles][rasendubi/dotfiles]]
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ let
|
|||||||
fontPackages = [
|
fontPackages = [
|
||||||
pkgs.julia-mono
|
pkgs.julia-mono
|
||||||
pkgs.nerd-fonts.victor-mono
|
pkgs.nerd-fonts.victor-mono
|
||||||
pkgs.overpass
|
# pkgs.overpass
|
||||||
|
pkgs.ibm-plex
|
||||||
];
|
];
|
||||||
|
|
||||||
emacsWrapper = pkgs.symlinkJoin {
|
emacsWrapper = pkgs.symlinkJoin {
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
;; -*- mode: emacs-lisp; coding: utf-8-unix -*-
|
|
||||||
;; Minibuffer history file, automatically generated by ‘savehist’.
|
|
||||||
|
|
||||||
(setq savehist-minibuffer-history-variables '(minibuffer-history file-name-history evil-ex-history evil-ex-search-history))
|
|
||||||
(setq minibuffer-history '("file-name-concat"))
|
|
||||||
(setq file-name-history '(#("/persist/dots/users/crumb/programs/emacs/modules/syd-autosave.el" 0 64 (project "/persist/dots/"))))
|
|
||||||
(setq evil-ex-history '("qa" "w"))
|
|
||||||
(setq evil-ex-search-history '("savehi"))
|
|
||||||
(setq evil-jumps-history '((2219 #1="/persist/dots/users/crumb/programs/emacs/modules/syd-autosave.el") (1758 #1#) (3255 #1#) (3279 #1#) (1697 #1#)))
|
|
||||||
134
users/crumb/programs/emacs/lib/syd-kanagawa.el
Normal file
134
users/crumb/programs/emacs/lib/syd-kanagawa.el
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
;;; syd-kanagawa.el -*- lexical-binding: t; -*-
|
||||||
|
|
||||||
|
;;; Rationale: I need direct access to the Kanagawa palette, which kanagawa.el
|
||||||
|
;;; does not provide.
|
||||||
|
|
||||||
|
(defvar syd-kanagawa-palette (make-hash-table :test 'eq
|
||||||
|
:size 130))
|
||||||
|
|
||||||
|
(defvar syd-kanagawa-palette-list
|
||||||
|
'((sumi-ink-0 "#16161D")
|
||||||
|
(sumi-ink-1 "#181820")
|
||||||
|
(sumi-ink-2 "#1a1a22")
|
||||||
|
(sumi-ink-3 "#1F1F28")
|
||||||
|
(sumi-ink-4 "#2A2A37")
|
||||||
|
(sumi-ink-5 "#363646")
|
||||||
|
(sumi-ink-6 "#54546D") ; fg
|
||||||
|
|
||||||
|
;; Popup and Floats
|
||||||
|
(wave-blue-1 "#223249")
|
||||||
|
(wave-blue-2 "#2D4F67")
|
||||||
|
|
||||||
|
;; Diff and Git
|
||||||
|
(winter-green "#2B3328")
|
||||||
|
(winter-yellow "#49443C")
|
||||||
|
(winter-red "#43242B")
|
||||||
|
(winter-blue "#252535")
|
||||||
|
(autumn-green "#76946A")
|
||||||
|
(autumn-red "#C34043")
|
||||||
|
(autumn-yellow "#DCA561")
|
||||||
|
|
||||||
|
;; Diag
|
||||||
|
(samurai-red "#E82424")
|
||||||
|
(ronin-yellow "#FF9E3B")
|
||||||
|
(wave-aqua-1 "#6A9589")
|
||||||
|
(dragon-blue "#658594")
|
||||||
|
|
||||||
|
;; Fg and Comments
|
||||||
|
(old-white "#C8C093")
|
||||||
|
(fuji-white "#DCD7BA")
|
||||||
|
(fuji-gray "#727169")
|
||||||
|
|
||||||
|
(oni-violet "#957FB8")
|
||||||
|
(oni-violet-2 "#b8b4d0")
|
||||||
|
(crystal-blue "#7E9CD8")
|
||||||
|
(spring-violet-1 "#938AA9")
|
||||||
|
(spring-violet-2 "#9CABCA")
|
||||||
|
(spring-blue "#7FB4CA")
|
||||||
|
(light-blue "#A3D4D5")
|
||||||
|
(wave-aqua-2 "#7AA89F") ;; improve lightness: desaturated greenish Aqua
|
||||||
|
|
||||||
|
(spring-green "#98BB6C")
|
||||||
|
(boat-yellow-1 "#938056")
|
||||||
|
(boat-yellow-2 "#C0A36E")
|
||||||
|
(carp-yellow "#E6C384")
|
||||||
|
|
||||||
|
(sakura-pink "#D27E99")
|
||||||
|
(wave-red "#E46876")
|
||||||
|
(peach-red "#FF5D62")
|
||||||
|
(surimi-orange "#FFA066")
|
||||||
|
(katana-gray "#717C7C")
|
||||||
|
|
||||||
|
(dragon-black-0 "#0d0c0c")
|
||||||
|
(dragon-black-1 "#12120f")
|
||||||
|
(dragon-black-2 "#1D1C19")
|
||||||
|
(dragon-black-3 "#181616")
|
||||||
|
(dragon-black-4 "#282727")
|
||||||
|
(dragon-black-5 "#393836")
|
||||||
|
(dragon-black-6 "#625e5a")
|
||||||
|
|
||||||
|
(dragon-white "#c5c9c5")
|
||||||
|
(dragon-green "#87a987")
|
||||||
|
(dragon-green-2 "#8a9a7b")
|
||||||
|
(dragon-pink "#a292a3")
|
||||||
|
(dragon-orange "#b6927b")
|
||||||
|
(dragon-orange-2 "#b98d7b")
|
||||||
|
(dragon-gray "#a6a69c")
|
||||||
|
(dragon-gray1 "#9e9b93")
|
||||||
|
(dragon-gray-3 "#7a8382")
|
||||||
|
(dragon-blue-2 "#8ba4b0")
|
||||||
|
(dragon-violet "#8992a7")
|
||||||
|
(dragon-red "#c4746e")
|
||||||
|
(dragon-aqua "#8ea4a2")
|
||||||
|
(dragon-ash "#737c73")
|
||||||
|
(dragon-teal "#949fb5")
|
||||||
|
(dragon-yellow "#c4b28a")
|
||||||
|
|
||||||
|
(lotus-ink-1 "#545464")
|
||||||
|
(lotus-ink-2 "#43436c")
|
||||||
|
(lotus-gray "#dcd7ba")
|
||||||
|
(lotus-gray-2 "#716e61")
|
||||||
|
(lotus-gray-3 "#8a8980")
|
||||||
|
(lotus-white-0 "#d5cea3")
|
||||||
|
(lotus-white-1 "#dcd5ac")
|
||||||
|
(lotus-white-2 "#e5ddb0")
|
||||||
|
(lotus-white-3 "#f2ecbc")
|
||||||
|
(lotus-white-4 "#e7dba0")
|
||||||
|
(lotus-white-5 "#e4d794")
|
||||||
|
(lotus-violet-1 "#a09cac")
|
||||||
|
(lotus-violet-2 "#766b90")
|
||||||
|
(lotus-violet-3 "#c9cbd1")
|
||||||
|
(lotus-violet-4 "#624c83")
|
||||||
|
(lotus-blue-1 "#c7d7e0")
|
||||||
|
(lotus-blue-2 "#b5cbd2")
|
||||||
|
(lotus-blue-3 "#9fb5c9")
|
||||||
|
(lotus-blue-4 "#4d699b")
|
||||||
|
(lotus-blue-5 "#5d57a3")
|
||||||
|
(lotus-green "#6f894e")
|
||||||
|
(lotus-green-2 "#6e915f")
|
||||||
|
(lotus-green-3 "#b7d0ae")
|
||||||
|
(lotus-pink "#b35b79")
|
||||||
|
(lotus-orange "#cc6d00")
|
||||||
|
(lotus-orange2 "#e98a00")
|
||||||
|
(lotus-yellow "#77713f")
|
||||||
|
(lotus-yellow-2 "#836f4a")
|
||||||
|
(lotus-yellow-3 "#de9800")
|
||||||
|
(lotus-yellow-4 "#f9d791")
|
||||||
|
(lotus-red "#c84053")
|
||||||
|
(lotus-red-2 "#d7474b")
|
||||||
|
(lotus-red-3 "#e82424")
|
||||||
|
(lotus-red-4 "#d9a594")
|
||||||
|
(lotus-aqua "#597b75")
|
||||||
|
(lotus-aqua-2 "#5e857a")
|
||||||
|
(lotus-teal-1 "#4e8ca2")
|
||||||
|
(lotus-teal-2 "#6693bf")
|
||||||
|
(lotus-teal-3 "#5a7785")
|
||||||
|
(lotus-cyan "#d7e3d8")))
|
||||||
|
|
||||||
|
(cl-loop for (k v) in syd-kanagawa-palette-list
|
||||||
|
do (puthash k v syd-kanagawa-palette))
|
||||||
|
|
||||||
|
(defun syd-kanagawa-get (k)
|
||||||
|
(gethash k syd-kanagawa-palette nil))
|
||||||
|
|
||||||
|
(provide 'syd-kanagawa)
|
||||||
@@ -80,11 +80,18 @@
|
|||||||
:prefix-map 'syd-leader-project-map
|
:prefix-map 'syd-leader-project-map
|
||||||
"C" `("Compile project" . ,#'project-compile))
|
"C" `("Compile project" . ,#'project-compile))
|
||||||
|
|
||||||
|
(general-def
|
||||||
|
:prefix-map 'syd-leader-help-package-map
|
||||||
|
"u" `("Temporarily install package" . ,#'straight-use-package)
|
||||||
|
"v" `("Browse package repo" . ,#'straight-visit-package))
|
||||||
|
|
||||||
;; Help
|
;; Help
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'help-map
|
:prefix-map 'help-map
|
||||||
"F" #'describe-face
|
"F" #'describe-face
|
||||||
"'" #'describe-char)
|
"'" #'describe-char
|
||||||
|
"T" #'consult-theme
|
||||||
|
"p" `("Packages" . ,syd-leader-help-package-map))
|
||||||
|
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-leader-notes-map)
|
:prefix-map 'syd-leader-notes-map)
|
||||||
|
|||||||
@@ -72,17 +72,56 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
|
|||||||
(downcase uuid)
|
(downcase uuid)
|
||||||
uuid)))
|
uuid)))
|
||||||
|
|
||||||
(defun syd-org-init-faces ()
|
(defun syd-org-init-theme ()
|
||||||
(let ((headline `(:weight bold)))
|
(require 'syd-kanagawa)
|
||||||
|
(let* ((hl `(:weight bold))
|
||||||
|
(fg (lambda (c) `(:foreground ,(syd-kanagawa-get c))))
|
||||||
|
(bg (lambda (c) `(:background ,(syd-kanagawa-get c))))
|
||||||
|
(block-delim `(:foreground nil
|
||||||
|
:inherit font-lock-comment-face
|
||||||
|
:extend t
|
||||||
|
,@(funcall bg 'sumi-ink-0)
|
||||||
|
:height 0.75))
|
||||||
|
(keyword '(:background nil :foreground nil
|
||||||
|
:inherit (fixed-pitch font-lock-comment-face)
|
||||||
|
:height 0.9)))
|
||||||
|
(setq org-src-block-faces
|
||||||
|
`(("jupyter-apl" syd-apl)))
|
||||||
(custom-theme-set-faces
|
(custom-theme-set-faces
|
||||||
'user
|
'user
|
||||||
|
`(org-document-title ((t (,@hl :height 1.60))))
|
||||||
|
`(org-document-info ((t (,@hl :height 1.0))))
|
||||||
|
`(org-document-info-keyword ((t ,keyword)))
|
||||||
|
`(org-meta-line ((t ,keyword)))
|
||||||
|
`(org-level-1 ((t (,@hl :height 1.40 ,@(funcall fg 'oni-violet)))))
|
||||||
|
`(org-level-2 ((t (,@hl :height 1.35 ,@(funcall fg 'crystal-blue)))))
|
||||||
|
`(org-level-3 ((t (,@hl :height 1.30 ,@(funcall fg 'spring-violet-2)))))
|
||||||
|
`(org-level-4 ((t (,@hl :height 1.25 ,@(funcall fg 'light-blue)))))
|
||||||
|
`(org-level-5 ((t (,@hl :height 1.20 ,@(funcall fg 'wave-aqua-2)))))
|
||||||
|
`(org-level-6 ((t (,@hl :height 1.15 ,@(funcall fg 'spring-green)))))
|
||||||
|
`(org-level-7 ((t (,@hl :height 1.10 ,@(funcall fg 'boat-yellow-1)))))
|
||||||
|
`(org-level-8 ((t (,@hl :height 1.05 ,@(funcall fg 'boat-yellow-2)))))
|
||||||
|
`(org-block-begin-line ((t ,block-delim)))
|
||||||
|
`(org-block-end-line ((t ,block-delim)))
|
||||||
|
'(org-ellipsis ((t (:height 1.0))))
|
||||||
;; It is important that the `org-indent' face uses a fixed-pitch font, lest
|
;; It is important that the `org-indent' face uses a fixed-pitch font, lest
|
||||||
;; e.g. multi-line bullets appear misaligned.
|
;; e.g. multi-line bullets appear misaligned.
|
||||||
'(org-indent ((t (:inherit (org-hide fixed-pitch)))))
|
'(org-indent ((t (:inherit (org-hide syd-alt-fixed-pitch)))))
|
||||||
;; Must be fixed-pitch; `[ ]` and `[X]' should be the same width.
|
;; Must be fixed-pitch; `[ ]` and `[X]' should be the same width.
|
||||||
'(org-checkbox ((t (:inherit fixed-pitch))))
|
'(org-checkbox ((t (:inherit fixed-pitch))))
|
||||||
'(org-drawer ((t (:inherit (font-lock-comment-face fixed-pitch)))))
|
`(org-drawer ((t ,block-delim)))
|
||||||
'(org-property-value ((t (:inherit fixed-pitch)))))))
|
'(org-property-value ((t (:inherit fixed-pitch))))
|
||||||
|
'(org-special-keyword ((t (:inherit (font-lock-comment-face fixed-pitch)))))
|
||||||
|
`(org-block ((t (:inherit fixed-pitch
|
||||||
|
,@(funcall bg 'sumi-ink-2)))))
|
||||||
|
'(org-code ((t (:inherit (shadow fixed-pitch))))))))
|
||||||
|
|
||||||
|
(evil-define-command syd-org-yank-link (register)
|
||||||
|
(interactive "<x>")
|
||||||
|
(if-let* ((url (thing-at-point 'url)))
|
||||||
|
(progn (evil-set-register (or register ?\") url)
|
||||||
|
(message "Yanked link: %s" url))
|
||||||
|
(message "No URL at point")))
|
||||||
|
|
||||||
(defun syd-org-init-keybinds ()
|
(defun syd-org-init-keybinds ()
|
||||||
(general-def
|
(general-def
|
||||||
@@ -92,7 +131,8 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
|
|||||||
[C-M-return] #'org-insert-subheading)
|
[C-M-return] #'org-insert-subheading)
|
||||||
(general-def
|
(general-def
|
||||||
:prefix-map 'syd-org-mode-links-map
|
:prefix-map 'syd-org-mode-links-map
|
||||||
"l" #'org-insert-link)
|
"l" #'org-insert-link
|
||||||
|
"y" #'syd-org-yank-link)
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:keymaps 'org-mode-map
|
:keymaps 'org-mode-map
|
||||||
:states '(normal visual motion emacs insert)
|
:states '(normal visual motion emacs insert)
|
||||||
@@ -108,20 +148,56 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
|
|||||||
"i" #'org-toggle-item
|
"i" #'org-toggle-item
|
||||||
"I" #'org-id-get-create
|
"I" #'org-id-get-create
|
||||||
"k" #'org-babel-remove-result
|
"k" #'org-babel-remove-result
|
||||||
"l" `("Links" . ,syd-org-mode-links-map)))
|
"l" `("Links" . ,syd-org-mode-links-map)
|
||||||
|
"t" #'org-todo))
|
||||||
|
|
||||||
(use-package org
|
(use-package org
|
||||||
:defer-incrementally
|
:defer-incrementally
|
||||||
calendar find-func format-spec org-macs org-compat org-faces org-entities
|
calendar find-func format-spec org-macs org-compat org-faces org-entities
|
||||||
org-list org-pcomplete org-src org-footnote org-macro ob org org-agenda
|
org-list org-pcomplete org-src org-footnote org-macro ob org org-agenda
|
||||||
org-capture
|
org-capture
|
||||||
|
:init
|
||||||
|
;; HACK: Face specs fed directly to `org-todo-keyword-faces' don't respect
|
||||||
|
;; underlying faces like the `org-todo' face does, so we define our own
|
||||||
|
;; intermediary faces that extend from org-todo.
|
||||||
|
(with-no-warnings
|
||||||
|
(custom-declare-face 'syd-org-todo-active
|
||||||
|
'((t (:inherit (bold font-lock-constant-face org-todo)))) "")
|
||||||
|
(custom-declare-face 'syd-org-todo-project
|
||||||
|
'((t (:inherit (bold font-lock-doc-face org-todo)))) "")
|
||||||
|
(custom-declare-face 'syd-org-todo-onhold
|
||||||
|
'((t (:inherit (bold warning org-todo)))) "")
|
||||||
|
(custom-declare-face 'syd-org-todo-cancel
|
||||||
|
'((t (:inherit (bold error org-todo)))) ""))
|
||||||
:custom ((org-startup-folded 'content)
|
:custom ((org-startup-folded 'content)
|
||||||
(org-directory "~/org")
|
(org-directory "~/org")
|
||||||
;; Stay out of my config dir!
|
;; Stay out of my config dir!
|
||||||
(org-id-locations-file (file-name-concat syd-cache-dir
|
(org-id-locations-file (file-name-concat syd-cache-dir
|
||||||
"org-id-locations"))
|
"org-id-locations"))
|
||||||
;; New headings should be inserted /after/ the heading's contents.
|
;; New headings should be inserted /after/ the heading's contents.
|
||||||
(org-insert-heading-respect-content t))
|
(org-insert-heading-respect-content t)
|
||||||
|
;; Hide markup syntax and leave the markup.
|
||||||
|
(org-hide-emphasis-markers t)
|
||||||
|
(org-ellipsis " […]")
|
||||||
|
(org-todo-keywords
|
||||||
|
'((sequence
|
||||||
|
"TODO(t)" ; A task that needs doing & is ready to do
|
||||||
|
"PROJ(p)" ; A project, which usually contains other tasks
|
||||||
|
"STRT(s)" ; A task that is in progress
|
||||||
|
"WAIT(w)" ; Something external is holding up this task
|
||||||
|
"HOLD(h)" ; This task is paused/on hold because of me
|
||||||
|
"IDEA(i)" ; An unconfirmed and unapproved task or notion
|
||||||
|
"|"
|
||||||
|
"DONE(d)" ; Task successfully completed
|
||||||
|
"KILL(k)"))) ; Task was cancelled, aborted, or is no longer
|
||||||
|
; applicable
|
||||||
|
(org-todo-keyword-faces
|
||||||
|
'(("[-]" . syd-org-todo-active)
|
||||||
|
("STRT" . syd-org-todo-active)
|
||||||
|
("WAIT" . syd-org-todo-onhold)
|
||||||
|
("HOLD" . syd-org-todo-onhold)
|
||||||
|
("PROJ" . syd-org-todo-project)
|
||||||
|
("KILL" . syd-org-todo-cancel))))
|
||||||
:preface
|
:preface
|
||||||
;; Speed up initialisation by disabling modules we don't need.
|
;; Speed up initialisation by disabling modules we don't need.
|
||||||
(defvar org-modules
|
(defvar org-modules
|
||||||
@@ -140,9 +216,13 @@ See https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html."
|
|||||||
(syd-add-hook 'org-mode-hook
|
(syd-add-hook 'org-mode-hook
|
||||||
#'org-indent-mode
|
#'org-indent-mode
|
||||||
#'syd-prose-mode)
|
#'syd-prose-mode)
|
||||||
(syd-org-init-faces)
|
(syd-org-init-theme)
|
||||||
(syd-org-init-keybinds))
|
(syd-org-init-keybinds))
|
||||||
|
|
||||||
|
(use-package org-appear
|
||||||
|
:hook (org-mode . org-appear-mode)
|
||||||
|
:custom (org-appear-autoemphasis t))
|
||||||
|
|
||||||
;; Unlike those appearing in `syd-org--init-roam-keybinds', these should be
|
;; Unlike those appearing in `syd-org--init-roam-keybinds', these should be
|
||||||
;; available even outside of Org-mode.
|
;; available even outside of Org-mode.
|
||||||
(general-def
|
(general-def
|
||||||
@@ -199,8 +279,7 @@ In case of failure, fail gracefully."
|
|||||||
|
|
||||||
(use-package evil-org
|
(use-package evil-org
|
||||||
:hook ((org-mode . evil-org-mode)
|
:hook ((org-mode . evil-org-mode)
|
||||||
(org-capture-mode . evil-insert-state)
|
(org-capture-mode . evil-insert-state))
|
||||||
(doom-docs-org-mode . evil-org-mode))
|
|
||||||
:init
|
:init
|
||||||
(defvar evil-org-retain-visual-state-on-shift t)
|
(defvar evil-org-retain-visual-state-on-shift t)
|
||||||
(defvar evil-org-special-o/O '(table-row))
|
(defvar evil-org-special-o/O '(table-row))
|
||||||
@@ -215,7 +294,18 @@ In case of failure, fail gracefully."
|
|||||||
;; (kbd syd-leader-key) nil))
|
;; (kbd syd-leader-key) nil))
|
||||||
|
|
||||||
(use-package hide-mode-line
|
(use-package hide-mode-line
|
||||||
:hook (org-mode-hook . hide-mode-line-mode))
|
:hook (org-mode . hide-mode-line-mode))
|
||||||
|
|
||||||
|
(use-package org-superstar
|
||||||
|
:hook (org-mode . org-superstar-mode)
|
||||||
|
:custom ((org-superstar-headline-bullets-list '(9675))
|
||||||
|
(org-superstar-item-bullet-alist '((?- . ?•)
|
||||||
|
(?+ . ?➤)
|
||||||
|
(?* . ?⋆))))
|
||||||
|
:config
|
||||||
|
(custom-theme-set-faces
|
||||||
|
'user
|
||||||
|
`(org-superstar-header-bullet ((t (:font ,syd-alt-fixed-pitch-font))))))
|
||||||
|
|
||||||
(provide 'syd-org)
|
(provide 'syd-org)
|
||||||
;;; syd-org.el ends here
|
;;; syd-org.el ends here
|
||||||
|
|||||||
@@ -31,19 +31,21 @@
|
|||||||
(defun syd-tab-bar--name-new-tab-h (tab)
|
(defun syd-tab-bar--name-new-tab-h (tab)
|
||||||
"Hooks to `tab-bar-tab-post-open-functions' such that new tabs will be
|
"Hooks to `tab-bar-tab-post-open-functions' such that new tabs will be
|
||||||
given \"explicit names\" that are static."
|
given \"explicit names\" that are static."
|
||||||
(syd-tab-bar-rename-tab tab (funcall syd-tab-bar-name-function)))
|
(syd-tab-bar-rename-tab tab (funcall syd-tab-bar-name-function))))
|
||||||
|
|
||||||
(defun syd-tab-bar--show-tab-bar-h (_tab)
|
(defun syd-tab-bar--show-tab-bar-h (_tab)
|
||||||
"Show the tab-bar if it is not already visible. See
|
"Show the tab-bar if it is not already visible. See
|
||||||
`syd-tab-bar-hide-tab-bar-h'."
|
`syd-tab-bar-hide-tab-bar-h'."
|
||||||
(unless vim-tab-bar-mode
|
(unless vim-tab-bar-mode
|
||||||
(vim-tab-bar-mode 1))))
|
(vim-tab-bar-mode 1)))
|
||||||
|
|
||||||
(defun syd-tab-bar-new-tab ()
|
(defun syd-tab-bar-new-tab ()
|
||||||
(interactive)
|
(interactive)
|
||||||
(let ((tab-bar-tab-post-open-functions
|
(let ((tab-bar-tab-post-open-functions
|
||||||
(cons (lambda (_tab)
|
(-cons* (lambda (_tab)
|
||||||
(switch-to-buffer
|
(switch-to-buffer
|
||||||
(funcall syd-tab-bar-default-buffer-function)))
|
(funcall syd-tab-bar-default-buffer-function)))
|
||||||
|
#'syd-tab-bar--show-tab-bar-h
|
||||||
tab-bar-tab-post-open-functions)))
|
tab-bar-tab-post-open-functions)))
|
||||||
(tab-bar-new-tab)))
|
(tab-bar-new-tab)))
|
||||||
|
|
||||||
|
|||||||
@@ -7,9 +7,21 @@
|
|||||||
"Default fixed-pitch (monospace) font.")
|
"Default fixed-pitch (monospace) font.")
|
||||||
|
|
||||||
(defvar syd-variable-pitch-font
|
(defvar syd-variable-pitch-font
|
||||||
(font-spec :family "Overpass" :size 15)
|
(font-spec :family "IBM Plex Serif" :size 15)
|
||||||
"Default variable-pitch font.")
|
"Default variable-pitch font.")
|
||||||
|
|
||||||
|
(defvar syd-alt-fixed-pitch-font
|
||||||
|
(font-spec :family "JuliaMono" :size 16)
|
||||||
|
"A monospace font secondary to `syd-fixed-pitch-font'.")
|
||||||
|
|
||||||
|
(defface syd-alt-fixed-pitch
|
||||||
|
`((t (:inherit fixed-pitch :font ,syd-alt-fixed-pitch-font)))
|
||||||
|
"TODO")
|
||||||
|
|
||||||
|
(defface syd-apl
|
||||||
|
`((t (:inherit syd-alt-fixed-pitch)))
|
||||||
|
"Face for APL code")
|
||||||
|
|
||||||
;; Beautiful theme in dark and light.
|
;; Beautiful theme in dark and light.
|
||||||
(use-package kanagawa-themes
|
(use-package kanagawa-themes
|
||||||
:config
|
:config
|
||||||
|
|||||||
Reference in New Issue
Block a user