From 8698fe49950f554ec6a7c250a550d92ae518f8bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82?= Date: Wed, 8 Jul 2026 18:51:35 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20add=20Antergos=20NeXT=20Minimal=20(Xfce?= =?UTF-8?q?)=20profile=20=E2=80=94=20lightweight=20ISO=20edition?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduces iso-profiles/antergos-minimal/, a new Xfce-based profile for building a lightweight Antergos NeXT ISO under the 2 GB GitHub Releases limit (the full Plasma profile produces ~2.15 GB). Profile structure: - profile.yaml: Xfce4 desktop, dinit-only init packages, Falkon browser, minimal app selection, antergos-xfce-theme included in rootfs - root-overlay/: SDDM configured for xfce.desktop, GRUB theme pointed to antergos, xfconf settings for Antergos-NeXT GTK/xfwm4 theme - live-overlay/: Calamares offline + online configs, netinstall with multiple DE options (Plasma, Xfce, Cinnamon, MATE, LXQt, i3, Sway, Hyprland), notesqml@minimal-info step explaining the edition rationale, basestrap operations for antergos-release/grub-theme/keyring, display manager selection (SDDM/LightDM/LXDM/LY), audio services (pipewire), and antergos-xfce-theme in the Xfce subgroup Default Xfce theme is set to Antergos-NeXT (Numix-derived, blue accent) via xfconf XML in both live-overlay and root-overlay skel directories. --- .../calamares-offline/modules/bootloader.conf | 21 + .../modules/displaymanager.conf | 10 + .../calamares-offline/modules/finished.conf | 6 + .../calamares-offline/modules/grubcfg.conf | 51 ++ .../calamares-offline/modules/initcpio.conf | 4 + .../etc/calamares-offline/modules/locale.conf | 7 + .../calamares-offline/modules/machineid.conf | 5 + .../etc/calamares-offline/modules/mount.conf | 131 ++++ .../calamares-offline/modules/partition.conf | 32 + .../calamares-offline/modules/postcfg.conf | 13 + .../modules/services-artix.conf | 24 + .../etc/calamares-offline/modules/umount.conf | 2 + .../calamares-offline/modules/unpackfs.conf | 5 + .../etc/calamares-offline/modules/users.conf | 49 ++ .../calamares-offline/modules/welcome.conf | 19 + .../etc/calamares-offline/settings.conf | 51 ++ .../calamares-online/modules/basestrap.conf | 36 ++ .../calamares-online/modules/bootloader.conf | 21 + .../modules/displaymanager.conf | 10 + .../calamares-online/modules/finished.conf | 6 + .../etc/calamares-online/modules/grubcfg.conf | 21 + .../calamares-online/modules/initcpio.conf | 4 + .../etc/calamares-online/modules/locale.conf | 7 + .../calamares-online/modules/machineid.conf | 5 + .../etc/calamares-online/modules/mount.conf | 131 ++++ .../calamares-online/modules/netinstall.conf | 54 ++ .../calamares-online/modules/netinstall.yaml | 141 +++++ .../modules/packagechooser.conf | 294 +++++++++ .../calamares-online/modules/packages.conf | 11 + .../calamares-online/modules/partition.conf | 32 + .../etc/calamares-online/modules/postcfg.conf | 13 + .../modules/services-artix.conf | 24 + .../etc/calamares-online/modules/umount.conf | 2 + .../etc/calamares-online/modules/users.conf | 49 ++ .../etc/calamares-online/modules/welcome.conf | 20 + .../etc/calamares-online/settings.conf | 64 ++ .../etc/calamares/modules/basestrap.conf | 35 ++ .../etc/calamares/modules/bootloader.conf | 21 + .../etc/calamares/modules/displaymanager.conf | 12 + .../etc/calamares/modules/finished.conf | 6 + .../etc/calamares/modules/grubcfg.conf | 20 + .../etc/calamares/modules/images/dinit.svg | 6 + .../etc/calamares/modules/images/openrc.svg | 6 + .../etc/calamares/modules/images/runit.svg | 6 + .../etc/calamares/modules/images/s6.svg | 6 + .../etc/calamares/modules/machineid.conf | 5 + .../etc/calamares/modules/minimal-info.conf | 4 + .../etc/calamares/modules/netinstall.conf | 54 ++ .../etc/calamares/modules/netinstall.yaml | 281 +++++++++ .../etc/calamares/modules/packagechooser.conf | 303 +++++++++ .../calamares/modules/packagechooser_dm.conf | 31 + .../etc/calamares/modules/packages.conf | 13 + .../etc/calamares/modules/postcfg.conf | 13 + .../etc/calamares/modules/services-artix.conf | 26 + .../live-overlay/etc/elogind/logind.conf | 45 ++ .../live-overlay/etc/elogind/sleep.conf | 36 ++ .../antergos-minimal/live-overlay/etc/fstab | 5 + .../live-overlay/etc/hostname | 1 + .../antergos-minimal/live-overlay/etc/hosts | 2 + .../antergos-minimal/live-overlay/etc/issue | 19 + .../live-overlay/etc/issue.live | 8 + .../live-overlay/etc/os-release | 11 + .../live-overlay/etc/pam.d/su | 6 + .../etc/polkit-1/rules.d/90-live.rules | 8 + .../etc/sddm.conf.d/kde_settings.conf | 17 + .../plasma-org.kde.plasma.desktop-appletsrc | 11 + .../xfconf/xfce-perchannel-xml/xfwm4.xml | 69 ++ .../xfconf/xfce-perchannel-xml/xsettings.xml | 23 + .../etc/skel/Desktop/calamares.desktop | 10 + .../live-overlay/etc/sudoers.d/g_wheel | 1 + .../live-overlay/etc/sudoers.d/u_root | 1 + .../live-overlay/etc/syslog-ng/syslog-ng.conf | 276 ++++++++ .../usr/bin/systemd-machine-id-setup | 29 + .../lib/calamares/modules/basestrap/main.py | 592 ++++++++++++++++++ .../calamares/modules/basestrap/module.desc | 7 + .../lib/calamares/modules/packages/main.py | 381 +++++++++++ .../usr/share/applications/calamares.desktop | 10 + iso-profiles/antergos-minimal/profile.yaml | 86 +++ .../root-overlay/etc/default/grub | 53 ++ .../antergos-minimal/root-overlay/etc/issue | 19 + .../root-overlay/etc/issue.live | 8 + .../root-overlay/etc/lsb-release | 3 + .../root-overlay/etc/os-release | 11 + .../root-overlay/etc/pacman.conf | 31 + .../root-overlay/etc/sddm.conf | 37 ++ .../etc/sddm.conf.d/kde_settings.conf | 17 + .../autostart/antergos-wallpaper.desktop | 8 + .../xfconf/xfce-perchannel-xml/xfwm4.xml | 69 ++ .../xfconf/xfce-perchannel-xml/xsettings.xml | 23 + .../usr/bin/systemd-machine-id-setup | 29 + .../root-overlay/usr/lib/os-release | 11 + 91 files changed, 4196 insertions(+) create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/bootloader.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/displaymanager.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/finished.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/grubcfg.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/initcpio.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/locale.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/machineid.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/mount.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/partition.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/postcfg.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/services-artix.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/umount.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/unpackfs.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/users.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/welcome.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/settings.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/bootloader.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/displaymanager.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/finished.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/grubcfg.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/initcpio.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/locale.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/machineid.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/mount.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.yaml create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packagechooser.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packages.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/partition.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/postcfg.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/services-artix.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/umount.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/users.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/welcome.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/settings.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/basestrap.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/bootloader.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/displaymanager.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/finished.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/grubcfg.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/dinit.svg create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/openrc.svg create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/runit.svg create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/s6.svg create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/machineid.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/minimal-info.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.yaml create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser_dm.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packages.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/postcfg.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/elogind/logind.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/elogind/sleep.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/fstab create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/hostname create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/hosts create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/issue create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/issue.live create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/os-release create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/pam.d/su create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/polkit-1/rules.d/90-live.rules create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/sddm.conf.d/kde_settings.conf create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/skel/Desktop/calamares.desktop create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/g_wheel create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/u_root create mode 100644 iso-profiles/antergos-minimal/live-overlay/etc/syslog-ng/syslog-ng.conf create mode 100755 iso-profiles/antergos-minimal/live-overlay/usr/bin/systemd-machine-id-setup create mode 100644 iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/main.py create mode 100644 iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/module.desc create mode 100644 iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/packages/main.py create mode 100644 iso-profiles/antergos-minimal/live-overlay/usr/share/applications/calamares.desktop create mode 100644 iso-profiles/antergos-minimal/profile.yaml create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/default/grub create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/issue create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/issue.live create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/lsb-release create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/os-release create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/pacman.conf create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf.d/kde_settings.conf create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/antergos-wallpaper.desktop create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml create mode 100644 iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml create mode 100755 iso-profiles/antergos-minimal/root-overlay/usr/bin/systemd-machine-id-setup create mode 100644 iso-profiles/antergos-minimal/root-overlay/usr/lib/os-release diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/bootloader.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/bootloader.conf new file mode 100644 index 0000000..4413b38 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/bootloader.conf @@ -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" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/displaymanager.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/displaymanager.conf new file mode 100644 index 0000000..1e9ad2b --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/displaymanager.conf @@ -0,0 +1,10 @@ +--- +displaymanagers: + - lightdm + - gdm + - mdm + - sddm + - lxdm + - slim + +basicSetup: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/finished.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/finished.conf new file mode 100644 index 0000000..1983892 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/finished.conf @@ -0,0 +1,6 @@ +--- +restartNowMode: user-unchecked + +restartNowCommand: "loginctl reboot" + +notifyOnFinished: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/grubcfg.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/grubcfg.conf new file mode 100644 index 0000000..189d4c2 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/grubcfg.conf @@ -0,0 +1,51 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Create, overwrite or update /etc/default/grub in the target system. +# +# Write lines to /etc/default/grub (in the target system) based +# on calculated values and the values set in the *defaults* key +# in this configuration file. +# +# Calculated values are: +# - GRUB_DISTRIBUTOR, branding module, *bootloaderEntryName* (this +# string is sanitized, and see also setting *keep_distributor*) +# - GRUB_ENABLE_CRYPTODISK, based on the presence of filesystems +# that use LUKS +# - GRUB_CMDLINE_LINUX_DEFAULT, adding LUKS setup and plymouth +# support to the kernel. + +--- +# If set to true, always creates /etc/default/grub from scratch even if the file +# already existed. If set to false, edits the existing file instead. +overwrite: false + +# If set to true, prefer to write files in /etc/default/grub.d/ +# rather than the single file /etc/default/grub. If this is set, +# Calamares will write /etc/default/grub.d/00Calamares instead. +prefer_grub_d: false + +# If set to true, an **existing** setting for GRUB_DISTRIBUTOR is +# kept, not updated to the *bootloaderEntryName* from the branding file. +# Use this if the GRUB_DISTRIBUTOR setting in the file is "smart" in +# some way (e.g. uses shell-command substitution). +keep_distributor: false + +# The default kernel params that should always be applied. +# This is an array of strings. If it is unset, the default is +# `["quiet"]`. To avoid the default, explicitly set this key +# to an empty list, `[]`. +kernel_params: [ "quiet" ] + +# Default entries to write to /etc/default/grub if it does not exist yet or if +# we are overwriting it. +# +defaults: + GRUB_TIMEOUT: 5 + GRUB_DEFAULT: "saved" + GRUB_DISABLE_SUBMENU: true + GRUB_TERMINAL_OUTPUT: "console" + GRUB_DISABLE_RECOVERY: true + +# Set to true to force defaults to be used even when not overwriting +always_use_defaults: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/initcpio.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/initcpio.conf new file mode 100644 index 0000000..73c1cd1 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/initcpio.conf @@ -0,0 +1,4 @@ +--- +kernel: all + +be_unsafe: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/locale.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/locale.conf new file mode 100644 index 0000000..0c3e7af --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/locale.conf @@ -0,0 +1,7 @@ +--- +localeGenPath: /etc/locale.gen + +geoip: + style: "json" + url: "https://geoip.kde.org/v1/calamares" + selector: "" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/machineid.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/machineid.conf new file mode 100644 index 0000000..7ab945a --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/machineid.conf @@ -0,0 +1,5 @@ +--- +systemd: false +dbus: false +dbus-symlink: false +entropy-copy: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/mount.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/mount.conf new file mode 100644 index 0000000..2c08d73 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/mount.conf @@ -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 ] + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/partition.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/partition.conf new file mode 100644 index 0000000..7e74cac --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/partition.conf @@ -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"] diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/postcfg.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/postcfg.conf new file mode 100644 index 0000000..41500fe --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/postcfg.conf @@ -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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/services-artix.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/services-artix.conf new file mode 100644 index 0000000..e5114bb --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/services-artix.conf @@ -0,0 +1,24 @@ +--- +command: artix-service + +services: + - name: "acpid" + action: "enable" + - name: "bluetoothd" + action: "enable" + - name: "cronie" + action: "enable" + - name: "cupsd" + action: "enable" + - name: "dbus" + action: "enable" + - name: "dhcpcd" + action: "enable" + - name: "NetworkManager" + action: "enable" + - name: "power-profiles-daemon" + action: "enable" + - name: "sddm" + action: "enable" + - name: "syslog-ng" + action: "enable" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/umount.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/umount.conf new file mode 100644 index 0000000..c1f548c --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/umount.conf @@ -0,0 +1,2 @@ +--- +emergency: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/unpackfs.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/unpackfs.conf new file mode 100644 index 0000000..c7235e6 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/unpackfs.conf @@ -0,0 +1,5 @@ +--- +unpack: + - source: "/run/artix/bootmnt/LiveOS/rootfs.img" + sourcefs: 'squashfs' + destination: "" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/users.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/users.conf new file mode 100644 index 0000000..99c1963 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/users.conf @@ -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 ] diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/welcome.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/welcome.conf new file mode 100644 index 0000000..288fc67 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/modules/welcome.conf @@ -0,0 +1,19 @@ +--- +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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/settings.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/settings.conf new file mode 100644 index 0000000..39ebf7e --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-offline/settings.conf @@ -0,0 +1,51 @@ +--- +modules-search: [ local ] + +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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf new file mode 100644 index 0000000..94f019e --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/basestrap.conf @@ -0,0 +1,36 @@ +--- +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 + - antergos-next + +base_init: elogind + +operations: + - install: + - base + - antergos-next-keyring + - antergos-release + - antergos-grub-theme diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/bootloader.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/bootloader.conf new file mode 100644 index 0000000..4413b38 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/bootloader.conf @@ -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" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/displaymanager.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/displaymanager.conf new file mode 100644 index 0000000..1e9ad2b --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/displaymanager.conf @@ -0,0 +1,10 @@ +--- +displaymanagers: + - lightdm + - gdm + - mdm + - sddm + - lxdm + - slim + +basicSetup: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/finished.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/finished.conf new file mode 100644 index 0000000..1983892 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/finished.conf @@ -0,0 +1,6 @@ +--- +restartNowMode: user-unchecked + +restartNowCommand: "loginctl reboot" + +notifyOnFinished: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/grubcfg.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/grubcfg.conf new file mode 100644 index 0000000..50c255f --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/grubcfg.conf @@ -0,0 +1,21 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +--- +# Create /etc/default/grub from scratch. +overwrite: true + +prefer_grub_d: false + +keep_distributor: false + +kernel_params: [ "quiet", "splash" ] + +defaults: + GRUB_TIMEOUT: 5 + GRUB_DEFAULT: "saved" + GRUB_DISABLE_SUBMENU: true + GRUB_TERMINAL_OUTPUT: "console" + GRUB_DISABLE_RECOVERY: true + GRUB_THEME: "/usr/share/grub/themes/antergos/theme.txt" + +always_use_defaults: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/initcpio.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/initcpio.conf new file mode 100644 index 0000000..73c1cd1 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/initcpio.conf @@ -0,0 +1,4 @@ +--- +kernel: all + +be_unsafe: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/locale.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/locale.conf new file mode 100644 index 0000000..0c3e7af --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/locale.conf @@ -0,0 +1,7 @@ +--- +localeGenPath: /etc/locale.gen + +geoip: + style: "json" + url: "https://geoip.kde.org/v1/calamares" + selector: "" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/machineid.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/machineid.conf new file mode 100644 index 0000000..7ab945a --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/machineid.conf @@ -0,0 +1,5 @@ +--- +systemd: false +dbus: false +dbus-symlink: false +entropy-copy: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/mount.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/mount.conf new file mode 100644 index 0000000..2c08d73 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/mount.conf @@ -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 ] + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.conf new file mode 100644 index 0000000..9f50cc5 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.conf @@ -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" + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.yaml b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.yaml new file mode 100644 index 0000000..4621f5c --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/netinstall.yaml @@ -0,0 +1,141 @@ +- name: "Default" + description: "Default packages" + hidden: false + selected: true + critical: true + immutable: true + packages: + - linux + - linux-headers + - grub + - efibootmgr + - sudo + - antergos-release + - antergos-next-keyring + - antergos-wallpapers + - antergos-grub-theme + +- 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: + - antergos-lsb-release + - nano + - vi + +- name: "Devel" + description: "Development tools" + selected: false + packages: + - base-devel + - artools-base + - artools-iso + - artools-pkg + +- name: "Style" + description: "Antergos themes, icons, branding" + selected: false + packages: [] + +- name: "Desktop" + description: "DE" + selected: true + critical: false + subgroups: + - name: "Plasma" + description: "KDE Plasma Desktop" + selected: true + packages: + - plasma + - ark + - dolphin + - ffmpegthumbs + - gwenview + - kate + - keditbookmarks + - kfind + - kgpg + - kio-admin + - konsole + - konversation + - kwalletmanager + - okular + - partitionmanager + - name: "Xfce" + description: "Xfce Desktop" + selected: false + packages: + - xfce4 + - xfce4-goodies + - name: "Cinnamon" + description: "Cinnamon Desktop" + selected: false + packages: + - cinnamon + - cinnamon-control-center + - cinnamon-desktop + - cinnamon-menus + - cinnamon-screensaver + - cinnamon-session + - cinnamon-settings-daemon + - cinnamon-translations + - name: "MATE" + description: "MATE Desktop" + selected: false + packages: + - mate + - mate-extra + - name: "LXQt" + description: "LXQt Desktop" + selected: false + packages: + - lxqt + - name: "i3" + description: "i3 Tiling WM" + selected: false + packages: + - i3 + - name: "Sway" + description: "Sway Wayland Compositor" + selected: false + packages: + - sway + - swaybg + - swayidle + - swaylock + - name: "Hyprland" + description: "Hyprland Wayland Compositor" + selected: false + packages: + - hyprland + - xdg-desktop-portal-hyprland diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packagechooser.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packagechooser.conf new file mode 100644 index 0000000..65c4811 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packagechooser.conf @@ -0,0 +1,294 @@ +--- +mode: required + +method: netinstall-add + +labels: + step: "Init selection" + step[de]: "Initauswahl" + +default: Dinit + +items: + - id: Dinit + name: dinit + description: "Dinit init system" + screenshot: "" + netinstall: + name: "dinit" + description: "Dinit init system" + selected: true + 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: OpenRC + name: openrc + description: "⚠ OpenRC init system — BROKEN in Antergos NeXT (init-rc conflict with dinit). Will be re-added once fixed." + screenshot: "" + netinstall: + name: "openrc" + description: "OpenRC init system" + selected: false + critical: false + 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: S6 + name: s6 + description: "S6 init system" + screenshot: "" + 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: "" + 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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packages.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packages.conf new file mode 100644 index 0000000..6cd95be --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/packages.conf @@ -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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/partition.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/partition.conf new file mode 100644 index 0000000..7e74cac --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/partition.conf @@ -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"] diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/postcfg.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/postcfg.conf new file mode 100644 index 0000000..41500fe --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/postcfg.conf @@ -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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/services-artix.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/services-artix.conf new file mode 100644 index 0000000..e5114bb --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/services-artix.conf @@ -0,0 +1,24 @@ +--- +command: artix-service + +services: + - name: "acpid" + action: "enable" + - name: "bluetoothd" + action: "enable" + - name: "cronie" + action: "enable" + - name: "cupsd" + action: "enable" + - name: "dbus" + action: "enable" + - name: "dhcpcd" + action: "enable" + - name: "NetworkManager" + action: "enable" + - name: "power-profiles-daemon" + action: "enable" + - name: "sddm" + action: "enable" + - name: "syslog-ng" + action: "enable" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/umount.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/umount.conf new file mode 100644 index 0000000..c1f548c --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/umount.conf @@ -0,0 +1,2 @@ +--- +emergency: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/users.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/users.conf new file mode 100644 index 0000000..99c1963 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/users.conf @@ -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 ] diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/welcome.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/welcome.conf new file mode 100644 index 0000000..181d3ed --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/modules/welcome.conf @@ -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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/settings.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/settings.conf new file mode 100644 index 0000000..b42bd65 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares-online/settings.conf @@ -0,0 +1,64 @@ +--- +modules-search: [ local ] + +sequence: + - show: + - welcome + - notesqml@minimal-info + - locale + - keyboard + - packagechooser + - packagechooser@dm + - 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 + +instances: +- id: dm + module: packagechooser + config: packagechooser_dm.conf +- id: minimal-info + module: notesqml + config: minimal-info.conf + +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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/basestrap.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/basestrap.conf new file mode 100644 index 0000000..cc97c1a --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/basestrap.conf @@ -0,0 +1,35 @@ +--- +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 + - antergos-next + +base_init: elogind + +operations: + - install: + - base + - antergos-next-keyring + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/bootloader.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/bootloader.conf new file mode 100644 index 0000000..4413b38 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/bootloader.conf @@ -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" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/displaymanager.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/displaymanager.conf new file mode 100644 index 0000000..f93e7be --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/displaymanager.conf @@ -0,0 +1,12 @@ +--- +displaymanagers: + - sddm + - lightdm + - lxdm + - ly + - greetd + - gdm + - mdm + - slim + +basicSetup: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/finished.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/finished.conf new file mode 100644 index 0000000..1983892 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/finished.conf @@ -0,0 +1,6 @@ +--- +restartNowMode: user-unchecked + +restartNowCommand: "loginctl reboot" + +notifyOnFinished: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/grubcfg.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/grubcfg.conf new file mode 100644 index 0000000..c9da362 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/grubcfg.conf @@ -0,0 +1,20 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +--- +overwrite: false + +prefer_grub_d: false + +keep_distributor: false + +kernel_params: [ "quiet" ] + +defaults: + GRUB_TIMEOUT: 5 + GRUB_DEFAULT: "saved" + GRUB_DISABLE_SUBMENU: true + GRUB_TERMINAL_OUTPUT: "console" + GRUB_DISABLE_RECOVERY: true + GRUB_THEME: "/usr/share/grub/themes/antergos/theme.txt" + +always_use_defaults: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/dinit.svg b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/dinit.svg new file mode 100644 index 0000000..097570d --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/dinit.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/openrc.svg b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/openrc.svg new file mode 100644 index 0000000..0440909 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/openrc.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/runit.svg b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/runit.svg new file mode 100644 index 0000000..e61bedf --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/runit.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/s6.svg b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/s6.svg new file mode 100644 index 0000000..44767e9 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/images/s6.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/machineid.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/machineid.conf new file mode 100644 index 0000000..7ab945a --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/machineid.conf @@ -0,0 +1,5 @@ +--- +systemd: false +dbus: false +dbus-symlink: false +entropy-copy: false diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/minimal-info.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/minimal-info.conf new file mode 100644 index 0000000..5b78c07 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/minimal-info.conf @@ -0,0 +1,4 @@ +---qmlSearch: branding +qmlFilename: minimal-info.qml +qmlLabel: + minimal-info: "About This Edition" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.conf new file mode 100644 index 0000000..9f50cc5 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.conf @@ -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" + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.yaml b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.yaml new file mode 100644 index 0000000..d159284 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/netinstall.yaml @@ -0,0 +1,281 @@ +- name: "Default" + description: "Default packages" + hidden: false + selected: true + critical: true + immutable: true + packages: + - linux + - linux-headers + - grub + - efibootmgr + - sudo + - antergos-release + - antergos-next-keyring + - antergos-wallpapers + - antergos-grub-theme + - falkon + - mesa + - mesa-utils + - networkmanager + - network-manager-applet + - pipewire + - pipewire-alsa + - pipewire-pulse + - wireplumber + + +- 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: + - antergos-lsb-release + - nano + - vi + +- name: "Devel" + description: "Development tools" + selected: false + packages: + - base-devel + - artools-base + - artools-iso + - artools-pkg + +- name: "Desktop" + description: "DE" + selected: true + critical: false + subgroups: + - name: "Plasma" + description: "KDE Plasma Desktop" + selected: true + packages: + - antergos-plasma-theme + - antergos-next-desktop-settings + - ark + - bluedevil + - breeze-gtk + - dolphin + - dolphin-plugins + - ffmpegthumbs + - gwenview + - kate + - kcalc + - kde-cli-tools + - kde-gtk-config + - kdeconnect + - kdegraphics-thumbnailers + - kdenetwork-filesharing + - kdeplasma-addons + - keditbookmarks + - kfind + - kgpg + - kinfocenter + - kio-admin + - kio-extras + - kio-fuse + - konsole + - konversation + - kscreen + - kwallet-pam + - kwalletmanager + - 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 + - name: "Xfce" + description: "Xfce Desktop" + selected: false + packages: + - antergos-xfce-theme + - exo + - garcon + - thunar + - thunar-volman + - tumbler + - xfce4-appfinder + - xfce4-panel + - xfce4-power-manager + - xfce4-session + - xfce4-settings + - xfce4-terminal + - xfconf + - xfdesktop + - xfwm4 + - xfwm4-themes + - mousepad + - parole + - ristretto + - thunar-archive-plugin + - thunar-media-tags-plugin + - xfburn + - xfce4-clipman-plugin + - xfce4-notifyd + - xfce4-pulseaudio-plugin + - xfce4-screenshooter + - xfce4-screensaver + - xfce4-taskmanager + - xfce4-whiskermenu-plugin + - name: "Cinnamon" + description: "Cinnamon Desktop" + selected: false + packages: + - cinnamon + - cinnamon-control-center + - cinnamon-desktop + - cinnamon-menus + - cinnamon-screensaver + - cinnamon-session + - cinnamon-settings-daemon + - cinnamon-translations + - name: "MATE" + description: "MATE Desktop" + selected: false + packages: + - caja + - marco + - mate-backgrounds + - mate-control-center + - mate-desktop + - mate-icon-theme + - mate-menus + - mate-notification-daemon + - mate-panel + - mate-polkit + - mate-session-manager + - mate-settings-daemon + - mate-themes + - mate-user-guide + - atril + - eom + - mate-applets + - mate-calc + - mate-power-manager + - mate-screensaver + - mate-system-monitor + - mate-terminal + - mate-utils + - pluma + - name: "LXQt" + description: "LXQt Desktop" + selected: false + packages: + - lximage-qt + - lxqt-about + - lxqt-admin + - lxqt-archiver + - lxqt-config + - lxqt-globalkeys + - lxqt-menu-data + - lxqt-notificationd + - lxqt-openssh-askpass + - lxqt-panel + - lxqt-policykit + - lxqt-powermanagement + - lxqt-qtplugin + - lxqt-runner + - lxqt-session + - lxqt-sudo + - lxqt-themes + - obconf-qt + - openbox + - pavucontrol-qt + - pcmanfm-qt + - qps + - qterminal + - screengrab + - xdg-desktop-portal-lxqt + - name: "i3" + description: "i3 Tiling WM" + selected: false + packages: + - i3-wm + - i3blocks + - i3lock + - i3status + - name: "Sway" + description: "Sway Wayland Compositor" + selected: false + packages: + - sway + - swaybg + - swayidle + - swaylock + - name: "Hyprland" + description: "Hyprland Wayland Compositor" + selected: false + packages: + - hyprland + - xdg-desktop-portal-hyprland + +- name: "SDDM" + description: "SDDM display manager" + selected: false + packages: + - sddm + - sddm-dinit + - antergos-sddm-theme + +- name: "LightDM" + description: "LightDM display manager" + selected: false + packages: + - lightdm + - lightdm-dinit + +- name: "LXDM" + description: "LXDM display manager" + selected: false + packages: + - lxdm + - lxdm-dinit + +- name: "LY" + description: "LY display manager" + selected: false + packages: + - ly + - ly-dinit diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser.conf new file mode 100644 index 0000000..a120773 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser.conf @@ -0,0 +1,303 @@ +--- +mode: required + +method: netinstall-add + +labels: + step: "Init selection" + step[de]: "Initauswahl" + +default: Dinit + +items: + - id: Dinit + name: dinit + description: "Dinit init system" + screenshot: "/etc/calamares/modules/images/dinit.svg" + netinstall: + name: "dinit" + description: "Dinit init system" + selected: true + 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 + - pipewire-dinit + - pipewire-pulse-dinit + - power-profiles-daemon-dinit + - rsync-dinit + - wireplumber-dinit + + - id: OpenRC + name: openrc + description: "⚠ OpenRC init system — BROKEN in Antergos NeXT (init-rc conflict with dinit). Will be re-added once fixed." + screenshot: "/etc/calamares/modules/images/openrc.svg" + netinstall: + name: "openrc" + description: "OpenRC init system" + selected: false + critical: false + 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 + - pipewire-openrc + - power-profiles-daemon-openrc + - rsync-openrc + - wireplumber-openrc + + - id: S6 + name: s6 + description: "S6 init system" + screenshot: "/etc/calamares/modules/images/s6.svg" + 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 + - pipewire-s6 + - power-profiles-daemon-s6 + - rsync-s6 + - wireplumber-s6 + + - id: Runit + name: runit + description: "Runit init system" + screenshot: "/etc/calamares/modules/images/runit.svg" + 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 + - pipewire-runit + - power-profiles-daemon-runit + - rsync-runit + - wireplumber-runit diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser_dm.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser_dm.conf new file mode 100644 index 0000000..a63a656 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packagechooser_dm.conf @@ -0,0 +1,31 @@ +--- +mode: required + +method: netinstall-select + +labels: + step: "Display Manager" + step[de]: "Display Manager" + +default: SDDM + +items: + - id: SDDM + name: sddm + description: "QML-based display manager (KDE default)" + screenshot: "" + + - id: LightDM + name: lightdm + description: "Cross-desktop display manager (GTK)" + screenshot: "" + + - id: LXDM + name: lxdm + description: "Lightweight display manager (LXDE)" + screenshot: "" + + - id: LY + name: ly + description: "Minimal TUI display manager" + screenshot: "" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packages.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packages.conf new file mode 100644 index 0000000..5b005cb --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/packages.conf @@ -0,0 +1,13 @@ +--- +backend: pacman +skip_if_no_internet: false +update_db: true +ignore_update_db_error: false +update_system: false + +pacman: + num_retries: 3 + disable_download_timeout: false + needed_only: true + +operations: [] diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/postcfg.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/postcfg.conf new file mode 100644 index 0000000..41500fe --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/postcfg.conf @@ -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 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf new file mode 100644 index 0000000..2cac80c --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/calamares/modules/services-artix.conf @@ -0,0 +1,26 @@ +--- +command: artix-service + +services: + - name: "acpid" + action: "enable" + - name: "bluetoothd" + action: "enable" + - name: "cronie" + action: "enable" + - name: "cupsd" + action: "enable" + - name: "dbus" + action: "enable" + - name: "dhcpcd" + action: "enable" + - name: "NetworkManager" + action: "enable" + - name: "power-profiles-daemon" + action: "enable" + - name: "sddm" + action: "enable" + - name: "syslog-ng" + action: "enable" + - name: "dinit-user-spawn" + action: "enable" diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/elogind/logind.conf b/iso-profiles/antergos-minimal/live-overlay/etc/elogind/logind.conf new file mode 100644 index 0000000..f607e43 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/elogind/logind.conf @@ -0,0 +1,45 @@ +# This file is part of elogind. +# +# elogind is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) +# any later version. +# +# Entries in this file show the compile time defaults. Local configuration +# should be created by either modifying this file, or by creating "drop-ins" in +# the logind.conf.d/ subdirectory. The latter is generally recommended. +# Defaults can be restored by simply deleting this file and all drop-ins. +# +# See logind.conf(5) for details. + +[Login] +#KillUserProcesses=no +#KillOnlyUsers= +#KillExcludeUsers=root +#InhibitDelayMaxSec=5 +#UserStopDelaySec=10 +#HandlePowerKey=poweroff +#HandlePowerKeyLongPress=ignore +#HandleRebootKey=reboot +#HandleRebootKeyLongPress=poweroff +#HandleSuspendKey=suspend +#HandleSuspendKeyLongPress=hibernate +#HandleHibernateKey=hibernate +#HandleHibernateKeyLongPress=ignore +#HandleLidSwitch=suspend +#HandleLidSwitchExternalPower=suspend +#HandleLidSwitchDocked=ignore +#PowerKeyIgnoreInhibited=no +#SuspendKeyIgnoreInhibited=no +#HibernateKeyIgnoreInhibited=no +#LidSwitchIgnoreInhibited=yes +#RebootKeyIgnoreInhibited=no +#HoldoffTimeoutSec=30s +#IdleAction=ignore +#IdleActionSec=30min +#RuntimeDirectorySize=10% +#RuntimeDirectoryInodesMax= +#RemoveIPC=yes +#InhibitorsMax=8192 +#SessionsMax=8192 +#StopIdleSessionSec=infinity diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/elogind/sleep.conf b/iso-profiles/antergos-minimal/live-overlay/etc/elogind/sleep.conf new file mode 100644 index 0000000..25c36f5 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/elogind/sleep.conf @@ -0,0 +1,36 @@ +# This file is part of elogind. +# +# elogind is free software; you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation; either version 2.1 of the License, or (at your option) +# any later version. +# +# Entries in this file show the compile time defaults. Local configuration +# should be created by either modifying this file, or by creating "drop-ins" in +# the sleep.conf.d/ subdirectory. The latter is generally recommended. +# Defaults can be restored by simply deleting this file and all drop-ins. +# +# See sleep.conf(5) for details. + +[Sleep] +#AllowSuspend=yes +#AllowHibernation=yes +#AllowSuspendThenHibernate=yes +#AllowHybridSleep=yes +#SuspendMode= +#SuspendState=mem standby freeze +#HibernateMode=platform shutdown +#HibernateState=disk +#HybridSleepMode=suspend platform shutdown +#HybridSleepState=disk +#HibernateDelaySec= +#SuspendEstimationSec=60min + +# elogind additions +#AllowPowerOffInterrupts=no +#BroadcastPowerOffInterrupts=yes +#AllowSuspendInterrupts=no +#BroadcastSuspendInterrupts=yes +#SuspendByUsing= +#HibernateByUsing= +#HandleNvidiaSleep=no diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/fstab b/iso-profiles/antergos-minimal/live-overlay/etc/fstab new file mode 100644 index 0000000..53133c2 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/fstab @@ -0,0 +1,5 @@ +# +# /etc/fstab: static file system information +# +# +/dev/mapper/rootfs / auto defaults 0 0 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/hostname b/iso-profiles/antergos-minimal/live-overlay/etc/hostname new file mode 100644 index 0000000..8977a2f --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/hostname @@ -0,0 +1 @@ +antergos-live diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/hosts b/iso-profiles/antergos-minimal/live-overlay/etc/hosts new file mode 100644 index 0000000..0d79448 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/hosts @@ -0,0 +1,2 @@ +127.0.0.1 localhost.localdomain antergos-live localhost +::1 localhost.localdomain antergos-live localhost diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/issue b/iso-profiles/antergos-minimal/live-overlay/etc/issue new file mode 100644 index 0000000..a83f364 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/issue @@ -0,0 +1,19 @@ +[?25l[?7l `.-/::/-`` + .-/osssssssso/. + :osyysssssssyyys+- + `.+yyyysssssssssyyyyy+. + `/syyyyyssssssssssyyyyys-` + `/yhyyyyysss++ssosyyyyhhy/` + .ohhhyyyyso++/+oso+syy+shhhho. + .shhhhysoo++//+sss+++yyy+shhhhs. + -yhhhhs+++++++ossso+++yyys+ohhddy: + -yddhhyo+++++osyyss++++yyyyooyhdddy- + .yddddhso++osyyyyys+++++yyhhsoshddddy` +`odddddhyosyhyyyyyy++++++yhhhyosddddddo +.dmdddddhhhhhhhyyyo+++++shhhhhohddddmmh. +ddmmdddddhhhhhhhso++++++yhhhhhhdddddmmdy +dmmmdddddddhhhyso++++++shhhhhddddddmmmmh +-dmmmdddddddhhyso++++oshhhhdddddddmmmmd- +.smmmmddddddddhhhhhhhhhdddddddddmmmms. + `+ydmmmdddddddddddddddddddmmmmdy/. + `.:+ooyyddddddddddddyyso+:.` diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/issue.live b/iso-profiles/antergos-minimal/live-overlay/etc/issue.live new file mode 100644 index 0000000..499be21 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/issue.live @@ -0,0 +1,8 @@ + +[?25h[?7hAntergos NeXT Live ISO (\l) - \s-\r \m + + # Welcome to Antergos NeXT # + +login for the live environment: + user 'antergos' + password 'antergos' diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/os-release b/iso-profiles/antergos-minimal/live-overlay/etc/os-release new file mode 100644 index 0000000..d7ad546 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/os-release @@ -0,0 +1,11 @@ +NAME="Antergos NeXT" +PRETTY_NAME="Antergos NeXT" +ID=antergos +ID_LIKE=artix +BUILD_ID=rolling +ANSI_COLOR="38;2;0;136;204" +HOME_URL="https://github.com/Antergos-NeXT" +DOCUMENTATION_URL="https://wiki.archlinux.org" +SUPPORT_URL="https://github.com/Antergos-NeXT" +BUG_REPORT_URL="https://github.com/Antergos-NeXT" +LOGO=antergos-logo diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/pam.d/su b/iso-profiles/antergos-minimal/live-overlay/etc/pam.d/su new file mode 100644 index 0000000..a291042 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/pam.d/su @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth sufficient pam_wheel.so trust use_uid +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/polkit-1/rules.d/90-live.rules b/iso-profiles/antergos-minimal/live-overlay/etc/polkit-1/rules.d/90-live.rules new file mode 100644 index 0000000..cca8039 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/polkit-1/rules.d/90-live.rules @@ -0,0 +1,8 @@ +/* Allow members of the wheel group to execute any actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/sddm.conf.d/kde_settings.conf b/iso-profiles/antergos-minimal/live-overlay/etc/sddm.conf.d/kde_settings.conf new file mode 100644 index 0000000..597c045 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/sddm.conf.d/kde_settings.conf @@ -0,0 +1,17 @@ +[Autologin] +Relogin=false +Session=xfce.desktop +User=antergos + +[General] +HaltCommand=/usr/bin/loginctl poweroff +RebootCommand=/usr/bin/loginctl reboot + +[Theme] +Current=breeze +CursorTheme=breeze_cursors +Font=Noto Sans,10,-1,0,50,0,0,0,0,0 + +[Users] +MaximumUid=60000 +MinimumUid=1000 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc b/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc new file mode 100644 index 0000000..b3fb3b9 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,11 @@ +[Containments][1] +activity= +formfactor=0 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][1][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/antergos-wallpaper/contents/images/antergos-wallpaper.png +FillMode=2 diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml new file mode 100644 index 0000000..82788fc --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml new file mode 100644 index 0000000..e624b03 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/skel/Desktop/calamares.desktop b/iso-profiles/antergos-minimal/live-overlay/etc/skel/Desktop/calamares.desktop new file mode 100644 index 0000000..b59e6ed --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/skel/Desktop/calamares.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=Install Antergos NeXT +Name[en]=Install Antergos NeXT +Comment=Install Antergos NeXT on this computer +Exec=sudo -E calamares-next +Icon=calamares +Terminal=false +Categories=Qt;System;Settings; +StartupNotify=true diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/g_wheel b/iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/g_wheel new file mode 100644 index 0000000..8c45359 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/g_wheel @@ -0,0 +1 @@ +%wheel ALL=(ALL) NOPASSWD: ALL diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/u_root b/iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/u_root new file mode 100644 index 0000000..ddb589c --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/sudoers.d/u_root @@ -0,0 +1 @@ +root ALL=(ALL) ALL diff --git a/iso-profiles/antergos-minimal/live-overlay/etc/syslog-ng/syslog-ng.conf b/iso-profiles/antergos-minimal/live-overlay/etc/syslog-ng/syslog-ng.conf new file mode 100644 index 0000000..10b563d --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/etc/syslog-ng/syslog-ng.conf @@ -0,0 +1,276 @@ +############################################################################# +# Default syslog-ng.conf file which collects all local logs into a +# single file called /var/log/messages. +# + +@version: 4.8 +@include "scl.conf" + +source s_local { + system(); + internal(); +}; + +source s_network { + default-network-drivers( + # NOTE: TLS support + # + # the default-network-drivers() source driver opens the TLS + # enabled ports as well, however without an actual key/cert + # pair they will not operate and syslog-ng would display a + # warning at startup. + # + #tls(key-file("/path/to/ssl-private-key") cert-file("/path/to/ssl-cert")) + ); +}; + +destination d_local { + file("/var/log/messages"); + file("/var/log/messages-kv.log" template("$ISODATE $HOST $(format-welf --scope all-nv-pairs)\n") frac-digits(3)); +}; +destination d_acpid { + file("/var/log/acpid.log"); +}; +destination d_authlog { + file("/var/log/auth.log"); +}; +destination d_console { + usertty("root"); +}; +destination d_cron { + file("/var/log/crond.log"); +}; +destination d_daemon { + file("/var/log/daemon.log"); +}; +destination d_debug { + file("/var/log/debug.log"); +}; +destination d_errors { + file("/var/log/errors.log"); +}; +destination d_everything { + file("/var/log/everything.log"); +}; +destination d_iptables { + file("/var/log/iptables.log"); +}; +destination d_kernel { + file("/var/log/kernel.log"); +}; +destination d_lpr { + file("/var/log/lpr.log"); +}; +destination d_mail { + file("/var/log/mail.log"); +}; +destination d_messages { + file("/var/log/messages.log"); +}; +destination d_news { + file("/var/log/news.log"); +}; +destination d_ppp { + file("/var/log/ppp.log"); +}; +destination d_syslog { + file("/var/log/syslog.log"); +}; +# Log everything to tty12 +destination d_tty12 { + file("/dev/tty12"); +}; +destination d_user { + file("/var/log/user.log"); +}; +destination d_uucp { + file("/var/log/uucp.log"); +}; + +filter f_acpid { + program("acpid"); +}; +filter f_auth { + facility(auth); +}; +filter f_authpriv { + facility(auth, authpriv); +}; +filter f_crit { + level(crit); +}; +filter f_cron { + facility(cron); +}; +filter f_daemon { + facility(daemon); +}; +filter f_debug { + not facility(auth, authpriv, news, mail); +}; +filter f_emergency { + level(emerg); +}; +filter f_err { + level(err); +}; +filter f_everything { + level(debug..emerg) and not facility(auth, authpriv); +}; +filter f_info { + level(info); +}; +filter f_iptables { + match("IN=" value("MESSAGE")) and match("OUT=" value("MESSAGE")); +}; +filter f_kernel { + facility(kern) and not filter(f_iptables); +}; +filter f_lpr { + facility(lpr); +}; +filter f_mail { + facility(mail); +}; +filter f_messages { + level(info..warn) and not facility(auth, authpriv, mail, news, cron) and not program(syslog-ng) and not filter(f_iptables); +}; +filter f_news { + facility(news); +}; +filter f_notice { + level(notice); +}; +filter f_ppp { + facility(local2); +}; +filter f_syslog { + program(syslog-ng); +}; +filter f_user { + facility(user); +}; +filter f_uucp { + facility(uucp); +}; +filter f_warn { + level(warn); +}; + +log { + source(s_local); + + # uncomment this line to open port 514 to receive messages + #source(s_network); + # destination(d_local); +}; +log { + source(s_local); + filter(f_acpid); + destination(d_acpid); +}; +log { + source(s_local); + filter(f_authpriv); + destination(d_authlog); +}; +log { + source(s_local); + filter(f_cron); + destination(d_cron); +}; +log { + source(s_local); + filter(f_daemon); + destination(d_daemon); +}; +log { + source(s_local); +# filter(f_debug); +# destination(d_debug); +}; +log { + source(s_local); + # filter(f_emergency); + # destination(d_console); +}; +log { + source(s_local); + filter(f_err); + destination(d_errors); +}; +log { + source(s_local); + filter(f_everything); + destination(d_everything); +}; +log { + source(s_local); + # filter(f_iptables); + # destination(d_iptables); +}; +log { + source(s_local); + filter(f_kernel); + destination(d_kernel); +}; +log { + source(s_local); + # filter(f_lpr); + # destination(d_lpr); +}; +log { + source(s_local); + # filter(f_mail); + # destination(d_mail); +}; +log { + source(s_local); + # filter(f_messages); + # destination(d_messages); +}; +log { + source(s_local); + # filter(f_news); + # destination(d_news); +}; +log { + source(s_local); + # filter(f_ppp); + # destination(d_ppp); +}; +log { + source(s_local); + filter(f_user); + destination(d_user); +}; +log { + source(s_local); + filter(f_uucp); + destination(d_uucp); +}; +log { + source(s_local); + # filter(f_syslog); + # destination(d_syslog); +}; +# Log everything to tty12 +log { + source(s_local); + # destination(d_tty12); +}; + +options { + chain_hostnames(off); + create_dirs(no); + dns_cache(no); + flush_lines(0); + group("log"); + keep_hostname(yes); + log_fifo_size(10000); + perm(0640); + stats(freq(0)); + time_reopen(10); + use_dns(no); + use_fqdn(no); +}; diff --git a/iso-profiles/antergos-minimal/live-overlay/usr/bin/systemd-machine-id-setup b/iso-profiles/antergos-minimal/live-overlay/usr/bin/systemd-machine-id-setup new file mode 100755 index 0000000..f31d304 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/usr/bin/systemd-machine-id-setup @@ -0,0 +1,29 @@ +#!/bin/bash + +ROOT="" + +for arg in "$@"; do + case "$arg" in + --root=*) + ROOT="${arg#*=}" + ;; + esac +done + +MACHINE_ID_FILE="${ROOT}/etc/machine-id" + +if [ -f "$MACHINE_ID_FILE" ] && [ -s "$MACHINE_ID_FILE" ]; then + exit 0 +fi + +mkdir -p "$(dirname "$MACHINE_ID_FILE")" + +if command -v dbus-uuidgen &>/dev/null; then + dbus-uuidgen --ensure 2>/dev/null +fi + +if [ ! -f "$MACHINE_ID_FILE" ] || [ ! -s "$MACHINE_ID_FILE" ]; then + od -An -N16 -tx1 /dev/urandom | tr -d ' \n' > "$MACHINE_ID_FILE" +fi + +chmod 0644 "$MACHINE_ID_FILE" diff --git a/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/main.py b/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/main.py new file mode 100644 index 0000000..cf22f40 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/main.py @@ -0,0 +1,592 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# === This file is part of Calamares - === +# +# SPDX-FileCopyrightText: 2014 Pier Luigi Fiorini +# SPDX-FileCopyrightText: 2015-2017 Teo Mrnjavac +# SPDX-FileCopyrightText: 2016-2017 Kyle Robbertze +# SPDX-FileCopyrightText: 2017 Alf Gaida +# SPDX-FileCopyrightText: 2018 Adriaan de Groot +# SPDX-FileCopyrightText: 2018 Philip Müller +# SPDX-FileCopyrightText: 2023 Artoo +# SPDX-License-Identifier: GPL-3.0-or-later +# +# Calamares is Free Software: see the License-Identifier above. +# +# Antergos NeXT: Removed hardcoded hasInternet check; added +# skip_if_no_internet config option matching the packages module pattern. +# +# ╔══════════════════════════════════════════════════════════════════════════╗ +# ║ ⚠ CODEQL WARNING ⚠ ║ +# ║ GitHub's CodeQL (powered by Copilot AI) will flag several lines in ║ +# ║ this file as "findings". THEY ARE INTENTIONAL. "Fixing" them ║ +# ║ WILL break the ISO — previous attempts caused partial upgrades, ║ +# ║ package conflicts (audit-dinit vs audit-openrc, sddm vs x11win), ║ +# ║ and fatal installer crashes. Do not let an AI rewrite this file. ║ +# ║ If you must edit, test with a FULL online + offline install first. ║ +# ╚══════════════════════════════════════════════════════════════════════════╝ + +import abc +from string import Template +import os, shutil, subprocess + +import libcalamares +from libcalamares.utils import host_env_process_output, target_env_process_output +from libcalamares.utils import gettext_path, gettext_languages +from os.path import join + +import gettext +_translation = gettext.translation("calamares-python", + localedir=gettext_path(), + languages=gettext_languages(), + fallback=True) +_ = _translation.gettext +_n = _translation.ngettext + + +total_packages = 0 # For the entire job +completed_packages = 0 # Done so far for this job +group_packages = 0 # One group of packages from an -install or -remove entry + +# A PM object may set this to a string (take care of translations!) +# to override the string produced by pretty_status_message() +custom_status_message = None + +INSTALL = object() +REMOVE = object() +mode_packages = None # Changes to INSTALL or REMOVE + + +def _change_mode(mode): + global mode_packages + mode_packages = mode + if total_packages > 0: + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + else: + libcalamares.job.setprogress(0.0) + + +def pretty_name(): + return _("Install packages.") + + +def pretty_status_message(): + if custom_status_message is not None: + return custom_status_message + if not group_packages: + if (total_packages > 0): + # Outside the context of an operation + s = _("Processing packages (%(count)d / %(total)d)") + else: + s = _("Install packages.") + + elif mode_packages is INSTALL: + s = _n("Installing one package.", + "Installing %(num)d packages.", group_packages) + elif mode_packages is REMOVE: + s = _n("Removing one package.", + "Removing %(num)d packages.", group_packages) + else: + # No mode, generic description + s = _("Install packages.") + + return s % {"num": group_packages, + "count": completed_packages, + "total": total_packages} + + + +class PackageManager(metaclass=abc.ABCMeta): + """ + Package manager base class. A subclass implements package management + for a specific backend, and must have a class property `backend` + with the string identifier for that backend. + + Subclasses are collected below to populate the list of possible + backends. + """ + backend = None + + @abc.abstractmethod + def install(self, pkgs, from_local=False): + """ + Install a list of packages (named) into the system. + Although this handles lists, in practice it is called + with one package at a time. + + @param pkgs: list[str] + list of package names + @param from_local: bool + if True, then these are local packages (on disk) and the + pkgs names are paths. + """ + pass + + @abc.abstractmethod + def remove(self, pkgs): + """ + Removes packages. + + @param pkgs: list[str] + list of package names + """ + pass + + def run(self, script): + if script != "": + host_env_process_output(script.split(" ")) + + def install_package(self, packagedata, from_local=False): + """ + Install a package from a single entry in the install list. + This can be either a single package name, or an object + with pre- and post-scripts. If @p packagedata is a dict, + it is assumed to follow the documented structure. + + @param packagedata: str|dict + @param from_local: bool + see install.from_local + """ + if isinstance(packagedata, str): + self.install([packagedata], from_local=from_local) + else: + self.run(packagedata["pre-script"]) + self.install([packagedata["package"]], from_local=from_local) + self.run(packagedata["post-script"]) + + def remove_package(self, packagedata): + """ + Remove a package from a single entry in the remove list. + This can be either a single package name, or an object + with pre- and post-scripts. If @p packagedata is a dict, + it is assumed to follow the documented structure. + + @param packagedata: str|dict + """ + if isinstance(packagedata, str): + self.remove([packagedata]) + else: + self.run(packagedata["pre-script"]) + self.remove([packagedata["package"]]) + self.run(packagedata["post-script"]) + + def operation_install(self, package_list, from_local=False): + """ + Installs the list of packages named in @p package_list . + These can be strings -- plain package names -- or + structures (with a pre- and post-install step). + + This operation is called for "critical" packages, + which are expected to succeed, or fail, all together. + However, if there are packages with pre- or post-scripts, + then packages are installed one-by-one instead. + + NOTE: package managers may reimplement this method + NOTE: exceptions are expected to leave this method, to indicate + failure of the installation. + """ + if all([isinstance(x, str) for x in package_list]): + self.install(package_list, from_local=from_local) + else: + for package in package_list: + self.install_package(package, from_local=from_local) + + def operation_try_install(self, package_list): + """ + Installs the list of packages named in @p package_list . + These can be strings -- plain package names -- or + structures (with a pre- and post-install step). + + This operation is called for "non-critical" packages, + which can succeed or fail without affecting the overall installation. + Packages are installed one-by-one to support package managers + that do not have a "install as much as you can" mode. + + NOTE: package managers may reimplement this method + NOTE: no package-installation exceptions should be raised + """ + # we make a separate package manager call for each package so a + # single failing package won't stop all of them + for package in package_list: + try: + self.install_package(package) + except subprocess.CalledProcessError: + libcalamares.utils.warning("Could not install package %s" % package) + + def operation_remove(self, package_list): + """ + Removes the list of packages named in @p package_list . + These can be strings -- plain package names -- or + structures (with a pre- and post-install step). + + This operation is called for "critical" packages, which are + expected to succeed or fail all together. + However, if there are packages with pre- or post-scripts, + then packages are removed one-by-one instead. + + NOTE: package managers may reimplement this method + NOTE: exceptions should be raised to indicate failure + """ + if all([isinstance(x, str) for x in package_list]): + self.remove(package_list) + else: + for package in package_list: + self.remove_package(package) + + def operation_try_remove(self, package_list): + """ + Same relation as try_install has to install, except it removes + packages instead. Packages are removed one-by-one. + + NOTE: package managers may reimplement this method + NOTE: no package-installation exceptions should be raised + """ + for package in package_list: + try: + self.remove_package(package) + except subprocess.CalledProcessError: + libcalamares.utils.warning("Could not remove package %s" % package) + +### PACKAGE MANAGER IMPLEMENTATIONS +# +# Keep these alphabetical (presumably both by class name and backend name), +# even the Dummy implementation. +# + +class PMDummy(PackageManager): + backend = "dummy" + + def install(self, pkgs, from_local=False): + from time import sleep + libcalamares.utils.debug("Dummy backend: Installing " + str(pkgs)) + sleep(3) + + def remove(self, pkgs): + from time import sleep + libcalamares.utils.debug("Dummy backend: Removing " + str(pkgs)) + sleep(3) + + def run(self, script): + libcalamares.utils.debug("Dummy backend: Running script '" + str(script) + "'") + + +class PMPacman(PackageManager): + backend = "pacman" + + def __init__(self): + + def line_cb(line): + if line.startswith(":: "): + self.in_package_changes = "package" in line or "hooks" in line + else: + if self.in_package_changes and line.endswith("...\n"): + # Update the message, untranslated; do not change the + # progress percentage, since there may be more "installing..." + # lines in the output for the group, than packages listed + # explicitly. We don't know how to calculate proper progress. + global custom_status_message + custom_status_message = "pacman: " + line.strip() + libcalamares.job.setprogress(self.progress_fraction) + libcalamares.utils.debug(line) + + self.in_package_changes = False + self.line_cb = line_cb + + pacman = libcalamares.job.configuration.get("pacman", None) + if pacman is None: + pacman = dict() + if type(pacman) is not dict: + libcalamares.utils.warning("Job configuration *pacman* will be ignored.") + pacman = dict() + self.pacman_num_retries = pacman.get("num_retries", 0) + self.pacman_disable_timeout = pacman.get("disable_download_timeout", False) + self.pacman_needed_only = pacman.get("needed_only", False) + self.pacman_key = pacman.get("handle_keyrings", False) + self.pacman_pacconf = pacman.get("copy_pacconf", False) + self.pacman_requirements = pacman.get("requirements", []) + self.pacman_keyrings = pacman.get("keyrings", []) + + def reset_progress(self): + self.in_package_changes = False + # These are globals + self.progress_fraction = (completed_packages * 1.0 / total_packages) + + def run_pacman(self, command, callback=False): + """ + Call pacman in a loop until it is successful or the number of retries is exceeded + :param command: The pacman command to run + :param callback: An optional boolean that indicates if this pacman run should use the callback + :return: + """ + + pacman_count = 0 + while pacman_count <= self.pacman_num_retries: + pacman_count += 1 + try: + if False: # callback: + host_env_process_output(command, self.line_cb) + else: + host_env_process_output(command) + + return + except subprocess.CalledProcessError: + if pacman_count <= self.pacman_num_retries: + pass + else: + raise + + def install(self, pkgs, from_local=False): + + install_root = libcalamares.globalstorage.value("rootMountPoint") + + self.setup_requirements(install_root) + + self.copy_file(install_root, "etc/resolv.conf") + + command = ["pacman"] + + command.extend(self.get_optargs(install_root)) + + # Don't ask for user intervention, take the default action + command.append("--noconfirm") + + # Don't report download progress for each file + command.append("--noprogressbar") + + if self.pacman_needed_only: + command.append("--needed") + + if self.pacman_disable_timeout: + command.append("--disable-download-timeout") + + if from_local: + command.append("-U") + else: + # -Sy syncs DB and installs requested packages in one transaction + command.append("-Sy") + command.append("--overwrite=*") + + command += pkgs + + libcalamares.utils.debug("Command: {!s}".format(command)) + + self.reset_progress() + self.run_pacman(command, True) + + if self.pacman_key: + self.init_keyring() + self.populate_keyring() + + if self.pacman_pacconf: + self.copy_file(install_root, "etc/pacman.conf") + + def remove(self, pkgs): + self.reset_progress() + install_root = libcalamares.globalstorage.value("rootMountPoint") + command = ["pacman"] + command.extend(self.get_optargs(install_root)) + command += ["-Rs", "--noconfirm"] + pkgs + self.run_pacman(command, True) + + def get_optargs(self, rootdir): + cachedir = join(rootdir, "var/cache/pacman/pkg") + dbpath = join(rootdir, "var/lib/pacman") + args = ["--root", rootdir, "--dbpath", dbpath, "--cachedir", cachedir] + return args + + def setup_requirements(self, rootdir): + cal_umask = os.umask(0) + for target in self.pacman_requirements: + dest = rootdir + target["dest"] + if not os.path.exists(dest): + mod = int(target["mode"], 8) + os.mkdir(dest, mode=mod) + libcalamares.utils.debug("Mode: {!s}".format(oct(mod))) + libcalamares.utils.debug("Created: {!s}".format(dest)) + + path = join(rootdir, "run") + os.chmod(path, 0o755) + os.umask(cal_umask) + + def copy_file(self, rootdir, f): + if os.path.exists(join("/",f)): + shutil.copy2(join("/",f), join(rootdir, f)) + + def init_keyring(self): + target_env_process_output(["pacman-key", "--init"]) + + def populate_keyring(self): + target_env_process_output(["pacman-key", "--populate"] + self.pacman_keyrings) + +# Collect all the subclasses of PackageManager defined above, +# and index them based on the backend property of each class. +backend_managers = [ + (c.backend, c) + for c in globals().values() + if type(c) is abc.ABCMeta and issubclass(c, PackageManager) and c.backend] + + +def subst_locale(plist): + """ + Returns a locale-aware list of packages, based on @p plist. + Package names that contain LOCALE are localized with the + BCP47 name of the chosen system locale; if the system + locale is 'en' (e.g. English, US) then these localized + packages are dropped from the list. + + @param plist: list[str|dict] + Candidate packages to install. + @return: list[str|dict] + """ + locale = libcalamares.globalstorage.value("locale") + if not locale: + # It is possible to skip the locale-setting entirely. + # Then pretend it is "en", so that {LOCALE}-decorated + # package names are removed from the list. + locale = "en" + + ret = [] + for packagedata in plist: + if isinstance(packagedata, str): + packagename = packagedata + else: + packagename = packagedata["package"] + + # Update packagename: substitute LOCALE, and drop packages + # if locale is en and LOCALE is in the package name. + if locale != "en": + packagename = Template(packagename).safe_substitute(LOCALE=locale) + elif 'LOCALE' in packagename: + packagename = None + + if packagename is not None: + # Put it back in packagedata + if isinstance(packagedata, str): + packagedata = packagename + else: + packagedata["package"] = packagename + + ret.append(packagedata) + + return ret + + +def run_operations(pkgman, entry): + """ + Call package manager with suitable parameters for the given + package actions. + + :param pkgman: PackageManager + This is the manager that does the actual work. + :param entry: dict + Keys are the actions -- e.g. "install" -- to take, and the values + are the (list of) packages to apply the action to. The actions are + not iterated in a specific order, so it is recommended to use only + one action per dictionary. The list of packages may be package + names (strings) or package information dictionaries with pre- + and post-scripts. + """ + global group_packages, completed_packages, mode_packages + + for key in entry.keys(): + package_list = subst_locale(entry[key]) + group_packages = len(package_list) + if key == "install": + _change_mode(INSTALL) + pkgman.operation_install(package_list) + elif key == "try_install": + _change_mode(INSTALL) + pkgman.operation_try_install(package_list) + elif key == "remove": + _change_mode(REMOVE) + pkgman.operation_remove(package_list) + elif key == "try_remove": + _change_mode(REMOVE) + pkgman.operation_try_remove(package_list) + elif key == "localInstall": + _change_mode(INSTALL) + pkgman.operation_install(package_list, from_local=True) + elif key == "source": + libcalamares.utils.debug("Package-list from {!s}".format(entry[key])) + else: + libcalamares.utils.warning("Unknown package-operation key {!s}".format(key)) + completed_packages += len(package_list) + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + libcalamares.utils.debug("Pretty name: {!s}, setting progress..".format(pretty_name())) + + group_packages = 0 + _change_mode(None) + + +def run(): + """ + Calls routine with detected package manager to install locale packages + or remove drivers not needed on the installed system. + + :return: + """ + global mode_packages, total_packages, completed_packages, group_packages + + backend = libcalamares.job.configuration.get("backend") + + for identifier, impl in backend_managers: + if identifier == backend: + pkgman = impl() + break + else: + return "Bad backend", "backend=\"{}\"".format(backend) + + skip_this = libcalamares.job.configuration.get("skip_if_no_internet", False) + if skip_this and not libcalamares.globalstorage.value("hasInternet"): + libcalamares.utils.warning("Package installation has been skipped: no internet") + return None + + operations = libcalamares.job.configuration.get("operations", []) + + base_init = libcalamares.job.configuration.get("base_init", None) + known_inits = ["openrc", "dinit", "runit", "s6"] + + if base_init is not None and libcalamares.globalstorage.contains("netinstallAdd"): + data = libcalamares.globalstorage.value("netinstallAdd") + for entry in data: + provider = entry.get("name", "").lower() + if provider in known_inits: + init_pkg = "-".join([base_init, provider]) + libcalamares.utils.debug("Init provider package added: {!s}".format(init_pkg)) + operations[0]["install"].append(init_pkg) + libcalamares.globalstorage.insert("initProvider", provider) + libcalamares.globalstorage.insert("baseInit", base_init) + break + + libcalamares.globalstorage.insert("packageOperationsBasestrap", operations) + + mode_packages = None + total_packages = 0 + completed_packages = 0 + for op in operations: + for packagelist in op.values(): + total_packages += len(subst_locale(packagelist)) + + if not total_packages: + # Avoids potential divide-by-zero in progress reporting + return None + + for entry in operations: + group_packages = 0 + libcalamares.utils.debug(pretty_name()) + try: + run_operations(pkgman, entry) + except subprocess.CalledProcessError as e: + libcalamares.utils.warning(str(e)) + libcalamares.utils.debug("stdout:" + str(e.stdout)) + libcalamares.utils.debug("stderr:" + str(e.stderr)) + return (_("Package Manager error"), + _("The package manager could not make changes to the installed system. The command
{!s}
returned error code {!s}.") + .format(e.cmd, e.returncode)) + + mode_packages = None + + libcalamares.job.setprogress(1.0) + + return None diff --git a/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/module.desc b/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/module.desc new file mode 100644 index 0000000..bf8984e --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/basestrap/module.desc @@ -0,0 +1,7 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +--- +type: "job" +name: "basestrap" +interface: "python" +script: "main.py" diff --git a/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/packages/main.py b/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/packages/main.py new file mode 100644 index 0000000..f643860 --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/usr/lib/calamares/modules/packages/main.py @@ -0,0 +1,381 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# === This file is part of Calamares - === +# +# SPDX-FileCopyrightText: 2014 Pier Luigi Fiorini +# SPDX-FileCopyrightText: 2015-2017 Teo Mrnjavac +# SPDX-FileCopyrightText: 2016-2017 Kyle Robbertze +# SPDX-FileCopyrightText: 2017 Alf Gaida +# SPDX-FileCopyrightText: 2018 Adriaan de Groot +# SPDX-FileCopyrightText: 2018 Philip Müller +# SPDX-License-Identifier: GPL-3.0-or-later +# +# Calamares is Free Software: see the License-Identifier above. +# +# Antergos NeXT: Install one-at-a-time with error isolation, +# --overwrite='*' to avoid file conflicts, and per-package logging. + +import abc +from string import Template +import subprocess + +import libcalamares +from libcalamares.utils import check_target_env_call +from libcalamares.utils import gettext_path, gettext_languages + +import gettext +_translation = gettext.translation("calamares-python", + localedir=gettext_path(), + languages=gettext_languages(), + fallback=True) +_ = _translation.gettext +_n = _translation.ngettext + + +total_packages = 0 +completed_packages = 0 +group_packages = 0 + +custom_status_message = None + +INSTALL = object() +REMOVE = object() +mode_packages = None + + +def _change_mode(mode): + global mode_packages + mode_packages = mode + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + + +def pretty_name(): + return _("Install packages.") + + +def pretty_status_message(): + if custom_status_message is not None: + return custom_status_message + if not group_packages: + if (total_packages > 0): + s = _("Processing packages (%(count)d / %(total)d)") + else: + s = _("Install packages.") + elif mode_packages is INSTALL: + s = _n("Installing one package.", + "Installing %(num)d packages.", group_packages) + elif mode_packages is REMOVE: + s = _n("Removing one package.", + "Removing %(num)d packages.", group_packages) + else: + s = _("Install packages.") + return s % {"num": group_packages, + "count": completed_packages, + "total": total_packages} + + +class PackageManager(metaclass=abc.ABCMeta): + backend = None + + @abc.abstractmethod + def install(self, pkgs, from_local=False): + pass + + @abc.abstractmethod + def remove(self, pkgs): + pass + + @abc.abstractmethod + def update_db(self): + pass + + def run(self, script): + if script != "": + check_target_env_call(script.split(" ")) + + def install_package(self, packagedata, from_local=False): + if isinstance(packagedata, str): + self.install([packagedata], from_local=from_local) + else: + self.run(packagedata["pre-script"]) + self.install([packagedata["package"]], from_local=from_local) + self.run(packagedata["post-script"]) + + def remove_package(self, packagedata): + if isinstance(packagedata, str): + self.remove([packagedata]) + else: + self.run(packagedata["pre-script"]) + self.remove([packagedata["package"]]) + self.run(packagedata["post-script"]) + + def operation_install(self, package_list, from_local=False): + if all([isinstance(x, str) for x in package_list]): + self.install(package_list, from_local=from_local) + else: + for package in package_list: + self.install_package(package, from_local=from_local) + + def operation_try_install(self, package_list): + for package in package_list: + try: + self.install_package(package) + except subprocess.CalledProcessError: + libcalamares.utils.warning("Could not install package %s" % package) + + def operation_remove(self, package_list): + if all([isinstance(x, str) for x in package_list]): + self.remove(package_list) + else: + for package in package_list: + self.remove_package(package) + + def operation_try_remove(self, package_list): + for package in package_list: + try: + self.remove_package(package) + except subprocess.CalledProcessError: + libcalamares.utils.warning("Could not remove package %s" % package) + + +class PMDummy(PackageManager): + backend = "dummy" + + def install(self, pkgs, from_local=False): + from time import sleep + libcalamares.utils.debug("Dummy backend: Installing " + str(pkgs)) + sleep(3) + + def remove(self, pkgs): + from time import sleep + libcalamares.utils.debug("Dummy backend: Removing " + str(pkgs)) + sleep(3) + + def update_db(self): + libcalamares.utils.debug("Dummy backend: Updating DB") + + def update_system(self): + libcalamares.utils.debug("Dummy backend: Updating System") + + def run(self, script): + libcalamares.utils.debug("Dummy backend: Running script '" + str(script) + "'") + + +class PMPacman(PackageManager): + backend = "pacman" + + def __init__(self): + def line_cb(line): + if line.startswith(":: "): + self.in_package_changes = "package" in line or "hooks" in line + else: + if self.in_package_changes and line.endswith("...\n"): + global custom_status_message + custom_status_message = "pacman: " + line.strip() + libcalamares.job.setprogress(self.progress_fraction) + libcalamares.utils.debug(line) + + self.in_package_changes = False + self.line_cb = line_cb + + pacman = libcalamares.job.configuration.get("pacman", None) + if pacman is None: + pacman = dict() + if type(pacman) is not dict: + libcalamares.utils.warning("Job configuration *pacman* will be ignored.") + pacman = dict() + self.pacman_num_retries = pacman.get("num_retries", 0) + self.pacman_disable_timeout = pacman.get("disable_download_timeout", False) + self.pacman_needed_only = pacman.get("needed_only", False) + + def reset_progress(self): + self.in_package_changes = False + self.progress_fraction = (completed_packages * 1.0 / total_packages) + + def run_pacman(self, command, callback=False): + pacman_count = 0 + while pacman_count <= self.pacman_num_retries: + pacman_count += 1 + try: + libcalamares.utils.target_env_process_output(command) + return + except subprocess.CalledProcessError: + if pacman_count <= self.pacman_num_retries: + pass + else: + raise + + def install(self, pkgs, from_local=False): + for pkg in pkgs: + command = ["pacman"] + if from_local: + command.append("-U") + else: + command.append("-S") + + command.append("--noconfirm") + command.append("--noprogressbar") + command.append("--overwrite=*") + + if self.pacman_needed_only is True: + command.append("--needed") + if self.pacman_disable_timeout is True: + command.append("--disable-download-timeout") + + command.append(pkg) + + self.reset_progress() + try: + self.run_pacman(command, True) + libcalamares.utils.debug("package_ok: {!s}".format(pkg)) + except subprocess.CalledProcessError as e: + libcalamares.utils.warning("package_fail: {!s}".format(pkg)) + libcalamares.utils.debug("stdout:" + str(e.stdout)) + libcalamares.utils.debug("stderr:" + str(e.stderr)) + raise + + def remove(self, pkgs): + self.reset_progress() + self.run_pacman(["pacman", "-Rs", "--noconfirm"] + pkgs, True) + + def update_db(self): + self.run_pacman(["pacman", "-Sy"]) + + def update_system(self): + command = ["pacman", "-Su", "--noconfirm"] + if self.pacman_disable_timeout is True: + command.append("--disable-download-timeout") + + self.run_pacman(command) + + +backend_managers = [ + (c.backend, c) + for c in globals().values() + if type(c) is abc.ABCMeta and issubclass(c, PackageManager) and c.backend] + + +def subst_locale(plist): + locale = libcalamares.globalstorage.value("locale") + if not locale: + locale = "en" + + ret = [] + for packagedata in plist: + if isinstance(packagedata, str): + packagename = packagedata + else: + packagename = packagedata["package"] + + if locale != "en": + packagename = Template(packagename).safe_substitute(LOCALE=locale) + elif 'LOCALE' in packagename: + packagename = None + + if packagename is not None: + if isinstance(packagedata, str): + packagedata = packagename + else: + packagedata["package"] = packagename + ret.append(packagedata) + + return ret + + +def run_operations(pkgman, entry): + global group_packages, completed_packages, mode_packages + + for key in entry.keys(): + package_list = subst_locale(entry[key]) + group_packages = len(package_list) + if key == "install": + _change_mode(INSTALL) + pkgman.operation_install(package_list) + elif key == "try_install": + _change_mode(INSTALL) + pkgman.operation_try_install(package_list) + elif key == "remove": + _change_mode(REMOVE) + pkgman.operation_remove(package_list) + elif key == "try_remove": + _change_mode(REMOVE) + pkgman.operation_try_remove(package_list) + elif key == "localInstall": + _change_mode(INSTALL) + pkgman.operation_install(package_list, from_local=True) + elif key == "source": + libcalamares.utils.debug("Package-list from {!s}".format(entry[key])) + else: + libcalamares.utils.warning("Unknown package-operation key {!s}".format(key)) + completed_packages += len(package_list) + libcalamares.job.setprogress(completed_packages * 1.0 / total_packages) + libcalamares.utils.debug("Pretty name: {!s}, setting progress..".format(pretty_name())) + + group_packages = 0 + _change_mode(None) + + +def run(): + global mode_packages, total_packages, completed_packages, group_packages + + backend = libcalamares.job.configuration.get("backend") + + for identifier, impl in backend_managers: + if identifier == backend: + pkgman = impl() + break + else: + return "Bad backend", "backend=\"{}\"".format(backend) + + skip_this = libcalamares.job.configuration.get("skip_if_no_internet", False) + if skip_this and not libcalamares.globalstorage.value("hasInternet"): + libcalamares.utils.warning("Package installation has been skipped: no internet") + return None + + update_db = libcalamares.job.configuration.get("update_db", False) + if update_db and libcalamares.globalstorage.value("hasInternet"): + try: + pkgman.update_db() + except subprocess.CalledProcessError as e: + libcalamares.utils.warning(str(e)) + libcalamares.utils.debug("stdout:" + str(e.stdout)) + libcalamares.utils.debug("stderr:" + str(e.stderr)) + libcalamares.utils.warning("Continuing despite update_db failure") + + operations = libcalamares.job.configuration.get("operations", []) + if libcalamares.globalstorage.contains("packageOperations"): + operations += libcalamares.globalstorage.value("packageOperations") + + mode_packages = None + total_packages = 0 + completed_packages = 0 + for op in operations: + for packagelist in op.values(): + total_packages += len(subst_locale(packagelist)) + + if not total_packages: + return None + + errors = [] + for entry in operations: + group_packages = 0 + libcalamares.utils.debug(pretty_name()) + try: + run_operations(pkgman, entry) + except subprocess.CalledProcessError as e: + libcalamares.utils.warning(str(e)) + libcalamares.utils.debug("stdout:" + str(e.stdout)) + libcalamares.utils.debug("stderr:" + str(e.stderr)) + errors.append((e.cmd, e.returncode, e.stderr)) + libcalamares.utils.debug("Continuing despite package error") + + mode_packages = None + libcalamares.job.setprogress(1.0) + + if errors: + return (None, + "Package installation completed with {!s} errors. " + "Check the logs for details.".format(len(errors))) + + return None diff --git a/iso-profiles/antergos-minimal/live-overlay/usr/share/applications/calamares.desktop b/iso-profiles/antergos-minimal/live-overlay/usr/share/applications/calamares.desktop new file mode 100644 index 0000000..b59e6ed --- /dev/null +++ b/iso-profiles/antergos-minimal/live-overlay/usr/share/applications/calamares.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Type=Application +Name=Install Antergos NeXT +Name[en]=Install Antergos NeXT +Comment=Install Antergos NeXT on this computer +Exec=sudo -E calamares-next +Icon=calamares +Terminal=false +Categories=Qt;System;Settings; +StartupNotify=true diff --git a/iso-profiles/antergos-minimal/profile.yaml b/iso-profiles/antergos-minimal/profile.yaml new file mode 100644 index 0000000..18a3630 --- /dev/null +++ b/iso-profiles/antergos-minimal/profile.yaml @@ -0,0 +1,86 @@ +--- +# Antergos NeXT Minimal (Xfce) profile +# Based on artools xfce profile with Antergos branding + +live-session: + user: antergos + password: antergos + autologin: true + use-xlibre: false + services: + - acpid + - bluetoothd + - cronie + - cupsd + - NetworkManager + - sddm + - power-profiles-daemon + user-services: + - dbus + - pipewire + - pipewire-pulse + - wireplumber +rootfs: + packages: + - antergos-release + - calamares + - calamares-branding-antergos-next-minimal + - antergos-next-keyring + - antergos-wallpapers + - antergos-sddm-theme + - falkon + - antergos-xfce-theme + - xfce4 + - xfce4-goodies + - thunar + - thunar-volman + - tumbler + - xfce4-terminal + - mousepad + - pavucontrol + - gnome-keyring + - parole + - ristretto + packages-init: + dinit: + - pipewire-dinit + - pipewire-pulse-dinit + - wireplumber-dinit + - dinit-user-spawn + - sddm-dinit + - networkmanager-dinit + - cups-dinit + - acpid-dinit + - bluez-dinit + - cronie-dinit + - dbus-dinit + - dbus-dinit-user + - dhcpcd-dinit + - power-profiles-daemon-dinit +livefs: + packages: + - squashfs-tools + - calamares-extensions + - antergos-grub-theme + - antergos-grub-live + - broadcom-wl + - virtualbox-guest-utils + - mkinitcpio-nfs-utils + - pipewire + - pipewire-pulse + - wireplumber + - sof-firmware + - alsa-firmware + - alsa-utils + packages-init: + dinit: + - antergos-live-dinit + - acpid-dinit + - bluez-dinit + - cronie-dinit + - cups-dinit + - networkmanager-dinit + - power-profiles-daemon-dinit + - sddm-dinit + - pipewire-dinit + - wireplumber-dinit diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/default/grub b/iso-profiles/antergos-minimal/root-overlay/etc/default/grub new file mode 100644 index 0000000..d163691 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/default/grub @@ -0,0 +1,53 @@ +GRUB_DEFAULT="0" +GRUB_TIMEOUT="3" +GRUB_DISTRIBUTOR="Antergos NeXT" +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" +GRUB_CMDLINE_LINUX="net.ifnames=0" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable Hidden Menu, and optionally hide the timeout count +#GRUB_HIDDEN_TIMEOUT="5" +#GRUB_HIDDEN_TIMEOUT_QUIET="true" + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT="console" + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT="console" + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +#GRUB_GFXMODE="1680x1050x8" +GRUB_GFXMODE="1024x768,800x600" + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX="keep" + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID="true" + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY="true" + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +export GRUB_COLOR_NORMAL="light-blue/black" +export GRUB_COLOR_HIGHLIGHT="light-cyan/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +GRUB_THEME="/usr/share/grub/themes/antergos/theme.txt" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +GRUB_SAVEDEFAULT="true" + +GRUB_DISABLE_LINUX_RECOVERY="true" + +# Probe for other installed operating systems +GRUB_DISABLE_OS_PROBER="false" diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/issue b/iso-profiles/antergos-minimal/root-overlay/etc/issue new file mode 100644 index 0000000..a83f364 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/issue @@ -0,0 +1,19 @@ +[?25l[?7l `.-/::/-`` + .-/osssssssso/. + :osyysssssssyyys+- + `.+yyyysssssssssyyyyy+. + `/syyyyyssssssssssyyyyys-` + `/yhyyyyysss++ssosyyyyhhy/` + .ohhhyyyyso++/+oso+syy+shhhho. + .shhhhysoo++//+sss+++yyy+shhhhs. + -yhhhhs+++++++ossso+++yyys+ohhddy: + -yddhhyo+++++osyyss++++yyyyooyhdddy- + .yddddhso++osyyyyys+++++yyhhsoshddddy` +`odddddhyosyhyyyyyy++++++yhhhyosddddddo +.dmdddddhhhhhhhyyyo+++++shhhhhohddddmmh. +ddmmdddddhhhhhhhso++++++yhhhhhhdddddmmdy +dmmmdddddddhhhyso++++++shhhhhddddddmmmmh +-dmmmdddddddhhyso++++oshhhhdddddddmmmmd- +.smmmmddddddddhhhhhhhhhdddddddddmmmms. + `+ydmmmdddddddddddddddddddmmmmdy/. + `.:+ooyyddddddddddddyyso+:.` diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/issue.live b/iso-profiles/antergos-minimal/root-overlay/etc/issue.live new file mode 100644 index 0000000..499be21 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/issue.live @@ -0,0 +1,8 @@ + +[?25h[?7hAntergos NeXT Live ISO (\l) - \s-\r \m + + # Welcome to Antergos NeXT # + +login for the live environment: + user 'antergos' + password 'antergos' diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/lsb-release b/iso-profiles/antergos-minimal/root-overlay/etc/lsb-release new file mode 100644 index 0000000..6176458 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/lsb-release @@ -0,0 +1,3 @@ +DISTRIB_ID="Antergos NeXT" +DISTRIB_RELEASE="rolling" +DISTRIB_DESCRIPTION="Antergos NeXT" diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/os-release b/iso-profiles/antergos-minimal/root-overlay/etc/os-release new file mode 100644 index 0000000..d7ad546 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/os-release @@ -0,0 +1,11 @@ +NAME="Antergos NeXT" +PRETTY_NAME="Antergos NeXT" +ID=antergos +ID_LIKE=artix +BUILD_ID=rolling +ANSI_COLOR="38;2;0;136;204" +HOME_URL="https://github.com/Antergos-NeXT" +DOCUMENTATION_URL="https://wiki.archlinux.org" +SUPPORT_URL="https://github.com/Antergos-NeXT" +BUG_REPORT_URL="https://github.com/Antergos-NeXT" +LOGO=antergos-logo diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/pacman.conf b/iso-profiles/antergos-minimal/root-overlay/etc/pacman.conf new file mode 100644 index 0000000..9fb3b70 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/pacman.conf @@ -0,0 +1,31 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +HoldPkg = pacman glibc +Architecture = auto +CheckSpace +ParallelDownloads = 5 +DownloadUser = alpm + +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +# Antergos NeXT custom packages repo +[antergos-pkgs] +SigLevel = Optional TrustAll +Server = https://antergos-next.github.io/antergos-packages/ + +[system] +Include = /etc/pacman.d/mirrorlist + +[world] +Include = /etc/pacman.d/mirrorlist + +[galaxy] +Include = /etc/pacman.d/mirrorlist diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf b/iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf new file mode 100644 index 0000000..dd4315b --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf @@ -0,0 +1,37 @@ +[General] +InputMethod=qtvirtualkeyboard +Numlock=none + +[Theme] +DisableAvatarsThreshold=7 +EnableAvatars=true +FacesDir=/usr/share/sddm/faces +ThemeDir=/usr/share/sddm/themes + +[Users] +DefaultPath=/usr/local/bin:/usr/bin:/bin +HideShells= +HideUsers= +RememberLastSession=true +RememberLastUser=true +ReuseSession=false + +[Wayland] +EnableHiDPI=false +SessionCommand=/usr/share/sddm/scripts/wayland-session +SessionDir=/usr/share/wayland-sessions +SessionLogFile=.local/share/sddm/wayland-session.log + +[X11] +DisplayCommand=/usr/share/sddm/scripts/Xsetup +DisplayStopCommand=/usr/share/sddm/scripts/Xstop +EnableHiDPI=false +MinimumVT=7 +ServerArguments=-nolisten tcp +ServerPath=/usr/bin/X +SessionCommand=/usr/share/sddm/scripts/Xsession +SessionDir=/usr/share/xsessions +SessionLogFile=.local/share/sddm/xorg-session.log +UserAuthFile=.Xauthority +XauthPath=/usr/bin/xauth +XephyrPath=/usr/bin/Xephyr diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf.d/kde_settings.conf b/iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf.d/kde_settings.conf new file mode 100644 index 0000000..597c045 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/sddm.conf.d/kde_settings.conf @@ -0,0 +1,17 @@ +[Autologin] +Relogin=false +Session=xfce.desktop +User=antergos + +[General] +HaltCommand=/usr/bin/loginctl poweroff +RebootCommand=/usr/bin/loginctl reboot + +[Theme] +Current=breeze +CursorTheme=breeze_cursors +Font=Noto Sans,10,-1,0,50,0,0,0,0,0 + +[Users] +MaximumUid=60000 +MinimumUid=1000 diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/antergos-wallpaper.desktop b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/antergos-wallpaper.desktop new file mode 100644 index 0000000..ceb2b26 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/autostart/antergos-wallpaper.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Type=Application +Name=Set Antergos NeXT Wallpaper +Comment=Apply Antergos NeXT default wallpaper on first login +Exec=/usr/local/bin/set-antergos-wallpaper.sh +Terminal=false +X-KDE-autostart-phase=2 +NoDisplay=true diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml new file mode 100644 index 0000000..82788fc --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml new file mode 100644 index 0000000..e624b03 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/etc/skel/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/iso-profiles/antergos-minimal/root-overlay/usr/bin/systemd-machine-id-setup b/iso-profiles/antergos-minimal/root-overlay/usr/bin/systemd-machine-id-setup new file mode 100755 index 0000000..f31d304 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/usr/bin/systemd-machine-id-setup @@ -0,0 +1,29 @@ +#!/bin/bash + +ROOT="" + +for arg in "$@"; do + case "$arg" in + --root=*) + ROOT="${arg#*=}" + ;; + esac +done + +MACHINE_ID_FILE="${ROOT}/etc/machine-id" + +if [ -f "$MACHINE_ID_FILE" ] && [ -s "$MACHINE_ID_FILE" ]; then + exit 0 +fi + +mkdir -p "$(dirname "$MACHINE_ID_FILE")" + +if command -v dbus-uuidgen &>/dev/null; then + dbus-uuidgen --ensure 2>/dev/null +fi + +if [ ! -f "$MACHINE_ID_FILE" ] || [ ! -s "$MACHINE_ID_FILE" ]; then + od -An -N16 -tx1 /dev/urandom | tr -d ' \n' > "$MACHINE_ID_FILE" +fi + +chmod 0644 "$MACHINE_ID_FILE" diff --git a/iso-profiles/antergos-minimal/root-overlay/usr/lib/os-release b/iso-profiles/antergos-minimal/root-overlay/usr/lib/os-release new file mode 100644 index 0000000..d7ad546 --- /dev/null +++ b/iso-profiles/antergos-minimal/root-overlay/usr/lib/os-release @@ -0,0 +1,11 @@ +NAME="Antergos NeXT" +PRETTY_NAME="Antergos NeXT" +ID=antergos +ID_LIKE=artix +BUILD_ID=rolling +ANSI_COLOR="38;2;0;136;204" +HOME_URL="https://github.com/Antergos-NeXT" +DOCUMENTATION_URL="https://wiki.archlinux.org" +SUPPORT_URL="https://github.com/Antergos-NeXT" +BUG_REPORT_URL="https://github.com/Antergos-NeXT" +LOGO=antergos-logo