Selfhosted Information flow with Omarchy

Selfhosted Information flow with Omarchy

September 19, 2026

TL;DR

You better write daily/weekly notes and work with them

Intro

Why you need this

I dont care if you are a director, an IC that moonlights has independent consilting work, or a solo-preneur:

QnA the team to avoid accountability laundring

Use when someone asks for a quick call without enough written context:

…and weaponized incompetence 🚀

I cannot jump on a call right now, but we can probably handle it async.

Can you send:

  • the exact error or behavior
  • what you already tried
  • the doc/wiki section you followed
  • what result you expected vs what happened

Once I have that, I can point you to the right fix or doc update.

You better ask questions on time. Arent you QnA’ing Product teams?

Yep, make sure meetings are clear and actionable :)

ℹ️
A good start is WHO will do WHAT by WHEN

EOD Accountability Review:

  • What did I move forward today?
  • What did I make clearer for other people?
  • What ambiguity did I convert into owner/action/trigger?
  • What is still exposed?
  • What should be visible in the weekly summary?

When you are a solo-founder, you dont have time for bs.

You can avoid noise, non-sense promises, wishes with such form: https://app.formbricks.com/s/cmtljp6ee1j5d01xdkqdqpdyp

cd ./jalcocertech-services/forms
#make help

The Setup

Earlier this year I got my read books notes distilled with very interesting feedback

Tools

Earlier this year I explored some note tools: Affine, Joplin and logseq, i kept the latter focusing in the pure .md and git capabilities.

Last year, as knowledge management tools I covered: Raneto, Silverbullet

Its not the first time and yet Im putting together sth between a note tool and git CMS here:

cd ./poc/pwa-
#make serve
make cf-login
make cf-project PROJECT=margin-cms  # first deployment only
make deploy PROJECT=margin-cms
#  npx --yes wrangler@latest pages project list

https://margin-cms.pages.dev/

That should superseed forgejo x cf covered at https://speedtest.fossengineer.com/jalcocert/my-logseq-notes

The Indie Way

For some cases, you can consider to just write into your Forgejo instance, in case that github is non accesible.

Ill assume that you are fine with .md files

Bc why wouldnt you at this point.

YT Summaries

That’s exactly what ive done around this Hormozi video one more time

cd ./poc/yt-distil

Audio Recaps

I was using fireflies even with n8n, but then I created a setup around google recorder and a openai key to perform transcription (S2T), then let codex take it from there.

Fireflies AI has n8n integration

Last year, I was working on a speech rater around openAI TTS and ST2 as well here

With files.md you can record audio with the PWA, just that it will stay locally.

Gold Info for SoloPreneurs

You need to ship/fix/kill (quick).

Ideas Checklist 🚀

For this I dedicated a full post few weeks ago.

The general idea checklist is as follows:

Prospects/Clients Checklist 🚀

Info to Video

You are already aware, PoC, make a hyperframe video about it, or about yourself


Conclusions

If it was not clear, now communication patterns have to be.

No more bs hello, vague work, accountability laundring, weaponized incompetence, underf…

…Pardon my French, I meant:

  • “weaponized incompetence” -> “repeat low-context dependency requests”
  • “cover my ass” -> “maintain an evidence trail”
  • “under-filtering manager” -> “unfiltered upstream directive”
  • “take off the mask” -> “raise process issues explicitly”

Yep, i apply and got my information and workflows in place: goes pretty handy together with skills C:/Users/.../.codex/skills/weekly-work-summarizer/references/templates.md

flowchart TD
    Start([Ambiguous work situation]) --> Diagnose{What kind of pattern is this?}

    Diagnose -->|Unclear owner, vague handoff, meeting drift| Accountability[accountability-framework.md]
    Diagnose -->|Busy updates, low verified output| LoudLabor[loud-laboring-framework.md]
    Diagnose -->|Need stakeholder movement| Communication[communication.md]

    Accountability --> Pattern[Name the pattern]
    LoudLabor --> Pattern

    Pattern --> NextState{What next state is needed?}
    Communication --> NextState

    NextState -->|Facts / root cause| DFIR[DFIR / TRACE]
    NextState -->|Ownership transfer| PASS[PASS]
    NextState -->|Owners, status, triggers| COAST[COAST]
    NextState -->|Decision between options| ADAPT[ADAPT]
    NextState -->|Fast response / unblock| DRIVE[DRIVE]

    DFIR --> Script[accountability-response-playbook.md]
    PASS --> Script
    COAST --> Script
    ADAPT --> Script
    DRIVE --> Script

    Script --> Send[Send work-safe message]
    Send --> Evidence[accountability-daily-template.md]
    Evidence --> Weekly[Weekly proof: delivered, unblocked, decisions, risks, ownership]

Turn vague work into clear next actions, with such communication framework and accountability playbook

HomeLab Updates 0926

I was trying lately technitium for custom DNS at Omarchy:

alt text

Beyond herdr, these CLIs have been helpful:

#herdr
docker port jellyfin

I made DHCP reservations at my home CM so that 192.168.1.2 is the x300 and 192.168.1.18 the pi4 with hermes.

Useful CLI tools were:

  • ip addr — found your computer’s LAN address/subnet.
  • ip route — identified the router and 192.168.1.0/24 network.
  • ping — discovered active devices and inspected TTL.
  • ip neigh — showed IP-to-MAC mappings (the key discovery tool).
  • nc (netcat) — checked ports and read the SSH banner.
  • getent hosts — attempted hostname/reverse-DNS lookup.
  • curl — inspected the router page and checked MAC-vendor data.

The decisive commands were:

ip neigh show dev wlan0
ping -c 1 192.168.1.18
nc -zv 192.168.1.18 22
nc 192.168.1.18 22
#nmap or arp-scan would also be ideal, but neither was installed.

ncdu has been very useful to check disk space

For releasing space docker system prune -a --volumes

I was getting connectivity troubles while testing iwd, for which I had to connect via ethernet to resolve as i lost wifi connection:

  1. How Ubuntu’s Wi-Fi Architecture Fits Together

Linux networking works in layers, and understanding which tool operates at which layer explains why things broke:

[ Frontends / CLIs / UIs ]  -->  nmcli / nmtui, Impala, GNOME Wi-Fi Settings
                                          |
[ Network Daemon ]          -->  NetworkManager (orchestrates connections, DNS, DHCP)
                                          |
[ Wireless Backend ]        -->  wpa_supplicant (Ubuntu default)  OR  iwd (Impala default)
                                          |
[ Kernel & Hardware ]       -->  cfg80211, mac80211, Wi-Fi driver, network card (wlan0)
  1. Root Cause: Why Installing Impala Broke the Internet
  • Device Lockout: Only one wireless daemon can control the hardware radio interface at a time.
  • Backend Conflict: Impala installs and relies on iwd. When iwd starts, it claims exclusive control of the Wi-Fi card (e.g., wlan0).
  • Silent Failure: NetworkManager defaults to expecting wpa_supplicant. When iwd takes the card without NetworkManager being explicitly configured to talk to iwd as its backend, NetworkManager suddenly marks the Wi-Fi device as unmanaged or unavailable, severing all active connections.
  1. The CLI Landscape (Which Tool Does What)
CommandRoleLayerBest Used For
nmcliNetworkManager CLIManagerUbuntu’s default tool for scanning, connecting, and viewing network device states.
nmtuiNetworkManager Text UIManagerInteractive terminal GUI with arrow-key navigation for those who dislike flag syntax.
iwctliwd CLIBackendManaging Wi-Fi when using iwd or Impala (powering adapters on/off, manual scans).
wpa_cliwpa_supplicant CLIBackendInteracting directly with the standard legacy Wi-Fi authentication daemon.
ipiproute2 suiteKernel / Low-LevelChecking raw interface status (ip link) and assigned IP addresses (ip a).
iwnl80211 CLIKernel / WirelessLow-level wireless device queries directly via the Linux wireless subsystem.
systemctlsystemd service managerInit / ServicesStarting, stopping, enabling, disabling, and masking/unmasking background daemons.
  1. Step-by-Step Restoration Logic

Fixing this problem requires a strict sequence of state changes:

  1. Stop & release the hardware: Stop and disable iwd so it releases its lock on the Wi-Fi card (sudo systemctl stop iwd && sudo systemctl disable iwd).
  2. Clear configuration overrides: Remove drop-in configuration files under /etc/NetworkManager/conf.d/ that force wifi.backend=iwd.
  3. Restore default packages: Reinstall wpasupplicant and network-manager if any dependencies were stripped during Impala’s installation.
  4. Restart core services: Unmask and start wpa_supplicant first, then restart NetworkManager so it detects the restored backend and claims the Wi-Fi card cleanly.
  5. Reconnect: Bring the interface up and re-associate via nmcli device wifi connect ....

Architect or Principal

Just in case you are preparing for a promo / outside CV or how to frame what you do for prospects.

Currently i observe a huge gap between expectations: people billing 1k/person/day for adding one line to a csv

Versus: the cost per task being literally smashed with every new model released (to cents of a $)

How long will that gap / arbitrage possibility last?

Looking for a way to elevate yourself from the how, upstream to the what’s and why’s?

If you are an IC, you might consider
  • The Architect spends a lot of time in cross-functional stakeholder meetings, drawing system diagrams, analyzing vendor tech, and ensuring the business goals match the technology stack. In many companies, architects rarely touch production code anymore.

  • The Principal Engineer is usually the highest-ranking technical hands-on expert in the room. They design systems too, but they are also expected to build the foundational architecture, debug the most ambiguous, critical outages, and optimize engineering processes.

The easiest way to understand the difference is scope of execution vs. scope of design:

+————————————+————————————+ | Software Architect | Principal Engineer | +————————————+————————————+ | Focuses on the “Blueprint.” | Focuses on the “Execution & Truth."| | Works with product and business to | Goes deep into complex systems, | | map out what to build and how | enforces standards, and writes core| | systems interact broadly. | code/infrastructure. | +————————————+————————————+

  1. You Own the “Infrastructure of Rules”

As a Principal, you are responsible for defining team standards and dev velocity.

This means you have the organizational power to unilaterally destroy accountability laundering and useless meetings.

You can literally write a policy that says: “No sync calls without a written ticket and log,” and because you are the Principal, it becomes law.

  1. Built-In “Deep Work” Shielding

Principals are expected to tackle complex, ambiguous engineering problems.

Everyone expects you to be offline, heads-down, and writing architecture code or documentation for blocks of 4 to 6 hours at a time.

Nobody questions why your Slack status is “Away” or “Focusing”—they just assume you are solving a high-level problem.

  1. High Leverage, Low Meeting Density

Architects get pulled into endless discovery calls with product managers and clients to figure out “what is possible.”

Managers get pulled into HR drama.

Principals are insulated from most of that.

Your value comes from your output, your technical direction, and the documentation (like your wikis) that you build to make the rest of the team self-sufficient.

So ask honestly: do you want status, control, income, or optionality?

They are NOT the same game.

What are you optimizing for next?


FAQ

Useful CLI Tools

Coming from here

Ive lately found useful:

herdr #codex --yolo
#ncdu /
#docker port iot-dashboard-v2

Selfhosted Forgejo

I got this forgejo setup ready in my x300 some time ago to tinker with agents:

Having termix ready http://192.168.1.2:8090/ and Forgejo http://192.168.1.2:3034/

docker ps -a --filter "name=forgejo"

The syncing setup to github so that each forgejo repo has a gh backup in a branch:

gh status

In this case, what i want is to do: GH <-> Forgejo for my daily notes

cd ./Home-Lab/forgejo
make migrate-repo REPO_OWNER=JAlcocerT REPO_NAME=my-logseq-notes #makes a mirror of gh
#make sync-repo REPO_OWNER=JAlcocerT REPO_NAME=my-logseq-notes

If you want to expose this:

docker inspect forgejo --format '{{range $name, $_ := .NetworkSettings.Networks}}{{println $name}}{{end}}'
#docker network connect cloudflared_tunnel forgejo

Check that forgejo:3000 ready:

#dig fossengineer.com any

Selfhosted Communication

Communication within your team is the information flow and you can also do it with OSS:

  1. Simplex with https://github.com/simplex-chat/simplex-chat/releases/tag/v7.0.0

  2. Matrix: with the flavour conduit or synapse

  3. Fluxer

  4. Bitchat that works via bluetooth

See also Rocket chat or stoatchat i believe it was named revolt before

Selfhosted Media

qbit and prowlarr at 6011 and 9696.

sudo docker compose -f ./z-homelab-setup/evolution/2601_docker-compose.yml up -d qbittorrent prowlarr

yt-distil: http://192.168.1.2:8001

https://jalcocert.github.io/JAlcocerT/photo-management-tools/

https://jalcocert.github.io/JAlcocerT/photo-video-tinkering/#video-editing

https://jalcocert.github.io/JAlcocerT/photo-video-tinkering/#photo-editing

https://jalcocert.github.io/JAlcocerT/image-backup-tools/

Kodi vs Jellyfin

With kodi adons: https://www.youtube.com/@proyectosmicropic/videos

You can have a look to IPTVs as seen here

Music

Navidrome, subsonic or gonic are OSS selfhostable music servers that I tinkered with some time back.

Gonic music server

You need clients:

  1. https://github.com/Fingel/gelly

A native music client for Jellyfin and Navidrome/Subsonic

  1. Sonixd
winget install sonixd
  1. Supersonic

Gonic music server

  1. Ultrasonic or tempus worked great as android client and you have them at fdroid or obtenium

  2. With supersonic or sublime (desktop) you can connect to subsonic or jellyfin servers

NaviDrome UI

PDFs

Discovering Kreuzberg some time back was great, just now that its now at: https://github.com/kreuzberg-dev/kreuzberg-lts?tab=contributing-ov-file

And new development will be: https://github.com/xberg-io/xberg

#uv add kreuzberg

foreach ($f in Get-ChildItem *.pdf) {
    uvx kreuzberg extract "$f" > "$($f.BaseName).txt"
}
#curl -X POST -F "file=@Ebook-cover-SSGs.pdf" http://192.168.1.2:8027/extract > sample-pdf-to-text.txt

How Im using AI to prep for ULM/PPL

From ./poc/ulm-pplwith some books distilled.

Omarchy

Some more omarchy

  • https://omarchy.org/
  • https://tryomarchy.com/

The name Omarchy is a portmanteau of “Omakase” and “Arch”:

  • Omakase (お任せ): A Japanese dining concept meaning “I leave it up to you”. In an omakase meal, you don’t order individual items; the chef curates and prepares the entire progression of dishes based on what is best.

  • Arch: Refers to Arch Linux, the lightweight, rolling-release distribution that forms the base of the operating system.

This brings docker, lazydocker, herdrd, lazygit installed by default :)

Run this to lower the VM to 4 GB RAM and 2 CPUs: You can get started using 1.2GB of RAM and I could tinker with <4GB

virsh --connect qemu:///session shutdown omarchy-4.0.1 2>/dev/null || true

virsh --connect qemu:///session setmaxmem omarchy-4.0.1 4096M --config
virsh --connect qemu:///session setmem omarchy-4.0.1 4096M --config
virsh --connect qemu:///session setvcpus omarchy-4.0.1 2 --config

virsh --connect qemu:///session start omarchy-4.0.1
gnome-boxes

If Boxes still acts weird, open the same running VM with:

virt-viewer --connect qemu:///session --attach omarchy-4.0.1

I send some goodies via:

  ssh -p 2022 dhh@127.0.0.1 \
    'umask 077; mkdir -p ~/Desktop; cat > ~/Desktop/.env; stat -c "%a %s %n" ~/Desktop/.env' \
    < /home/jalcocert/Desktop/JAlcocerT/.env
#  cat ~/Desktop/.env | grep '^OPENAI_API_KEY='

Now just add whatever programs you use beyond the browser:

omarchy pkg add bitwarden gram proton-vpn-gtk-app #this flows from pacman repos, not AUR :)
yay -S helium-browser-bin #alternative chromium based
omarchy pkg add arduino-cli blender freecad
omarhcy install service tailscale
#omarchy bar position bottom #modifies the omarchy/shell.json

You can also connect your airpods via plugins: https://github.com/thisisgm/omarchy-pods

To get goodies from the VM to the regular laptop I did:

scp -P 2022 dhh@127.0.0.1:/home/dhh/Downloads/wiki-technitium.md /home/jalcocert/Desktop/

Company Brain

Got to know via this pelado video

A “Company Brain” acts as the operational, real-time layer that traditional Knowledge Sciences, Taxonomies, and Ontologies have historically tried to build by hand.

Rather than replacing these disciplines, it automates their creation, maintenance, and retrieval.

  1. Relation to Knowledge Sciences (Ciencias del Conocimiento)

Knowledge Management (KM) and Knowledge Sciences study how organizations create, retain, structure, and transfer knowledge. A Company Brain directly addresses the core theoretical challenges in this field:

  • Tacit vs. Explicit Knowledge (The SECI Model):

  • Traditional KM struggles with tacit knowledge—insights that exist only inside employees’ heads or informal chats. People rarely take time to codify it into formal manuals.

  • A Company Brain automates the externalization step: it listens passively to daily interactions (Slack threads, Jira tickets, pull requests, meeting transcripts) and converts informal, ephemeral chatter into persistent, searchable organizational memory.

  • Organizational Amnesia:

  • In KM, employee turnover is the primary cause of lost intellectual capital. By capturing decisions and context in real time, the Company Brain breaks dependence on individual tenure.

  • The “Write-Time” vs. “Read-Time” Shift:

  • Classic KM required high friction at write-time (employees writing documentation).

  • A Company Brain shifts the burden to read-time synthesis using AI, gathering raw interactions automatically and synthesizing answers only when asked.

  1. Relation to Taxonomies

A taxonomy is a hierarchical classification scheme (e.g., Engineering → Infrastructure → Kubernetes → Carpenter).

  • From Static to Dynamic Classification:

  • Traditional corporate taxonomies are rigid trees designed manually by information architects. They fail because companies evolve faster than taxonomy committees can update folders and tags.

  • A Company Brain uses dynamic, bottom-up clustering. It observes emerging terms, tools, and project codenames as they appear in conversations and categorizes them automatically.

  • Semantic Tagging at Scale:

  • Instead of requiring a support agent to manually select 5 dropdown tags on a Zendesk ticket, the AI evaluates the context and associates the ticket with the correct taxonomy nodes automatically.

  • Multi-Faceted Navigation:

  • Traditional taxonomies force an asset into a single branch. A Company Brain enables polyhierarchical indexing, meaning an incident post-mortem can simultaneously belong to Client Relations, Kubernetes Cost Optimization, and Security.

  1. Relation to Ontologies

While a taxonomy is a simple hierarchy, an ontology defines entities, their attributes, and the complex, typed relationships between them (e.g., Employee owns Microservice, which runs on Kubernetes Cluster, which experienced Incident #402).

  • Building Dynamic Enterprise Knowledge Graphs:

  • The modern Company Brain doesn’t just store flat text chunks; it constructs or queries an underlying Knowledge Graph (a concrete implementation of an ontology).

  • When reading Slack messages or tickets, the model performs Named Entity Recognition (NER) and Entity Resolution, identifying that “Dave”, “@dave_dev”, and “David Miller” refer to the same node in the ontology.

  • Contextual & Causal Reasoning:

  • Because an ontology models relationships (caused_by, fixed_by, depends_on), the Company Brain can answer multi-hop questions: “Why did the checkout service fail after the Carpenter upgrade last Tuesday, and who resolved it?”

  • Ontology Alignment & Self-Healing:

  • As technical stacks and organizational charts shift, the system updates the relationship edges automatically, preventing the semantic drift that usually ruins enterprise ontologies.

DimensionKnowledge Sciences (KM)TaxonomiesOntologiesCompany Brain
Primary GoalRetain capital and facilitate learningOrganize and categorize contentModel domains and formal relationshipsAutomate capture, context, and retrieval
MaintenanceManual (documentation drives)Manual (controlled vocabularies)Manual (formal logic / RDF / OWL)Passive & continuous (ambient AI)
Data SourceStructured portals, wikisFolders, navigation treesSchemas, graph databasesUnstructured chatter, tickets, code, docs
Failure ModeAbandonment due to human fatigueBecomes outdated and restrictiveToo complex and brittle to maintainRisk of noise, hallucination, or data leaks