Repository navigation
New user on-boarding/OOBE needs attention... #15784
signaldirective
started this conversation in
Suggestions
Replies: 1 comment
|
Written by Claude, reviewed by a human — it gets the point across. Coming from 30 years of Windows, the RC's floating mode + dock is what made Omarchy click for me. But the first thing I went looking for was a settings app, and there's nothing in the dock or on the windows that points to one. The Omarchy menu (Super+Space) has everything, but nothing on screen says it exists. Even just a Settings icon pinned to the dock by default on floating workspaces, opening the menu (or something like #15428), would close that gap. |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Originally I was going to write this as a PR but the contributing guide recommends discussions->suggestions, so I decided to post here instead: I propose adding two of my plugins into Omarchy - they would likely be a really good fit with the version of Omarchy shell that will add the dock for users not used to tiling window management. The on-boarding experience for new users is .... not great. Let me be clear, I love Omarchy. I'm a full-on Omarchy Evangelist. I adore this distro. But I've been seeing some really regrettable things in regards to the new user experience for people coming from other OSes that do not have experience with Linux and people who do not have any experience with AI prompts beyond the ones that run in their browser. I really want us to retain those users, but in the current state of the on-boarding process we're not going to. I've had to personally talk 7 different people out of giving up on Omarchy because they didn't know what to do once the distro was installed, or how to get help when something goes wrong. If they had a very simple new user experience like what my plugins provide, it would solve two of the biggest problems with the current on-boarding process.
What a new user gets today
I traced the actual first-login path. It is one script, and it is short:
omarchy-provision-first-runruns once per user fromdefault/hypr/autostart.lua.After user provisioning, it installs three
post-updatehooks (Voxtype,fingerprint, agent setup), enables user units, sets the GNOME and GTK details,
tunes the speakers, waits for the notification service, and then sends exactly
one piece of onboarding to the screen —
install/user/first-run/welcome.sh:install/user/first-run/setup-agent.hookadds a second invitation, but it isinstalled as a post-update hook, and it assumes the vocabulary already:
So the complete new-user experience is: a critical toast telling you which two
keys open the menu and the cheatsheet, and a toast asking you to pick a default
agent. Both are useful. Neither answers the two questions someone arriving from
macOS or Windows actually has on day one:
not that the machine will help you change itself.
the answer. There is no icon, no window, and no link on screen that shows a
newcomer what an agent is or how to get help right there.
Nothing on the first-run path links to the manual, the Discord, the community
themes, or the plugin marketplace — the four places every new user eventually
needs, and the four that would have answered their first question without them
having to ask a human.
The observation that started this
In
#omarchyI counted the last ten people who asked for help and were told toask their agent. Eight of them replied "what agent?", "okay", or said nothing.
I DM'd all eight; none of them knew what an agent was or how to reach one on
their machine.
That is ten conversations in one channel, not a survey, and I am not claiming
more than it is. But the failure mode is specific and it is not a documentation
problem: these are people who were already in the place where the community
gathers, and the answer "ask your agent" arrived in a vocabulary they had never
been given. The system tells them where the menu is. It never tells them that
asking the computer a question in plain English is the intended way to use it.
Your own doctrine says it better than I can:
Everyone willing to learn needs to be told what they are learning. Right now
that happens in Discord, by hand, one newcomer at a time — and it lands eight
times out of ten.
The proposal
Two plugins, both already written, both MIT, both installable right now:
opencode, ask a clear question), a safe starter prompt you can copy, a reusable request pattern, buttons that open the real Omarchy menu and theme picker, and links to the manual, Discord, themes, and plugins.Together they cover the two questions the current first-run does not: one window
that teaches the shape of the workflow, and one icon that turns "I wonder
if..." into an answered question without a terminal in the way.
How it would land in-tree
Concretely, so this is reviewable rather than aspirational:
shell/plugins/mocchi/andshell/plugins/make-it-real/, with idsomarchy.mocchiandomarchy.make-it-real(authorOmarchy, MIT, matchingshell/plugins/agents/manifest.json). Both are plain plugin directories thatpass
omarchy plugin validate .today, with no installer script, nobackground service, and no build step.
omarchy-provision-first-run,next to the existing notification steps, opening the welcome window after the
keybindings toast. The plugin's own self-trigger would be removed in favour of
this, so the first-run script stays the single place that decides what a new
user sees, and
omarchy-donekeeps the once-only guarantee.config/omarchy/shell.json,in the right section beside
omarchy.agents— the icon people will look forwhen they are told to "ask your agent".
whole onboarding.
re-running the welcome window for people who are years past their first boot.
Happy to write these commits, or to hand the code over for you to reshape. The
integration points above are a suggestion, not a constraint — you own the
placement.
Objections, answered
"There is already an
omarchy.agentswidget."It shows usage: rate-limit meters for Claude Code, Codex, and Fireworks. Its
right-click runs
omarchy-agent --pick, which launches the agent picker. Itnever asks you a question or carries one anywhere. Mocchi is the ask box on the
other side of the same idea: the difference between "which agent would you like"
and "here is my question".
"We already invite people to set a default agent."
That invitation asks you to choose an agent and assume the vocabulary. It also
arrives through the post-update path. Neither it nor the keybindings toast says
what an agent can do for you, or gives you something to try.
"Please do not add more toasts."
I agree, so the new toast is deliberately modest: urgency
low(notcritical),at most once per six hours, and it can be silenced in one right-click — "hide
until I log out" or "don't show the greeting again" — with the choice persisted
in the widget's own settings. The welcome window has a Do not show again
toggle and reopens from
Learn → Make It Realafterwards. Both are one click from gone, which is the standard any nudge should have to meet."Why in-tree instead of a plugin people can install?"
Because the audience for onboarding is exactly the audience that does not yet
know plugins exist. The marketplace is a fine answer to "how do I add this
thing", and no answer at all to "what is a thing, and why would I want one".
Onboarding that requires the knowledge it is teaching cannot work.
"Vendoring third-party code adds trust and maintenance surface."
Both are deliberately small and boring: 467 lines (Mocchi, plus a 13-file
markdown skill) and 590 lines (Make It Real) of QML and bash. No sudo, no
pkexec, no network requests, no background service, no
eval, and no executionof user text as a command. They are built entirely from Omarchy's own
pieces:
omarchy menu input,omarchy default agent,omarchy agent prompt,omarchy launch browser,omarchy-launch-tui,omarchy-notification-send.They do write a little, and here is all of it. Make It Real keeps one preference
file (
~/.local/state/omarchy/make-it-real/welcome-mode) and starts a terminalwhen asked. Mocchi keeps its greeting markers in
~/.local/state/omarchy/mocchi/, recordsgreeting: offin your own barsettings when you click "don't show the greeting again", and — unless you set
its
skilloption tooff— links its bundled skill at~/.agents/skills/mocchi(the same directory Omarchy links its ownomarchyand
diagnose-crashskills into) and adds oneinstructionsentry to~/.config/opencode/opencode.json, backing the file up as.mocchi.bakfirst.Mocchi's README documents the sharp edge honestly:
omarchy agent promptlaunches every agent with its pre-approved flags, which is Omarchy's own
behaviour and not something these plugins change. The free fallback (with no
default agent set) runs
opencode miniwithout auto-approval."This belongs in the manual, not on screen."
The manual is excellent and already says all of it. The moment of need is a
freshly installed machine, before the person knows the manual exists. Both
plugins link to it from the screen where the question is actually being asked.
What this deliberately does not do
user's behalf. Make It Real copies an example question; the user starts
OpenCode and sends it. Mocchi asks, then hands the text to whichever agent
omarchy default agentreports — including a free OpenCode session when noneis set, so a person with no agent and no account still gets a real answer.
else in the first-run sequence.
either plugin edits is Mocchi's own bar setting and, unless you turn its
skilloption off, oneinstructionsline in your OpenCode config.Try it in thirty seconds
Then reopen the welcome window any time with:
omarchy shell shell summon io.github.signaldirective.make-it-real '{}'Both repositories ship preview images, and Mocchi's README documents every file
it touches outside its own plugin directory.
Maintenance
I will maintain both, either in-tree or as the upstream repos they are now. If
you would rather own the code outright, take it — the onboarding is the point,
not the authorship. If the shape you want is different (a single combined
plugin, no greeting toast at all, the links moved into the shell itself), say so
and I will build that version instead.
All reactions