Life OS is a note-taking, task-setting system that helps you to organise, track, & manage your life. Life OS dashboards provides a centralised way to view your progress across different areas of your life (daily activities, life stages (long-term plans), projects).
Created in Obsidian, packaged as a Obsidian vault template.
All demo files are stored in data/demo
folder. To interact with the demo vault, use the script data/demo/demo.sh
.
./data/demo/demo.sh
By default, the script moves demo files into the appropriate folders.
Options:
-u
,--uninstall
: Uninstall (moves demo files back to demo folder)
- Download latest release / Clone repository (for latest updates).
- Obsidian > Open folder as vault > Trust author and enable plugins
Task Dashboard
The Task dashboard collates all uncompleted tasks in Life OS. Add tasks from any page.
Pages & Stats
Pages lists all dashboards in Life OS, which can also be accessed via the navbar. Quick Notes embeds the most recently modified note on the homepage as well.
Stats shows selected metadata from Dataview.
Quick Notes Dashboard
Quick Notes dashboard lists all quick notes. All created notes show the embedded note & the page link. Generally, keep quick notes short as long note embeds will hinder accessibility & readability in the dashboard.
Journal Dashboard
The To Do section lists all uncompleted tasks sorted by recency.
To open Today's Journal, click "Today's Journal" on the Journal dashboard or "Daily notes: Open today's daily note" via Command palette. Past journals are stored from newest to oldest.
Journal Page
Each Journal page has an additional navbar link to yesterday & tomorrow. Next, daily tasks are stored here.
Projects Dashboard
The To Do section lists all uncompleted tasks across all projects sorted by recency.
Next, projects are sorted according to their status. To modify a page status, edit the frontmatter yaml via "Properties view: Show file properties" via Command palette from the project page.
For Projects, a pseudo Kanban Board style is adopted, hence pages have 4 statuses:
- Backlog: For projects not yet started
- In Progress: For projects started
- Done: For completed projects
- Cancelled: For projects formerly "In Progress" but ultimately did not complete
NOTE: If you have come here from other page types, note that other page types may have different page statuses, hence this is a non-exhaustive list of page statuses, but the overall structure remains similar.
Project Page
Within the Description section, note that the timebox starting date is automatically filled up.
The Project Tasks section is a mini dashboard of all project tasks. Add tasks via the "Add Task" navlink, where "Add Task" is located at the bottom of the page.
Task statuses, what they mean, & how to add them:
- Backlog: Normal task with text
- In Progress: Tasks with a start date symbol (🛫). It's not necessary to add a start date.
- Done: Tasks completed (Markdown
- [x]
) - Cancelled: Tasks with hyphen symbol between task list square brackets (Markdown
- [-]
)
Adding emojis is easiest done with Tasks' auto-suggest menu already included. Life OS only uses start date (🛫), high priority (⏫), & done (✅) (enabled by default when a task is completed).
NOTE: Do NOT confuse task status with project status.
Writings Dashboard
Writings Page
The Writings page is meant for long-form writings & highly unopinionated, hence only a navbar is included in the template.
NOTE: Currently in alpha stages. Run life_os -h
for help.
Online sync to GitHub via Obsidian Git
Prior to this, users should've cloned / downloaded Life OS. Ensure that the .git
folder exists.
- Create your personal GitHub repository.
- Follow the steps in Obsidian Git's Authentication.
- Link your GitHub repo via changing the remote repository's URL or via Obsidian's Command palette (see Android / iOS).
NOTE: For Linux installation via Flatpak, only SSH is supported. The other alternative is to authenticate with the PAT in the URL (eg. https://<PAT>@github.com/adoreblvnk/life_os
), which is insecure.
- Create a Personal Access Token (PAT) with minimal permissions of "Read access to metadata" & "Read and Write access to administration, code, commit statuses, and pull requests".
- In Obsidian settings, go to Community Plugins > Git > Authentication/Commit Author.
- Enter your username, PAT, author name, & author email.
- NOTE: Enter your author name & author email as per your GitHub username & email.
- TIP: Use GitHub's noreply email address for privacy.
- Open Obsidian's Command palette > Git: Edit remotes > origin. Enter the URL of the GitHub repo you created.
- To push local changes to remote, use Obsidian's Command palette > Git: Push.
- To pull new changes from remote, use Obsidian's Command palette > Git: Pull.
- NOTE: Changes are auto pulled by default when Obsidian launches.
- Javascript not rendering occasionally.
-
TypeError: Cannot read properties of undefined (reading 'file')
- Fix: Reload DataviewJS block / close & reopen page. This occurs when Dataview fails to execute a query in time. Not a byproduct of Life OS' code.
-
- Clean up code in
CustomUtils
. - Implement dashboard banners for aesthetics.
- Auto-update Life OS via script.
- Fix merge strategies.
This project is licensed under the terms of the MIT license.