Compare commits

..

3 commits

Author SHA1 Message Date
Joe Ardent
bfb6703b1b add restclient, remove denote 2025-04-30 15:59:01 -07:00
Joe Ardent
dad453ac3c update font sizes 2025-02-27 15:22:30 -08:00
Joe Ardent
7559e2879a work stuff 2025-02-24 11:43:03 -08:00
14 changed files with 134 additions and 180 deletions

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
(global-set-key [C-tab] #'other-window)
(global-set-key [C-S-tab] #'sother-window)
(global-set-key [C-iso-lefttab] #'sother-window)

View file

@ -28,7 +28,8 @@
'("nebkor-modules" "custom-lisp"))
;;; Install Elpaca
(defvar elpaca-installer-version 0.11)
(defvar elpaca-installer-version 0.10)
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@ -63,11 +64,10 @@
(unless (require 'elpaca-autoloads nil t)
(require 'elpaca)
(elpaca-generate-autoloads "elpaca" repo)
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
(load "./elpaca-autoloads")))
(add-hook 'after-init-hook #'elpaca-process-queues)
(elpaca `(,@elpaca-order))
;; Install use-package support for Elpaca
(elpaca elpaca-use-package
;; Enable use-package :ensure support for Elpaca.

View file

@ -216,8 +216,7 @@ be updated accordingly.
#+end_quote
#+begin_src emacs-lisp :tangle no :results none
;; -*- lexical-binding: t; -*-
(org-babel-tangle)
(org-babel-tangle)
#+end_src
@ -499,8 +498,9 @@ When using ~elpaca~, here are some gotchas you should be aware of
assumptions about order of execution.
#+begin_src emacs-lisp :tangle "init.el"
;;; Install Elpaca
(defvar elpaca-installer-version 0.11)
;;; Install Elpaca
(defvar elpaca-installer-version 0.10)
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
@ -535,11 +535,10 @@ When using ~elpaca~, here are some gotchas you should be aware of
(unless (require 'elpaca-autoloads nil t)
(require 'elpaca)
(elpaca-generate-autoloads "elpaca" repo)
(let ((load-source-file-function nil)) (load "./elpaca-autoloads"))))
(load "./elpaca-autoloads")))
(add-hook 'after-init-hook #'elpaca-process-queues)
(elpaca `(,@elpaca-order))
;; Install use-package support for Elpaca
(elpaca elpaca-use-package
;; Enable use-package :ensure support for Elpaca.
@ -674,7 +673,6 @@ Now we are ready to load our per-module configuration files:
This module defines everything related to the aesthetics of Emacs.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-theme.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Everything related to the look of Emacs
#+end_src
@ -875,7 +873,7 @@ Another section defines some complementary functionality
'((small
:default-height 120)
(regular
:default-height 130)
:default-height 160)
(medium
:default-weight semilight
:default-height 170
@ -892,7 +890,7 @@ Another section defines some complementary functionality
(t
;; See the fontaine manual for the technicalities:
;; <https://protesilaos.com/emacs/fontaine>.
:default-family "Noto Sans Mono"
:default-family "Menlo"
:default-weight normal
:variable-pitch-family "Iosevka"
:variable-pitch-height 1.05)))
@ -1017,7 +1015,6 @@ in the function ~prot/enable-variable-pitch~.
:END:
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-essentials.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Essential configurations
(use-package emacs
:ensure nil
@ -1362,6 +1359,7 @@ These are modifications to basic configuration I use on my Mac OSX machine.
;; domain name
(setq system-name (car (split-string system-name "\\.")))
;;; Binaries
(setq insert-directory-program "/opt/homebrew/bin/gls")
(setq vc-git-program (or (executable-find "git") "/usr/local/bin/git"))
(setq epg-gpg-program (or (executable-find "gpg") "/usr/local/bin/gpg"))))
#+end_src
@ -1573,74 +1571,73 @@ soon as I type a space after some characters I am using ~orderless~.
(There are more details in Prot's file, for the interested reader)
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-completion.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; General minibuffer settings
(use-package minibuffer
:ensure nil
:config
;;;; Completion styles
(setq completion-styles '(basic substring initials flex orderless)) ; also see `completion-category-overrides'
(setq completion-pcm-leading-wildcard t) ; Emacs 31: make `partial-completion' behave like `substring'
;;; General minibuffer settings
(use-package minibuffer
:ensure nil
:config
;;;; Completion styles
(setq completion-styles '(basic substring initials flex orderless)) ; also see `completion-category-overrides'
(setq completion-pcm-leading-wildcard t) ; Emacs 31: make `partial-completion' behave like `substring'
;; Reset all the per-category defaults so that (i) we use the
;; standard `completion-styles' and (ii) can specify our own styles
;; in the `completion-category-overrides' without having to
;; explicitly override everything.
(setq completion-category-defaults nil)
;; Reset all the per-category defaults so that (i) we use the
;; standard `completion-styles' and (ii) can specify our own styles
;; in the `completion-category-overrides' without having to
;; explicitly override everything.
(setq completion-category-defaults nil)
;; A non-exhaustve list of known completion categories:
;;
;; - `bookmark'
;; - `buffer'
;; - `charset'
;; - `coding-system'
;; - `color'
;; - `command' (e.g. `M-x')
;; - `customize-group'
;; - `environment-variable'
;; - `expression'
;; - `face'
;; - `file'
;; - `function' (the `describe-function' command bound to `C-h f')
;; - `info-menu'
;; - `imenu'
;; - `input-method'
;; - `kill-ring'
;; - `library'
;; - `minor-mode'
;; - `multi-category'
;; - `package'
;; - `project-file'
;; - `symbol' (the `describe-symbol' command bound to `C-h o')
;; - `theme'
;; - `unicode-name' (the `insert-char' command bound to `C-x 8 RET')
;; - `variable' (the `describe-variable' command bound to `C-h v')
;; - `consult-grep'
;; - `consult-isearch'
;; - `consult-kmacro'
;; - `consult-location'
;; - `embark-keybinding'
;;
(setq completion-category-overrides
;; NOTE 2021-10-25: I am adding `basic' because it works better as a
;; default for some contexts. Read:
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=50387>.
;;
;; `partial-completion' is a killer app for files, because it
;; can expand ~/.l/s/fo to ~/.local/share/fonts.
;;
;; If `basic' cannot match my current input, Emacs tries the
;; next completion style in the given order. In other words,
;; `orderless' kicks in as soon as I input a space or one of its
;; style dispatcher characters.
'((file (styles . (basic partial-completion orderless)))
(bookmark (styles . (basic substring)))
(library (styles . (basic substring)))
(embark-keybinding (styles . (basic substring)))
(imenu (styles . (basic substring orderless)))
(consult-location (styles . (basic substring orderless)))
(kill-ring (styles . (emacs22 orderless)))
(eglot (styles . (emacs22 substring orderless))))))
;; A non-exhaustve list of known completion categories:
;;
;; - `bookmark'
;; - `buffer'
;; - `charset'
;; - `coding-system'
;; - `color'
;; - `command' (e.g. `M-x')
;; - `customize-group'
;; - `environment-variable'
;; - `expression'
;; - `face'
;; - `file'
;; - `function' (the `describe-function' command bound to `C-h f')
;; - `info-menu'
;; - `imenu'
;; - `input-method'
;; - `kill-ring'
;; - `library'
;; - `minor-mode'
;; - `multi-category'
;; - `package'
;; - `project-file'
;; - `symbol' (the `describe-symbol' command bound to `C-h o')
;; - `theme'
;; - `unicode-name' (the `insert-char' command bound to `C-x 8 RET')
;; - `variable' (the `describe-variable' command bound to `C-h v')
;; - `consult-grep'
;; - `consult-isearch'
;; - `consult-kmacro'
;; - `consult-location'
;; - `embark-keybinding'
;;
(setq completion-category-overrides
;; NOTE 2021-10-25: I am adding `basic' because it works better as a
;; default for some contexts. Read:
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=50387>.
;;
;; `partial-completion' is a killer app for files, because it
;; can expand ~/.l/s/fo to ~/.local/share/fonts.
;;
;; If `basic' cannot match my current input, Emacs tries the
;; next completion style in the given order. In other words,
;; `orderless' kicks in as soon as I input a space or one of its
;; style dispatcher characters.
'((file (styles . (basic partial-completion orderless)))
(bookmark (styles . (basic substring)))
(library (styles . (basic substring)))
(embark-keybinding (styles . (basic substring)))
(imenu (styles . (basic substring orderless)))
(consult-location (styles . (basic substring orderless)))
(kill-ring (styles . (emacs22 orderless)))
(eglot (styles . (emacs22 substring orderless))))))
#+end_src
** The =nebkor-completion.el= for the ~orderless~ completion style
@ -2241,7 +2238,6 @@ I use ~vertico-repeat~ to mimic the functionality that ~helm-resume~ would provi
My old custom functions file.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-functions.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
(defun diff-and-set-modified-p ()
"Diff the current buffer with its associated file and set buffer modified status."
(let* ((tmpfile (diff-file-local-copy (current-buffer)))
@ -2433,7 +2429,6 @@ Now on to the configurations.
tweak to ensure that ~consult-imenu~ returns good ~imenu~ results to us.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-search.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
(use-package imenu
:ensure nil
:config
@ -2751,15 +2746,14 @@ them manually. I prefer this extra layer of safety. Plus, we have the
#+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-dired.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Dired file manager and prot-dired.el extras
(use-package dired
:ensure nil
:commands (dired)
:config
(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)
(setq delete-by-moving-to-trash t))
;;; Dired file manager and prot-dired.el extras
(use-package dired
:ensure nil
:commands (dired)
:config
(setq dired-recursive-copies 'always)
(setq dired-recursive-deletes 'always)
(setq delete-by-moving-to-trash t))
#+end_src
** The =nebkor-dired.el= switches for how files are listed (~ls~)
@ -3101,15 +3095,14 @@ name.
#+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-window.el"
;; -*- lexical-binding: t; -*-
;;; General window and buffer configurations
(use-package uniquify
:ensure nil
:config
;;;; `uniquify' (unique names for buffers)
(setq uniquify-buffer-name-style 'forward)
(setq uniquify-strip-common-suffix t)
(setq uniquify-after-kill-buffer-p t))
;;; General window and buffer configurations
(use-package uniquify
:ensure nil
:config
;;;; `uniquify' (unique names for buffers)
(setq uniquify-buffer-name-style 'forward)
(setq uniquify-strip-common-suffix t)
(setq uniquify-after-kill-buffer-p t))
#+end_src
@ -3285,19 +3278,18 @@ integrates with ~magit~ ([[#h:b08af527-9ebf-4425-ac3a-24b4f371a4fd][The =nebkor-
#+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-git.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;;; `ediff'
(use-package ediff
:ensure nil
:commands (ediff-buffers ediff-files ediff-buffers3 ediff-files3)
:init
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
:config
(setq ediff-keep-variants nil)
(setq ediff-make-buffers-readonly-at-startup nil)
(setq ediff-merge-revisions-with-ancestor t)
(setq ediff-show-clashes-only t))
;;;; `ediff'
(use-package ediff
:ensure nil
:commands (ediff-buffers ediff-files ediff-buffers3 ediff-files3)
:init
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
:config
(setq ediff-keep-variants nil)
(setq ediff-make-buffers-readonly-at-startup nil)
(setq ediff-merge-revisions-with-ancestor t)
(setq ediff-show-clashes-only t))
#+end_src
** The =nebkor-git.el= section about project management (~project~)
@ -3464,22 +3456,6 @@ branches, etc.
'(("~/src/prototypes" . 1))))
#+end_src
#+begin_quote
The difftastic Emacs package is designed to integrate difftastic - a structural diff tool - into
your Emacs workflow, enhancing your code review and comparison experience. This package
automatically displays difftastics output within Emacs using faces from your user theme, ensuring
consistency with your overall coding environment.
#+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-git.el"
(elpaca (difftastic :host "github.com" :repo "pkryger/difftastic.el")
(use-package difftastic))
(use-package difftastic-bindings
:after difftastic
:config (difftastic-bindings-mode))
#+end_src
** Finally, we provide the =nebkor-git.el= module
:PROPERTIES:
:CUSTOM_ID: h:4e7035c5-9350-4c51-be85-85f2539ed295
@ -3563,29 +3539,28 @@ Org is far more capable, so I switched to it completely.
#+end_quote
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-org.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;; Calendar
(use-package calendar
:ensure nil
:commands (calendar)
:config
(setq calendar-mark-diary-entries-flag nil)
(setq calendar-mark-holidays-flag t)
(setq calendar-mode-line-format nil)
(setq calendar-time-display-form
'( 24-hours ":" minutes
(when time-zone (format "(%s)" time-zone))))
(setq calendar-week-start-day 1) ; Monday
(setq calendar-date-style 'iso)
(setq calendar-time-zone-style 'numeric) ; Emacs 28.1
;;; Calendar
(use-package calendar
:ensure nil
:commands (calendar)
:config
(setq calendar-mark-diary-entries-flag nil)
(setq calendar-mark-holidays-flag t)
(setq calendar-mode-line-format nil)
(setq calendar-time-display-form
'( 24-hours ":" minutes
(when time-zone (format "(%s)" time-zone))))
(setq calendar-week-start-day 1) ; Monday
(setq calendar-date-style 'iso)
(setq calendar-time-zone-style 'numeric) ; Emacs 28.1
(require 'solar)
(setq calendar-latitude 35.17 ; Not my actual coordinates
calendar-longitude 33.36)
(require 'solar)
(setq calendar-latitude 35.17 ; Not my actual coordinates
calendar-longitude 33.36)
(require 'cal-dst)
(setq calendar-standard-time-zone-name "+0700")
(setq calendar-daylight-time-zone-name "+0800"))
(require 'cal-dst)
(setq calendar-standard-time-zone-name "+0700")
(setq calendar-daylight-time-zone-name "+0800"))
#+end_src
** The =nebkor-org.el= section about appointment reminders (~appt~)
@ -4540,7 +4515,6 @@ title of the task, and the like. The documentation string of
:END:
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-langs.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
;;;; Tabs, indentation, and the TAB key
(use-package emacs
:ensure nil
@ -4774,12 +4748,12 @@ of packaging. I use it whenever I work on my numerous Emacs packages.
(use-package flymake
:ensure nil
:bind
(:map flymake-mode-map
( :map flymake-mode-map
("C-c ! s" . flymake-start)
("C-c ! l" . flymake-show-buffer-diagnostics) ; Emacs28
("C-c ! L" . flymake-show-project-diagnostics) ; Emacs28
("M-g n" . flymake-goto-next-error)
("M-g p" . flymake-goto-prev-error))
("C-c ! n" . flymake-goto-next-error)
("C-c ! p" . flymake-goto-prev-error))
:hook
(prog-mode . turn-on-flymake)
:config
@ -5361,8 +5335,7 @@ go-to place for studying anything.
PDF Tools is an absolute powerhouse for reading and annotating PDF
files. It is my goto tool for reading any academic papers.
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-study.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
#+begin_src emacs-lisp :tangle "nebkor-modules/nebkor-study.el"
;;; PDF Tools for reading and annotating PDF files
(use-package pdf-tools
:ensure (:host github :repo "vedang/pdf-tools" :branch "master")
@ -6347,7 +6320,6 @@ figure it out.
:END:
#+begin_src emacs-lisp :tangle "custom-lisp/nebkor-personal.el" :mkdirp yes
;; -*- lexical-binding: t; -*-
(global-set-key [C-tab] #'other-window)
(global-set-key [C-S-tab] #'sother-window)
(global-set-key [C-iso-lefttab] #'sother-window)

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; General minibuffer settings
(use-package minibuffer
:ensure nil

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; Dired file manager and prot-dired.el extras
(use-package dired
:ensure nil

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; Essential configurations
(use-package emacs
:ensure nil
@ -175,6 +174,7 @@ word. Fall back to regular `expreg-expand'."
;; domain name
(setq system-name (car (split-string system-name "\\.")))
;;; Binaries
(setq insert-directory-program "/opt/homebrew/bin/gls")
(setq vc-git-program (or (executable-find "git") "/usr/local/bin/git"))
(setq epg-gpg-program (or (executable-find "gpg") "/usr/local/bin/gpg"))))

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
(defun diff-and-set-modified-p ()
"Diff the current buffer with its associated file and set buffer modified status."
(let* ((tmpfile (diff-file-local-copy (current-buffer)))

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;;; `ediff'
(use-package ediff
:ensure nil
@ -75,11 +74,4 @@
(setq magit-repository-directories
'(("~/src/prototypes" . 1))))
(elpaca (difftastic :host "github.com" :repo "pkryger/difftastic.el")
(use-package difftastic))
(use-package difftastic-bindings
:after difftastic
:config (difftastic-bindings-mode))
(provide 'nebkor-git)

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;;; Tabs, indentation, and the TAB key
(use-package emacs
:ensure nil
@ -78,12 +77,12 @@
(use-package flymake
:ensure nil
:bind
(:map flymake-mode-map
( :map flymake-mode-map
("C-c ! s" . flymake-start)
("C-c ! l" . flymake-show-buffer-diagnostics) ; Emacs28
("C-c ! L" . flymake-show-project-diagnostics) ; Emacs28
("M-g n" . flymake-goto-next-error)
("M-g p" . flymake-goto-prev-error))
("C-c ! n" . flymake-goto-next-error)
("C-c ! p" . flymake-goto-prev-error))
:hook
(prog-mode . turn-on-flymake)
:config

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; Calendar
(use-package calendar
:ensure nil

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
(use-package imenu
:ensure nil
:config

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; PDF Tools for reading and annotating PDF files
(use-package pdf-tools
:ensure (:host github :repo "vedang/pdf-tools" :branch "master")

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; Everything related to the look of Emacs
;;(add-to-list 'default-frame-alist '(background-color . "snow"))
@ -96,7 +95,7 @@
'((small
:default-height 120)
(regular
:default-height 130)
:default-height 160)
(medium
:default-weight semilight
:default-height 170
@ -113,7 +112,7 @@
(t
;; See the fontaine manual for the technicalities:
;; <https://protesilaos.com/emacs/fontaine>.
:default-family "Noto Sans Mono"
:default-family "Menlo"
:default-weight normal
:variable-pitch-family "Iosevka"
:variable-pitch-height 1.05)))

View file

@ -1,4 +1,3 @@
;; -*- lexical-binding: t; -*-
;;; General window and buffer configurations
(use-package uniquify
:ensure nil