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
|
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`,
|
`Containerfile` builds a custom bootc image on top of `ghcr.io/ublue-os/aurora:stable`,
|
||||||
`flatpak uninstall --unused -y`, clears `~/.cache`.
|
layering in everything under `overlay/`:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cp systemd/user/disk-cleanup.* ~/.config/systemd/user/
|
podman build -t quine-linux -f Containerfile .
|
||||||
systemctl --user daemon-reload
|
|
||||||
systemctl --user enable --now disk-cleanup.timer
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## systemd/system/rpm-ostree-cleanup.{service,timer}
|
An ISO can then be generated from the built image with `bootc-image-builder`.
|
||||||
|
|
||||||
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
|
|
||||||
```
|
|
||||||
|
|
||||||
## overlay/
|
## overlay/
|
||||||
|
|
||||||
Files here mirror their path on the root filesystem, meant to be baked into
|
Files here mirror their path on the root filesystem and are baked into the
|
||||||
the image (e.g. `COPY overlay/ /` in a future Containerfile). Until then,
|
image via `COPY overlay/ /` in the Containerfile.
|
||||||
apply manually:
|
|
||||||
|
|
||||||
```sh
|
- `overlay/etc/...` — local/admin config. On the ostree-based image, content
|
||||||
sudo cp overlay/etc/gitconfig /etc/gitconfig
|
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
|
### overlay/etc/gitconfig
|
||||||
|
|
||||||
System-wide git config so every user on the box gets `main` as the default
|
System-wide git config so every user on the box gets `main` as the default
|
||||||
init branch, not `master`.
|
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.
|
Continuous 500M journal retention cap instead of a periodic vacuum job.
|
||||||
|
|
||||||
```sh
|
### overlay/usr/lib/systemd/user/disk-cleanup.{service,timer}
|
||||||
sudo mkdir -p /etc/systemd/journald.conf.d
|
|
||||||
sudo cp systemd/journald.conf.d/size-cap.conf /etc/systemd/journald.conf.d/
|
Weekly, runs as the user, no privilege needed: `podman system prune -af`,
|
||||||
sudo systemctl restart systemd-journald
|
`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