Notes from a 3.8.4 → Quattro upgrade: Wi-Fi credentials, user state in # ~/.config/waybar, and symlinks in plugin folders #6577
jfbourdeau
started this conversation in
Suggestions
Replies: 0 comments
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.
Upgraded a Lenovo Yoga C640 from Omarchy 3.8.4 to Quattro (
omarchy-dev 4.0.0.r1541, edge).The two things that actually blocked me are filed as bugs; these are the softer observations,
in case they're useful. Overall the migration is impressive — especially the legacy Hyprland
shim keeping the pre-reboot session alive, and the timestamped
*.omarchy-upgrade-to-quattro.<ts>.bakbackups, which is what let me recover the item below.
1. Wi-Fi credentials don't migrate from iwd to NetworkManager.
iwdprofiles live in/var/lib/iwdand nothing converts them, so every saved network isgone after the reboot. At home that's a 30-second annoyance; upgrading from a hotel or an
office it could strand someone with no way to reach the network they just lost. Either
convert the profiles, or warn before the reboot prompt so people can write their passwords
down first. I only avoided it because I copied
/var/lib/iwdbeforehand as a precaution.2.
~/.config/waybar/is moved aside wholesale — including user state that isn't waybar's.The upgrade moves the directory to
waybar.omarchy-upgrade-to-quattro.<ts>.bak/, which isright for waybar's own config. But anything a user keeps in there goes too. In my case a
small watchlist file used by a custom module vanished, and the module silently fell back to
built-in defaults — I only noticed because the content was subtly wrong, not missing. A line
in the upgrade output naming what was moved would make this obvious.
3.
omarchy plugin validaterejects symlinks in (or as) a plugin folder.This blocks the common dotfiles pattern: keep configs in a git repo, symlink them into
~/.config. Everything else in Omarchy tolerates symlinked config — plugins are the oneexception, so a repo-managed setup has to special-case them and copy instead. I understand
the reasoning (validating what actually executes), so this is really a request to either
document it in the plugin docs, or allow links that resolve inside
$HOME.4. Small praise, since it deserves saying: porting a custom waybar module to a Quickshell
bar widget took one
manifest.jsonplus one QML file dropped in~/.config/omarchy/plugins/,with
omarchy plugin validate/list/enablebehaving exactly as documented, and noforking of the shell. That's a genuinely nice extension story.
(One more, probably upstream in quickshell rather than here: while iterating on that widget,
the shell crashed if a
Repeaterdelegate was mid-incubation during teardown —ShellRoot::~ShellRoot → QQmlDelegateModel::~QQmlDelegateModel → QQmlIncubator::clear() → QQmlEnginePrivate::warning(). Reassigning the model only when the underlying data changedavoided it. Mentioning it here in case others hit it while writing widgets.)
All reactions