mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-01 20:28:16 +02:00
Update file layout for the two-package architecture
Reflects the two upstream changes in this work:
- omarchy-dev-tools folds into omarchy (bin/omarchy-dev-* ship with the
main package).
- omarchy-limine folds into omarchy-settings (limine + snapper configs,
mkinitcpio hooks, and the default/{limine,snapper}/ trees ship from
omarchy-settings; the package was always installed in lockstep with
it in the early bootstrap anyway).
Mental-model section: from four packages to two (omarchy +
omarchy-settings), plus the two unchanged independents (omarchy-keyring,
omarchy-nvim).
Build-time map: drop the omarchy-dev-tools and omarchy-limine columns;
add the new limine source files (omarchy_hooks.conf,
thunderbolt_module.conf, omarchy-defaults.conf, omarchy-uki.conf) under
omarchy-settings.
This commit is contained in:
+29
-17
@@ -5,20 +5,26 @@ system.
|
||||
|
||||
## Mental model
|
||||
|
||||
Four Arch packages are built from this one repo (PKGBUILDs live in
|
||||
Two Arch packages are built from this one repo (PKGBUILDs live in
|
||||
`omarchy-pkgs/pkgbuilds/`):
|
||||
|
||||
- **`omarchy`** — runtime binaries (`bin/`), install/finalize scripts
|
||||
(`install/`), migrations, themes, and the Quickshell desktop (`shell/`).
|
||||
- **`omarchy-settings`** — user defaults (seeded via `/etc/skel`), `/etc/`
|
||||
drop-ins, package-owned system files under `/usr/share` and `/usr/lib`,
|
||||
fonts, plymouth theme, sddm theme, branding. Carves out `default/limine/`
|
||||
and `default/snapper/` (owned by `omarchy-limine`).
|
||||
- **`omarchy-dev-tools`** — just `bin/omarchy-dev-*`. Optional dep of
|
||||
`omarchy`; installed for contributors, not end users.
|
||||
- **`omarchy-limine`** — `default/limine/` and `default/snapper/` from this
|
||||
repo, plus mkinitcpio and limine-entry-tool drop-ins that live alongside
|
||||
the PKGBUILD in `omarchy-pkgs/`. Owns the boot/snapshot story end-to-end.
|
||||
- **`omarchy`** — runtime binaries (`bin/`, including `bin/omarchy-dev-*`),
|
||||
install/finalize scripts (`install/`), migrations, themes, and the
|
||||
Quickshell desktop (`shell/`). Depends on `omarchy-settings`.
|
||||
- **`omarchy-settings`** — everything that has to be on the target *before*
|
||||
the omarchy package installs (specifically before `useradd -m` and the
|
||||
limine bootloader install): all `/etc/skel/**`, `/etc/` drop-ins,
|
||||
package-owned system files under `/usr/share` and `/usr/lib`, fonts,
|
||||
plymouth theme, sddm theme, branding, plus the limine/snapper configs
|
||||
(mkinitcpio hooks, limine-entry-tool drop-ins, snapper template, the
|
||||
`default/limine/` and `default/snapper/` trees, and the boot/snapshot
|
||||
story end-to-end). Also ships the three debug binaries
|
||||
(`omarchy-debug`, `omarchy-debug-idle`, `omarchy-upload-log`) needed by
|
||||
the live ISO env.
|
||||
|
||||
Two other packages live in `omarchy-pkgs/` but stand alone:
|
||||
`omarchy-keyring` (GPG keys for pacman) and `omarchy-nvim` (the Neovim
|
||||
setup; independently seeds `/etc/skel`).
|
||||
|
||||
Three layers populate `$HOME`:
|
||||
|
||||
@@ -44,7 +50,6 @@ omarchy/ built into installed at
|
||||
|
||||
bin/omarchy-* ──► omarchy /usr/bin/omarchy-*
|
||||
(and symlinks in /usr/share/omarchy/bin/)
|
||||
bin/omarchy-dev-* ──► omarchy-dev-tools /usr/bin/omarchy-dev-*
|
||||
bin/omarchy-debug,
|
||||
bin/omarchy-debug-idle,
|
||||
bin/omarchy-upload-log ──► omarchy-settings /usr/bin/ (needed before omarchy is installed)
|
||||
@@ -65,12 +70,19 @@ applications/icons/* ──► omarchy-settings /usr/share/icons/h
|
||||
|
||||
etc/** ──► omarchy-settings /etc/** (drop-ins we own outright)
|
||||
|
||||
default/limine/limine.conf ──► omarchy-limine /usr/share/omarchy/default/limine/limine.conf
|
||||
default/limine/default.conf ──► omarchy-limine /usr/share/omarchy/default/limine/default.conf
|
||||
default/limine/limine.conf ──► omarchy-settings /usr/share/omarchy/default/limine/limine.conf
|
||||
default/limine/default.conf ──► omarchy-settings /usr/share/omarchy/default/limine/default.conf
|
||||
(template; ISO substitutes @@CMDLINE@@ → /etc/default/limine)
|
||||
default/snapper/root ──► omarchy-limine /etc/snapper/config-templates/omarchy
|
||||
default/snapper/root ──► omarchy-settings /etc/snapper/config-templates/omarchy
|
||||
(+ /usr/share/omarchy/default/snapper/root)
|
||||
|
||||
default/** ──► omarchy-settings /usr/share/omarchy/default/ (excluding default/{limine,snapper})
|
||||
omarchy-pkgs/omarchy-settings/
|
||||
omarchy_hooks.conf,
|
||||
thunderbolt_module.conf ──► omarchy-settings /etc/mkinitcpio.conf.d/
|
||||
omarchy-defaults.conf,
|
||||
omarchy-uki.conf ──► omarchy-settings /etc/limine-entry-tool.d/
|
||||
|
||||
default/** ──► omarchy-settings /usr/share/omarchy/default/
|
||||
├─ bash/env-bootstrap /usr/share/omarchy/default/bash/env-bootstrap
|
||||
│ (sourced by every shell/session entry point; see "Env bootstrap")
|
||||
├─ bashrc /usr/share/omarchy/etc-overrides/dot.bashrc
|
||||
|
||||
Reference in New Issue
Block a user