c5a963bfd92ed726aca9b99fbef22f06d5471d17
LoadConfig() tried to create directories and write opal.yml as a side effect of loading config. On the server (where /etc/opal is in systemd ReadOnlyPaths), this failed, returning nil. All internal GetConfig() callers discarded the error, passing nil to BuildUrgencyCoefficients() which panicked on nil dereference. Redesign the config system with layered, read-only loading: - Defaults (always present) → YAML file (if exists) → OPAL_ env vars - LoadConfig never writes to the filesystem or returns nil - File creation moved to explicit InitConfig() for CLI first-run/setup - SaveConfig uses yaml.Marshal instead of manual field-by-field Viper calls, eliminating the three-place maintenance burden Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Notr
Simple Go application for organizing and referencing notes. Loosely based on Obsidian.
Implementation: See jade-depo/ directory for the CLI tool.
Workflow
I take notes in two primary ways:
Phone
- Quick notes, on the go.
- View and search notes.
Workstation
- Using NeoVim for notetaking
Other infrastructure
- I host a VPS with a Nextcloud and Gitea instances.
What I want
- A Obsidian Vault like structure. A folder where notes live.
- A file is a note
- Can also store attachments, such as images. These files can then be referenced in the relevant notes.
- Directories is the main organization method, although tags and links can seam-lesly cross directories boundries.
- Markdown syntax (this can be handled by NeoVim and a markdown editor on other devices.)
- Tags: Syntax +tag
- Note links for referencing other notes or any other vault files. Syntax uncertain. Obsidian uses ?
- See reports about the vault. Tag report
- At some point I would like to have a web-app and host it on my server. This would integrate with my authentik service for auth, and would be a live view of a users vault
- OCR would be great.
Implementation
I have a tendency to scope creep and never actually getting a usable product, so an important goal here is practicing getting a usable app up and running. This should not have to be the biggest project, so I'll try to predict the process:
Version 0.1
Here I use other tools for the note-taking and accept that any searching is on a directory basis only.
- I create a directory in Nextcloud. This I will start using immediately.
- Find a good Markdown editor for android.
- Adopt any crutial Obsidian notes
Version 1.0 ✓
This is where I can use Notr to find and search notes on my workstation. CLI implementation complete!
- Process notes. Metadata and diffs
- Search and Filter by tags
- Search and Filter by content
- Add, edit, delete notes
- List all notes and tags
Version 2.0
Here I can do the same on my phone.
Also:
- OCR
Metadata approach
Multiple approaches possible.
Description
Languages
Go
75.3%
Svelte
17.5%
JavaScript
5.3%
CSS
1.2%
HTML
0.4%
Other
0.3%