Hasty Briefsbeta

Journaling using Nix, Vim and coreutils

12 days ago
  • #journaling
  • #productivity
  • #vim
  • The journaling system uses {neo,}vim, coreutils, and dateutils, inspired by Ryder Caroll's Bullet Journal method.
  • Journal entries are organized by year and month, with each month having its own file (e.g., '01' for January).
  • A monthly calendar is inserted using ':read !cal -m' in vim.
  • Entries are structured week by week, with tasks prefixed by 'todo' or 'done'.
  • Abbreviations in vim (e.g., ':iabbrev todo ·') replace verbose signifiers with symbols for cleaner entries.
  • Vim's sorting functionality ('vip' and ':sort') organizes tasks by their status (todo, done, etc.).
  • Syntax highlighting is added to distinguish between different types of entries (todo, done, event, note, moved).
  • Habit tracking can be incorporated with simple headers and an awk script to calculate monthly expenditures.
  • Reflection is facilitated by opening multiple months side-by-side in vim ('vim -O journal/2023/0{1,2,3}').
  • Friction is reduced by using dateutils to open the current month or a range of months around the current date.
  • A sample vimrc and nix flake file are provided for easy setup.