feat: new Antergos NeXT Minimal (Xfce) edition — branding, theme, and packaging

Introduces a lightweight Xfce-based variant of Antergos NeXT to work
around the 2 GB GitHub Releases limit for the full Plasma ISO.

New packages in antergos-packages:
- calamares-branding-antergos-next-minimal: Calamares branding variant
  that says "Minimal (Xfce)" with a notesqml page explaining why this
  edition exists (Plasma ISO exceeded GitHub's 2 GB limit).
- antergos-xfce-theme: GTK 2.0/3.0/3.20 + xfwm4 theme based on Numix,
  recolored to Antergos brand accent (#4A9EFF). Includes xfce-notify-4.0,
  metacity-1, openbox-3, and unity support directories.

packages.yaml updated with both new packages in the build list.
This commit is contained in:
2026-07-08 18:51:27 +02:00
parent 036cd0673f
commit a43ebd898e
29 changed files with 1460 additions and 0 deletions
+2
View File
@@ -12,5 +12,7 @@ packages:
- antergos-live
- calamares
- calamares-branding-antergos-next
- calamares-branding-antergos-next-minimal
- antergos-xfce-theme
- downgrade
- yay
Binary file not shown.
+17
View File
@@ -0,0 +1,17 @@
# Maintainer: Celestia Ludenberg <ash8820@proton.me>
pkgname=antergos-xfce-theme
pkgver=1
pkgrel=1
pkgdesc="Antergos NeXT Xfwm4/GTK theme (based on Numix)"
arch=('any')
url="https://github.com/Antergos-NeXT/antergos-packages"
license=('GPL')
groups=('antergos-branding')
depends=('gtk-engine-murrine')
source=("Antergos-NeXT.tar.gz")
sha256sums=('SKIP')
package() {
tar -xzf "${srcdir}/Antergos-NeXT.tar.gz" -C "${pkgdir}/usr/share/themes/"
}
@@ -0,0 +1,8 @@
import QtQuick 2.15
Item {
property string title
property string body
property string footer
property url image
}
@@ -0,0 +1,126 @@
# Maintainer: Celestia Ludenberg <ash8820@proton.me>
pkgname=calamares-branding-antergos-next-minimal
pkgver=1.0
pkgrel=1
pkgdesc="Calamares branding for Antergos NeXT Minimal (Xfce) with offline/online installer support"
arch=('any')
url="https://github.com/Antergos-NeXT"
license=('GPL3')
depends=('calamares' 'yad')
optdepends=('zenity: fallback for graphical mode chooser dialog')
source=("branding.desc"
"stylesheet.qss"
"show.qml"
"Dia.qml"
"Slider.qml"
"calamares-sidebar.qml"
"calamares-navigation.qml"
"background.jpg"
"pan-up-symbolic.svg"
"pan-end-symbolic.svg"
"pan-start-symbolic.svg"
"draw-rectangle.svg"
"unpackfs.conf"
"initcpiocfg.conf"
"initcpio.conf"
"antergos-logo.png"
"antergos-icon.png"
"netinstall.yaml"
"netinstall.conf"
"packagechooser.conf"
"welcome.conf"
"settings_offline.conf"
"settings_online.conf"
"calamares-next.sh")
sha256sums=('SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
package() {
# Branding data (shared between offline/online)
local _brand="/usr/share/calamares/branding/antergos-next-minimal"
install -dm755 "${pkgdir}${_brand}"
cp "branding.desc" "${pkgdir}${_brand}/"
cp "stylesheet.qss" "${pkgdir}${_brand}/"
cp "show.qml" "${pkgdir}${_brand}/"
cp "Dia.qml" "${pkgdir}${_brand}/"
cp "Slider.qml" "${pkgdir}${_brand}/"
cp "calamares-sidebar.qml" "${pkgdir}${_brand}/"
cp "calamares-navigation.qml" "${pkgdir}${_brand}/"
cp "background.jpg" "${pkgdir}${_brand}/"
cp "pan-up-symbolic.svg" "${pkgdir}${_brand}/"
cp "pan-end-symbolic.svg" "${pkgdir}${_brand}/"
cp "pan-start-symbolic.svg" "${pkgdir}${_brand}/"
cp "draw-rectangle.svg" "${pkgdir}${_brand}/"
cp "antergos-logo.png" "${pkgdir}${_brand}/"
cp "antergos-icon.png" "${pkgdir}${_brand}/"
# Also overwrite default branding so Artix calamares package can't sneak in
local _defbrand="/usr/share/calamares/branding/default"
install -dm755 "${pkgdir}${_defbrand}"
cp "branding.desc" "${pkgdir}${_defbrand}/"
cp "show.qml" "${pkgdir}${_defbrand}/"
cp "Dia.qml" "${pkgdir}${_defbrand}/"
cp "Slider.qml" "${pkgdir}${_defbrand}/"
cp "calamares-sidebar.qml" "${pkgdir}${_defbrand}/"
cp "calamares-navigation.qml" "${pkgdir}${_defbrand}/"
cp "background.jpg" "${pkgdir}${_defbrand}/"
cp "pan-up-symbolic.svg" "${pkgdir}${_defbrand}/"
cp "pan-end-symbolic.svg" "${pkgdir}${_defbrand}/"
cp "pan-start-symbolic.svg" "${pkgdir}${_defbrand}/"
cp "draw-rectangle.svg" "${pkgdir}${_defbrand}/"
cp "antergos-logo.png" "${pkgdir}${_defbrand}/"
cp "antergos-icon.png" "${pkgdir}${_defbrand}/"
# Shared Calamares modules
install -dm755 "${pkgdir}/etc/calamares/modules"
cp "unpackfs.conf" "${pkgdir}/etc/calamares/modules/"
cp "initcpiocfg.conf" "${pkgdir}/etc/calamares/modules/"
cp "initcpio.conf" "${pkgdir}/etc/calamares/modules/"
cp "netinstall.conf" "${pkgdir}/etc/calamares/modules/"
cp "netinstall.yaml" "${pkgdir}/etc/calamares/modules/"
cp "packagechooser.conf" "${pkgdir}/etc/calamares/modules/"
cp "welcome.conf" "${pkgdir}/etc/calamares/modules/"
# Offline config directory
install -dm755 "${pkgdir}/etc/calamares-offline"
cp "settings_offline.conf" "${pkgdir}/etc/calamares-offline/settings.conf"
ln -sf "/usr/share/calamares/qml" "${pkgdir}/etc/calamares-offline/qml"
ln -sf "/usr/share/calamares/branding" "${pkgdir}/etc/calamares-offline/branding"
# Online config directory
install -dm755 "${pkgdir}/etc/calamares-online"
cp "settings_online.conf" "${pkgdir}/etc/calamares-online/settings.conf"
ln -sf "/usr/share/calamares/qml" "${pkgdir}/etc/calamares-online/qml"
ln -sf "/usr/share/calamares/branding" "${pkgdir}/etc/calamares-online/branding"
# Default: offline mode (for direct calamares launch)
install -dm755 "${pkgdir}/etc/calamares"
ln -sf "../calamares-offline/settings.conf" "${pkgdir}/etc/calamares/settings.conf"
ln -sf "/usr/share/calamares/branding" "${pkgdir}/etc/calamares/branding"
# Launcher script
install -dm755 "${pkgdir}/usr/bin"
install -m755 "calamares-next.sh" "${pkgdir}/usr/bin/calamares-next"
}
@@ -0,0 +1,85 @@
import QtQuick 2.15
Item {
property list<Dia> slides
property int currentSlideIndex: 0
property int _currentSlideIndex: 0
function reset() {
currentSlideIndex = 0
_currentSlideIndex = 0
wrapper.opacity = 1
}
onCurrentSlideIndexChanged: {
if (currentSlideIndex >= slides.length) {
currentSlideIndex = 0
}
if (_currentSlideIndex !== currentSlideIndex) {
slideOut.start()
}
}
Item {
id: wrapper
anchors.fill: parent
Column {
anchors.centerIn: parent
width: parent.width
spacing: 0
Text {
id: titleText
font {
family: "Roboto"
weight: Font.Medium
pixelSize: 26
}
color: "#FFFFFF"
text: slides[_currentSlideIndex].title
wrapMode: Text.WordWrap
width: parent.width
lineHeight: 1.25
bottomPadding: 20
}
Text {
id: bodyText
width: parent.width
font {
family: "Roboto"
weight: Font.Normal
pixelSize: 14
}
color: "#C4C6D0"
text: slides[_currentSlideIndex].body
wrapMode: Text.WordWrap
lineHeight: 1.55
bottomPadding: 20
}
Text {
id: footerText
font {
family: "Roboto"
weight: Font.Medium
pixelSize: 12
}
color: "#8E9099"
text: slides[_currentSlideIndex].footer ?? ""
wrapMode: Text.WordWrap
width: parent.width
lineHeight: 1.4
}
}
}
SequentialAnimation {
id: slideOut
NumberAnimation { target: wrapper; property: "opacity"; to: 0; duration: 100; easing.type: Easing.OutQuad }
PropertyAction { target: wrapper; property: "opacity"; value: 0 }
ScriptAction { script: _currentSlideIndex = currentSlideIndex }
NumberAnimation { target: wrapper; property: "opacity"; to: 1; duration: 160; easing.type: Easing.InQuad }
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

@@ -0,0 +1,40 @@
---
componentName: antergos-next-minimal
welcomeStyleCalamares: false
welcomeExpandingLogo: true
windowExpanding: normal
windowSize: 920px,630px
windowPlacement: center
sidebar: qml,top
navigation: qml,bottom
strings:
productName: "Antergos NeXT Minimal"
shortProductName: "Antergos NeXT"
version: "rolling"
shortVersion: "rolling"
versionedName: "Antergos NeXT Minimal rolling"
shortVersionedName: "Antergos NeXT Minimal"
bootloaderEntryName: "Antergos NeXT"
productUrl: "https://github.com/Antergos-NeXT"
supportUrl: "https://github.com/Antergos-NeXT"
knownIssuesUrl: "https://github.com/Antergos-NeXT/antergos-iso/issues"
releaseNotesUrl: "https://github.com/Antergos-NeXT"
donateUrl: ""
images:
productIcon: "antergos-icon.png"
productLogo: "antergos-icon.png"
productWelcome: "antergos-logo.png"
style:
SidebarBackground: "#20252B"
SidebarText: "#C8D6E5"
SidebarTextCurrent: "#FFFFFF"
SidebarBackgroundCurrent: "#4A9EFF"
slideshow: "show.qml"
slideshowAPI: 2
@@ -0,0 +1,119 @@
import io.calamares.ui 1.0
import io.calamares.core 1.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15
import Qt5Compat.GraphicalEffects
Rectangle {
id: bottomBar
color: "#20252B"
height: 68
width: parent ? parent.width : 1024
layer.enabled: true
layer.effect: DropShadow {
transparentBorder: true
radius: 4
samples: 8
color: Qt.rgba(0, 0, 0, 0.4)
}
RowLayout {
anchors.fill: parent
anchors.leftMargin: 12
anchors.rightMargin: 20
spacing: 8
Button {
id: backButton
text: qsTr("Back")
flat: true
enabled: ViewManager.backEnabled
implicitHeight: 42
font {
family: "Roboto"
weight: Font.Medium
pixelSize: 14
}
contentItem: Text {
text: "← " + parent.text
font: parent.font
color: parent.enabled ? "#E3E2E6" : Qt.rgba(0.89, 0.89, 0.90, 0.35)
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
leftPadding: 16
rightPadding: 16
}
background: Rectangle {
color: parent.hovered && parent.enabled
? Qt.rgba(0.89, 0.89, 0.90, 0.06)
: "transparent"
radius: 21
Behavior on color { ColorAnimation { duration: 120 } }
}
onClicked: ViewManager.back()
}
Item { Layout.fillWidth: true }
Button {
id: cancelButton
text: qsTr("Cancel")
flat: true
enabled: ViewManager.quitEnabled
implicitHeight: 42
font {
family: "Roboto"
weight: Font.Medium
pixelSize: 14
}
contentItem: Text {
text: parent.text
font: parent.font
color: parent.enabled ? "#FFB4AB" : Qt.rgba(1.0, 0.71, 0.67, 0.35)
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
leftPadding: 14
rightPadding: 14
}
background: Rectangle {
color: parent.hovered && parent.enabled
? Qt.rgba(1.0, 0.71, 0.67, 0.07)
: "transparent"
radius: 21
Behavior on color { ColorAnimation { duration: 120 } }
}
onClicked: ViewManager.quit()
}
Button {
id: nextButton
text: qsTr("Next")
enabled: ViewManager.nextEnabled
implicitWidth: 120
implicitHeight: 42
font {
family: "Roboto"
weight: Font.Medium
pixelSize: 14
}
contentItem: Text {
text: parent.text + " →"
font: parent.font
color: "#FFFFFF"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
background: Rectangle {
color: parent.enabled
? (parent.hovered ? "#3B8BDE" : "#4A9EFF")
: Qt.rgba(0.29, 0.62, 1.0, 0.35)
radius: 21
Behavior on color { ColorAnimation { duration: 120 } }
}
onClicked: ViewManager.next()
}
}
}
@@ -0,0 +1,212 @@
#!/bin/bash
# Antergos NeXT Calamares Installer Launcher
GUIDIE() {
echo "calamares-next: $1" | sed -e 's|<tt>||g' -e 's|</tt>||g'
local prog=yad
command -v yad &>/dev/null || prog=zenity
local cmd=(
"$prog" --form --title="Error detected"
--text="<b>calamares-next:</b>\n$1\n"
--image=dialog-error
--button=yad-quit:1
)
"${cmd[@]}"
exit 1
}
FollowFile() {
local tailfile="$1"
local term_title="$2"
local xpos="$3"
local ypos="$4"
case "$CurrentDesktop" in
xfce) xfce4-terminal -T "$term_title" --geometry="120x20+$xpos+$ypos" -x tail -f "$tailfile" & ;;
kde) setsid konsole -e tail -f "$tailfile" &> /dev/null ;;
esac
}
CatchChrootedPacmanLog() {
local pacmanlog=""
local lockfile="$HOME/.$progname.lck"
while true ; do
sleep 2
pacmanlog="$(/usr/bin/ls -1 /tmp/calamares-root-*/var/log/pacman.log 2>/dev/null | /usr/bin/tail -n 1)"
if [ -n "$pacmanlog" ] ; then
[ -r "$lockfile" ] && return
/usr/bin/touch "$lockfile"
FollowFile "$pacmanlog" "Pacman log" 400 50
break
fi
done
}
LogHeader() {
local calamares_version date
calamares_version="$(pacman -Q calamares 2>/dev/null | awk '{print $NF}')"
date=$(date -u "+%x %X")
cat <<EOF > $log
########## $log by calamares-next
########## Started (UTC): $date
########## Install mode: $mode
########## Calamares version: $calamares_version
EOF
}
InstallLog_Start() {
LogHeader
if [ "$ShowInstallLog" = "TRUE" ] ; then
FollowFile "$log" "Install log" 20 20
fi
}
Calamares_Start() {
if [ "$EUID" = 0 ]; then
calamares -D8 >> $log &
return
fi
local kdesu=/usr/lib/kf6/kdesu
[ -x $kdesu ] || kdesu=kdesu
case "$CurrentDesktop" in
kde) $kdesu -t -c "calamares -D8" >> $log & ;;
*) pkexec calamares -D8 >> $log & ;;
esac
}
AskMode() {
local ICO="/usr/share/calamares/branding/antergos-next/antergos-icon.png"
[ -f "$ICO" ] || ICO="system-software-install"
if [ "$has_connection" = yes ] ; then
yad --form \
--title="Antergos NeXT Installer" \
--image="$ICO" \
--borders=20 \
--height=250 --width=520 \
--buttons-layout=spread \
--field=" ":LBL "" \
--field="<b>Online Install</b>":LBL "" \
--field="Full desktop selection from the internet.":LBL "" \
--field="Choose your desktop environment, customize packages,":LBL "" \
--field="get the latest updates.":LBL "" \
--field=" ":LBL "" \
--field="<b>Offline Install</b>":LBL "" \
--field="Quick install from the live ISO.":LBL "" \
--field="Install KDE Plasma desktop directly from the ISO.":LBL "" \
--field="No internet required.":LBL "" \
--field=" ":LBL "" \
--button="Offline":13 \
--button="Online":11
else
yad --form \
--title="Antergos NeXT Installer" \
--image="$ICO" \
--borders=20 \
--height=200 --width=520 \
--buttons-layout=spread \
--field=" ":LBL "" \
--field="<b>Offline Install</b>":LBL "" \
--field="Quick install from the live ISO.":LBL "" \
--field="Install KDE Plasma desktop directly from the ISO.":LBL "" \
--field=" ":LBL "" \
--button="Offline":13
fi
}
InstallWithLogs() {
InstallLog_Start
Calamares_Start
if [ "$ShowPacmanLog" = "FALSE" ] ; then
sleep 5
return
fi
case "$mode" in
online) CatchChrootedPacmanLog ;;
offline) CatchChrootedPacmanLog ;;
esac
}
SetConfig() {
case "$mode" in
online)
sudo rm -f "/etc/calamares/settings.conf"
sudo cp "/etc/calamares-online/settings.conf" "/etc/calamares/settings.conf"
PreLog "Using online settings"
;;
offline)
sudo rm -f "/etc/calamares/settings.conf"
sudo cp "/etc/calamares-offline/settings.conf" "/etc/calamares/settings.conf"
PreLog "Using offline settings"
;;
esac
}
PreLog() {
echo "==> $1" >> "$prelogfile"
}
Main() {
progname="${0##*/}"
has_connection=no
show_mode=yes
[ -x /usr/bin/calamares ] || GUIDIE "<tt>/usr/bin/calamares</tt> is needed for installing Antergos NeXT"
ping -c 1 -W 2 archlinux.org &>/dev/null && has_connection=yes
local CurrentDesktop=""
if [ "$XDG_CURRENT_DESKTOP" ]; then
CurrentDesktop=$(echo "$XDG_CURRENT_DESKTOP" | tr '[:upper:]' '[:lower:]')
elif [ "$DESKTOP_SESSION" ]; then
CurrentDesktop=$(echo "$DESKTOP_SESSION" | tr '[:upper:]' '[:lower:]')
fi
local ShowInstallLog="FALSE"
local ShowPacmanLog="FALSE"
local Home=/home/antergos
local log=$Home/antergos-install.log
local cfolder=/etc/calamares
local workdir=""
local prelogfile=""
workdir="$Home/work.$progname.xyz"
mkdir -p "$workdir"
prelogfile="$workdir/preliminary.log"
rm -f "$prelogfile"
if [ "$show_mode" = yes ] ; then
AskMode
ret=$?
case $ret in
11) mode=online ;;
13) mode=offline ;;
*) exit $ret ;;
esac
else
mode=offline
fi
case "$mode" in
online|offline)
SetConfig
InstallWithLogs
;;
*)
GUIDIE "unsupported mode '$mode'"
;;
esac
}
Main "$@"
@@ -0,0 +1,90 @@
import io.calamares.ui 1.0
import io.calamares.core 1.0
import QtQuick 2.15
import QtQuick.Layouts 1.15
import QtQuick.Controls 2.15
import Qt5Compat.GraphicalEffects
Rectangle {
id: topBar
color: "#20252B"
height: 64
width: parent ? parent.width : 1024
layer.enabled: true
layer.effect: DropShadow {
transparentBorder: true
radius: 4
samples: 8
color: Qt.rgba(0, 0, 0, 0.4)
}
RowLayout {
anchors.fill: parent
anchors.leftMargin: 20
anchors.rightMargin: 20
spacing: 14
Image {
id: logo
sourceSize.width: 34
sourceSize.height: 34
fillMode: Image.PreserveAspectFit
source: Branding.imagePath(Branding.ProductLogo)
Layout.alignment: Qt.AlignVCenter
}
Text {
text: "Antergos NeXT"
color: "#E3E2E6"
font {
family: "Roboto"
weight: Font.Medium
pixelSize: 17
letterSpacing: 0.3
}
Layout.alignment: Qt.AlignVCenter
}
Item { Layout.fillWidth: true }
Row {
spacing: 8
Layout.alignment: Qt.AlignVCenter
Repeater {
id: dotRepeater
model: ViewManager
Rectangle {
width: index === ViewManager.currentStepIndex ? 10 : 7
height: 7
radius: 3.5
color: index === ViewManager.currentStepIndex
? "#4A9EFF" : "#8E9099"
opacity: index === ViewManager.currentStepIndex ? 1 : 0.35
Behavior on width { NumberAnimation { duration: 200 } }
Behavior on color { ColorAnimation { duration: 200 } }
}
}
}
}
Rectangle {
anchors {
bottom: parent.bottom
left: parent.left
right: parent.right
}
height: 3
color: Qt.rgba(0.56, 0.57, 0.60, 0.2)
Rectangle {
height: parent.height
width: parent.width * ((ViewManager.currentStepIndex + 1) / Math.max(dotRepeater.count, 1))
color: "#4A9EFF"
Behavior on width { NumberAnimation { duration: 400; easing.type: Easing.OutCubic } }
}
}
}
@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
<path d="m2 4h18v14h-18z" fill="#4A9EFF" transform="translate(0,2)"/>
</svg>

After

Width:  |  Height:  |  Size: 139 B

@@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
---
kernel: linux
be_unsafe: false
@@ -0,0 +1,5 @@
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
---
useSystemdHook: false
source: "/etc/mkinitcpio.conf"
@@ -0,0 +1,90 @@
/* Antergos NeXT Minimal — info page */
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
ColumnLayout {
width: parent.width
spacing: 20
Image {
source: "antergos-logo.png"
sourceSize.width: 96
sourceSize.height: 96
fillMode: Image.PreserveAspectFit
Layout.alignment: Qt.AlignHCenter
}
Label {
text: "Antergos NeXT Minimal"
font.pointSize: 20
font.bold: true
Layout.alignment: Qt.AlignHCenter
color: "#4A9EFF"
}
Rectangle {
height: 1
color: "#FF6B6B"
Layout.fillWidth: true
Layout.leftMargin: 24
Layout.rightMargin: 24
}
Label {
text: "⚠ NOTICE"
font.pointSize: 14
font.bold: true
Layout.alignment: Qt.AlignHCenter
color: "#FF6B6B"
}
Label {
text: "This is the Minimal (Xfce) edition of Antergos NeXT. The main Plasma ISO ballooned to ~2.8 GB (over GitHub's 2 GB release limit) from all the bundled KDE packages, wallpapers, and apps. This Xfce build trims the fat while keeping the full installer and repository access."
font.pointSize: 11
wrapMode: Text.WordWrap
Layout.fillWidth: true
Layout.leftMargin: 24
Layout.rightMargin: 24
color: "#C8D6E5"
}
Label {
text: "What's different from the Plasma edition:"
font.pointSize: 11
font.bold: true
Layout.leftMargin: 24
color: "#C8D6E5"
}
Column {
spacing: 4
Layout.leftMargin: 40
Repeater {
model: [
"Uses Xfce desktop instead of KDE Plasma — lighter and faster",
"No KDE applications (uses Falkon browser, Xfce native apps)",
"Smaller ISO size (~1.5 GB vs ~2.8 GB)",
"Same Calamares installer, same repos, same init choices",
"Better for older hardware, VMs, or minimal setups"
]
Label {
text: "• " + modelData
font.pointSize: 10
color: "#C8D6E5"
}
}
}
Label {
text: "If you installed this just to install Plasma from the repos and pretend it's the full ISO — yeah, fair enough. We can't blame you."
font.pointSize: 10
italic: true
wrapMode: Text.WordWrap
Layout.fillWidth: true
Layout.leftMargin: 24
Layout.rightMargin: 24
Layout.topMargin: 8
color: "#FF6B6B"
}
}
@@ -0,0 +1,7 @@
---
groupsUrl:
- file:///etc/calamares/modules/netinstall.yaml
required: true
label:
sidebar: "Packages"
title: "Packages (select your desktop environment and additional packages)"
@@ -0,0 +1,241 @@
- name: "KDE Plasma"
description: "Full-featured, modern desktop with KDE Plasma and applications"
selected: true
critical: false
packages:
- ark
- bluedevil
- breeze-gtk
- dolphin
- dolphin-plugins
- ffmpegthumbs
- gwenview
- kate
- kcalc
- kde-cli-tools
- kde-gtk-config
- kdeconnect
- kdegraphics-thumbnailers
- kdenetwork-filesharing
- kdeplasma-addons
- kinfocenter
- kio-admin
- kio-extras
- kio-fuse
- konsole
- kscreen
- kwallet-pam
- kwayland-integration
- okular
- partitionmanager
- plasma-browser-integration
- plasma-desktop
- plasma-disks
- plasma-nm
- plasma-pa
- plasma-systemmonitor
- plasma-workspace
- powerdevil
- print-manager
- qt6-imageformats
- spectacle
- xdg-desktop-portal-kde
- xsettingsd
- antergos-plasma-theme
- antergos-sddm-theme
- antergos-next-desktop-settings
- name: "Xfce"
description: "Fast and lightweight classic desktop"
selected: false
critical: false
packages:
- blueman
- file-roller
- galculator
- gvfs
- gvfs-afc
- gvfs-gphoto2
- gvfs-mtp
- gvfs-nfs
- gvfs-smb
- lightdm
- lightdm-slick-greeter
- mousepad
- network-manager-applet
- parole
- ristretto
- thunar-archive-plugin
- thunar-media-tags-plugin
- xdg-user-dirs-gtk
- xfce4
- xfce4-battery-plugin
- xfce4-mount-plugin
- xfce4-netload-plugin
- xfce4-notifyd
- xfce4-pulseaudio-plugin
- xfce4-screensaver
- xfce4-screenshooter
- xfce4-taskmanager
- xfce4-whiskermenu-plugin
- name: "Budgie"
description: "Elegant and simple desktop environment"
selected: false
critical: false
packages:
- budgie-desktop
- budgie-desktop-view
- budgie-extras
- eog
- file-roller
- gedit
- gnome-keyring
- gnome-terminal
- gvfs
- gvfs-afc
- gvfs-gphoto2
- gvfs-mtp
- gvfs-nfs
- gvfs-smb
- lightdm
- lightdm-slick-greeter
- mutter
- nemo
- nemo-fileroller
- network-manager-applet
- xdg-user-dirs-gtk
- name: "Cinnamon"
description: "Traditional desktop with modern conventions"
selected: false
critical: false
packages:
- cinnamon
- cinnamon-translations
- file-roller
- galculator
- gnome-system-monitor
- gnome-terminal
- gvfs
- gvfs-afc
- gvfs-gphoto2
- gvfs-mtp
- gvfs-nfs
- gvfs-smb
- lightdm
- lightdm-slick-greeter
- nemo-fileroller
- xdg-user-dirs-gtk
- name: "MATE"
description: "Intuitive and attractive classic desktop"
selected: false
critical: false
packages:
- gvfs
- gvfs-afc
- gvfs-gphoto2
- gvfs-mtp
- gvfs-nfs
- gvfs-smb
- lightdm
- lightdm-slick-greeter
- mate
- mate-extra
- network-manager-applet
- xdg-user-dirs-gtk
- name: "LXQt"
description: "Lightweight Qt desktop environment"
selected: false
critical: false
packages:
- breeze
- breeze-gtk
- featherpad
- gvfs
- gvfs-mtp
- libstatgrab
- libsysstat
- lm_sensors
- lxqt
- lxqt-archiver
- network-manager-applet
- oxygen-icons
- pavucontrol-qt
- print-manager
- xdg-utils
- xsettingsd
- name: "i3 / Sway"
description: "Tiling window managers for power users"
selected: false
critical: false
packages:
- dmenu
- dunst
- feh
- galculator
- gvfs
- gvfs-afc
- gvfs-gphoto2
- gvfs-mtp
- gvfs-nfs
- gvfs-smb
- i3-wm
- i3lock
- i3status
- lightdm
- lightdm-slick-greeter
- sway
- waybar
- wofi
- name: "Base System"
description: "Core system packages for a functional Arch Linux installation"
selected: true
hidden: true
immutable: true
critical: true
packages:
- base
- base-devel
- linux
- linux-firmware
- linux-headers
- amd-ucode
- intel-ucode
- networkmanager
- network-manager-applet
- sudo
- nano
- which
- man-db
- man-pages
- name: "Antergos Packages"
description: "Antergos NeXT branding and tools"
selected: true
hidden: true
immutable: true
critical: false
packages:
- antergos-wallpapers
- antergos-welcome
- yay
- calamares
- calamares-branding-antergos-next
- antergos-next-keyring
- antergos-next-mirrorlist
- antergos-release
- antergos-lsb-release
- antergos-grub-theme
- firefox
- name: "Hardware Support"
description: "Additional hardware drivers and firmware"
selected: false
critical: false
packages:
- mesa
- mesa-utils
- vulkan-intel
- vulkan-radeon
- nvidia-open
- nvidia-utils
- pipewire
- pipewire-pulse
- pipewire-alsa
- wireplumber
@@ -0,0 +1,55 @@
---
mode: required
method: legacy
labels:
step: "Desktop Environment"
items:
- id: ""
name: "No Desktop"
description: "Install without a desktop environment — not recommended. You'll only get a TTY; screen recording won't work without a capture card."
- id: plasma
packages: [ plasma ]
name: "Plasma"
description: "KDE Plasma Desktop — modern, feature-rich, highly customizable"
- id: xfce
packages: [ xfce4, xfce4-goodies ]
name: "Xfce"
description: "Xfce — lightweight, classic desktop"
- id: cinnamon
packages:
- cinnamon
- cinnamon-control-center
- cinnamon-desktop
- cinnamon-menus
- cinnamon-screensaver
- cinnamon-session
- cinnamon-settings-daemon
- cinnamon-translations
name: "Cinnamon"
description: "Cinnamon — traditional desktop with modern conventions"
- id: mate
packages: [ mate, mate-extra ]
name: "MATE"
description: "MATE — continuation of GNOME 2"
- id: lxqt
packages: [ lxqt ]
name: "LXQt"
description: "LXQt — lightweight Qt desktop"
- id: i3
packages: [ i3 ]
name: "i3"
description: "i3 — tiling window manager"
- id: sway
packages:
- sway
- swaybg
- swayidle
- swaylock
name: "Sway"
description: "Sway — i3-compatible Wayland compositor"
- id: hyprland
packages:
- hyprland
- xdg-desktop-portal-hyprland
name: "Hyprland"
description: "Hyprland — dynamic tiling Wayland compositor"
@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="16" version="1.1" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="m 6,3 5,5 -5,5 z" fill="#4A9EFF"/>
</svg>

After

Width:  |  Height:  |  Size: 185 B

@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="16" version="1.1" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="m 10,3 -5,5 5,5 z" fill="#4A9EFF"/>
</svg>

After

Width:  |  Height:  |  Size: 186 B

@@ -0,0 +1,4 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<svg height="16" version="1.1" width="16" xmlns="http://www.w3.org/2000/svg">
<path d="m 8,2 -5,5 10,0 z" fill="#4A9EFF"/>
</svg>

After

Width:  |  Height:  |  Size: 186 B

@@ -0,0 +1,51 @@
---
modules-search: [ /usr/lib/calamares/modules, /etc/calamares/modules ]
sequence:
- show:
- welcome
- locale
- keyboard
- partition
- users
- summary
- exec:
- partition
- mount
- unpackfs
- machineid
- fstab
- locale
- keyboard
- localecfg
- luksopenswaphookcfg
- luksbootkeyfile
- initcpiocfg
- initcpio
- users
- displaymanager
- networkcfg
- hwclock
- services-artix
- grubcfg
- bootloader
- postcfg
- umount
- show:
- finished
branding: antergos-next-minimal
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
@@ -0,0 +1,54 @@
---
modules-search: [ /usr/lib/calamares/modules, /etc/calamares/modules ]
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-minimal
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
@@ -0,0 +1,158 @@
import QtQuick 2.15
import Qt5Compat.GraphicalEffects
Item {
id: root
width: 920
height: 630
function onActivate() {
timer.restart()
slider.reset()
}
function onLeave() {
}
Timer {
id: timer
interval: 12000
running: true
repeat: true
onTriggered: slider.currentSlideIndex++
}
MouseArea {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
timer.restart()
slider.currentSlideIndex++
}
}
Image {
id: background
anchors.fill: parent
source: "background.jpg"
sourceSize.width: parent.width
sourceSize.height: parent.height
fillMode: Image.PreserveAspectCrop
}
Rectangle {
anchors.fill: parent
color: Qt.rgba(0, 0, 0, 0.55)
}
Rectangle {
anchors.fill: parent
gradient: Gradient {
GradientStop { position: 0.0; color: Qt.rgba(0, 0, 0, 0.15) }
GradientStop { position: 0.5; color: "transparent" }
GradientStop { position: 1.0; color: Qt.rgba(0, 0, 0, 0.3) }
}
}
Rectangle {
id: card
width: 460
height: 380
radius: 12
anchors.centerIn: parent
anchors.horizontalCenterOffset: 40
color: "#2B2930"
layer.enabled: true
layer.effect: DropShadow {
transparentBorder: true
radius: 40
samples: 56
color: Qt.rgba(0, 0, 0, 0.5)
}
Rectangle {
anchors.fill: parent
radius: 12
color: "transparent"
border { color: Qt.rgba(1, 1, 1, 0.04); width: 1 }
}
Item {
anchors {
fill: parent
margins: 32
}
Slider {
id: slider
anchors.fill: parent
slides: [
Dia {
title: qsTr("Welcome to Antergos NeXT")
body: qsTr("A modern Arch Linux experience built on Artix Linux. Rolling release, OpenRC init, and the latest software.")
footer: qsTr("Choose your preferred desktop environment during setup")
},
Dia {
title: qsTr("Desktop Environments")
body: qsTr("Select from KDE Plasma, GNOME, Xfce, Budgie, Cinnamon, MATE, LXQt, i3, Sway, or Hyprland.")
footer: qsTr("A curated selection of the best Linux desktops")
},
Dia {
title: qsTr("Antergos Tools")
body: qsTr("Welcome app for system configuration, Calamares installer with offline and online modes, and full access to Arch Linux repositories and the AUR.")
footer: qsTr("Everything you need to get started")
},
Dia {
title: qsTr("Open Source")
body: qsTr("Free and open source software built by the community for the community.")
footer: qsTr("github.com/Antergos-NeXT")
},
Dia {
title: qsTr("Almost Done")
body: qsTr("Your system is being configured with your selected desktop environment, drivers, and applications.")
footer: qsTr("Reboot and enjoy Antergos NeXT")
}
]
}
}
}
Image {
id: logo
source: "antergos-logo.png"
width: 140
height: 40
fillMode: Image.PreserveAspectFit
anchors {
bottom: parent.bottom
bottomMargin: 20
left: parent.left
leftMargin: 24
}
opacity: 0.45
}
Row {
anchors {
bottom: parent.bottom
bottomMargin: 20
horizontalCenter: parent.horizontalCenter
}
spacing: 6
Repeater {
model: slider.slides.length
Rectangle {
width: index == slider.currentSlideIndex ? 22 : 7
height: 7
radius: 3.5
color: index == slider.currentSlideIndex ? "#4A9EFF" : "#8E9099"
opacity: index == slider.currentSlideIndex ? 1 : 0.35
Behavior on width { NumberAnimation { duration: 250 } }
Behavior on color { ColorAnimation { duration: 200 } }
}
}
}
}
@@ -0,0 +1,64 @@
/* Antergos NeXT Calamares theme — dark */
QWidget {
font-family: "Noto Sans", "DejaVu Sans", sans-serif;
font-size: 10pt;
color: #FFFFFF;
}
QMainWindow {
background-color: #20252B;
}
QLabel#titleLabel {
font-size: 18pt;
font-weight: bold;
color: #4A9EFF;
}
QLabel#subtitleLabel {
font-size: 11pt;
color: #C8D6E5;
}
QPushButton {
background-color: #4A9EFF;
color: white;
border: none;
border-radius: 4px;
padding: 7px 18px;
min-height: 24px;
font-weight: bold;
}
QPushButton:hover {
background-color: #3B8AE5;
}
QPushButton:pressed {
background-color: #2D7BD4;
}
QPushButton:disabled {
background-color: #3A3F47;
color: #7F8C8D;
}
QComboBox {
padding: 5px 10px;
border: 1px solid #3A3F47;
border-radius: 4px;
background: #2C3138;
color: #FFFFFF;
}
QLineEdit {
padding: 6px 10px;
border: 1px solid #3A3F47;
border-radius: 4px;
background: #2C3138;
color: #FFFFFF;
}
QProgressBar {
border: 1px solid #3A3F47;
border-radius: 4px;
background: #2C3138;
text-align: center;
height: 20px;
color: #FFFFFF;
}
QProgressBar::chunk {
background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
stop:0 #4A9EFF, stop:1 #8BC4FF);
border-radius: 3px;
}
@@ -0,0 +1,6 @@
---
unpack:
- source: "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs"
sourcefs: "squashfs"
destination: "/"
...
@@ -0,0 +1,10 @@
---
requirements:
internet: true
storage: 8.0
ram: 2.0
power: true
required:
- storage
- ram
- power