feat: add new separate arch track

This commit is contained in:
Rudra Saraswat 2026-04-01 23:19:09 +01:00
parent 31081deeef
commit 5fb4bad4a9
2 changed files with 202 additions and 99 deletions

196
arch.yaml
View file

@ -1,105 +1,103 @@
track: "base" track: "https://git.ruds.io/rs2009/blendOS-tracks/raw/branch/main/core-arch.yaml"
modules:
- name: exec
run: |
for cmd in "$@"; do
bash -s <<< "$cmd"
done
- name: pacman-install
run: |
pacman -Syqu --noconfirm "$@" || pacman -Syqu --noconfirm "$@"
- name: pacman-remove
run: |
pacman -Rcns --noconfirm "$@"
stages: stages:
- module: pacman-install - module: pacman-install
inputs: inputs:
- "git" - "alsa-utils"
- "sudo" - "amd-ucode"
- "b43-fwcutter"
- "base-devel"
- "grep"
- "gzip"
- "iproute2"
- "iputils"
- "pciutils"
- "procps-ng"
- "psmisc"
- "sed"
- "shadow"
- "tar"
- "util-linux"
- "xz"
- "bash"
- "bash-completion"
- "bind"
- "brltty"
- "broadcom-wl-dkms"
- "btrfs-progs"
- "cryptsetup"
- "dhclient"
- "dmidecode"
- "dnsmasq"
- "dosfstools"
- "e2fsprogs"
- "efibootmgr"
- "espeakup"
- "exfatprogs"
- "f2fs-tools"
- "fatresize"
- "gpart"
- "gptfdisk"
- "grub" - "grub"
- "hdparm"
- "hyperv"
- "intel-ucode"
- "irssi"
- "less"
- "lshw"
- "libfido2"
- "libusb-compat"
- "power-profiles-daemon"
- "fwupd"
- "man-db"
- "man-pages"
- "mc"
- "mdadm"
- "memtest86+"
- "modemmanager"
- "mtools"
- "nano" - "nano"
- "linux" - "nbd"
- "linux-firmware" - "ndisc6"
- "dracut" - "nfs-utils"
- "python" - "nilfs-utils"
- "python-yaml" - "ntfs-3g"
- "python-click" - "noto-fonts"
- "python-fasteners" - "noto-fonts-cjk"
- "noto-fonts-emoji"
- module: exec - "noto-fonts-extra"
inputs: - "openconnect"
- | - "openssh"
git clone --revision 8f5e52db0512ff5b2c35bddb1e9bc3be3795a5e0 --depth 1 https://git.ruds.io/rs2009/akshara /akshara - "openvpn"
cd /akshara - "python-pyclip"
cp -a usr/lib/akshara /usr/lib - "xclip"
cp usr/bin/akshara /usr/bin - "xsel"
- rm -rf /akshara - "os-prober"
- "parted"
override: - "partimage"
- path: /var/lib/pacman/ - "pcsclite"
keep: new - "ppp"
- "pptpclient"
- path: /etc/pacman.conf - "pv"
keep: new - "rsync"
- "smartmontools"
auto-update: - "sof-firmware"
enabled: true - "squashfs-tools"
interval: 3600 - "sudo"
- "syslinux"
distro-config: - "tcpdump"
before-stages: | - "tpm2-tss"
set -e - "udftools"
- "usb_modeswitch"
mkdir -m 0755 -p ./var/{cache/blendOS/pacman/pkg,lib/pacman,log} ./{dev,run,etc/pacman.d} - "usbmuxd"
mkdir -m 1777 -p ./tmp - "usbutils"
mkdir -m 0555 -p ./{sys,proc} - "vpnc"
- "wireless-regdb"
cat <<'EOF' >./etc/pacman.conf - "wireless_tools"
[options] - "wpa_supplicant"
HoldPkg = pacman glibc - "wvdial"
Architecture = auto - "xfsprogs"
CheckSpace - "xl2tpd"
ParallelDownloads = 5 - "bluez"
CacheDir = /var/cache/blendOS/pacman/pkg/ - "networkmanager"
SigLevel = Never - "cups"
LocalFileSigLevel = Never
RemoteFileSigLevel = Never
[core]
Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
[extra]
Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
[multilib]
Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
EOF
pacman -Sy --config ./etc/pacman.conf --cachedir ./var/cache/blendOS/pacman/pkg -r . --needed --noconfirm base
ln -sfn usr/lib64 ./lib64
ln -sfn usr/sbin ./sbin
after-stages: |
locale-gen
dracut --force --regenerate-all
cd /usr/lib/modules
kernels=(*)
cp "${kernels[0]}"/vmlinuz /boot/vmlinuz-"${kernels[0]}"
should-update: |
[ "$(checkupdates | wc -l)" -gt 0 ]

105
core-arch.yaml Normal file
View file

@ -0,0 +1,105 @@
track: "base"
modules:
- name: exec
run: |
for cmd in "$@"; do
bash -s <<< "$cmd"
done
- name: pacman-install
run: |
pacman -Syqu --noconfirm "$@" || pacman -Syqu --noconfirm "$@"
- name: pacman-remove
run: |
pacman -Rcns --noconfirm "$@"
stages:
- module: pacman-install
inputs:
- "git"
- "sudo"
- "grub"
- "nano"
- "linux"
- "linux-firmware"
- "dracut"
- "python"
- "python-yaml"
- "python-click"
- "python-fasteners"
- module: exec
inputs:
- |
git clone --revision 8f5e52db0512ff5b2c35bddb1e9bc3be3795a5e0 --depth 1 https://git.ruds.io/rs2009/akshara /akshara
cd /akshara
cp -a usr/lib/akshara /usr/lib
cp usr/bin/akshara /usr/bin
- rm -rf /akshara
override:
- path: /var/lib/pacman/
keep: new
- path: /etc/pacman.conf
keep: new
auto-update:
enabled: true
interval: 3600
distro-config:
before-stages: |
set -e
mkdir -m 0755 -p ./var/{cache/blendOS/pacman/pkg,lib/pacman,log} ./{dev,run,etc/pacman.d}
mkdir -m 1777 -p ./tmp
mkdir -m 0555 -p ./{sys,proc}
cat <<'EOF' >./etc/pacman.conf
[options]
HoldPkg = pacman glibc
Architecture = auto
CheckSpace
ParallelDownloads = 5
CacheDir = /var/cache/blendOS/pacman/pkg/
SigLevel = Never
LocalFileSigLevel = Never
RemoteFileSigLevel = Never
[core]
Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
[extra]
Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
[multilib]
Server = https://fastly.mirror.pkgbuild.com/$repo/os/$arch
Server = https://geo.mirror.pkgbuild.com/$repo/os/$arch
Server = https://ftpmirror.infania.net/mirror/archlinux/$repo/os/$arch
Server = https://mirror.rackspace.com/archlinux/$repo/os/$arch
EOF
pacman -Sy --config ./etc/pacman.conf --cachedir ./var/cache/blendOS/pacman/pkg -r . --needed --noconfirm base
ln -sfn usr/lib64 ./lib64
ln -sfn usr/sbin ./sbin
after-stages: |
locale-gen
dracut --force --regenerate-all
cd /usr/lib/modules
kernels=(*)
cp "${kernels[0]}"/vmlinuz /boot/vmlinuz-"${kernels[0]}"
should-update: |
[ "$(checkupdates | wc -l)" -gt 0 ]