Fit the appliance under GitHub's 2 GiB release limit

The qcow2 is written with zstd and 2M clusters after trimming freed blocks,
and the appliance leaves out clang, llvm, the Docker plugins, lazydocker,
base-devel, aether, and yay, plus usr/share/doc through NoExtract: 2.78 GB
became 2.10 GB. sudo is installed explicitly now that base-devel no longer
pulls it in.

Claude-Session: https://claude.ai/code/session_019krxFwnSbEM2n2QNQ1rG1K
This commit is contained in:
雷电芽衣 committed 2026-09-03 06:09:55 -04:00
1 parent 70cbcb558c
commit 5742a2841f
4 files changed
+14 -3

No files matched your search

+3 -1
View File
@@ -180,6 +180,8 @@ version=$(arch-chroot "$TARGET" pacman -Q omarchy-dev | cut -d' ' -f2)
: >"$TARGET/etc/machine-id"
rm -f "$TARGET"/etc/ssh/ssh_host_* "$TARGET/root/.bash_history"
rm -rf "$TARGET"/var/cache/pacman/pkg/*
# Freed blocks still hold old bytes; trimming zeroes them so they compress to nothing.
fstrim "$TARGET" && fstrim "$TARGET/boot"
echo "==> Checking the sealed image"
[[ ! -s $TARGET/etc/machine-id ]]
@@ -199,5 +201,5 @@ losetup -d "$loop"
loop=""
echo "==> Writing the compressed disk"
qemu-img convert -c -O qcow2 "$IMAGE" "$OUT/omarchy-utm-se.qcow2"
qemu-img convert -c -O qcow2 -o compression_type=zstd,cluster_size=2M "$IMAGE" "$OUT/omarchy-utm-se.qcow2"
echo "$version" >"$OUT/omarchy-utm-se.version"
+2
View File
@@ -6,6 +6,8 @@ CheckSpace
ParallelDownloads = 5
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
# Developer documentation does not fit a bundle that GitHub caps at 2 GiB.
NoExtract = usr/share/doc/* usr/share/gtk-doc/*
[core]
Include = /etc/pacman.d/mirrorlist
+8 -1
View File
@@ -1,9 +1,16 @@
# Base packages the appliance leaves out: desktop apps too heavy for an interpreted guest, tools with no aarch64 build, and hardware-only helpers.
# Base packages the appliance leaves out: apps and toolchains too heavy for an interpreted guest, tools with no aarch64 build, and helpers for hardware the guest has not.
aether
asdcontrol
clang
docker-buildx
docker-compose
gpu-screen-recorder
hyprland-preview-share-picker
kdenlive
lazydocker
libreoffice-fresh
llvm
localsend
moonlight-qt
xournalpp
yay
+1 -1
View File
@@ -1,7 +1,6 @@
# Installed before the Omarchy base set: the aarch64 kernel, keyrings, boot stack, guest tools, and the dev packages built from the utm-se checkout.
archlinuxarm-keyring
base
base-devel
efibootmgr
limine
linux-aarch64
@@ -15,4 +14,5 @@ pipewire
qemu-guest-agent
snapper
spice-vdagent
sudo
zram-generator