Finish v4 upgrade cleanup

This commit is contained in:
Ryan Hughes
2026-06-04 18:38:25 -04:00
parent 0804962619
commit d0cac7346a
9 changed files with 455 additions and 61 deletions
+5 -2
View File
@@ -67,6 +67,7 @@ version ──► omarchy /usr/share/omarchy
config/** ──► omarchy-settings /etc/skel/.config/** (seeds new users)
/usr/share/omarchy/config/** (resync source)
etc/fastfetch/config.jsonc ──► omarchy-settings /etc/fastfetch/config.jsonc
applications/*.desktop ──► omarchy-settings /etc/skel/.local/share/applications/
/usr/share/omarchy/applications/
@@ -267,8 +268,10 @@ brand-new user, so this one copy resyncs `.bashrc`, `.config/**`,
branding files, and the shipped migration markers in a single pass.
Then it runs `omarchy-refresh-limine`, `omarchy-refresh-plymouth`, and the
nvim refresh. Destructive: existing user files at these paths are clobbered
without backup.
nvim refresh. Destructive: existing user files copied from `/etc/skel` are
clobbered without backup. Fastfetch is package-owned at
`/etc/fastfetch/config.jsonc`; delete `~/.config/fastfetch/config.jsonc` to
return to the packaged default.
## Quick reference: where does X live?
+4 -7
View File
@@ -4,13 +4,6 @@ Omarchy migrations are one-time repair scripts for existing installs. They are
used when a package update needs to change state that pacman cannot safely own by
itself.
They are for both humans and agents:
- Users should know when migrations run, where state is stored, and how to retry
or inspect pending work.
- Agents should know which migration scope to use, how to write safe migration
scripts, and what should **not** be a migration.
## The two migration scopes
Omarchy migrations are split by execution context:
@@ -32,6 +25,8 @@ Use system migrations for machine-wide state, for example:
- hardware quirks
- package-owned layout transitions
Note that it's not necessary to write a migration for any file that will be package-owned.
State lives in:
```text
@@ -177,6 +172,8 @@ Migrations are plain shell files:
- no shebang
- start with an `echo` describing the migration
- use `$OMARCHY_PATH` for Omarchy-owned files
- should be idempotent
- should be as simple as possible to accomplish the task
Example system migration: