Brainiac v1.0 released
#emacs #brainiac #emacscarnival202506
I am glad to announce that my custom Emacs configuration Brainiac has reached release status. I am now using it without major changes since a couple of weeks, so it's time to freeze this version if other people want to use it.
Introduction
Why do I aim to have a minimal configuration? I am a perfectionist and tend to get lost in details. When a configuration gets larger, I loose time by tweaking it over and over again. By keeping the configuration minimal, I reduce the danger of going down the Emacs rabbit hole and increase the probability that I will focus on more important things in life.
Brainac is aimed to be a simple and easy to understand configuration for task management and note taking. It's not aimed at programmers, but at people trying to implement a workflow like GTD or build something like a Second Brain without overcomplicating the process, e.g. connection graphs, AI support etc.
The configuration is very opinionated, as it's based on my workflow. I am not trying to make it generic, just clean and easily extendable. I stick with the built-in packages in order to reduce dependencies and complexity.
Short description
Noteworthy stuff:
– I picked up some sane defaults from multiple sources, like turning on the revert mode, enabling smart parenthesis, tuning of built-in completion engine etc.
– The tasks and notes should look nice and readable, because of this I use the modus-operandi theme and style some things additionally to either push them to the background or to make them stick out more visually.
– You can easily capture tasks, webpage links/quotes (using org-protocol
) and screenshots (using org-download
, org-attach
and flameshot
).
– A simple journal with timestamped entries is configured in the capture templates.
– Notes are also captured over a template and you can assign categories to them. Format is inspired by Denote.
– You can export the notes to HTML (uses custom CSS) or Markdown. From there you can print to PDF or other formats.
– Additionally to normal org-clock
functionality, you can define a special task and clock in it per default with C-c j w
. I use this to clock my work time.
I will not go deeper into details of the configuration, go thru it and explore. Most of the stuff can be understood by reading the help on variables and functions.
Currently I am using the configuration with Ubuntu Linux LTS 24.04 KDE and Emacs 29.3. If you use something else, you will probably have to tweak it.
Structure and install
The configuration consists of two major files:
– brainiac.org
which contains the configurations that will be tangled to early-init.el
and init.el
,
– brainiac.css
a simple CSS for the exported notes.
Unpack the zip
file from here to your HOME folder ~/brainiac
. You will get the structure like this:
~/brainiac/
-- config/ <- this is where the configuration files are
-- notes/ <- this is where all notes go
-- attach/ <- this is where the attachments land
-- export/ <- this is where the exported files are
-- main.org <- this is the main org file to use for tasks, projects etc.
After unpacking open the brainiac.org
and tangle it.
External apps needed are: – Org Capture for Firefox – Flameshot
Workflow
I provide a template for main.org
that is based on the workflow I use:
- Top level headings are categories in my life.
- Under top level headings I create tasks and put them thru the states
TODO
,PROG
,WAIT
,DONE
orCANC
to track their progress. - I use tags to provide more context to tasks, e.g. work, names, project relation etc.
- If a task comes from an Email I deal with this by using the following form
TODO @ "Subject_of_the_Email"
, then it's easy to find it in my Emails when I need extra information on the task. - Your daily agenda is at
C-c a n
. That will show you scheduled tasks for today and deadlines coming up, I work on that first. - Every task that is not scheduled or has no deadline, is shown in a backlog below the day tasks. I use priorities to sort this backlog and give me clarity on what to work next.
- Use
PRJ
tag to mark your projects that will be broken down to tasks. I usually use statistic cookies at the end of the name of the project to show me an overview of tasks in the project. - You can have a look at your projects with
C-c a P
. I inspect the projects once a week during the review, to see if some of them need attention, e.g. they are stuckC-c a #
. - When showing notes to other people I usually do a quick
C-c C-e h o
which exports the note to HTML and shows it in Firefox.
Open for feedback and improvements
If you have feedback, improvement propositions etc., just reach out to me.