feat: add Antergos NeXT Minimal (Xfce) profile — lightweight ISO edition
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.
This commit is contained in:
+21
@@ -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"
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
---
|
||||
displaymanagers:
|
||||
- lightdm
|
||||
- gdm
|
||||
- mdm
|
||||
- sddm
|
||||
- lxdm
|
||||
- slim
|
||||
|
||||
basicSetup: false
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
restartNowMode: user-unchecked
|
||||
|
||||
restartNowCommand: "loginctl reboot"
|
||||
|
||||
notifyOnFinished: false
|
||||
@@ -0,0 +1,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
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
kernel: all
|
||||
|
||||
be_unsafe: false
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
localeGenPath: /etc/locale.gen
|
||||
|
||||
geoip:
|
||||
style: "json"
|
||||
url: "https://geoip.kde.org/v1/calamares"
|
||||
selector: ""
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
---
|
||||
systemd: false
|
||||
dbus: false
|
||||
dbus-symlink: false
|
||||
entropy-copy: false
|
||||
@@ -0,0 +1,131 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Mount filesystems in the target (generally, before treating the
|
||||
# target as a usable chroot / "live" system). Filesystems are
|
||||
# automatically mounted from the partitioning module. Filesystems
|
||||
# listed here are **extra**. The filesystems listed in *extraMounts*
|
||||
# are mounted in all target systems.
|
||||
---
|
||||
# Extra filesystems to mount. The key's value is a list of entries; each
|
||||
# entry has five keys:
|
||||
# - device The device node to mount
|
||||
# - fs (optional) The filesystem type to use
|
||||
# - mountPoint Where to mount the filesystem
|
||||
# - options (optional) An array of options to pass to mount
|
||||
# - efi (optional) A boolean that when true is only mounted for UEFI installs
|
||||
#
|
||||
# The device is not mounted if the mountPoint is unset or if the fs is
|
||||
# set to unformatted.
|
||||
#
|
||||
extraMounts:
|
||||
- device: proc
|
||||
fs: proc
|
||||
mountPoint: /proc
|
||||
- device: sys
|
||||
fs: sysfs
|
||||
mountPoint: /sys
|
||||
- device: /dev
|
||||
mountPoint: /dev
|
||||
options: [ bind ]
|
||||
- device: tmpfs
|
||||
fs: tmpfs
|
||||
mountPoint: /run
|
||||
- device: /run/udev
|
||||
mountPoint: /run/udev
|
||||
options: [ bind ]
|
||||
- device: efivarfs
|
||||
fs: efivarfs
|
||||
mountPoint: /sys/firmware/efi/efivars
|
||||
efi: true
|
||||
|
||||
# Btrfs subvolumes to create if root filesystem is on btrfs volume.
|
||||
# If *mountpoint* is mounted already to another partition, it is ignored.
|
||||
# Separate subvolume for swapfile is handled separately and automatically.
|
||||
#
|
||||
# It is possible to prevent subvolume creation -- this is likely only relevant
|
||||
# for the root (/) subvolume -- by giving an empty string as a subvolume
|
||||
# name. In this case no subvolume will be created.
|
||||
#
|
||||
btrfsSubvolumes:
|
||||
- mountPoint: /
|
||||
subvolume: /@
|
||||
# As an alternative:
|
||||
#
|
||||
# subvolume: ""
|
||||
- mountPoint: /home
|
||||
subvolume: /@home
|
||||
- mountPoint: /root
|
||||
subvolume: /@root
|
||||
- mountPoint: /srv
|
||||
subvolume: /@srv
|
||||
- mountPoint: /var/cache
|
||||
subvolume: /@cache
|
||||
- mountPoint: /var/log
|
||||
subvolume: /@log
|
||||
- mountPoint: /var/tmp
|
||||
subvolume: /@tmp
|
||||
|
||||
# The name of the btrfs subvolume holding the swapfile. This only used when
|
||||
# a swapfile is selected and the root filesystem is btrfs
|
||||
#
|
||||
btrfsSwapSubvol: /@swap
|
||||
|
||||
# The mount options used to mount each filesystem.
|
||||
#
|
||||
# filesystem contains the name of the filesystem or on of three special
|
||||
# values, "default", efi" and "btrfs_swap". The logic is applied in this manner:
|
||||
# - If the partition is the EFI partition, the "efi" entry will be used
|
||||
# - If the fs is btrfs and the subvolume is for the swapfile,
|
||||
# the "btrfs_swap" entry is used
|
||||
# - If the filesystem is an exact match for filesystem, that entry is used
|
||||
# - If no match is found in the above, the default entry is used
|
||||
# - If there is no match and no default entry, "defaults" is used
|
||||
# - If the mountOptions key is not present, "defaults" is used
|
||||
#
|
||||
# Each filesystem entry contains 3 keys, all of which are optional
|
||||
# options - An array of mount options that is used on all disk types
|
||||
# ssdOptions - An array of mount options combined with options for ssds
|
||||
# hddOptions - An array of mount options combined with options for hdds
|
||||
# If combining these options results in an empty array, "defaults" is used
|
||||
#
|
||||
# Example 1
|
||||
# In this example, there are specific options for ext4 and btrfs filesystems,
|
||||
# the EFI partition and the subvolume holding the btrfs swapfile. All other
|
||||
# filesystems use the default entry. For the btrfs filesystem, there are
|
||||
# additional options specific to hdds and ssds
|
||||
#
|
||||
mountOptions:
|
||||
- filesystem: default
|
||||
options: [ defaults ]
|
||||
- filesystem: efi
|
||||
options: [ defaults, umask=0077 ]
|
||||
- filesystem: ext4
|
||||
options: [ defaults ]
|
||||
- filesystem: btrfs
|
||||
options: [ defaults, noatime, compress=zstd:1 ]
|
||||
ssdOptions: [ discard=async ]
|
||||
hddOptions: [ autodefrag ]
|
||||
- filesystem: btrfs_swap
|
||||
options: [ defaults, noatime ]
|
||||
#
|
||||
# Example 2
|
||||
# In this example there is a single default used by all filesystems
|
||||
#
|
||||
# mountOptions:
|
||||
# - filesystem: default
|
||||
# options: [ defaults ]
|
||||
#
|
||||
# mountOptions:
|
||||
# - filesystem: default
|
||||
# options: [ defaults ]
|
||||
# - filesystem: efi
|
||||
# options: [ defaults, umask=0077 ]
|
||||
# - filesystem: btrfs
|
||||
# options: [ defaults, compress=zstd:1 ]
|
||||
# - filesystem: btrfs_swap
|
||||
# options: [ defaults, noatime ]
|
||||
|
||||
|
||||
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
efi:
|
||||
mountPoint: "/boot/efi"
|
||||
recommendedSize: 512MiB
|
||||
minimumSize: 256MiB
|
||||
label: "EFI"
|
||||
|
||||
userSwapChoices:
|
||||
- none # Create no swap, use no swap
|
||||
- small # Up to 4GB
|
||||
- suspend # At least main memory size
|
||||
- file # To swap file instead of partition
|
||||
|
||||
swapPartitionName: swap
|
||||
|
||||
luksGeneration: luks1
|
||||
|
||||
drawNestedPartitions: true
|
||||
|
||||
alwaysShowPartitionLabels: true
|
||||
|
||||
initialPartitioningChoice: none
|
||||
|
||||
initialSwapChoice: suspend
|
||||
|
||||
defaultPartitionTableType: msdos
|
||||
|
||||
requiredPartitionTableType:
|
||||
- msdos
|
||||
- gpt
|
||||
|
||||
defaultFileSystemType: "ext4"
|
||||
availableFileSystemTypes: ["ext4","btrfs","f2fs","xfs"]
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
# set at iso build time
|
||||
initsys: none
|
||||
|
||||
user-services:
|
||||
- name: dbus
|
||||
action: enable
|
||||
- name: pipewire
|
||||
action: enable
|
||||
- name: pipewire-pulse
|
||||
action: enable
|
||||
- name: wireplumber
|
||||
action: enable
|
||||
+24
@@ -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"
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
emergency: false
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
unpack:
|
||||
- source: "/run/artix/bootmnt/LiveOS/rootfs.img"
|
||||
sourcefs: 'squashfs'
|
||||
destination: ""
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
defaultGroups:
|
||||
- name: users
|
||||
must_exist: true
|
||||
system: true
|
||||
- lp
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- name: wheel
|
||||
must_exist: false
|
||||
system: true
|
||||
- audio
|
||||
- power
|
||||
- log
|
||||
- optical
|
||||
- network
|
||||
- scanner
|
||||
|
||||
autologinGroup: autologin
|
||||
|
||||
doAutologin: false
|
||||
|
||||
sudoersGroup: wheel
|
||||
|
||||
setRootPassword: true
|
||||
|
||||
doReusePassword: false
|
||||
|
||||
passwordRequirements:
|
||||
nonempty: true
|
||||
minLength: 4 # Password at least this many characters
|
||||
maxLength: -1 # Password at most this many characters
|
||||
libpwquality:
|
||||
- minlen=4
|
||||
- minclass=0
|
||||
|
||||
allowWeakPasswords: true
|
||||
allowWeakPasswordsDefault: true
|
||||
|
||||
userShell: /bin/bash
|
||||
|
||||
setHostname: EtcFile
|
||||
|
||||
writeHostsFile: true
|
||||
|
||||
user:
|
||||
shell: /bin/bash
|
||||
forbidden_names: [ root ]
|
||||
@@ -0,0 +1,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
|
||||
@@ -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
|
||||
+36
@@ -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
|
||||
+21
@@ -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"
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
---
|
||||
displaymanagers:
|
||||
- lightdm
|
||||
- gdm
|
||||
- mdm
|
||||
- sddm
|
||||
- lxdm
|
||||
- slim
|
||||
|
||||
basicSetup: false
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
restartNowMode: user-unchecked
|
||||
|
||||
restartNowCommand: "loginctl reboot"
|
||||
|
||||
notifyOnFinished: false
|
||||
@@ -0,0 +1,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
|
||||
@@ -0,0 +1,4 @@
|
||||
---
|
||||
kernel: all
|
||||
|
||||
be_unsafe: false
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
localeGenPath: /etc/locale.gen
|
||||
|
||||
geoip:
|
||||
style: "json"
|
||||
url: "https://geoip.kde.org/v1/calamares"
|
||||
selector: ""
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
systemd: false
|
||||
dbus: false
|
||||
dbus-symlink: false
|
||||
entropy-copy: false
|
||||
@@ -0,0 +1,131 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Mount filesystems in the target (generally, before treating the
|
||||
# target as a usable chroot / "live" system). Filesystems are
|
||||
# automatically mounted from the partitioning module. Filesystems
|
||||
# listed here are **extra**. The filesystems listed in *extraMounts*
|
||||
# are mounted in all target systems.
|
||||
---
|
||||
# Extra filesystems to mount. The key's value is a list of entries; each
|
||||
# entry has five keys:
|
||||
# - device The device node to mount
|
||||
# - fs (optional) The filesystem type to use
|
||||
# - mountPoint Where to mount the filesystem
|
||||
# - options (optional) An array of options to pass to mount
|
||||
# - efi (optional) A boolean that when true is only mounted for UEFI installs
|
||||
#
|
||||
# The device is not mounted if the mountPoint is unset or if the fs is
|
||||
# set to unformatted.
|
||||
#
|
||||
extraMounts:
|
||||
- device: proc
|
||||
fs: proc
|
||||
mountPoint: /proc
|
||||
- device: sys
|
||||
fs: sysfs
|
||||
mountPoint: /sys
|
||||
- device: /dev
|
||||
mountPoint: /dev
|
||||
options: [ bind ]
|
||||
- device: tmpfs
|
||||
fs: tmpfs
|
||||
mountPoint: /run
|
||||
- device: /run/udev
|
||||
mountPoint: /run/udev
|
||||
options: [ bind ]
|
||||
- device: efivarfs
|
||||
fs: efivarfs
|
||||
mountPoint: /sys/firmware/efi/efivars
|
||||
efi: true
|
||||
|
||||
# Btrfs subvolumes to create if root filesystem is on btrfs volume.
|
||||
# If *mountpoint* is mounted already to another partition, it is ignored.
|
||||
# Separate subvolume for swapfile is handled separately and automatically.
|
||||
#
|
||||
# It is possible to prevent subvolume creation -- this is likely only relevant
|
||||
# for the root (/) subvolume -- by giving an empty string as a subvolume
|
||||
# name. In this case no subvolume will be created.
|
||||
#
|
||||
btrfsSubvolumes:
|
||||
- mountPoint: /
|
||||
subvolume: /@
|
||||
# As an alternative:
|
||||
#
|
||||
# subvolume: ""
|
||||
- mountPoint: /home
|
||||
subvolume: /@home
|
||||
- mountPoint: /root
|
||||
subvolume: /@root
|
||||
- mountPoint: /srv
|
||||
subvolume: /@srv
|
||||
- mountPoint: /var/cache
|
||||
subvolume: /@cache
|
||||
- mountPoint: /var/log
|
||||
subvolume: /@log
|
||||
- mountPoint: /var/tmp
|
||||
subvolume: /@tmp
|
||||
|
||||
# The name of the btrfs subvolume holding the swapfile. This only used when
|
||||
# a swapfile is selected and the root filesystem is btrfs
|
||||
#
|
||||
btrfsSwapSubvol: /@swap
|
||||
|
||||
# The mount options used to mount each filesystem.
|
||||
#
|
||||
# filesystem contains the name of the filesystem or on of three special
|
||||
# values, "default", efi" and "btrfs_swap". The logic is applied in this manner:
|
||||
# - If the partition is the EFI partition, the "efi" entry will be used
|
||||
# - If the fs is btrfs and the subvolume is for the swapfile,
|
||||
# the "btrfs_swap" entry is used
|
||||
# - If the filesystem is an exact match for filesystem, that entry is used
|
||||
# - If no match is found in the above, the default entry is used
|
||||
# - If there is no match and no default entry, "defaults" is used
|
||||
# - If the mountOptions key is not present, "defaults" is used
|
||||
#
|
||||
# Each filesystem entry contains 3 keys, all of which are optional
|
||||
# options - An array of mount options that is used on all disk types
|
||||
# ssdOptions - An array of mount options combined with options for ssds
|
||||
# hddOptions - An array of mount options combined with options for hdds
|
||||
# If combining these options results in an empty array, "defaults" is used
|
||||
#
|
||||
# Example 1
|
||||
# In this example, there are specific options for ext4 and btrfs filesystems,
|
||||
# the EFI partition and the subvolume holding the btrfs swapfile. All other
|
||||
# filesystems use the default entry. For the btrfs filesystem, there are
|
||||
# additional options specific to hdds and ssds
|
||||
#
|
||||
mountOptions:
|
||||
- filesystem: default
|
||||
options: [ defaults ]
|
||||
- filesystem: efi
|
||||
options: [ defaults, umask=0077 ]
|
||||
- filesystem: ext4
|
||||
options: [ defaults ]
|
||||
- filesystem: btrfs
|
||||
options: [ defaults, noatime, compress=zstd:1 ]
|
||||
ssdOptions: [ discard=async ]
|
||||
hddOptions: [ autodefrag ]
|
||||
- filesystem: btrfs_swap
|
||||
options: [ defaults, noatime ]
|
||||
#
|
||||
# Example 2
|
||||
# In this example there is a single default used by all filesystems
|
||||
#
|
||||
# mountOptions:
|
||||
# - filesystem: default
|
||||
# options: [ defaults ]
|
||||
#
|
||||
# mountOptions:
|
||||
# - filesystem: default
|
||||
# options: [ defaults ]
|
||||
# - filesystem: efi
|
||||
# options: [ defaults, umask=0077 ]
|
||||
# - filesystem: btrfs
|
||||
# options: [ defaults, compress=zstd:1 ]
|
||||
# - filesystem: btrfs_swap
|
||||
# options: [ defaults, noatime ]
|
||||
|
||||
|
||||
|
||||
|
||||
+54
@@ -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"
|
||||
|
||||
|
||||
+141
@@ -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
|
||||
+294
@@ -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
|
||||
@@ -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
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
efi:
|
||||
mountPoint: "/boot/efi"
|
||||
recommendedSize: 512MiB
|
||||
minimumSize: 256MiB
|
||||
label: "EFI"
|
||||
|
||||
userSwapChoices:
|
||||
- none # Create no swap, use no swap
|
||||
- small # Up to 4GB
|
||||
- suspend # At least main memory size
|
||||
- file # To swap file instead of partition
|
||||
|
||||
swapPartitionName: swap
|
||||
|
||||
luksGeneration: luks1
|
||||
|
||||
drawNestedPartitions: true
|
||||
|
||||
alwaysShowPartitionLabels: true
|
||||
|
||||
initialPartitioningChoice: none
|
||||
|
||||
initialSwapChoice: suspend
|
||||
|
||||
defaultPartitionTableType: msdos
|
||||
|
||||
requiredPartitionTableType:
|
||||
- msdos
|
||||
- gpt
|
||||
|
||||
defaultFileSystemType: "ext4"
|
||||
availableFileSystemTypes: ["ext4","btrfs","f2fs","xfs"]
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
# set at iso build time
|
||||
initsys: none
|
||||
|
||||
user-services:
|
||||
- name: dbus
|
||||
action: enable
|
||||
- name: pipewire
|
||||
action: enable
|
||||
- name: pipewire-pulse
|
||||
action: enable
|
||||
- name: wireplumber
|
||||
action: enable
|
||||
+24
@@ -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"
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
emergency: false
|
||||
@@ -0,0 +1,49 @@
|
||||
---
|
||||
defaultGroups:
|
||||
- name: users
|
||||
must_exist: true
|
||||
system: true
|
||||
- lp
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- name: wheel
|
||||
must_exist: false
|
||||
system: true
|
||||
- audio
|
||||
- power
|
||||
- log
|
||||
- optical
|
||||
- network
|
||||
- scanner
|
||||
|
||||
autologinGroup: autologin
|
||||
|
||||
doAutologin: false
|
||||
|
||||
sudoersGroup: wheel
|
||||
|
||||
setRootPassword: true
|
||||
|
||||
doReusePassword: false
|
||||
|
||||
passwordRequirements:
|
||||
nonempty: true
|
||||
minLength: 4 # Password at least this many characters
|
||||
maxLength: -1 # Password at most this many characters
|
||||
libpwquality:
|
||||
- minlen=4
|
||||
- minclass=0
|
||||
|
||||
allowWeakPasswords: true
|
||||
allowWeakPasswordsDefault: true
|
||||
|
||||
userShell: /bin/bash
|
||||
|
||||
setHostname: EtcFile
|
||||
|
||||
writeHostsFile: true
|
||||
|
||||
user:
|
||||
shell: /bin/bash
|
||||
forbidden_names: [ root ]
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
showSupportUrl: true
|
||||
showKnownIssuesUrl: true
|
||||
showReleaseNotesUrl: true
|
||||
|
||||
requirements:
|
||||
requiredStorage: 5.5
|
||||
requiredRam: 1.0
|
||||
internetCheckUrl: https://www.artixlinux.org
|
||||
check:
|
||||
- storage
|
||||
- ram
|
||||
- power
|
||||
- internet
|
||||
- root
|
||||
required:
|
||||
- storage
|
||||
- ram
|
||||
- root
|
||||
- internet
|
||||
@@ -0,0 +1,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
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
efiBootLoader: "grub"
|
||||
|
||||
kernel: "/vmlinuz-linux-x86_64"
|
||||
img: "/initramfs-linux-x86_64.img"
|
||||
fallback: "/initramfs-linux-x86_64-fallback.img"
|
||||
timeout: "10"
|
||||
|
||||
grubInstall: "grub-install"
|
||||
grubMkconfig: "grub-mkconfig"
|
||||
grubCfg: "/boot/grub/grub.cfg"
|
||||
grubProbe: "grub-probe"
|
||||
efiBootMgr: "efibootmgr"
|
||||
|
||||
installEFIFallback: true
|
||||
|
||||
efiBootloaderId: "Antergos"
|
||||
|
||||
# installHybridGRUB: false
|
||||
|
||||
# efiBootLoaderVar: "packagechooser_bootloader"
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
displaymanagers:
|
||||
- sddm
|
||||
- lightdm
|
||||
- lxdm
|
||||
- ly
|
||||
- greetd
|
||||
- gdm
|
||||
- mdm
|
||||
- slim
|
||||
|
||||
basicSetup: false
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
restartNowMode: user-unchecked
|
||||
|
||||
restartNowCommand: "loginctl reboot"
|
||||
|
||||
notifyOnFinished: false
|
||||
@@ -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
|
||||
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" fill="#f67400"/>
|
||||
<g transform="translate(21,21) scale(1)">
|
||||
<path d="m3 3v16l16-8z" fill="white"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 212 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" fill="#3daee9"/>
|
||||
<g transform="translate(21,21) scale(1)">
|
||||
<path d="M 11.5 3 C 10.286139 3 9.2809778 3.8559279 9.0507812 5 L 3 5 L 3 6 L 9.0507812 6 C 9.2809778 7.1440721 10.286139 8 11.5 8 C 12.713861 8 13.719022 7.1440721 13.949219 6 L 19 6 L 19 5 L 13.949219 5 C 13.719022 3.8559279 12.713861 3 11.5 3 z M 5.5 14 C 4.1149999 14 3 15.115 3 16.5 C 3 17.885 4.1149999 19 5.5 19 C 6.7138604 19 7.7190223 18.144072 7.9492188 17 L 19 17 L 19 16 L 7.9492188 16 C 7.7190223 14.855928 6.7138604 14 5.5 14 z M 5.5 15 C 6.3310001 15 7 15.669 7 16.5 C 7 17.331 6.3310001 18 5.5 18 C 4.6689999 18 4 17.331 4 16.5 C 4 15.669 4.6689999 15 5.5 15 z" fill="white"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 766 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" fill="#27ae60"/>
|
||||
<g transform="translate(21,21) scale(1)">
|
||||
<path d="M 3 3 L 3 7 L 3 18 L 3 19 L 13 19 L 19 19 L 19 18 L 19 13 L 19 7 L 19 3 L 3 3 z M 4 7 L 18 7 L 18 13 L 18 18 L 13 18 L 4 18 L 4 7 z M 9 10 L 9 16 L 14 13 L 9 10 z" fill="white"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 361 B |
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
||||
<circle cx="32" cy="32" r="30" fill="#9b59b6"/>
|
||||
<g transform="translate(21,21) scale(1)">
|
||||
<path d="m11 3a8 8 0 0 0-7.9277344 7h1.0058594a7 7 0 0 1 6.921875-6 7 7 0 0 1 6.320312 4h-3.320312v1h5v-1-4h-1v3.1679688a8 8 0 0 0-7-4.1679688zm6.921875 9a7 7 0 0 1-6.921875 6 7 7 0 0 1-6.3105469-4h3.3105469v-1h-5v1 4h1v-3.195312a8 8 0 0 0 7 4.195312 8 8 0 0 0 7.927734-7h-1.005859z" fill="white"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 472 B |
@@ -0,0 +1,5 @@
|
||||
---
|
||||
systemd: false
|
||||
dbus: false
|
||||
dbus-symlink: false
|
||||
entropy-copy: false
|
||||
@@ -0,0 +1,4 @@
|
||||
---qmlSearch: branding
|
||||
qmlFilename: minimal-info.qml
|
||||
qmlLabel:
|
||||
minimal-info: "About This Edition"
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
groupsUrl:
|
||||
- file:///etc/calamares/modules/netinstall.yaml
|
||||
|
||||
required: false
|
||||
|
||||
# To support multiple instances of this module,
|
||||
# some strings are configurable and translatable here.
|
||||
# Sub-keys under *label* are used for the user interface.
|
||||
# - *sidebar* This is the name of the module in the progress-tree / sidebar
|
||||
# in Calamares.
|
||||
# - *title* This is displayed above the list of packages.
|
||||
# If no *sidebar* values are provided, defaults to "Package selection"
|
||||
# and existing translations. If no *title* values are provided, no string
|
||||
# is displayed.
|
||||
#
|
||||
# Translations are handled through `[ll]` notation, much like in
|
||||
# `.desktop` files. The string associated with `key[ll]` is used for
|
||||
# *key* when when the language *ll* (language-code, like *nl* or *en_GB*
|
||||
# or *ja*) is used.
|
||||
#
|
||||
# The following strings are **already** known to Calamares and can be
|
||||
# listed here in *untranslated* form (e.g. as value of *sidebar*)
|
||||
# without bothering with the translations: they are picked up from
|
||||
# the regular translation framework:
|
||||
# - "Package selection"
|
||||
# - "Office software"
|
||||
# - "Office package"
|
||||
# - "Browser software"
|
||||
# - "Browser package"
|
||||
# - "Web browser"
|
||||
# - "Kernel"
|
||||
# - "Services"
|
||||
# - "Login"
|
||||
# - "Desktop"
|
||||
# - "Applications"
|
||||
# - "Communication"
|
||||
# - "Development"
|
||||
# - "Office"
|
||||
# - "Multimedia"
|
||||
# - "Internet"
|
||||
# - "Theming"
|
||||
# - "Gaming"
|
||||
# - "Utilities"
|
||||
# Other strings should follow the translations format.
|
||||
label:
|
||||
sidebar: "Package selection"
|
||||
# sidebar[nl]: "Pakketkeuze"
|
||||
# sidebar[en_GB]: "Package choice"
|
||||
# sidebar[ja]: "知りません" # "I don't know"
|
||||
# title: "Office Package"
|
||||
# title[nl]: "Kantoorsoftware"
|
||||
|
||||
|
||||
@@ -0,0 +1,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
|
||||
@@ -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
|
||||
+31
@@ -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: ""
|
||||
@@ -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: []
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
# set at iso build time
|
||||
initsys: none
|
||||
|
||||
user-services:
|
||||
- name: dbus
|
||||
action: enable
|
||||
- name: pipewire
|
||||
action: enable
|
||||
- name: pipewire-pulse
|
||||
action: enable
|
||||
- name: wireplumber
|
||||
action: enable
|
||||
@@ -0,0 +1,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"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
#
|
||||
# /etc/fstab: static file system information
|
||||
#
|
||||
# <file system> <dir> <type> <options> <dump> <pass>
|
||||
/dev/mapper/rootfs / auto defaults 0 0
|
||||
@@ -0,0 +1 @@
|
||||
antergos-live
|
||||
@@ -0,0 +1,2 @@
|
||||
127.0.0.1 localhost.localdomain antergos-live localhost
|
||||
::1 localhost.localdomain antergos-live localhost
|
||||
@@ -0,0 +1,19 @@
|
||||
[?25l[?7l[0m[36m[1m `.-/::/-``
|
||||
.-/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+:.`
|
||||
@@ -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'
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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;
|
||||
}
|
||||
});
|
||||
@@ -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
|
||||
+11
@@ -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
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfwm4" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="theme" type="string" value="Antergos-NeXT"/>
|
||||
<property name="cycle_preview" type="bool" value="true"/>
|
||||
<property name="cycle_raise" type="bool" value="false"/>
|
||||
<property name="cycle_hidden" type="bool" value="true"/>
|
||||
<property name="cycle_minimum" type="bool" value="true"/>
|
||||
<property name="cycle_tabwin_mode" type="int" value="0"/>
|
||||
<property name="cycle_workspaces" type="bool" value="false"/>
|
||||
<property name="double_click_time" type="int" value="250"/>
|
||||
<property name="double_click_distance" type="int" value="5"/>
|
||||
<property name="easy_click" type="string" value="Alt"/>
|
||||
<property name="focus_delay" type="int" value="250"/>
|
||||
<property name="focus_hint" type="bool" value="true"/>
|
||||
<property name="focus_new" type="bool" value="true"/>
|
||||
<property name="frame_border_top" type="int" value="0"/>
|
||||
<property name="full_width_title" type="bool" value="true"/>
|
||||
<property name="horiz_scroll_opacity" type="bool" value="false"/>
|
||||
<property name="inactive_opacity" type="int" value="100"/>
|
||||
<property name="maximized_offset" type="int" value="0"/>
|
||||
<property name="mousewheel_rollup" type="bool" value="true"/>
|
||||
<property name="move_opacity" type="int" value="100"/>
|
||||
<property name="placement_mode" type="string" value="center"/>
|
||||
<property name="placement_ratio" type="int" value="50"/>
|
||||
<property name="popup_opacity" type="int" value="100"/>
|
||||
<property name="prevent_focus_stealing" type="bool" value="false"/>
|
||||
<property name="raise_delay" type="int" value="250"/>
|
||||
<property name="raise_on_click" type="bool" value="true"/>
|
||||
<property name="raise_on_focus" type="bool" value="false"/>
|
||||
<property name="resize_opacity" type="int" value="100"/>
|
||||
<property name="scroll_workspaces" type="bool" value="true"/>
|
||||
<property name="shadow_delta_height" type="int" value="0"/>
|
||||
<property name="shadow_delta_width" type="int" value="0"/>
|
||||
<property name="shadow_delta_x" type="int" value="0"/>
|
||||
<property name="shadow_delta_y" type="int" value="-2"/>
|
||||
<property name="shadow_opacity" type="int" value="30"/>
|
||||
<property name="show_app_icon" type="bool" value="true"/>
|
||||
<property name="show_frame_shadows" type="bool" value="true"/>
|
||||
<property name="show_handle" type="bool" value="false"/>
|
||||
<property name="sync_cycles" type="bool" value="false"/>
|
||||
<property name="tabwin_cycle" type="bool" value="true"/>
|
||||
<property name="tile_on_move" type="bool" value="true"/>
|
||||
<property name="title_alignment" type="string" value="center"/>
|
||||
<property name="title_font" type="string" value="Sans Bold 9"/>
|
||||
<property name="title_horizontal_offset" type="int" value="3"/>
|
||||
<property name="title_shadow_active" type="string" value="false"/>
|
||||
<property name="title_shadow_inactive" type="string" value="false"/>
|
||||
<property name="title_vertical_offset_active" type="int" value="0"/>
|
||||
<property name="title_vertical_offset_inactive" type="int" value="0"/>
|
||||
<property name="toggle_workspaces" type="bool" value="false"/>
|
||||
<property name="uniconify_mode" type="string" value="current"/>
|
||||
<property name="use_compositing" type="bool" value="true"/>
|
||||
<property name="wrap_cycle" type="bool" value="true"/>
|
||||
<property name="wrap_layout" type="bool" value="true"/>
|
||||
<property name="wrap_resistance" type="int" value="10"/>
|
||||
<property name="wrap_workspaces" type="bool" value="false"/>
|
||||
<property name="click_to_focus" type="bool" value="true"/>
|
||||
<property name="focus_delay_raise" type="bool" value="false"/>
|
||||
<property name="borderless_move" type="bool" value="false"/>
|
||||
<property name="button_layout" type="string" value="O|SHMC"/>
|
||||
<property name="child_colors" type="string" value=""/>
|
||||
<property name="vblank" type="string" value="auto"/>
|
||||
<property name="zoom_desktop" type="bool" value="false"/>
|
||||
<property name="titleless_maximize" type="bool" value="false"/>
|
||||
<property name="wrap_windows" type="bool" value="false"/>
|
||||
</property>
|
||||
</channel>
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="Antergos-NeXT"/>
|
||||
<property name="IconThemeName" type="string" value="elementary-xfce"/>
|
||||
<property name="DoubleClickTime" type="int" value="400"/>
|
||||
<property name="DoubleClickDistance" type="int" value="5"/>
|
||||
<property name="DndDragThreshold" type="int" value="8"/>
|
||||
<property name="CursorBlink" type="bool" value="true"/>
|
||||
<property name="CursorBlinkTime" type="int" value="1200"/>
|
||||
<property name="SoundThemeName" type="string" value="freedesktop"/>
|
||||
<property name="EnableEventSounds" type="bool" value="true"/>
|
||||
<property name="EnableInputFeedbackSounds" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="int" value="-1"/>
|
||||
<property name="Antialias" type="int" value="1"/>
|
||||
<property name="Hinting" type="int" value="1"/>
|
||||
<property name="HintStyle" type="string" value="hintslight"/>
|
||||
<property name="RGBA" type="string" value="rgb"/>
|
||||
</property>
|
||||
</channel>
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
%wheel ALL=(ALL) NOPASSWD: ALL
|
||||
@@ -0,0 +1 @@
|
||||
root ALL=(ALL) ALL
|
||||
@@ -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);
|
||||
};
|
||||
+29
@@ -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"
|
||||
+592
@@ -0,0 +1,592 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# === This file is part of Calamares - <https://calamares.io> ===
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2014 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2015-2017 Teo Mrnjavac <teo@kde.org>
|
||||
# SPDX-FileCopyrightText: 2016-2017 Kyle Robbertze <kyle@aims.ac.za>
|
||||
# SPDX-FileCopyrightText: 2017 Alf Gaida <agaida@siduction.org>
|
||||
# SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
# SPDX-FileCopyrightText: 2018 Philip Müller <philm@manjaro.org>
|
||||
# SPDX-FileCopyrightText: 2023 Artoo <artoo@artixlinux.org>
|
||||
# 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 <pre>{!s}</pre> returned error code {!s}.")
|
||||
.format(e.cmd, e.returncode))
|
||||
|
||||
mode_packages = None
|
||||
|
||||
libcalamares.job.setprogress(1.0)
|
||||
|
||||
return None
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
---
|
||||
type: "job"
|
||||
name: "basestrap"
|
||||
interface: "python"
|
||||
script: "main.py"
|
||||
+381
@@ -0,0 +1,381 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# === This file is part of Calamares - <https://calamares.io> ===
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2014 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2015-2017 Teo Mrnjavac <teo@kde.org>
|
||||
# SPDX-FileCopyrightText: 2016-2017 Kyle Robbertze <kyle@aims.ac.za>
|
||||
# SPDX-FileCopyrightText: 2017 Alf Gaida <agaida@siduction.org>
|
||||
# SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
# SPDX-FileCopyrightText: 2018 Philip Müller <philm@manjaro.org>
|
||||
# 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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -0,0 +1,19 @@
|
||||
[?25l[?7l[0m[36m[1m `.-/::/-``
|
||||
.-/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+:.`
|
||||
@@ -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'
|
||||
@@ -0,0 +1,3 @@
|
||||
DISTRIB_ID="Antergos NeXT"
|
||||
DISTRIB_RELEASE="rolling"
|
||||
DISTRIB_DESCRIPTION="Antergos NeXT"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
+8
@@ -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
|
||||
+69
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xfwm4" version="1.0">
|
||||
<property name="general" type="empty">
|
||||
<property name="theme" type="string" value="Antergos-NeXT"/>
|
||||
<property name="cycle_preview" type="bool" value="true"/>
|
||||
<property name="cycle_raise" type="bool" value="false"/>
|
||||
<property name="cycle_hidden" type="bool" value="true"/>
|
||||
<property name="cycle_minimum" type="bool" value="true"/>
|
||||
<property name="cycle_tabwin_mode" type="int" value="0"/>
|
||||
<property name="cycle_workspaces" type="bool" value="false"/>
|
||||
<property name="double_click_time" type="int" value="250"/>
|
||||
<property name="double_click_distance" type="int" value="5"/>
|
||||
<property name="easy_click" type="string" value="Alt"/>
|
||||
<property name="focus_delay" type="int" value="250"/>
|
||||
<property name="focus_hint" type="bool" value="true"/>
|
||||
<property name="focus_new" type="bool" value="true"/>
|
||||
<property name="frame_border_top" type="int" value="0"/>
|
||||
<property name="full_width_title" type="bool" value="true"/>
|
||||
<property name="horiz_scroll_opacity" type="bool" value="false"/>
|
||||
<property name="inactive_opacity" type="int" value="100"/>
|
||||
<property name="maximized_offset" type="int" value="0"/>
|
||||
<property name="mousewheel_rollup" type="bool" value="true"/>
|
||||
<property name="move_opacity" type="int" value="100"/>
|
||||
<property name="placement_mode" type="string" value="center"/>
|
||||
<property name="placement_ratio" type="int" value="50"/>
|
||||
<property name="popup_opacity" type="int" value="100"/>
|
||||
<property name="prevent_focus_stealing" type="bool" value="false"/>
|
||||
<property name="raise_delay" type="int" value="250"/>
|
||||
<property name="raise_on_click" type="bool" value="true"/>
|
||||
<property name="raise_on_focus" type="bool" value="false"/>
|
||||
<property name="resize_opacity" type="int" value="100"/>
|
||||
<property name="scroll_workspaces" type="bool" value="true"/>
|
||||
<property name="shadow_delta_height" type="int" value="0"/>
|
||||
<property name="shadow_delta_width" type="int" value="0"/>
|
||||
<property name="shadow_delta_x" type="int" value="0"/>
|
||||
<property name="shadow_delta_y" type="int" value="-2"/>
|
||||
<property name="shadow_opacity" type="int" value="30"/>
|
||||
<property name="show_app_icon" type="bool" value="true"/>
|
||||
<property name="show_frame_shadows" type="bool" value="true"/>
|
||||
<property name="show_handle" type="bool" value="false"/>
|
||||
<property name="sync_cycles" type="bool" value="false"/>
|
||||
<property name="tabwin_cycle" type="bool" value="true"/>
|
||||
<property name="tile_on_move" type="bool" value="true"/>
|
||||
<property name="title_alignment" type="string" value="center"/>
|
||||
<property name="title_font" type="string" value="Sans Bold 9"/>
|
||||
<property name="title_horizontal_offset" type="int" value="3"/>
|
||||
<property name="title_shadow_active" type="string" value="false"/>
|
||||
<property name="title_shadow_inactive" type="string" value="false"/>
|
||||
<property name="title_vertical_offset_active" type="int" value="0"/>
|
||||
<property name="title_vertical_offset_inactive" type="int" value="0"/>
|
||||
<property name="toggle_workspaces" type="bool" value="false"/>
|
||||
<property name="uniconify_mode" type="string" value="current"/>
|
||||
<property name="use_compositing" type="bool" value="true"/>
|
||||
<property name="wrap_cycle" type="bool" value="true"/>
|
||||
<property name="wrap_layout" type="bool" value="true"/>
|
||||
<property name="wrap_resistance" type="int" value="10"/>
|
||||
<property name="wrap_workspaces" type="bool" value="false"/>
|
||||
<property name="click_to_focus" type="bool" value="true"/>
|
||||
<property name="focus_delay_raise" type="bool" value="false"/>
|
||||
<property name="borderless_move" type="bool" value="false"/>
|
||||
<property name="button_layout" type="string" value="O|SHMC"/>
|
||||
<property name="child_colors" type="string" value=""/>
|
||||
<property name="vblank" type="string" value="auto"/>
|
||||
<property name="zoom_desktop" type="bool" value="false"/>
|
||||
<property name="titleless_maximize" type="bool" value="false"/>
|
||||
<property name="wrap_windows" type="bool" value="false"/>
|
||||
</property>
|
||||
</channel>
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<channel name="xsettings" version="1.0">
|
||||
<property name="Net" type="empty">
|
||||
<property name="ThemeName" type="string" value="Antergos-NeXT"/>
|
||||
<property name="IconThemeName" type="string" value="elementary-xfce"/>
|
||||
<property name="DoubleClickTime" type="int" value="400"/>
|
||||
<property name="DoubleClickDistance" type="int" value="5"/>
|
||||
<property name="DndDragThreshold" type="int" value="8"/>
|
||||
<property name="CursorBlink" type="bool" value="true"/>
|
||||
<property name="CursorBlinkTime" type="int" value="1200"/>
|
||||
<property name="SoundThemeName" type="string" value="freedesktop"/>
|
||||
<property name="EnableEventSounds" type="bool" value="true"/>
|
||||
<property name="EnableInputFeedbackSounds" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="Xft" type="empty">
|
||||
<property name="DPI" type="int" value="-1"/>
|
||||
<property name="Antialias" type="int" value="1"/>
|
||||
<property name="Hinting" type="int" value="1"/>
|
||||
<property name="HintStyle" type="string" value="hintslight"/>
|
||||
<property name="RGBA" type="string" value="rgb"/>
|
||||
</property>
|
||||
</channel>
|
||||
+29
@@ -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"
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user