feat: migrate from archiso to artools — are you threatening me in SKECHERS?!

Strip out archiso (airootfs, efiboot, syslinux, mkarchiso, prepare.sh,
Dockerfile, mirrorlist, profiledef.sh, packages.x86_64, reset.sh,
run_before_squashfs.sh) and adopt artools buildiso with full antergos
iso-profiles. Bitch, you NEED therapy.

Are you threatening me?
- 154 files changed, 2804 insertions, 7352 deletions
- buildiso wrapper + iso-profiles/antergos/ (profile.yaml, root-overlay,
  live-overlay) + iso-profiles/common/common.yaml
- pacman.conf.d/iso-x86_64.conf with antergos-pkgs repo first

...Are you THREATENING me in SKECHERS?!
- Calamares offline + online module dirs, antergos-next branding
- componentName must match dir or Branding.cpp goes full T-square
- calamares before calamares-branding-antergos-next so --overwrite='*'
  wins correctly. YOU'RE ON YOUR FOURTH WIFE RIGHT NOW-
- calamares-next.desktop in live-overlay (/usr/share + /etc/skel/Desktop)
- netinstall.yaml bundled. No remote deps. Kill that bitch (Cnchi).

What fuckin' college would care if you drew some bullshit picture
about your feelings?
- CI: artixlinux/artixlinux:base container, install artools, buildiso -p
  antergos, IA upload with collection=open_source_software. Class is in
  session. Maybe I should grow 40 feet! Then you'd REALLY like me!
- IA: mediatype=software keeps us out of Community Texts jail. The
  question is; what's this stick gonna do?

It's honestly super humbling, when the trashiest repo you know;
probably coked out of its mind... says the most thoughtful thing
you've done in years.
- README.md rewritten with Artix/OpenRC/KDE badges, build instructions,
  migration notes. Nice SpongeBob impression. ...Nice SpongeBob impression.
- AGENTS.md updated (identity ritual, gotchas, commands, repo layout)
- Restore LICENSE, NOTICES, APOLOGY.txt, CHANGELOG.md from git history.
  Some files you just don't let die. No matter what, you NEVER use that
  N-word! (...should've said nothing.)
- .gitignore: work/ iso/ out/. Go work at Starbucks with your little apron.

So laugh all you want. Forget about me all you want. But at least
I'll be gorgeous forever. Mother, I'm in the SquashFS now.

Signed-off-by: Celestia Ludenberg <ash8820@proton.me>
This commit is contained in:
2026-06-27 18:03:54 +02:00
parent f682adc72e
commit 0d9b3af062
154 changed files with 2826 additions and 7358 deletions
@@ -0,0 +1,32 @@
---
backend: pacman
pacman:
num_retries: 0
disable_download_timeout: false
needed_only: false
handle_keyrings: true
copy_pacconf: true
requirements:
- dest: /etc
mode: "0o755"
- dest: /var
mode: "0o755"
- dest: /var/cache
mode: "0o755"
- dest: /var/cache/pacman
mode: "0o755"
- dest: /var/cache/pacman/pkg
mode: "0o755"
- dest: /var/lib
mode: "0o755"
- dest: /var/lib/pacman
mode: "0o755"
keyrings:
- artix
base_init: elogind
operations:
- install:
- base
@@ -0,0 +1,21 @@
---
efiBootLoader: "grub"
kernel: "/vmlinuz-linux-x86_64"
img: "/initramfs-linux-x86_64.img"
fallback: "/initramfs-linux-x86_64-fallback.img"
timeout: "10"
grubInstall: "grub-install"
grubMkconfig: "grub-mkconfig"
grubCfg: "/boot/grub/grub.cfg"
grubProbe: "grub-probe"
efiBootMgr: "efibootmgr"
installEFIFallback: true
efiBootloaderId: "Antergos"
# installHybridGRUB: false
# efiBootLoaderVar: "packagechooser_bootloader"
@@ -0,0 +1,10 @@
---
displaymanagers:
- lightdm
- gdm
- mdm
- sddm
- lxdm
- slim
basicSetup: false
@@ -0,0 +1,6 @@
---
restartNowMode: user-unchecked
restartNowCommand: "loginctl reboot"
notifyOnFinished: false
@@ -0,0 +1,4 @@
---
kernel: all
be_unsafe: false
@@ -0,0 +1,7 @@
---
localeGenPath: /etc/locale.gen
geoip:
style: "json"
url: "https://geoip.kde.org/v1/calamares"
selector: ""
@@ -0,0 +1,5 @@
---
systemd: false
dbus: true
dbus-symlink: true
entropy-copy: false
@@ -0,0 +1,131 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Mount filesystems in the target (generally, before treating the
# target as a usable chroot / "live" system). Filesystems are
# automatically mounted from the partitioning module. Filesystems
# listed here are **extra**. The filesystems listed in *extraMounts*
# are mounted in all target systems.
---
# Extra filesystems to mount. The key's value is a list of entries; each
# entry has five keys:
# - device The device node to mount
# - fs (optional) The filesystem type to use
# - mountPoint Where to mount the filesystem
# - options (optional) An array of options to pass to mount
# - efi (optional) A boolean that when true is only mounted for UEFI installs
#
# The device is not mounted if the mountPoint is unset or if the fs is
# set to unformatted.
#
extraMounts:
- device: proc
fs: proc
mountPoint: /proc
- device: sys
fs: sysfs
mountPoint: /sys
- device: /dev
mountPoint: /dev
options: [ bind ]
- device: tmpfs
fs: tmpfs
mountPoint: /run
- device: /run/udev
mountPoint: /run/udev
options: [ bind ]
- device: efivarfs
fs: efivarfs
mountPoint: /sys/firmware/efi/efivars
efi: true
# Btrfs subvolumes to create if root filesystem is on btrfs volume.
# If *mountpoint* is mounted already to another partition, it is ignored.
# Separate subvolume for swapfile is handled separately and automatically.
#
# It is possible to prevent subvolume creation -- this is likely only relevant
# for the root (/) subvolume -- by giving an empty string as a subvolume
# name. In this case no subvolume will be created.
#
btrfsSubvolumes:
- mountPoint: /
subvolume: /@
# As an alternative:
#
# subvolume: ""
- mountPoint: /home
subvolume: /@home
- mountPoint: /root
subvolume: /@root
- mountPoint: /srv
subvolume: /@srv
- mountPoint: /var/cache
subvolume: /@cache
- mountPoint: /var/log
subvolume: /@log
- mountPoint: /var/tmp
subvolume: /@tmp
# The name of the btrfs subvolume holding the swapfile. This only used when
# a swapfile is selected and the root filesystem is btrfs
#
btrfsSwapSubvol: /@swap
# The mount options used to mount each filesystem.
#
# filesystem contains the name of the filesystem or on of three special
# values, "default", efi" and "btrfs_swap". The logic is applied in this manner:
# - If the partition is the EFI partition, the "efi" entry will be used
# - If the fs is btrfs and the subvolume is for the swapfile,
# the "btrfs_swap" entry is used
# - If the filesystem is an exact match for filesystem, that entry is used
# - If no match is found in the above, the default entry is used
# - If there is no match and no default entry, "defaults" is used
# - If the mountOptions key is not present, "defaults" is used
#
# Each filesystem entry contains 3 keys, all of which are optional
# options - An array of mount options that is used on all disk types
# ssdOptions - An array of mount options combined with options for ssds
# hddOptions - An array of mount options combined with options for hdds
# If combining these options results in an empty array, "defaults" is used
#
# Example 1
# In this example, there are specific options for ext4 and btrfs filesystems,
# the EFI partition and the subvolume holding the btrfs swapfile. All other
# filesystems use the default entry. For the btrfs filesystem, there are
# additional options specific to hdds and ssds
#
mountOptions:
- filesystem: default
options: [ defaults ]
- filesystem: efi
options: [ defaults, umask=0077 ]
- filesystem: ext4
options: [ defaults ]
- filesystem: btrfs
options: [ defaults, noatime, compress=zstd:1 ]
ssdOptions: [ discard=async ]
hddOptions: [ autodefrag ]
- filesystem: btrfs_swap
options: [ defaults, noatime ]
#
# Example 2
# In this example there is a single default used by all filesystems
#
# mountOptions:
# - filesystem: default
# options: [ defaults ]
#
# mountOptions:
# - filesystem: default
# options: [ defaults ]
# - filesystem: efi
# options: [ defaults, umask=0077 ]
# - filesystem: btrfs
# options: [ defaults, compress=zstd:1 ]
# - filesystem: btrfs_swap
# options: [ defaults, noatime ]
@@ -0,0 +1,54 @@
---
groupsUrl:
- file:///etc/calamares/modules/netinstall.yaml
required: false
# To support multiple instances of this module,
# some strings are configurable and translatable here.
# Sub-keys under *label* are used for the user interface.
# - *sidebar* This is the name of the module in the progress-tree / sidebar
# in Calamares.
# - *title* This is displayed above the list of packages.
# If no *sidebar* values are provided, defaults to "Package selection"
# and existing translations. If no *title* values are provided, no string
# is displayed.
#
# Translations are handled through `[ll]` notation, much like in
# `.desktop` files. The string associated with `key[ll]` is used for
# *key* when when the language *ll* (language-code, like *nl* or *en_GB*
# or *ja*) is used.
#
# The following strings are **already** known to Calamares and can be
# listed here in *untranslated* form (e.g. as value of *sidebar*)
# without bothering with the translations: they are picked up from
# the regular translation framework:
# - "Package selection"
# - "Office software"
# - "Office package"
# - "Browser software"
# - "Browser package"
# - "Web browser"
# - "Kernel"
# - "Services"
# - "Login"
# - "Desktop"
# - "Applications"
# - "Communication"
# - "Development"
# - "Office"
# - "Multimedia"
# - "Internet"
# - "Theming"
# - "Gaming"
# - "Utilities"
# Other strings should follow the translations format.
label:
sidebar: "Package selection"
# sidebar[nl]: "Pakketkeuze"
# sidebar[en_GB]: "Package choice"
# sidebar[ja]: "知りません" # "I don't know"
# title: "Office Package"
# title[nl]: "Kantoorsoftware"
@@ -0,0 +1,68 @@
- name: "Default"
description: "Default packages"
hidden: false
selected: true
critical: true
immutable: true
packages:
- linux
- linux-headers
- grub
- efibootmgr
- sudo
- name: "Kernel"
description: "Kernel and modules"
selected: false
packages:
- acpi_call
- bbswitch
- broadcom-wl
- tp_smapi
- linux-lts
- linux-lts-headers
- name: "Firmware"
description: "Firmware"
selected: false
packages:
- b43-fwcutter
- linux-firmware
- linux-firmware-bnx2x
- linux-firmware-liquidio
- linux-firmware-marvell
- linux-firmware-mellanox
- linux-firmware-nfp
- linux-firmware-qcom
- linux-firmware-qlogic
- linux-firmware-whence
- sof-firmware
- alsa-firmware
- intel-ucode
- amd-ucode
- name: "Utilities"
description: "System Utilities"
selected: true
packages:
- lsb-release
- nano
- vi
- name: "Devel"
description: "Artix development"
selected: false
packages:
- base-devel
- artix-checkupdates
- artix-rebuild-order
- artools-base
- artools-iso
- artools-pkg
- name: "Style"
description: "Artix themes, icons, branding"
selected: false
packages:
- artix-netinstall-presets
- artix-grub-theme
@@ -0,0 +1,294 @@
---
mode: required
method: netinstall-add
labels:
step: "Init selection"
step[de]: "Initauswahl"
default: OpenRC
items:
- id: OpenRC
name: openrc
description: "OpenRC init system"
screenshot: ":/images/if.png"
netinstall:
name: "openrc"
description: "OpenRC init system"
selected: false
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-openrc
- cryptsetup-openrc
- dbus-openrc
- dhcpcd-openrc
- lvm2-openrc
- mdadm-openrc
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-openrc
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-openrc
- metalog-openrc
- name: "Internet"
description: "Network init"
packages:
- avahi-openrc
- bluez-openrc
- iptables-openrc
- krb5-openrc
- networkmanager-openrc
- nfs-utils-openrc
- ntp-openrc
- openldap-openrc
- openssh-openrc
- rpcbind-openrc
- xinetd-openrc
- wpa_supplicant-openrc
- name: "Office"
description: "Office init"
packages:
- cups-openrc
- sane-openrc
- name: "Services"
description: "Services init"
packages:
- acpid-openrc
- alsa-utils-openrc
- apparmor-openrc
- brltty-openrc
- fuse-openrc
- gpm-openrc
- hdparm-openrc
- haveged-openrc
- lm_sensors-openrc
- openrc-settingsd
- openvpn-openrc
- power-profiles-daemon-openrc
- rsync-openrc
- id: Dinit
name: dinit
description: "Dinit init system"
screenshot: ":/images/if.png"
netinstall:
name: "dinit"
description: "Dinit init system"
selected: false
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-dinit
- cryptsetup-dinit
- dbus-dinit
- dhcpcd-dinit
- lvm2-dinit
- mdadm-dinit
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-dinit
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-dinit
- metalog-dinit
- name: "Internet"
description: "Network init"
packages:
- avahi-dinit
- bluez-dinit
- iptables-dinit
- krb5-dinit
- networkmanager-dinit
- nfs-utils-dinit
- ntp-dinit
- openldap-dinit
- openssh-dinit
- rpcbind-dinit
- xinetd-dinit
- wpa_supplicant-dinit
- name: "Office"
description: "Office init"
packages:
- cups-dinit
- sane-dinit
- name: "Services"
description: "Services init"
packages:
- acpid-dinit
- alsa-utils-dinit
- apparmor-dinit
- brltty-dinit
- fuse-dinit
- gpm-dinit
- hdparm-dinit
- haveged-dinit
- lm_sensors-dinit
- openvpn-dinit
- power-profiles-daemon-dinit
- rsync-dinit
- id: S6
name: s6
description: "S6 init system"
screenshot: ":/images/if.png"
netinstall:
name: "s6"
description: "S6 init system"
selected: false
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-s6
- cryptsetup-s6
- dbus-s6
- dhcpcd-s6
- lvm2-s6
- mdadm-s6
- s6-contrib
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-s6
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-s6
- metalog-s6
- name: "Internet"
description: "Network init"
packages:
- avahi-s6
- bluez-s6
- iptables-s6
- krb5-s6
- networkmanager-s6
- nfs-utils-s6
- ntp-s6
- openldap-s6
- openssh-s6
- rpcbind-s6
- xinetd-s6
- wpa_supplicant-s6
- name: "Office"
description: "Office init"
packages:
- cups-s6
- sane-s6
- name: "Services"
description: "Services init"
packages:
- acpid-s6
- alsa-utils-s6
- apparmor-s6
- brltty-s6
- fuse-s6
- gpm-s6
- hdparm-s6
- haveged-s6
- lm_sensors-s6
- openvpn-s6
- power-profiles-daemon-s6
- rsync-s6
- id: Runit
name: runit
description: "Runit init system"
screenshot: ":/images/if.png"
netinstall:
name: "runit"
description: "Runit init system"
selected: false
critical: true
immutable: false
expanded: true
hidden: false
subgroups:
- name: "Default"
description: "Default services"
selected: true
hidden: true
packages:
- audit-runit
- cryptsetup-runit
- dbus-runit
- dhcpcd-runit
- lvm2-runit
- mdadm-runit
- rsm
- name: "Cron"
description: "Cron init"
selected: true
packages:
- cronie-runit
- name: "Syslog"
description: "Syslog init"
packages:
- syslog-ng-runit
- metalog-runit
- name: "Internet"
description: "Network init"
packages:
- avahi-runit
- bluez-runit
- iptables-runit
- krb5-runit
- networkmanager-runit
- nfs-utils-runit
- ntp-runit
- openldap-runit
- openssh-runit
- rpcbind-runit
- xinetd-runit
- wpa_supplicant-runit
- name: "Office"
description: "Office init"
packages:
- cups-runit
- sane-runit
- name: "Services"
description: "Services init"
packages:
- acpid-runit
- alsa-utils-runit
- apparmor-runit
- brltty-runit
- fuse-runit
- gpm-runit
- hdparm-runit
- haveged-runit
- lm_sensors-runit
- openvpn-runit
- power-profiles-daemon-runit
- rsync-runit
@@ -0,0 +1,11 @@
---
backend: pacman
skip_if_no_internet: false
update_db: true
update_system: false
pacman:
num_retries: 0
disable_download_timeout: false
needed_only: false
@@ -0,0 +1,32 @@
efi:
mountPoint: "/boot/efi"
recommendedSize: 512MiB
minimumSize: 256MiB
label: "EFI"
userSwapChoices:
- none # Create no swap, use no swap
- small # Up to 4GB
- suspend # At least main memory size
- file # To swap file instead of partition
swapPartitionName: swap
luksGeneration: luks1
drawNestedPartitions: true
alwaysShowPartitionLabels: true
initialPartitioningChoice: none
initialSwapChoice: suspend
defaultPartitionTableType: msdos
requiredPartitionTableType:
- msdos
- gpt
defaultFileSystemType: "ext4"
availableFileSystemTypes: ["ext4","btrfs","f2fs","xfs"]
@@ -0,0 +1,13 @@
---
# set at iso build time
initsys: none
user-services:
- name: dbus
action: enable
- name: pipewire
action: enable
- name: pipewire-pulse
action: enable
- name: wireplumber
action: enable
@@ -0,0 +1,4 @@
---
command: artix-service
services: []
@@ -0,0 +1,2 @@
---
emergency: false
@@ -0,0 +1,49 @@
---
defaultGroups:
- name: users
must_exist: true
system: true
- lp
- video
- network
- storage
- name: wheel
must_exist: false
system: true
- audio
- power
- log
- optical
- network
- scanner
autologinGroup: autologin
doAutologin: false
sudoersGroup: wheel
setRootPassword: true
doReusePassword: false
passwordRequirements:
nonempty: true
minLength: 4 # Password at least this many characters
maxLength: -1 # Password at most this many characters
libpwquality:
- minlen=4
- minclass=0
allowWeakPasswords: true
allowWeakPasswordsDefault: true
userShell: /bin/bash
setHostname: EtcFile
writeHostsFile: true
user:
shell: /bin/bash
forbidden_names: [ root ]
@@ -0,0 +1,20 @@
---
showSupportUrl: true
showKnownIssuesUrl: true
showReleaseNotesUrl: true
requirements:
requiredStorage: 5.5
requiredRam: 1.0
internetCheckUrl: https://www.artixlinux.org
check:
- storage
- ram
- power
- internet
- root
required:
- storage
- ram
- root
- internet
@@ -0,0 +1,54 @@
---
modules-search: [ local ]
sequence:
- show:
- welcome
- locale
- keyboard
- packagechooser
- netinstall
- partition
- users
- summary
- exec:
- partition
- mount
- basestrap
- machineid
- packages
- fstab
- locale
- keyboard
- localecfg
- luksopenswaphookcfg
- luksbootkeyfile
- initcpiocfg
- initcpio
- users
- displaymanager
- networkcfg
- hwclock
- services-artix
- grubcfg
- bootloader
- postcfg
- umount
- show:
- finished
branding: antergos-next
prompt-install: false
dont-chroot: false
oem-setup: false
disable-cancel: false
disable-cancel-during-exec: false
hide-back-and-next-during-exec: false
quit-at-end: false