Compare commits

...

17 Commits

Author SHA1 Message Date
71bb316433 Fix Cross References 2025-09-04 15:42:37 -04:00
72ec0bbcca Fix indents 2025-09-03 17:04:23 -04:00
51149a1c62 TODO: Fix overrides for local-repo/emacs (for nix derivation) 2025-09-03 17:00:24 -04:00
2adc03c10d Cleanup Straight/Org Literate Loading 2025-09-02 11:56:17 -04:00
abd4dbb085 Merge branch 'master' of https://git.syzygial.cc/Syzygial/EmacsConfig 2025-09-02 11:16:25 -04:00
David
2ba07d3ba9 Update packages 2025-08-28 11:16:27 -04:00
David
7601c515d7 Fix loads and defers 2025-08-28 11:16:18 -04:00
David
491d9e173b No-defer to load pure customizations 2025-08-27 17:06:31 -04:00
David
707ae8ed9e Add note and disable GCMH 2025-08-27 16:59:57 -04:00
David
8e573a4739 Fix: Load Leaf w/ Straight.el 2025-08-27 16:53:42 -04:00
5a840488b5 Todo.org -> todos.org 2025-03-24 10:29:56 -04:00
14454885f1 Org-ref pre-process hook & org babel for shell 2025-03-20 12:06:21 -04:00
db7573be44 straight/org fixup 2025-03-18 10:12:10 -04:00
3f9a4859a9 No longer need community overlay (for now) 2025-03-18 09:52:53 -04:00
2c35aebce7 Nix Package Overlay -> Straight 2025-03-18 09:48:28 -04:00
91e2a5430d macport not avail for emacs-30, use regular/native 2025-03-13 11:39:50 -04:00
80eb9e5e07 rainbowmode 2025-03-13 11:30:26 -04:00
6 changed files with 277 additions and 157 deletions

3
.gitignore vendored
View File

@@ -1,7 +1,8 @@
/auto-save-list/ /auto-save-list/
/backups/ /backups/
/etc/ /etc/
/straight/ /straight/*
!/straight/versions
/tutorial/ /tutorial/
/var/ /var/
tramp tramp

38
flake.lock generated
View File

@@ -1,26 +1,5 @@
{ {
"nodes": { "nodes": {
"emacs-overlay": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1737825153,
"narHash": "sha256-R1p2ZXOydII+MT/SpeOXBjo/dgfD/gIArge2YAgSw38=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "4ebe4c890e7c8662ae31192359a56b0505cf10ba",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@@ -55,25 +34,8 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1737672001,
"narHash": "sha256-YnHJJ19wqmibLQdUeq9xzE6CjrMA568KN/lFPuSVs4I=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "035f8c0853c2977b24ffc4d0a42c74f00b182cd8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"emacs-overlay": "emacs-overlay",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
} }

View File

@@ -1,37 +1,21 @@
{ {
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
inputs.emacs-overlay.url = "github:nix-community/emacs-overlay";
inputs.emacs-overlay.inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.url = "github:numtide/flake-utils"; inputs.flake-utils.url = "github:numtide/flake-utils";
outputs = { self, nixpkgs, flake-utils, emacs-overlay }: let outputs = { self, nixpkgs, flake-utils }: let
mkEmacs = pkgs: v: wayland: pkgs.emacsWithPackagesFromUsePackage {
config = ./main.org;
package = (pkgs."${v}${if pkgs.stdenv.isDarwin then "-macport" else (if wayland then "-pgtk" else "")}").overrideAttrs (old: {
passthru = old.passthru // {
treeSitter = true;
};
});
extraEmacsPackages = epkgs: with epkgs; [
treesit-grammars.with-all-grammars
];
};
in (flake-utils.lib.eachDefaultSystem (system: let in (flake-utils.lib.eachDefaultSystem (system: let
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system; inherit system;
overlays = [
emacs-overlay.overlays.default
];
}; };
in { in {
packages = { packages = {
me-emacs = mkEmacs pkgs "emacs" false; me-emacs = pkgs.emacs;
me-emacs-wayland = mkEmacs pkgs "emacs" true; me-emacs-wayland = pkgs.emacs-pgtk;
}; };
})) // { })) // {
overlays.default = final: prev: (emacs-overlay.overlays.default final prev) // { overlays.default = final: prev: ({
me-emacs = mkEmacs final "emacs" false; me-emacs = final.emacs;
me-emacs-wayland = mkEmacs final "emacs" true; me-emacs-wayland = final.emacs-pgtk;
}; });
}; };
} }

39
init.el
View File

@@ -3,22 +3,31 @@
;; This file loads Org and then loads the rest of our Emacs initialization from Emacs lisp ;; This file loads Org and then loads the rest of our Emacs initialization from Emacs lisp
;; embedded in literate Org files. ;; embedded in literate Org files.
;; Load up Org Mode and (now included) Org Babel for elisp embedded in Org Mode files (setq straight-check-for-modifications '(check-on-save find-when-checking))
(setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name
"straight/repos/straight.el/bootstrap.el"
(or (bound-and-true-p straight-base-dir)
user-emacs-directory)))
(bootstrap-version 7))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(let* ((org-dir (expand-file-name (setq straight-vc-git-default-clone-depth '(1 single-branch)) ;; instead of the default 'full
"lisp" (expand-file-name
"org" (expand-file-name ;; prebuild is broken in org-mode (TODO: FIX)
"src" dotfiles-dir)))) ;; (straight-override-recipe '(org :local-repo "/Users/universelaptop/tmp/org"))
(org-contrib-dir (expand-file-name (straight-use-package 'org)
"lisp" (expand-file-name
"contrib" (expand-file-name (setq dotfiles-dir (file-name-directory (or (buffer-file-name) load-file-name)))
".." org-dir))))
(load-path (append (list org-dir org-contrib-dir)
(or load-path nil))))
;; load up Org and Org-babel
(require 'org)
(require 'ob-tangle))
;; load up all literate org-mode files in this directory ;; load up all literate org-mode files in this directory
(mapc #'org-babel-load-file (directory-files dotfiles-dir t "\\.org$")) (mapc #'org-babel-load-file (directory-files dotfiles-dir t "\\.org$"))

220
main.org
View File

@@ -9,38 +9,56 @@
* Initialization * Initialization
** Straight.el
Package management to be a little more fien/precise and work outside
of Nix (as much as it would be nice to work inside of Nix too). This
is actually contained within =init.el=
#+begin_src elisp :tangle no :exports code
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name
"straight/repos/straight.el/bootstrap.el"
(or (bound-and-true-p straight-base-dir)
user-emacs-directory)))
(bootstrap-version 7))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
#+end_src
This code block actually resides in init.el (so that we can perform
some necessary pre-configuration)
** Leaf.el ** Leaf.el
We must initialize =leaf.el=, which we use as a use-package We must initialize =leaf.el=, which we use as a use-package
replacement for defining configs and relations between packages etc. replacement for defining configs and relations between packages etc.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(eval-and-compile (eval-and-compile
(customize-set-variable (straight-use-package 'leaf)
'package-archives '(("org" . "https://orgmode.org/elpa/")
("melpa" . "https://melpa.org/packages/")
("gnu" . "https://elpa.gnu.org/packages/")))
(package-initialize)
(unless (package-installed-p 'leaf)
(package-refresh-contents)
(package-install 'leaf))
(leaf leaf-keywords (leaf leaf-keywords
:ensure t :init
:init (straight-use-package 'leaf-keywords)
(leaf el-get :ensure t) :custom
(leaf hydra :ensure t) (leaf-alias-keyword-alist .'((:ensure . :straight)))
(leaf blackout :ensure t) :config
;; initialize leaf-keywords.el
(leaf-keywords-init)))
:config (leaf leaf-tree :ensure t)
;; initialize leaf-keywords.el (leaf leaf-convert :ensure t)
(leaf-keywords-init))) (leaf transient-dwim :ensure t
:require t ;; Needed so that org-roam may unobstructively depend on this
(leaf leaf-tree :ensure t) :bind (("M-=" . transient-dwim-dispatch)))
(leaf leaf-convert :ensure t)
(leaf transient-dwim :ensure t
:require t ;; Needed so that org-roam may unobstructively depend on this
:bind (("M-=" . transient-dwim-dispatch)))
#+end_src #+end_src
** MacOS Specific ** MacOS Specific
@@ -57,9 +75,16 @@ replacement for defining configs and relations between packages etc.
*** Garbage Collection *** Garbage Collection
This makes the garbage collection thresholds variable based on emacs
usage. I don't know how well this plays with LSPs or similarly RAM hungry
features. This was useful when I used a very restricted netbook w/ ~2GiB of
RAM.
Disabled for now. (May add flags to enable on specific systems)
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf gcmh :ensure t ; (leaf gcmh :ensure t
:hook (after-init-hook)) ; :hook (after-init-hook))
#+end_src #+end_src
*** Profiling *** Profiling
@@ -75,6 +100,7 @@ Ensure that the =custom.el= resides in the users' emacs directory.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf custom-el (leaf custom-el
:leaf-defer nil
:config :config
;; Ensure custom writes to specific file ;; Ensure custom writes to specific file
(setq custom-file (expand-file-name "custom.el" user-emacs-directory)) (setq custom-file (expand-file-name "custom.el" user-emacs-directory))
@@ -87,6 +113,7 @@ Set the backups directory to reside in the users' emacs directory.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf backup (leaf backup
:leaf-defer nil
:config :config
;; Change the location of file backups/locks into the emacs.d/backups/ ;; Change the location of file backups/locks into the emacs.d/backups/
(setq backup-directory-alist (setq backup-directory-alist
@@ -110,6 +137,7 @@ Visual Theme of Emacs config: defined in the =themes= directory.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf visual (leaf visual
:leaf-defer nil
:doc "Visual Changes to Emacs" :doc "Visual Changes to Emacs"
:tag "builtin" "internal" :tag "builtin" "internal"
:custom ((menu-bar-mode . nil) :custom ((menu-bar-mode . nil)
@@ -126,7 +154,9 @@ Visual Theme of Emacs config: defined in the =themes= directory.
* Version Control * Version Control
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf magit :ensure t :require t) (leaf magit
:leaf-defer nil
:ensure t :require t)
#+end_src #+end_src
* Nix Related * Nix Related
@@ -137,15 +167,16 @@ In order to support direnv (loading =nix-shell= / =nix develop=)
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf direnv (leaf direnv
:ensure t :ensure t
:config :global-minor-mode direnv-mode)
(direnv-mode))
#+end_src #+end_src
** Nix-mode ** Nix-mode
=.nix= file mode =.nix= file mode
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf nix-mode :ensure t) (leaf nix-mode
:ensure t
:mode "\\.nix\\'")
#+end_src #+end_src
* IDE Like Things * IDE Like Things
@@ -153,8 +184,9 @@ In order to support direnv (loading =nix-shell= / =nix develop=)
** Which Key Again? ** Which Key Again?
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf which-key :ensure t (leaf which-key
:config (which-key-mode)) :ensure t
:global-minor-mode which-key-mode)
#+end_src #+end_src
** Company Completion! ** Company Completion!
@@ -166,7 +198,7 @@ We like autocomplete, it... is nice, okay?
:bind :bind
(("C-<tab>" . company-complete)) (("C-<tab>" . company-complete))
:hook after-init-hook :hook after-init-hook
:config (global-company-mode)) :global-minor-mode global-company-mode)
#+end_src #+end_src
** Language Server Protocol ** Language Server Protocol
@@ -179,9 +211,9 @@ We love language features that make languages nice
:init :init
(setq lsp-keymap-prefix "C-c l") (setq lsp-keymap-prefix "C-c l")
:commands lsp lsp-deferred :commands lsp lsp-deferred
:hook :hook (
;; which key support v v v ;; which key support v v v
((lsp-mode-hook . lsp-enable-which-key-integration) (lsp-mode-hook . lsp-enable-which-key-integration)
#+end_src #+end_src
*** IDE Languages *** IDE Languages
@@ -220,7 +252,7 @@ We love language features that make languages nice
**** Rust **** Rust
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(rust-mode-hook . lsp-deferred)) (rust-mode-hook . lsp-deferred)
#+end_src #+end_src
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
@@ -231,6 +263,10 @@ We love language features that make languages nice
We do want some nice to haves of course We do want some nice to haves of course
#+begin_src elisp :tangle yes :exports code
:init
#+end_src
- A pretty UI: - A pretty UI:
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf lsp-ui :ensure t (leaf lsp-ui :ensure t
@@ -254,6 +290,12 @@ We do want some nice to haves of course
(projectile-mode +1)) (projectile-mode +1))
#+end_src #+end_src
END LSP CONFIG
#+begin_src elisp :tangle yes :exports code
)
#+end_src
* WEB * WEB
We all know the web is the future, obviously, of course. We all know the web is the future, obviously, of course.
@@ -267,19 +309,29 @@ We all know the web is the future, obviously, of course.
"\\.jsx?\\'" "\\.jsx?\\'"
"\\.tsx?\\'") "\\.tsx?\\'")
(leaf php-mode (leaf php-mode
:mode "\\.php\\'"
:ensure t)
(leaf rainbow-mode
:leaf-defer nil
:ensure t) :ensure t)
#+end_src #+end_src
* D2 * D2
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf d2-mode :ensure t) (leaf d2-mode
:ensure t
:mode "\\.d2\\'"
)
#+end_src #+end_src
* YAML * YAML
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf yaml-mode :ensure t) (leaf yaml-mode
:ensure t
:mode "\\.yaml\\'"
)
#+end_src #+end_src
* Python Things * Python Things
@@ -290,7 +342,9 @@ Using python-mode is to have more up to date features (and
highlighting) compared to builtin python-mode. highlighting) compared to builtin python-mode.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf python-mode :ensure t (leaf python-mode
:ensure t
:mode "\\.py\\'"
:config :config
(setq python-shell-interpreter "ipython" (setq python-shell-interpreter "ipython"
python-shell-interpreter-args "-i --simple-prompt --InteractiveShell.display_page=True")) python-shell-interpreter-args "-i --simple-prompt --InteractiveShell.display_page=True"))
@@ -308,27 +362,34 @@ For when we aren't nix'ing things, and want some nice poetry.
Who even needs C++, not me, no way, no how. Who even needs C++, not me, no way, no how.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle no :exports code
(leaf c-config (leaf c-config
:hook c-mode-hook c++-mode-hook
:config :config
(leaf company-ctags :ensure t) ; (leaf company-ctags :ensure t
(leaf company-c-headers :ensure t) ; :hook c-mode-hook c++-mode-hook)
(leaf meson-mode :ensure t)) ; (leaf company-c-headers :ensure t
; :hook c-mode-hook c++-mode-hook)
; (leaf meson-mode :ensure t
; :hook c-mode-hook c++-mode-hook)
)
#+end_src #+end_src
* Haskell * Haskell
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf haskell-mode :ensure t) (leaf haskell-mode
(leaf lsp-haskell :ensure t) :ensure t
(leaf company-ghci :ensure t) :mode "\\.hs\\'"
:init
(leaf lsp-haskell :ensure t)
(leaf company-ghci :ensure t))
#+end_src #+end_src
* Rust * Rust
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf rust-mode :ensure t (leaf rust-mode :ensure t
:mode "\\.rs\\'"
:init :init
(leaf slint-mode :ensure t)) (leaf slint-mode :ensure t))
#+end_src #+end_src
@@ -339,7 +400,7 @@ Minecraft =mcfunction= support, because, it can be annoying to type
this stuff otherwise. this stuff otherwise.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf mcf-mode (leaf mcf-mode
:el-get rasensuihei/mcf) :straight (mcf-mode :type git :host github :repo "rasensuihei/mcf"))
#+end_src #+end_src
* Lisps * Lisps
@@ -374,18 +435,22 @@ For using clojure, we use both [[https://github.com/clojure-emacs/clojure-mode][
We ensure that org is available (though it is builtin) We ensure that org is available (though it is builtin)
For Version compatibility we actually install org in init.el (to not
conflict with the builtin version of Org)
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf org :ensure t (leaf org
:require t org-tempo :require t org-tempo
:hook :hook
(org-mode-hook . auto-fill-mode) (org-mode-hook . auto-fill-mode)
:config :config
(setq document-dir (expand-file-name (if (eq system-type 'darwin) "~/Nextcloud" "~/Documents"))) (setq document-dir (expand-file-name (if (eq system-type 'darwin) "~/Nextcloud" "~/Documents")))
(setq org-directory (concat document-dir "/org")) (setq org-directory (concat document-dir "/org"))
(when (not (file-exists-p org-directory)) (mkdir org-directory))
(set-fill-column 100) (set-fill-column 100)
(setq org-src-fontify-natively t (setq org-src-fontify-natively t
org-confirm-babel-evaluate nil org-confirm-babel-evaluate nil
org-src-preserve-indentation t)) org-src-preserve-indentation t))
;; (tempo-define-template "Fig. Caption" ;; (tempo-define-template "Fig. Caption"
;; '("" (P "Image: " image t) ;; '("" (P "Image: " image t)
;; (P "Caption: " caption t) ;; (P "Caption: " caption t)
@@ -440,7 +505,9 @@ updating our bibliography.
bibtex-autokey-titlewords 2 bibtex-autokey-titlewords 2
bibtex-autokey-titlewords-stretch 1 bibtex-autokey-titlewords-stretch 1
bibtex-autokey-titleword-length 5) bibtex-autokey-titleword-length 5)
:require org-ref org-ref-helm oc-bibtex oc-bibtex oc-csl oc-natbib) (add-to-list 'org-export-before-parsing-functions 'org-ref-csl-preprocess-buffer)
(add-to-list 'org-export-before-parsing-functions 'org-ref-refproc)
:require org-ref org-ref-helm oc-bibtex oc-bibtex oc-csl oc-natbib org-ref-refproc)
#+end_src #+end_src
** Extra Export Options ** Extra Export Options
@@ -455,28 +522,21 @@ We really do require latex
:config :config
(add-to-list 'org-latex-packages-alist '("" "minted")) (add-to-list 'org-latex-packages-alist '("" "minted"))
(setq org-latex-listings 'minted) (setq org-latex-listings 'minted)
(setq org-latex-prefer-user-labels t)
(add-to-list 'org-latex-classes (add-to-list 'org-latex-classes
'("labtemplate" "\\documentclass{labtemplate}" '("labtemplate" "\\documentclass{labtemplate}"
("\\section{%s}" . "\\section*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}") ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
("\\paragraph{%s}" . "\\paragraph*{%s}") ("\\paragraph{%s}" . "\\paragraph*{%s}")
("\\subparagraph{%s}" . "\\subparagraph*{%s}"))) ("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
(add-to-list 'org-latex-classes (add-to-list 'org-latex-classes
'("thesis" "\\documentclass[11pt]{ut-thesis}" '("thesis" "\\documentclass[11pt]{ut-thesis}"
("\\part{%s}" . "\\part*{%s}") ("\\part{%s}" . "\\part*{%s}")
("\\chapter{%s}" . "\\chapter*{%s}") ("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}") ("\\section{%s}" . "\\section*{%s}")
("\\subsection{%s}" . "\\subsection*{%s}") ("\\subsection{%s}" . "\\subsection*{%s}")
("\\subsubsection{%s}" . "\\subsubsection*{%s}"))) ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))))
(setq org-latex-pdf-process
'("%latex -shell-escape -interaction nonstopmode -output-directory %o %f"
"%latex -shell-escape -interaction nonstopmode -output-directory %o %f"
"bibtex %b"
"%latex -shell-escape -interaction nonstopmode -output-directory %o %f"
"%latex -shell-escape -interaction nonstopmode -output-directory %o %f")))
#+end_src #+end_src
*** HTML Export *** HTML Export
@@ -546,9 +606,9 @@ And in case we want to make some (GNU)?plots?
*** Agenda Location *** Agenda Location
# Make it so that all files in the " src_elisp{org-agenda-files} " variable (e.g. "=~/Documents=") will be Make it so that all files in the " src_elisp{org-agenda-files} " variable (e.g. "=~/Documents=") will be
# included in the tablutation and collation of all the dates and todos included in the tablutation and collation of all the dates and todos
# etc. etc.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf org-agenda (leaf org-agenda
@@ -583,9 +643,9 @@ e.g. meetings, deadlines and whatever else:
:config :config
(add-hook 'org-capture-mode-hook #'org-id-get-create) (add-hook 'org-capture-mode-hook #'org-id-get-create)
(setq org-capture-templates (setq org-capture-templates
'(("t" "Todo" entry (file+headline "todo.org" "Tasks") '(("t" "Todo" entry (file+headline "todos.org" "Tasks")
"* TODO %^{Todo?} %^G\nSCHEDULED: %^t\n:PROPERTIES:\n:ADDED: %U\n:END:\n %i\n %a \n%?\n") "* TODO %^{Todo?} %^G\nSCHEDULED: %^t\n:PROPERTIES:\n:ADDED: %U\n:END:\n %i\n %a \n%?\n")
("h" "Habit" entry (file+headline "todo.org" "Habits") ("h" "Habit" entry (file+headline "todos.org" "Habits")
"* TODO %^{Habit} %^G\nSCHEDULED: %^T\n:PROPERTIES:\n:STYLE: habit\n:ADDED: %U\n:END:\n%?\n") "* TODO %^{Habit} %^G\nSCHEDULED: %^T\n:PROPERTIES:\n:STYLE: habit\n:ADDED: %U\n:END:\n%?\n")
("j" "Journal" entry (file+datetree "journal.org") ("j" "Journal" entry (file+datetree "journal.org")
"* %^{Journal Entry:} %^G\nEntered on %U\n %i\n:PROPERTIES:\n:ADDED: %U\n:END:\n %a\n%?\n") "* %^{Journal Entry:} %^G\nEntered on %U\n %i\n:PROPERTIES:\n:ADDED: %U\n:END:\n %a\n%?\n")
@@ -651,7 +711,6 @@ taking package.
:after org-roam org-ref :after org-roam org-ref
:require t :require t
:hook (after-init-hook . org-roam-bibtex-mode)) :hook (after-init-hook . org-roam-bibtex-mode))
#+end_src #+end_src
** Org Babel ** Org Babel
@@ -663,7 +722,8 @@ taking package.
(org-babel-do-load-languages (org-babel-do-load-languages
'org-babel-load-languages 'org-babel-load-languages
'((emacs-lisp . t) '((emacs-lisp . t)
(python . t)))) (python . t)
(shell . t))))
#+end_src #+end_src
* Flutter * Flutter
@@ -677,7 +737,7 @@ taking package.
#+begin_src elisp :tangle yes :exports code #+begin_src elisp :tangle yes :exports code
(leaf bqn-mode (leaf bqn-mode
:el-get "museoa/bqn-mode" :ensure (bqn-mode :type git :host github :repo "museoa/bqn-mode")
:defer-config :defer-config
(set-face-attribute 'bqn-default nil :family 'unspecified)) (set-face-attribute 'bqn-default nil :family 'unspecified))
#+end_src #+end_src

View File

@@ -0,0 +1,104 @@
(("ace-window" . "77115afc1b0b9f633084cf7479c767988106c196")
("auctex" . "a2809e4d7068aaa7fa9cbd51214606393d4ab9eb")
("avy" . "933d1f36cca0f71e4acb5fac707e9ae26c536264")
("biblio.el" . "bb9d6b4b962fb2a4e965d27888268b66d868766b")
("bqn-mode" . "a253194d880e762a2886feac4745ae9cf967567b")
("bui.el" . "f3a137628e112a91910fd33c0cff0948fa58d470")
("cfrs" . "981bddb3fb9fd9c58aed182e352975bd10ad74c8")
("cider" . "8a4405ca0d8dd02d1f35e287131838feec2a81c6")
("citeproc-el" . "f5217b9fdbcb41a0381ecf92108390fc843090dd")
("clojure-mode" . "28dc02114ae70db6bb68d537ea77985f272120bc")
("company-ghci" . "a1d25652583ab4666c5a78cac18cd8039776b50d")
("company-mode" . "ca045bc54411f274779057d94a1807efe7f8d2a6")
("compat" . "97f24af413a38a7f1aaedb29f5aaaa333796a5b4")
("d2-mode" . "e1fc7d6c1915acaf476060c0f79b8bdef6bd1952")
("dap-mode" . "c81014ccc390e8994b061bd2d9f8b5dd84498a3d")
("dart-mode" . "edb45cb7095b1e4f62eaae33e56fe9af5b010213")
("dash.el" . "af5ea5d8a13735fa27d2c3e6f756d065639a7b45")
("el-get" . "8d3edab760ff84baf4ce36c0b33bfb8668c6d212")
("eldoc" . "5cba6bcbd3b3d3f1ae9668cf6a1f9e2d3ebb10df")
("emacs-async" . "59f6ee68eb9bed8de12d71ca78a11dd8effbc2aa")
("emacs-direnv" . "c0bf3b81c7a97e2a0d06d05495e86848254fcc1f")
("emacs-htmlize" . "c9a8196a59973fabb3763b28069af9a4822a5260")
("emacs-request" . "c22e3c23a6dd90f64be536e176ea0ed6113a5ba6")
("emacs-web-server" . "3982c55e9061475038a3ccd61aecb2de3d407cec")
("emacs-websocket" . "40c208eaab99999d7c1e4bea883648da24c03be3")
("emacs-which-key" . "38d4308d1143b61e4004b6e7a940686784e51500")
("emacsmirror-mirror" . "dc1c32049771890965c0d498be5cced13a65296a")
("emacsql" . "bc6713fb763388f43111ba1488df9263d5dc505b")
("eros" . "a9a92bdc6be0521a6a06eb464be55ed61946639c")
("esup" . "4b49c8d599d4cc0fbf994e9e54a9c78e5ab62a5f")
("exec-path-from-shell" . "4896a797252fbfdac32fb77508500ac7d220f717")
("f.el" . "931b6d0667fe03e7bf1c6c282d6d8d7006143c52")
("flycheck" . "8c0dbfaa463e69efb41ef2cda9c4e89b99e266a0")
("geiser" . "c8b862f00e208f2c09bf2a2b2436af0a466a2531")
("gnu-elpa-mirror" . "4809077cd69544e81d946c7bb64c3d7e33e24ff1")
("gnuplot" . "43e9674b869475b1c2a32f045c167673eb2faae0")
("haskell-mode" . "e5d32021ea30438fb957976760b94af66a55b53b")
("helm" . "c8d147be4d89cb3355b89a645ba3703a46bad15d")
("helm-bibtex" . "6064e8625b2958f34d6d40312903a85c173b5261")
("ht.el" . "1c49aad1c820c86f7ee35bf9fff8429502f60fef")
("hydra" . "59a2a45a35027948476d1d7751b0f0215b1e61aa")
("imenu-list" . "76f2335ee6f2f066d87fe4e4729219d70c9bc70d")
("jsonrpc" . "444cafedd091815e674b6c93458ba97a55a76928")
("leaf-convert.el" . "da86654f1021445cc42c1a5a9195f15097352209")
("leaf-keywords.el" . "82ec27e3441900daedeaaebca509181f964da81f")
("leaf-tree.el" . "89c3b8842df067bba67663d309f43aa311acdccd")
("leaf.el" . "69c9b057cdeee560450c1d04a9a058235ecff0f7")
("let-alist" . "35a1dae3c540705433a510c13c8af80206b29b5f")
("llama" . "5990ae7b5cba3425252f64b9377352c9a01690d5")
("lsp-dart" . "34e2a1191f723792d5f366b314cd6b07de4f1566")
("lsp-docker" . "ff41f4a76b640d39dc238bacba7f654c297827fa")
("lsp-haskell" . "aa9b5bce355790de1fbdbe239650d704f46a19a0")
("lsp-mode" . "c0cafd07ea7e0a2d82fcd0680eb36da10356d700")
("lsp-treemacs" . "3e5550f278db74f15ebe34add0138b138207ec08")
("lsp-ui" . "030d36960338fd633a98b332bc3734c412c25ca6")
("magit" . "7de46ddeb30e095645d93d73bbbc5fe3e8565ac5")
("map" . "6ac89e5dd1084afdc1d8fdd717de11c572212428")
("markdown-mode" . "d51c469133d220823cc6ab50ff8e8743ed6e42fb")
("mcf" . "4e44b6e24d9fe7a4ce7249df79f4473c0b473232")
("melpa" . "06f8868ff6e2966b8482cd100271e1d1afc2ce79")
("nix-mode" . "719feb7868fb567ecfe5578f6119892c771ac5e5")
("nongnu-elpa" . "cdbf329f7dae98bbd39a3bf090bd01793f6d5947")
("org" . "526a7d1cc65409d5546b009f54fed28726a9457d")
("org-ref" . "6a22c20f863b997497b618507adbcc8cb10a9f86")
("org-reveal" . "f55c851bf6aeb1bb2a7f6cf0f2b7bd0e79c4a5a0")
("org-roam" . "89dfaef38b6caa3027f20f96a551dc8f194ac533")
("org-roam-bibtex" . "b065198f2c3bc2a47ae520acd2b1e00e7b0171e6")
("org-roam-ui" . "5ac74960231db0bf7783c2ba7a19a60f582e91ab")
("ox-pandoc" . "5766c70b6db5a553829ccdcf52fcf3c6244e443d")
("parsebib" . "7bfde4e4679413424a9a9af099203d5c23e32cd2")
("parseclj" . "6af22372e0fe14df882dd300b22b12ba2d7e00b0")
("parseedn" . "3407e4530a367b6c2b857dae261cdbb67a440aaa")
("pdf-tools" . "30b50544e55b8dbf683c2d932d5c33ac73323a16")
("pfuture" . "19b53aebbc0f2da31de6326c495038901bffb73c")
("php-mode" . "40b8abed3079771e060dd99a56703520dabf5be4")
("poetry.el" . "1dff0d4a51ea8aff5f6ce97b154ea799902639ad")
("posframe" . "12f540c9ad5da09673b2bca1132b41f94c134e82")
("ppp.el" . "d5d854c3006dfd268e62c7f91c2aad6f86a505b5")
("project" . "a0ebb2e9cfda339d8ebda77447c9d822fe313c2d")
("python-mode" . "fcff76c308b4409007c61492e4936e7c0b7d5aee")
("pyvenv" . "31ea715f2164dd611e7fc77b26390ef3ca93509b")
("queue" . "8df1334d54d4735d2f821790422a850dfaaa08ef")
("racket" . "22e56ce80389544d3872cf4beb4008fb514b2218")
("rainbow-delimiters" . "f40ece58df8b2f0fb6c8576b527755a552a5e763")
("rainbow-mode" . "2e6b18609c2fdd1a2dc513937a64d276fd6cf24c")
("rust-mode" . "9915b3a585a7a75e9126df9e0e9d1df8057ae3cf")
("s.el" . "dda84d38fffdaf0c9b12837b504b402af910d01d")
("seq" . "da86da9bf111f68fb81efd466d76d53af5aebc00")
("sesman" . "7bca68dbbab0af26a6a23be1ff5fa97f9a18e022")
("slint-mode" . "168a6cfb90b5e36360074c83f80d5bbac2f0287e")
("spinner" . "fa117f0893788f3fe24673715a6b83bb34d238dd")
("straight.el" . "b7da472452615dc44b4ce76c64a059d6db3b7017")
("string-inflection" . "617df25e91351feffe6aff4d9e4724733449d608")
("tablist" . "fcd37147121fabdf003a70279cf86fbe08cfac6f")
("transient" . "07a104aa73b5d5e3168ba6e202ebfb60188af6ed")
("transient-dwim.el" . "cb5e0d35729fc6448553b7a17fc5c843f00e8c1d")
("treemacs" . "5fa84199501fd43e5573b1277a2b1699c7473cc1")
("web-mode" . "1eb0abb1a9bffbb33db7bbfc6efe5b48bf416d57")
("wfnames" . "164e4efa2a96bed201a0a5402e137ebeef15bcc6")
("with-editor" . "7787e19764c1089390584ac17a80129ef9afaa14")
("xref" . "63b5875528e9c8dba3abbc76dae1b49351273c1c")
("yaml-mode" . "d91f878729312a6beed77e6637c60497c5786efa")
("yaml.el" . "f99ef76c80e6fc3fcf650c4fe34e10726594a4c4"))
:gamma