Initial format
This commit is contained in:
parent
f35959099f
commit
477793d581
8 changed files with 34 additions and 28 deletions
7
Containerfile
Normal file
7
Containerfile
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
FROM ghcr.io/ublue-os/aurora:stable
|
||||
|
||||
COPY overlay/ /
|
||||
|
||||
# System-level units are enabled explicitly. User units are picked up
|
||||
# automatically via overlay/usr/lib/systemd/user-preset/.
|
||||
RUN systemctl enable rpm-ostree-cleanup.timer
|
||||
54
README.md
54
README.md
|
|
@ -2,49 +2,47 @@
|
|||
|
||||
Quine distro of Linux based on uBlue Aurora
|
||||
|
||||
## systemd/user/disk-cleanup.{service,timer}
|
||||
## Building
|
||||
|
||||
Weekly, runs as the user, no privilege needed: `podman system prune -af`,
|
||||
`flatpak uninstall --unused -y`, clears `~/.cache`.
|
||||
`Containerfile` builds a custom bootc image on top of `ghcr.io/ublue-os/aurora:stable`,
|
||||
layering in everything under `overlay/`:
|
||||
|
||||
```sh
|
||||
cp systemd/user/disk-cleanup.* ~/.config/systemd/user/
|
||||
systemctl --user daemon-reload
|
||||
systemctl --user enable --now disk-cleanup.timer
|
||||
podman build -t quine-linux -f Containerfile .
|
||||
```
|
||||
|
||||
## systemd/system/rpm-ostree-cleanup.{service,timer}
|
||||
|
||||
Weekly, runs as root via systemd (not cron/sudoers): `rpm-ostree cleanup -rb`
|
||||
(drops rollback deployment and any pending deployment).
|
||||
|
||||
```sh
|
||||
sudo cp systemd/system/rpm-ostree-cleanup.* /etc/systemd/system/
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now rpm-ostree-cleanup.timer
|
||||
```
|
||||
An ISO can then be generated from the built image with `bootc-image-builder`.
|
||||
|
||||
## overlay/
|
||||
|
||||
Files here mirror their path on the root filesystem, meant to be baked into
|
||||
the image (e.g. `COPY overlay/ /` in a future Containerfile). Until then,
|
||||
apply manually:
|
||||
Files here mirror their path on the root filesystem and are baked into the
|
||||
image via `COPY overlay/ /` in the Containerfile.
|
||||
|
||||
```sh
|
||||
sudo cp overlay/etc/gitconfig /etc/gitconfig
|
||||
```
|
||||
- `overlay/etc/...` — local/admin config. On the ostree-based image, content
|
||||
shipped here becomes the default `/etc` and is still locally overridable
|
||||
(3-way merged on upgrade), same as any package-installed `/etc` file.
|
||||
- `overlay/usr/lib/systemd/...` — vendor-shipped units. `/usr` is replaced
|
||||
wholesale on each image build/upgrade, so anything here always matches the
|
||||
image and isn't meant to be hand-edited on a running system.
|
||||
|
||||
### overlay/etc/gitconfig
|
||||
|
||||
System-wide git config so every user on the box gets `main` as the default
|
||||
init branch, not `master`.
|
||||
|
||||
## systemd/journald.conf.d/size-cap.conf
|
||||
### overlay/etc/systemd/system/rpm-ostree-cleanup.{service,timer}
|
||||
|
||||
Weekly, runs as root via systemd (not cron/sudoers): `rpm-ostree cleanup -rb`
|
||||
(drops rollback deployment and any pending deployment). Enabled at build time
|
||||
via `RUN systemctl enable` in the Containerfile.
|
||||
|
||||
### overlay/etc/systemd/journald.conf.d/size-cap.conf
|
||||
|
||||
Continuous 500M journal retention cap instead of a periodic vacuum job.
|
||||
|
||||
```sh
|
||||
sudo mkdir -p /etc/systemd/journald.conf.d
|
||||
sudo cp systemd/journald.conf.d/size-cap.conf /etc/systemd/journald.conf.d/
|
||||
sudo systemctl restart systemd-journald
|
||||
```
|
||||
### overlay/usr/lib/systemd/user/disk-cleanup.{service,timer}
|
||||
|
||||
Weekly, runs as the user, no privilege needed: `podman system prune -af`,
|
||||
`flatpak uninstall --unused -y`, clears `~/.cache`. Auto-enabled for every
|
||||
user via `overlay/usr/lib/systemd/user-preset/90-quine-linux.preset` — no
|
||||
manual `systemctl --user enable` needed.
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
enable disk-cleanup.timer
|
||||
Loading…
Reference in a new issue