Compare commits

...

3 commits

Author SHA1 Message Date
69036da0bb
Add logseq 2025-04-25 12:11:49 +02:00
2578c029eb
Add a whole lotta hosts 2025-04-25 12:11:39 +02:00
ae0e5b846b
Org-mode rework 2025-04-25 12:11:27 +02:00
5 changed files with 306 additions and 25 deletions

View file

@ -59,6 +59,102 @@
;; Encrypt all roam notes;;;;;;;;;;;;;;;;;
(use-package! websocket
:after org-roam)
;; TODO Set org agenda clockreport settings
;; (setq!
;; org-agenda-clockreport-parameter-plist '(:block thisweek :tcolumns 3 :maxlevel 4 :stepskip0 t :fileskip0 t :step day :filetitle t
;; :properties ("Effort" "CLOCKSUM")
;; ))
(after! org
(defun zp/org-protocol-insert-selection-dwim (selection)
"Insert SELECTION as an org blockquote."
(message "MOEP")
(unless (string= selection "")
;;(format "#+begin_quote\n%s\n#+end_quote" selection)
(format "\n%s\n" selection)))
(setq org-log-into-drawer t
org-log-done 'time
org-log-repeat 'time
org-log-redeadline 'note
org-log-reschedule 'note
org-agenda-files (list "~/org/roam/" "~/org/roam/daily/")
org-agenda-file-regexp "\\`[^.].*\\.org\\'"
org-roam-capture-ref-templates
'(
("r" "ref" plain "* %U\n%(zp/org-protocol-insert-selection-dwim \"%i\")%?"
:target (file+head "web/${slug}.org" "#+title: ${title}\n#+roam_key: ${ref}\n#+created: %u\n")
:unnarrowed t))
org-capture-templates
'(
("g" "Work: General To-Do"
entry (file+olp "~/org/roam/todos.org" "Work" "General Tasks")
"* TODO [#B] %?\n:Created: %T\n "
:empty-lines 0)
("c" "Work: Code To-Do"
entry (file+olp "~/org/roam/todos.org" "Work" "Code Tasks")
"* TODO [#B] %?\n:Created: %T\n%i\n%a\nProposed Solution: "
:empty-lines 0)
("b" "Work: Bug/Issue To-Do"
entry (file+olp "~/org/roam/todos.org" "Work" "Bugs")
"* TODO [#B] %?\n:Created: %T\n%i\n%a\nProposed Solution: "
:empty-lines 0)
("l" "Work: Log"
entry (file+olp+datetree "~/org/roam/worklog.org" "Log")
"* [ ] :log: %<%H:%M> %?\n:Created: %T\n"
:clock-in t
:clock-resume t
:empty-lines 0)
("m" "Work: Meeting"
entry (file+olp+datetree "~/org/roam/meetings.org" "Work")
"* %? :meeting:%^g \n:Created: %T\n** Attendees\n*** \n** Notes\n** Action Items\n*** TODO [#A] "
:tree-type week
:clock-in t
:clock-resume t
:empty-lines 0)
("p" "Priv: General To-Do"
entry (file+olp "~/org/roam/todos.org" "Private" "General Tasks")
"* TODO [#B] %?\n:Created: %T\n "
:empty-lines 0)
("w" "Web site" entry
(file "~/org/roam/web.org")
"* %a :website:\n\n%U %?\n\n%:initial")
)
org-todo-keywords
'((sequence
"TODO(t)"
"PLANNING(p)"
"IN-PROGRESS(i@/!)"
"ONHOLD(h!)"
"VERIFYING(v!)"
"BLOCKED(b@)"
"|"
"DONE(d!)"
"OBE(o@!)"
"WONT-DO(w@/!)")
(sequence
"[ ](T)" ; A task that needs doing
"[-](S)" ; Task is in progress
"[?](W)" ; Task is being held up or paused
"|"
"[X](D)")) ; Task was completed
org-todo-keyword-faces
'(("[-]" . +org-todo-active)
("[?]" . +org-todo-onhold)
;; ("[?]" . +org-todo-onhold)
("TODO" . (:foreground "GoldenRod" :weight bold))
("PLANNING" . (:foreground "DeepPink" :weight bold))
("IN-PROGRESS" . (:foreground "Cyan" :weight bold))
("ONHOLD" . (:foreground "Tan" :weight bold))
("VERIFYING" . (:foreground "DarkOrange" :weight bold))
("BLOCKED" . (:foreground "Red" :weight bold))
("DONE" . (:foreground "LimeGreen" :weight bold))
("OBE" . (:foreground "LimeGreen" :weight bold))
("WONT-DO" . (:foreground "LimeGreen" :weight bold))))
)
(after! org-roam
;; Org Roam ui is better
@ -70,14 +166,171 @@
;; (file+head "%<%Y%m%d%H%M%S>-${slug}.org.gpg"
;; "#+title: ${title}\n")
;; :unnarrowed t)))
;; (setq org-roam-dailies-capture-templates '(("d" "default" entry "* %?"
;; :target
;; (file+head "%<%Y-%m-%d>.org.gpg"
;; "#+title: %<%Y-%m-%d>\n")
;; :unnarrowed t)))
;;
)
;; Tags
;; (setq org-tag-alist '(
;; ;; Ticket types
;; (:startgroup . nil)
;; ("@bug" . ?b)
;; ("@feature" . ?u)
;; ("@spike" . ?j)
;; (:endgroup . nil)
;; ;; Ticket flags
;; ("@write_future_ticket" . ?w)
;; ("@emergency" . ?e)
;; ("@research" . ?r)
;; ;; Meeting types
;; (:startgroup . nil)
;; ("big_sprint_review" . ?i)
;; ("cents_sprint_retro" . ?n)
;; ("dsu" . ?d)
;; ("grooming" . ?g)
;; ("sprint_retro" . ?s)
;; (:endgroup . nil)
;; ;; Code TODOs tags
;; ("QA" . ?q)
;; ("backend" . ?k)
;; ("broken_code" . ?c)
;; ("frontend" . ?f)
;; ;; Special tags
;; ("CRITICAL" . ?x)
;; ("obstacle" . ?o)
;; ;; Meeting tags
;; ("HR" . ?h)
;; ("general" . ?l)
;; ("meeting" . ?m)
;; ("misc" . ?z)
;; ("planning" . ?p)
;; ;; Work Log Tags
;; ("accomplishment" . ?a)
;; ))
;; Tag colors
;; (setq org-tag-faces
;; '(
;; ("planning" . (:foreground "mediumPurple1" :weight bold))
;; ("backend" . (:foreground "royalblue1" :weight bold))
;; ("frontend" . (:foreground "forest green" :weight bold))
;; ("QA" . (:foreground "sienna" :weight bold))
;; ("meeting" . (:foreground "yellow1" :weight bold))
;; ("CRITICAL" . (:foreground "red1" :weight bold))
;; )
;; )
(use-package! org-super-agenda
:custom
(org-agenda-custom-commands
'(
;; James's Super View
("j" "James's Super View"
(
(agenda ""
(
(org-agenda-remove-tags t)
(org-agenda-span 7)
)
)
(alltodo ""
(
;; Remove tags to make the view cleaner
(org-agenda-remove-tags t)
(org-agenda-prefix-format " %t %s")
(org-agenda-overriding-header "CURRENT STATUS")
;; Define the super agenda groups (sorts by order)
(org-super-agenda-groups
'(
;; Today
(:name "Today" ; Optionally specify section name
:time-grid t ; Items that appear on the time grid
:todo "TODAY") ; Items that have this TODO keyword
;; Filter where tag is CRITICAL
(:name "Critical Tasks"
:tag "CRITICAL"
:order 0
)
;; Filter where TODO state is IN-PROGRESS
(:name "Currently Working"
:todo "IN-PROGRESS"
:order 10
)
;; Filter where TODO state is PLANNING
(:name "Planning Next Steps"
:todo "PLANNING"
:order 20
)
;; Filter where TODO state is BLOCKED or where the tag is obstacle
(:name "Problems & Blockers"
:todo "BLOCKED"
:tag "obstacle"
:order 30
)
;; Filter where tag is @write_future_ticket
(:name "Tickets to Create"
:tag "@write_future_ticket"
:order 40
)
;; Hold
(:name "Consider Continuing"
:todo "ONHOLD"
:order 35
)
;; Filter where tag is @research
(:name "Research Required"
:tag "@research"
:order 70
)
;; Filter where tag is meeting and priority is A (only want TODOs from meetings)
(:name "Meeting Action Items"
:and (:tag "meeting" :priority "A")
:order 80
)
;; Filter where state is TODO and the priority is A and deadline near/schedule past
(:name "Important Long-Term Items"
:and (:todo "TODO" :priority "A" :not (:tag "meeting"))
:order 85
)
;; Filter where state is TODO and the priority is A and the tag is not meeting
(:name "Important Long-Term Items"
:and (:todo "TODO" :priority "A" :not (:tag "meeting"))
:order 90
)
;; Filter where state is TODO and priority is B
(:name "General Backlog"
:and (:todo "TODO" :priority "B")
:order 95
)
;; Filter where the priority is C or less (supports future lower priorities)
(:name "Non Critical"
:priority<= "C"
:order 110
)
;; Filter where TODO state is VERIFYING
(:name "Currently Being Verified"
:todo "VERIFYING"
:order 200
)
)
)
)
)
))
))
)
(use-package! org-roam-ui
:after org-roam ;; or :after org
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
;; a hookable mode anymore, you're advised to pick something yourself
;; if you don't care about startup time, use
;; :hook (after-init . org-roam-ui-mode)
:config
(setq org-roam-ui-sync-theme t
org-roam-ui-follow t
org-roam-ui-update-on-save t
org-roam-ui-open-on-start t))
(after! evil-goggles

View file

@ -38,6 +38,16 @@
;;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;;
(package! org-protocol-capture-html)
(package! org-super-agenda)
(unpin! org-roam)
(package! org-roam-ui)
(package! websocket)
;; systemd unit files
(package! systemd)
;; tabs
(package! centaur-tabs)

View file

@ -145,6 +145,7 @@
# deadbeef-with-plugins
# flightgear
# orbiter
logseq
];
};
}

View file

@ -23,7 +23,7 @@ let
treesit-grammars.with-all-grammars
inputs.nix-emacs-extra.packages."${system}".doom-dashboard
inputs.nix-emacs-extra.packages."${system}".ultra-scroll
]);
]);
in
{
programs = {
@ -295,6 +295,21 @@ in
# };
};
# fix emacs org protocol
xdg.mimeApps.defaultApplications."x-scheme-handler/org-protocol" = [
(lib.mkBefore "org-protocol.desktop")
];
xdg.desktopEntries."org-protocol" = {
name = "org-protocol";
comment = "fixes org-roam-capture & co";
exec = "emacsclient %u";
type = "Application";
noDisplay = true;
terminal = false;
categories = [ "System" ];
mimeType = [ "x-scheme-handler/org-protocol" ];
};
services = {
ssh-agent.enable = true;
gpg-agent = {
@ -398,6 +413,7 @@ in
nh
pkgs.agenix-rekey
my.aaxtomp3
graphviz # for org-roam
# android-studio-full
];
};

View file

@ -202,6 +202,7 @@
networking = {
hostName = "nixos-fw16";
extraHosts = ''
192.168.0.20 opnsense.oekonzept.local
192.168.0.75 monitor.oekonzept.de
192.168.0.151 rosa.oekonzept.de
192.168.0.171 karl.oekonzept.de
@ -210,23 +211,23 @@
192.168.0.190 vpn.oekonzept.de
192.168.0.180 vewasmb.oekonzept.de
192.168.0.91 puppet.oekonzept.de
100.64.0.1 oekonzept.net
100.64.0.1 draw.oekonzept.net
100.64.0.1 bw.oekonzept.net
100.64.0.1 passwords.oekonzept.net
100.64.0.1 bitwarden.oekonzept.net
100.64.0.1 camt.oekonzept.net
100.64.0.1 camt-cbg.oekonzept.net
100.64.0.1 camt-eth.oekonzept.net
100.64.0.1 camt-pro.oekonzept.net
100.64.0.1 camt-swbfk.oekonzept.net
100.64.0.1 cloud.oekonzept.net
100.64.0.1 office.oekonzept.net
100.64.0.1 llama.oekonzept.net
100.64.0.1 netdata.oekonzept.net
100.64.0.1 oproject.oekonzept.net
100.64.0.1 leantime.oekonzept.net
100.64.0.1 nixos-karl-kvm-guest.oekonzept.de
192.168.0.171 git.oekonzept.net
192.168.0.171 office.oekonzept.net
192.168.0.171 libreoffice.oekonzept.net
192.168.0.171 cockpit.oekonzept.net
192.168.0.171 auth.oekonzept.net
192.168.0.171 netdata.oekonzept.net
192.168.0.171 cloud.oekonzept.net
192.168.0.171 bw.oekonzept.net
192.168.0.171 kasm.oekonzept.net
192.168.0.171 warden.oekonzept.net
192.168.0.171 oproject.oekonzept.net
192.168.0.171 netbox.oekonzept.net
192.168.0.171 passwords.oekonzept.net
192.168.0.171 pass.oekonzept.net
192.168.0.171 camt.oekonzept.net
192.168.0.171 camt-eth.oekonzept.net
192.168.0.171 camt-cbg.oekonzept.net
176.9.242.147 fe3f3294-c93a-4aca-895e-abe6c858dbd5-llama-cpp.redvau.lt
'';
interfaces = {