mirror of
https://github.com/librephoenix/nixos-config
synced 2025-01-19 07:05:51 +05:30
Org agenda improvements!
This commit is contained in:
parent
a6af98fba2
commit
28a80bef99
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -21,3 +21,4 @@
|
||||||
(package! focus)
|
(package! focus)
|
||||||
(package! olivetti)
|
(package! olivetti)
|
||||||
(package! async)
|
(package! async)
|
||||||
|
(package! centered-cursor-mode)
|
||||||
|
|
Loading…
Reference in a new issue