The Complete Computer

Shared CCE Helpers

LifeTechEmacsArcology

This constitutes the backbone of The Complete Computing Environment . These functions rely on #+KEYWORD style metadata embedded throughout my org-roam Knowledge Base and some custom extensions to org-roam to enable this keyword caching . Taken together, these functions provide a concrete API (or at the inspiration for a generic API) for building limited Literate Programming applications, org-mode meta applications which can answer interesting questions from across your knowledge base. It's unfortunate that this relies on patches to org-roam which aren't upstreamed, I'm awaiting a plugin architecture that lets me decouple this. In the meantime my home-manager installs the version of org-roam which has these additions. I've constructed an Ouroboros.

CCE Git Ignore

shell source: :tangle .gitignore
*.el *.elc *.shell *.conf *-capture.org *-template.org morning-routine-capture reference-capture-template gnus-respond gnus-review remote-video-capture-template *.desktop *.service emacs-pager-bin mbsync-endpointrc termux-url-opener termux-imap-tunnel inventory *.yml roles ggs bash_profile.d bashrc.d syncthing.list userChrome.css userContent.css Xmodmap udev/* nixlib/*/*.nix nixlib/*.nix captures/* wireguard/* fehbg.sh pam_u2f_cfg env xmonad.hs ytmusic-auth.json ytmusic-cookie.txt bandcamp-cookie.txt vdirsyncer-config.txt

Predicate Functions

These are simple predicate functions which can be used in the CCE_PREDICATE:

emacs-lisp source: :results none :tangle cce-common.el
(defun cce/using-termux () "A CCE predicate" (or (not (string-blank-p (or (getenv "ANDROID_DATA") ""))) (and (boundp 'building-for-termux) building-for-termux))) (defun cce/has-display-frames () "Dynamic CCE predicate" (and (not (cce/using-termux)) (> (length (frame-list)) 0))) (defun cce/using-exwm () "Dynamic CCE predicate" (and (not (cce/using-termux)) (not (string-blank-p (getenv "DISPLAY"))))) (defun cce/using-linux () "Dynamic CCE predicate" (eq 'gnu/linux system-type))