bakery: add system prefix installs for BOS
Default remains ~/.local. Setting prefix=/usr/local (via /etc/bakery/config.toml or BAKERY_PREFIX) installs bins and share under that prefix and systemd user units under /usr/lib/systemd/user. Writes that need root use sudo -n, then pkexec. State stays per-user.
This commit is contained in:
parent
b20e4bcec1
commit
c296d26408
11 changed files with 738 additions and 118 deletions
30
bakery/README.md
Normal file
30
bakery/README.md
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# bakery
|
||||
|
||||
Package manager for the bread ecosystem. Usage lives in the
|
||||
[repo README](../README.md).
|
||||
|
||||
## Install prefix
|
||||
|
||||
Default root is `~/.local` (bins in `~/.local/bin`, data in
|
||||
`~/.local/share`). That is the hermes / `get.sh` path and must stay the
|
||||
default.
|
||||
|
||||
BOS sets a system prefix so bakery-managed desktop apps live on the `@`
|
||||
root subvolume and are included in snapper/grub-btrfs snapshots:
|
||||
|
||||
```toml
|
||||
# /etc/bakery/config.toml
|
||||
prefix = "/usr/local"
|
||||
```
|
||||
|
||||
`BAKERY_PREFIX` overrides the config file. A non-home prefix installs:
|
||||
|
||||
| Thing | Path |
|
||||
|-------|------|
|
||||
| bins | `$prefix/bin` |
|
||||
| share / desktop / licenses / data | `$prefix/share/...` |
|
||||
| systemd user units | `/usr/lib/systemd/user` |
|
||||
|
||||
Per-user state (`installed.json` and pre-update backups) stays in
|
||||
`~/.local/state/bakery`. Writes that need root use `sudo -n`, then
|
||||
`pkexec`. `bakery doctor` prints the active prefix.
|
||||
Loading…
Add table
Add a link
Reference in a new issue