Org agenda improvements!

This commit is contained in:
Emmet 2023-09-23 11:54:14 -05:00
parent a6af98fba2
commit 28a80bef99
4 changed files with 113 additions and 58 deletions

View file

@ -818,7 +818,16 @@ tasks."
org-agenda-skip-scheduled-if-deadline-is-shown t org-agenda-skip-scheduled-if-deadline-is-shown t
org-agenda-skip-timestamp-if-deadline-is-shown t) org-agenda-skip-timestamp-if-deadline-is-shown t)
;; Toggle comopleted entries function ;; Custom styles for dates in agenda
(custom-set-faces!
'(org-agenda-date :inherit outline-1 :height 1.15)
'(org-agenda-date-today :inherit diary :height 1.15)
'(org-agenda-date-weekend :ineherit outline-2 :height 1.15)
'(org-agenda-date-weekend-today :inherit outline-4 :height 1.15)
)
;; Toggle completed entries function
(defun org-agenda-toggle-completed () (defun org-agenda-toggle-completed ()
(interactive) (interactive)
(setq org-agenda-skip-timestamp-if-done (not org-agenda-skip-timestamp-if-done) (setq org-agenda-skip-timestamp-if-done (not org-agenda-skip-timestamp-if-done)
@ -909,47 +918,48 @@ tasks."
(setq org-super-agenda-groups (setq org-super-agenda-groups
'(;; Each group has an implicit boolean OR operator between its selectors. '(;; Each group has an implicit boolean OR operator between its selectors.
(:name "Home Tech" (:name "Personal"
:and(:file-path "emmet/Agenda" :not (:tag "event")) :and(:file-path "Personal.p" :not (:tag "event"))
:order 3) :order 3)
(:name "Family" (:name "Family"
:and(:file-path "Family" :not (:tag "event")) :and(:file-path "Family.s" :not (:tag "event"))
:order 3) :order 3)
(:name "Teaching Prep" (:name "Teaching"
:and(:file-path "Teaching.p" :tag "planning" :not (:tag "grading") :not (:tag "event")) :and(:file-path "Teaching.p" :not (:tag "event"))
:order 3) :order 3)
(:name "Teaching Secretarial" (:name "Gamedev"
:and(:file-path "Teaching.p" :tag "secretarial" :not (:tag "grading") :not (:tag "event")) :and(:file-path "Gamedev.s" :not (:tag "event"))
:order 3) :order 3)
(:name "Teaching Grading"
:and(:file-path "Teaching.p" :tag "grading" :not (:tag "planning") :not (:tag "event"))
:order 3)
(:name "School Side Projects"
:and(:file-path "Teaching.p" :tag "project" :not (:tag "planning") :not (:tag "event"))
:order 3)
(:name "Gamedev Current Projects"
:and (:file-path "Gamedev" :todo "STRT")
:order 5)
(:name "Youtube" (:name "Youtube"
:tag "youtube" :and(:file-path "Producer.p" :not (:tag "event"))
:order 6) :order 3)
(:name "Music"
:and(:file-path "Bard.p" :not (:tag "event"))
:order 3)
(:name "Storywriting"
:and(:file-path "Stories.s" :not (:tag "event"))
:order 3)
(:name "Writing"
:and(:file-path "Author.p" :not (:tag "event"))
:order 3)
(:name "Learning" (:name "Learning"
:tag "learning" :and(:file-path "Knowledge.p" :not (:tag "event"))
:order 7) :order 3)
(:name "Today" ; Optionally specify section name (:name "Today" ; Optionally specify section name
:time-grid t :time-grid t
:date today :date today
:scheduled today :scheduled today
:order 1) :order 1
:face 'warning)
)) ))
(org-super-agenda-mode t) (org-super-agenda-mode t)
@ -962,6 +972,15 @@ tasks."
:map org-super-agenda-header-map :map org-super-agenda-header-map
"k" 'org-agenda-previous-line) "k" 'org-agenda-previous-line)
(add-load-path! "~/.emacs.d/org-yaap")
(require 'org-yaap)
(setq org-yaap-alert-title "Org Agenda")
(setq org-yaap-overdue-alerts 20)
(setq org-yaap-alert-before 20)
(setq org-yaap-daily-alert '(7 30))
(setq org-yaap-daemon-idle-time 30)
(org-yaap-mode 1)
;;;------ magit configuration ------;;; ;;;------ magit configuration ------;;;
;; Need the following two blocks to make magit work with git bare repos ;; Need the following two blocks to make magit work with git bare repos

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, theme, font, name, username, email, dotfilesDir, profile, wmType, defaultRoamDir, ... }: { config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, org-yaap, theme, font, name, username, email, dotfilesDir, profile, wmType, defaultRoamDir, ... }:
let let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+theme)+"/polarity.txt")); themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
@ -69,6 +69,12 @@ in
source = "${eaf}"; source = "${eaf}";
recursive = true; recursive = true;
}; };
home.file.".emacs.d/org-yaap" = {
source = "${org-yaap}";
recursive = true;
};
home.file.".emacs.d/eaf/app/browser" = { home.file.".emacs.d/eaf/app/browser" = {
source = "${eaf-browser}"; source = "${eaf-browser}";
recursive = true; recursive = true;

View file

@ -957,8 +957,7 @@ On Wayland, EAF doesn't work.
#+END_SRC #+END_SRC
** Org Agenda Configuration ** Org Agenda Configuration
*** TODO Standard Org Agenda Configuration *** Standard Org Agenda Configuration
I need to automate categories being added to org roam agenda files.
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
;;;------ Org agenda configuration ------;;; ;;;------ Org agenda configuration ------;;;
@ -971,7 +970,16 @@ I need to automate categories being added to org roam agenda files.
org-agenda-skip-scheduled-if-deadline-is-shown t org-agenda-skip-scheduled-if-deadline-is-shown t
org-agenda-skip-timestamp-if-deadline-is-shown t) org-agenda-skip-timestamp-if-deadline-is-shown t)
;; Toggle comopleted entries function ;; Custom styles for dates in agenda
(custom-set-faces!
'(org-agenda-date :inherit outline-1 :height 1.15)
'(org-agenda-date-today :inherit diary :height 1.15)
'(org-agenda-date-weekend :ineherit outline-2 :height 1.15)
'(org-agenda-date-weekend-today :inherit outline-4 :height 1.15)
)
;; Toggle completed entries function
(defun org-agenda-toggle-completed () (defun org-agenda-toggle-completed ()
(interactive) (interactive)
(setq org-agenda-skip-timestamp-if-done (not org-agenda-skip-timestamp-if-done) (setq org-agenda-skip-timestamp-if-done (not org-agenda-skip-timestamp-if-done)
@ -1062,54 +1070,54 @@ I need to automate categories being added to org roam agenda files.
:nvmeg "<return>" #'org-agenda-switch-with-roam) :nvmeg "<return>" #'org-agenda-switch-with-roam)
#+END_SRC #+END_SRC
*** TODO Org Super Agenda Configuration *** Org Super Agenda Configuration
I need to fix =org-super-agenda-groups= to be more useful and less spread out.
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
(require 'org-super-agenda) (require 'org-super-agenda)
(setq org-super-agenda-groups (setq org-super-agenda-groups
'(;; Each group has an implicit boolean OR operator between its selectors. '(;; Each group has an implicit boolean OR operator between its selectors.
(:name "Home Tech" (:name "Personal"
:and(:file-path "emmet/Agenda" :not (:tag "event")) :and(:file-path "Personal.p" :not (:tag "event"))
:order 3) :order 3)
(:name "Family" (:name "Family"
:and(:file-path "Family" :not (:tag "event")) :and(:file-path "Family.s" :not (:tag "event"))
:order 3) :order 3)
(:name "Teaching Prep" (:name "Teaching"
:and(:file-path "Teaching.p" :tag "planning" :not (:tag "grading") :not (:tag "event")) :and(:file-path "Teaching.p" :not (:tag "event"))
:order 3) :order 3)
(:name "Teaching Secretarial" (:name "Gamedev"
:and(:file-path "Teaching.p" :tag "secretarial" :not (:tag "grading") :not (:tag "event")) :and(:file-path "Gamedev.s" :not (:tag "event"))
:order 3) :order 3)
(:name "Teaching Grading"
:and(:file-path "Teaching.p" :tag "grading" :not (:tag "planning") :not (:tag "event"))
:order 3)
(:name "School Side Projects"
:and(:file-path "Teaching.p" :tag "project" :not (:tag "planning") :not (:tag "event"))
:order 3)
(:name "Gamedev Current Projects"
:and (:file-path "Gamedev" :todo "STRT")
:order 5)
(:name "Youtube" (:name "Youtube"
:tag "youtube" :and(:file-path "Producer.p" :not (:tag "event"))
:order 6) :order 3)
(:name "Music"
:and(:file-path "Bard.p" :not (:tag "event"))
:order 3)
(:name "Storywriting"
:and(:file-path "Stories.s" :not (:tag "event"))
:order 3)
(:name "Writing"
:and(:file-path "Author.p" :not (:tag "event"))
:order 3)
(:name "Learning" (:name "Learning"
:tag "learning" :and(:file-path "Knowledge.p" :not (:tag "event"))
:order 7) :order 3)
(:name "Today" ; Optionally specify section name (:name "Today" ; Optionally specify section name
:time-grid t :time-grid t
:date today :date today
:scheduled today :scheduled today
:order 1) :order 1
:face 'warning)
)) ))
(org-super-agenda-mode t) (org-super-agenda-mode t)
@ -1123,6 +1131,20 @@ I need to fix =org-super-agenda-groups= to be more useful and less spread out.
"k" 'org-agenda-previous-line) "k" 'org-agenda-previous-line)
#+END_SRC #+END_SRC
#+RESULTS:
*** Org Agenda Notifications
#+BEGIN_SRC emacs-lisp :tangle config.el
(add-load-path! "~/.emacs.d/org-yaap")
(require 'org-yaap)
(setq org-yaap-alert-title "Org Agenda")
(setq org-yaap-overdue-alerts 20)
(setq org-yaap-alert-before 20)
(setq org-yaap-daily-alert '(7 30))
(setq org-yaap-daemon-idle-time 30)
(org-yaap-mode 1)
#+END_SRC
** Magit Configuration ** Magit Configuration
#+BEGIN_SRC emacs-lisp :tangle config.el #+BEGIN_SRC emacs-lisp :tangle config.el
;;;------ magit configuration ------;;; ;;;------ magit configuration ------;;;
@ -1630,11 +1652,12 @@ Any git package can be configured for a particular commit or branch:
(package! focus) (package! focus)
(package! olivetti) (package! olivetti)
(package! async) (package! async)
(package! centered-cursor-mode)
#+END_SRC #+END_SRC
* Nix Integration * Nix Integration
In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]]. In order to have Nix load my Doom Emacs configuration [[./doom.nix][doom.nix]], which I source in the =imports= block of my [[../../../profiles/work/home.nix][home.nix]].
#+BEGIN_SRC nix :tangle doom.nix #+BEGIN_SRC nix :tangle doom.nix
{ config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, theme, font, name, username, email, dotfilesDir, profile, wmType, defaultRoamDir, ... }: { config, lib, pkgs, eaf, eaf-browser, org-nursery, phscroll, org-yaap, theme, font, name, username, email, dotfilesDir, profile, wmType, defaultRoamDir, ... }:
let let
themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+theme)+"/polarity.txt")); themePolarity = lib.removeSuffix "\n" (builtins.readFile (./. + "../../../../themes"+("/"+theme)+"/polarity.txt"));
dashboardLogo = ./. + "/nix-" + themePolarity + ".png"; dashboardLogo = ./. + "/nix-" + themePolarity + ".png";
@ -1705,6 +1728,12 @@ in
source = "${eaf}"; source = "${eaf}";
recursive = true; recursive = true;
}; };
home.file.".emacs.d/org-yaap" = {
source = "${org-yaap}";
recursive = true;
};
home.file.".emacs.d/eaf/app/browser" = { home.file.".emacs.d/eaf/app/browser" = {
source = "${eaf-browser}"; source = "${eaf-browser}";
recursive = true; recursive = true;

View file

@ -21,3 +21,4 @@
(package! focus) (package! focus)
(package! olivetti) (package! olivetti)
(package! async) (package! async)
(package! centered-cursor-mode)