From 23a8f9ad3a37a764de581619312ac286b63bc6e4 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 29 Jun 2024 11:50:45 -0500 Subject: [PATCH 1/6] Simplify mutli-org-roam-agenda loading --- user/app/doom-emacs/config.el | 21 ++++++--------------- user/app/doom-emacs/doom.org | 21 ++++++--------------- 2 files changed, 12 insertions(+), 30 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 8a9324b..6af68b7 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -882,27 +882,18 @@ If the path from LINK does not exist, nil is returned." ) ) -(defun org-roam-append-notes-to-agenda (tag-name db) - (org-roam-switch-db db t) -; (org-roam-dailies-apply-old-todos-tags-to-all) - (setq org-agenda-files (append org-agenda-files (org-roam-list-notes-by-tag "todos"))) -) - -(defun org-roam-append-ids-to-org-id-files (db) - (org-roam-switch-db db t) - (setq org-id-files (append org-id-files (org-roam-list-files))) -) - ;; Refreshing org roam agenda (defun org-roam-refresh-agenda-list () (interactive) (setq prev-org-roam-db-choice org-roam-db-choice) (setq org-agenda-files '()) (setq org-id-files '()) - (dolist (DB full-org-roam-db-list-pretty) - (org-roam-append-notes-to-agenda "todos" DB) - (org-roam-append-ids-to-org-id-files DB) - ) + (setq org-roam-directory (file-truename "~/Org") + org-roam-db-location (file-truename "~/Org/org-roam.db") + org-directory (file-truename "~/Org/")) + (org-roam-db-sync) + (setq org-agenda-files (org-roam-list-notes-by-tag "todos")) + (setq org-id-files (org-roam-list-files)) (setq org-agenda-files (-uniq org-agenda-files)) (org-roam-switch-db prev-org-roam-db-choice 1) ) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index d97ba1f..87ac71d 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1027,27 +1027,18 @@ exit ) ) -(defun org-roam-append-notes-to-agenda (tag-name db) - (org-roam-switch-db db t) -; (org-roam-dailies-apply-old-todos-tags-to-all) - (setq org-agenda-files (append org-agenda-files (org-roam-list-notes-by-tag "todos"))) -) - -(defun org-roam-append-ids-to-org-id-files (db) - (org-roam-switch-db db t) - (setq org-id-files (append org-id-files (org-roam-list-files))) -) - ;; Refreshing org roam agenda (defun org-roam-refresh-agenda-list () (interactive) (setq prev-org-roam-db-choice org-roam-db-choice) (setq org-agenda-files '()) (setq org-id-files '()) - (dolist (DB full-org-roam-db-list-pretty) - (org-roam-append-notes-to-agenda "todos" DB) - (org-roam-append-ids-to-org-id-files DB) - ) + (setq org-roam-directory (file-truename "~/Org") + org-roam-db-location (file-truename "~/Org/org-roam.db") + org-directory (file-truename "~/Org/")) + (org-roam-db-sync) + (setq org-agenda-files (org-roam-list-notes-by-tag "todos")) + (setq org-id-files (org-roam-list-files)) (setq org-agenda-files (-uniq org-agenda-files)) (org-roam-switch-db prev-org-roam-db-choice 1) ) From e97051872a6235a9b2780ad39f7d4a8f2f3e9d9d Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 29 Jun 2024 11:53:35 -0500 Subject: [PATCH 2/6] Use ripgrep in emacs --- user/app/doom-emacs/config.el | 6 ++++++ user/app/doom-emacs/doom.org | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 6af68b7..5107ccb 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -204,6 +204,10 @@ ;; For camelCase (global-subword-mode 1) +;; ripgrep as grep +(setq grep-command "rg -nS --no-heading " + grep-use-null-device nil) + ;; Mini-frames ;; cool but kinda suboptimal atm ;(add-load-path! "~/.emacs.d/mini-frame") ;(require 'mini-frame) @@ -699,6 +703,8 @@ If the path from LINK does not exist, nil is returned." org-roam-db-choice) ) +(setq org-roam-list-files-commands '(rg)) + (setq full-org-roam-db-list nil) (setq full-org-roam-db-list (directory-files "~/Org" t "\\.[p,s]$")) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 87ac71d..9540789 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -267,6 +267,10 @@ Doom Emacs is traditionally installed by cloning the repository ([[https://githu ;; For camelCase (global-subword-mode 1) +;; ripgrep as grep +(setq grep-command "rg -nS --no-heading " + grep-use-null-device nil) + ;; Mini-frames ;; cool but kinda suboptimal atm ;(add-load-path! "~/.emacs.d/mini-frame") ;(require 'mini-frame) @@ -835,6 +839,8 @@ exit org-roam-db-choice) ) +(setq org-roam-list-files-commands '(rg)) + #+END_SRC *** Multi Org Roam Configuration #+BEGIN_SRC emacs-lisp :tangle config.el From 8302bce90d58e00b28dc4853877cfd3003a2d31f Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 29 Jun 2024 15:43:20 -0500 Subject: [PATCH 3/6] (slightly) faster mu4e loading (I think) --- user/app/doom-emacs/config.el | 4 ++-- user/app/doom-emacs/doom.org | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index 5107ccb..af66ba5 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -1350,10 +1350,10 @@ If the path from LINK does not exist, nil is returned." ;;;------ helpful configuration ------;;; (add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.2") (require 'mu4e) -(require 'mu4e-contrib) -(require 'mu4e-actions) (after! mu4e + (require 'mu4e-contrib) + (require 'mu4e-actions) (setq mu4e-modeline-support nil) (setq mu4e-sent-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Sent"))) (setq mu4e-drafts-folder (lambda (msg) (concat "/" user-mail-address "/Drafts"))) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 9540789..6629669 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1608,10 +1608,10 @@ I don't have this active right now since it's kinda weird with pgtk... ;;;------ helpful configuration ------;;; (add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.2") (require 'mu4e) -(require 'mu4e-contrib) -(require 'mu4e-actions) (after! mu4e + (require 'mu4e-contrib) + (require 'mu4e-actions) (setq mu4e-modeline-support nil) (setq mu4e-sent-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Sent"))) (setq mu4e-drafts-folder (lambda (msg) (concat "/" user-mail-address "/Drafts"))) From f574841f13a378381dcdede689a3339895bc31dd Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 29 Jun 2024 19:00:03 -0500 Subject: [PATCH 4/6] Start emacs via systemd --- user/app/doom-emacs/doom.nix | 2 ++ user/app/doom-emacs/doom.org | 2 ++ user/wm/hyprland/hyprland.nix | 1 - 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/user/app/doom-emacs/doom.nix b/user/app/doom-emacs/doom.nix index b1544f4..9f3c384 100644 --- a/user/app/doom-emacs/doom.nix +++ b/user/app/doom-emacs/doom.nix @@ -41,6 +41,8 @@ in # End block }; + services.emacs.enable = true; + home.file.".emacs.d/themes/doom-stylix-theme.el".source = config.lib.stylix.colors { template = builtins.readFile ./themes/doom-stylix-theme.el.mustache; extension = ".el"; diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 6629669..1429dc8 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -2123,6 +2123,8 @@ in # End block }; + services.emacs.enable = true; + home.file.".emacs.d/themes/doom-stylix-theme.el".source = config.lib.stylix.colors { template = builtins.readFile ./themes/doom-stylix-theme.el.mustache; extension = ".el"; diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 7778e12..b2f5860 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -57,7 +57,6 @@ in exec-once = GOMAXPROCS=1 syncthing --no-browser exec-once = protonmail-bridge --noninteractive exec-once = waybar - exec-once = emacs --daemon exec-once = hypridle exec-once = sleep 5 && libinput-gestures From 46257ff011157f987cb35f0d0db4ca378bb14a3d Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 29 Jun 2024 19:00:20 -0500 Subject: [PATCH 5/6] Revert bad mu4e optimizations --- user/app/doom-emacs/config.el | 4 ++-- user/app/doom-emacs/doom.org | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/user/app/doom-emacs/config.el b/user/app/doom-emacs/config.el index af66ba5..5107ccb 100644 --- a/user/app/doom-emacs/config.el +++ b/user/app/doom-emacs/config.el @@ -1350,10 +1350,10 @@ If the path from LINK does not exist, nil is returned." ;;;------ helpful configuration ------;;; (add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.2") (require 'mu4e) +(require 'mu4e-contrib) +(require 'mu4e-actions) (after! mu4e - (require 'mu4e-contrib) - (require 'mu4e-actions) (setq mu4e-modeline-support nil) (setq mu4e-sent-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Sent"))) (setq mu4e-drafts-folder (lambda (msg) (concat "/" user-mail-address "/Drafts"))) diff --git a/user/app/doom-emacs/doom.org b/user/app/doom-emacs/doom.org index 1429dc8..adc540d 100644 --- a/user/app/doom-emacs/doom.org +++ b/user/app/doom-emacs/doom.org @@ -1608,10 +1608,10 @@ I don't have this active right now since it's kinda weird with pgtk... ;;;------ helpful configuration ------;;; (add-load-path! "~/.nix-profile/share/emacs/site-lisp/elpa/mu4e-1.12.2") (require 'mu4e) +(require 'mu4e-contrib) +(require 'mu4e-actions) (after! mu4e - (require 'mu4e-contrib) - (require 'mu4e-actions) (setq mu4e-modeline-support nil) (setq mu4e-sent-folder (lambda (msg) (concat "/" (nth 1 (split-string (mu4e-message-field msg :maildir) "/" )) "/Sent"))) (setq mu4e-drafts-folder (lambda (msg) (concat "/" user-mail-address "/Drafts"))) From d6dc86d4c8c9c7ce952ce113c84dd2e9d7a3b320 Mon Sep 17 00:00:00 2001 From: Emmet Date: Sat, 29 Jun 2024 19:00:27 -0500 Subject: [PATCH 6/6] Updated system --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 7dd4d92..c161d7c 100644 --- a/flake.lock +++ b/flake.lock @@ -117,11 +117,11 @@ "blocklist-hosts": { "flake": false, "locked": { - "lastModified": 1719001847, - "narHash": "sha256-dt/UEjcTSxkmsC+zZvGS2+Y6c2CFjo6Hn3WAhokFAkk=", + "lastModified": 1719456570, + "narHash": "sha256-FS9+w+9QPBd6hCtX7C5x/xm4nGCA0lOtYgjefkQNbbg=", "owner": "StevenBlack", "repo": "hosts", - "rev": "05a9ae6098bb2f09eb1d35cb440a086a9a85d39c", + "rev": "0f8be09978187ba0e4eab2a9e0dcde88f358f1dc", "type": "github" }, "original": { @@ -472,11 +472,11 @@ ] }, "locked": { - "lastModified": 1719037157, - "narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=", + "lastModified": 1719677234, + "narHash": "sha256-qO9WZsj/0E6zcK4Ht1y/iJ8XfwbBzq7xdqhBh44OP/M=", "owner": "nix-community", "repo": "home-manager", - "rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511", + "rev": "36317d4d38887f7629876b0e43c8d9593c5cc48d", "type": "github" }, "original": { @@ -896,11 +896,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1719075281, - "narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=", + "lastModified": 1719506693, + "narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a71e967ef3694799d0c418c98332f7ff4cc5f6af", + "rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a", "type": "github" }, "original": { @@ -943,11 +943,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1718811006, - "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", + "lastModified": 1719234068, + "narHash": "sha256-1AjSIedDC/aERt24KsCUftLpVppW61S7awfjGe7bMio=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", + "rev": "90bd1b26e23760742fdcb6152369919098f05417", "type": "github" }, "original": { @@ -1172,11 +1172,11 @@ "org-sliced-images": { "flake": false, "locked": { - "lastModified": 1718918908, - "narHash": "sha256-Pcz+e26qVsZMNEBbzjdrOUUib9ozLG1gY6Ry/l8e+qM=", + "lastModified": 1719203338, + "narHash": "sha256-wi8G6AHWWbAFBPGsZSSOVIOBqrzfdOhzgTfUNe4fAEc=", "owner": "jcfk", "repo": "org-sliced-images", - "rev": "43d4f4147ed4cd670aab8a2d9fdfe3c0edd289c9", + "rev": "b98b88a55eff07e998e7789e0bf7307dd71db050", "type": "github" }, "original": { @@ -1351,11 +1351,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1719109180, - "narHash": "sha256-96dwGCV2yQxDozDATqbsM3YU0ft3Isw3cwVDO/eNCv8=", + "lastModified": 1719627476, + "narHash": "sha256-LBfULF+2sCaWmkjmj1LkkGrAS/E9ZdXU1A5wWKjt9p0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "5fc5f3a0d7eabf7db86851e6423f9d7fbceaf89d", + "rev": "5be53be9e5c766fc72fc5d65ba8a566cc0c3217f", "type": "github" }, "original": { @@ -1411,11 +1411,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1719152448, - "narHash": "sha256-Acbi1Crd+UEbpPW8IR0ZGRKV+JCnMXDS2cglFQJvRPM=", + "lastModified": 1719525570, + "narHash": "sha256-xSO/H67GAHEW0siD2PHoO/e97MbROL3r3s5SpF6A6Dc=", "owner": "danth", "repo": "stylix", - "rev": "0fc4e9f1449a9dce4be7a1ecedd97949da591181", + "rev": "1ff9d37d27377bfe8994c24a8d6c6c1734ffa116", "type": "github" }, "original": {