system-setup/alis.conf

181 lines
9.1 KiB
Plaintext

# Arch Linux Install Script (alis) configuration file
#
# Some variables values are preceded by a ! character, this means that the value is ignored.
# Some variables accept a single value others accept multiple values as annotated in the comments.
# Some variables are boolean with a value of true or false.
#
# Read the Arch Linux wiki pages to learn more about the variables values.
# https://github.com/picodotdev/alis/blob/master/README.md
# init
## KEYS sets keyboard layout.
## LOG_TRACE outputs the comands executed.
## LOG_FILE generates a log file with the commands executed and output generated during installation.
### The log file is saved to /var/log/alis.log.
KEYS="fr"
LOG_TRACE="false"
LOG_FILE="false"
# partition
## DEVICE sets which is the device for the installation. auto autodetects the device.
## DEVICE_TRIM sets if the DEVICE device supports TRIM feature.
## LVM sets if the DEVICE is partitioned with LVM partition scheme.
## LUKS_PASSWORD and LUKS_PASSWORD_RETYPE if set is the password for encrypt the device. With LVM, LVM on LUKS is used. If "ask" password alis asks for a secure password.
## FILE_SYSTEM_TYPE root device is formatted with this file system type.
## BTRFS_SUBVOLUMES_MOUNTPOINTS allows to customize btrfs file system subvolumes mountpoints. swap sobvolume is created only if swap file is created (only if there is SWAP_SIZE value).
### Format ("name,subvolume,mount_point")
## SWAP_SIZE swap file size with a size of the value in megabytes. If no value no swap file is created.
## PARTITION_MODE how partition is performed on DEVICE.
### "auto" value deletes all existing partitions and creates a boot partition and a root partition using disk full size.
### Warning! all disk data will be lost, so backup existing data before.
### "custom" value allows to use a custom parted partition script.
### "manual" allows to specify which existing partitions are used for boot partition and root partition.
## PARTITION_MOUNT_POINTS mount points, partition number and directory, to mount from DEVICE.
DEVICE="auto !/dev/sda !/dev/nvme0n1 !/dev/vda !/dev/mmcblk0" # sata nvme mmc (single)
DEVICE_TRIM="true"
LVM="false"
LUKS_PASSWORD="ask"
LUKS_PASSWORD_RETYPE="ask"
FILE_SYSTEM_TYPE="ext4 !btrfs !xfs !f2fs !reiserfs" # (single)
BTRFS_SUBVOLUMES_MOUNTPOINTS=("root,root,/" "home,home,/home" "var,var,/var" "snapshots,snapshots,/snapshots" "swap,swap,/swap")
#BTRFS_SUBVOLUMES_MOUNTPOINTS=("root,@,/" "home,@home,/home" "var,@var_log,/var/log" "snapshots,@snapshots,/.snapshots" "swap,@swap,/swap")
SWAP_SIZE="!2048 !4096 !8192" # (single)
PARTITION_MODE="auto !custom !manual"
PARTITION_MOUNT_POINTS=("1=/boot" "2=/" "!3=/home")
PARTITION_CUSTOM_PARTED_UEFI="mklabel gpt mkpart ESP fat32 1MiB 512MiB mkpart root $FILE_SYSTEM_TYPE 512MiB 100% set 1 esp on"
PARTITION_CUSTOM_PARTED_BIOS="mklabel msdos mkpart primary ext4 4MiB 512MiB mkpart primary $FILE_SYSTEM_TYPE 512MiB 100% set 1 boot on"
# network_install
## Variables to setup the WIFI connection to internet.
## The WIFI interface, WIFI ESSID identifier and WIFI password must be specified. If "ask" password alis asks for a secure password.
## PING_HOSTNAME is the host to check the internet connection.
WIFI_INTERFACE=""
WIFI_ESSID=""
WIFI_KEY="ask"
WIFI_KEY_RETYPE="ask"
PING_HOSTNAME="mirrors.kernel.org"
# install
## REFLECTOR allows to use reflector utility to use the best mirrors for packages download.
## REFLECTOR_COUNTRIES is an array of countries to select mirrors from.
## PACMAN_MIRROR if reflector is not used this specific mirror is used.
## PACMAN_PARALLEL_DOWNLOADS configures pacman to use parallel downloads, set to false on slow internet connections and disable timeouts.
## KERNELS additional kernels and headers to install.
## KERNELS_COMPRESSION selects the algorithm for kernel compression.
## KERNELS_PARAMETERS specific kernel parameters to set on boot. eg. iommu=soft
REFLECTOR="true"
REFLECTOR_COUNTRIES=("France")
PACMAN_MIRROR="https://mirrors.kernel.org/archlinux/\$repo/os/\$arch"
PACMAN_PARALLEL_DOWNLOADS="true"
KERNELS="linux-lts !linux-lts-headers !linux-hardened !linux-hardened-headers !linux-zen !linux-zen-headers" # (multiple)
KERNELS_COMPRESSION="!gzip !bzip2 !lzma !xz !lzop !lz4 zstd"
KERNELS_PARAMETERS="!iommu=soft nvme_load=YES"
# aur
## AUR_PACKAGE the AUR command to install in case some package requires it, only is installed if necessary.
AUR_PACKAGE="paru-bin !yay-bin !paru !yay !aurman" # (single)
# display driver
## DISPLAY_DRIVER installs a specific display driver, you must know which brand is the graphics hardware.
### With auto value intel driver is used for Intel brand, amdgpu driver for AMD brand and nvidia driver for NVIDIA brand.
### Other variables activates some features if are supported for the DISPLAY_DRIVER.
## KMS add support for kernel mode setting
## FASTBOOT, FRAMEBUFFER_COMPRESSION for intel graphics.
## DISPLAY_DRIVER_DDX add DDX driver which provides 2D acceleration in Xorg.
## VULKAN add support for Vulkan.
## DISPLAY_DRIVER_HARDWARE_VIDEO_ACCELERATION, DISPLAY_DRIVER_HARDWARE_VIDEO_ACCELERATION_INTEL add support for hardware video acceleration
DISPLAY_DRIVER="auto !intel !amdgpu !ati !nvidia !nvidia-lts !nvidia-dkms !nvidia-470xx-dkms !nvidia-390xx-dkms !nvidia-340xx-dkms !nouveau" # (single)
KMS="true"
FASTBOOT="true"
FRAMEBUFFER_COMPRESSION="true"
DISPLAY_DRIVER_DDX="false"
VULKAN="true"
DISPLAY_DRIVER_HARDWARE_VIDEO_ACCELERATION="true"
DISPLAY_DRIVER_HARDWARE_VIDEO_ACCELERATION_INTEL="intel-media-driver !libva-intel-driver" # (single)
# config
## Some variables for system configuration, from timezone, locale and keyboard to the root password.
## KEYLAYOUT, KEYMODEL, KEYVARIANT, KEYOPTIONS see https://wiki.archlinux.org/title/X_keyboard_extension#Preset_configuration
## KEYMAP, FONT, FONT_MAP see https://man.archlinux.org/man/vconsole.conf.5
## ROOT_PASSWORD root user password. If "ask" password alis asks for a secure password.
TIMEZONE="/usr/share/zoneinfo/Europe/Paris"
LOCALES=("fr_FR.UTF-8 UTF-8" "en_US.UTF-8 UTF-8")
LOCALE_CONF=("LANG=fr_FR.UTF-8" "LANGUAGE=es_ES:es:en_US:en")
KEYLAYOUT="fr"
KEYMODEL=""
KEYVARIANT=""
KEYOPTIONS=""
KEYMAP="KEYMAP=fr"
FONT=""
FONT_MAP=""
HOSTNAME="cb-system"
ROOT_PASSWORD="ask"
ROOT_PASSWORD_RETYPE="ask"
# user
## USER_NAME, USER_PASSWORD Regular user to create in the system. A password must be specified, if "ask" password alis asks for a secure password.
## ADDITIONAL_USERS is an array of additional users to create in the system, if "ask" password alis asks for a secure password.
USER_NAME="cb"
USER_PASSWORD="ask"
USER_PASSWORD_RETYPE="ask"
ADDITIONAL_USERS=() # eg. ("user1=password1" "user2=password2")
## systemd-homed
### SYSTEMD_HOMED "true" value requires interactivity to set user password
SYSTEMD_HOMED="false"
SYSTEMD_HOMED_STORAGE="!auto !luks !subvolume directory !fscrypt !cifs"
SYSTEMD_HOMED_STORAGE_LUKS_TYPE="auto !ext4 !btrfs !xfs"
SYSTEMD_HOMED_STORAGE_CIFS_DOMAIN=""
SYSTEMD_HOMED_STORAGE_CIFS_SERVICE=""
# mkinitcpio
## HOOKS are the system hooks to execute to build the initial ramdisk.
## MODULES are used to specify the modules to load before anything to execute to build the initial ramdisk.
### Generally, it is not necessary to modify, alis enables or disables some hooks
### taking in account other variables values like bootloader or device encryption.
HOOKS="base !udev !usr !resume !systemd !btrfs autodetect keyboard !keymap !consolefont !sd-vconsole modconf block !net !dmraid !mdadm !mdadm_udev !encrypt !sd-encrypt !lvm2 fsck filesystems"
MODULES="!vmd"
# bootloader
## BOOTLOADER system boot loader.
### With auto value grub is used for BIOS system, systemd for UEFI system.
BOOTLOADER="auto !grub !refind !systemd" # (single)
# shell
## CUSTOM_SHELL configures an alternative custom shell interpreter.
CUSTOM_SHELL="bash !zsh !dash !fish" # (single)
# desktop
## DESKTOP_ENVIRONMENT installs a desktop environment.
DESKTOP_ENVIRONMENT="!gnome !kde !xfce !mate !cinnamon !lxde !i3-wm !i3-gaps !deepin !budgie !bspwm !awesome !qtile !openbox !leftwm !dusk" # (single)
# packages
## PACKAGES_MULTILIB configures multilib repository for pacman and install multilib packages for display driver.
## PACKAGES_INSTALL installs packages on system installation, edit alis-packages.conf to select packages.
## PACKAGES_PIPEWIRE installs PipeWire replacing PulseAudio, requires PACKAGES_INSTALL="true".
### It is recommended to install packages after base installation and reboot.
PACKAGES_MULTILIB="true"
PACKAGES_INSTALL="false"
PACKAGES_PIPEWIRE="false"
# provision
## PROVISION_DIRECTORY directory files to provision, preserving directories. This is useful to copy some configuration files.
## PROVISION provisions the files placed in PROVISION_DIRECTORY
PROVISION="false"
# misc
## VAGRANT for build a VirtualBox OVA with Packer
VAGRANT="false"
# systemd
## SYSTEMD_UNITS systemd units to enable or disable.
### If preceded with a "+" unit is enabled, if preceded with "-" unit is disabled, if preceded with "!" unit is ignored (no action is performed).
### eg. "+ufw.service" to enable, "-ufw.service" to disable, "!ufw.service" to ignore
SYSTEMD_UNITS=""
# reboot
## REBOOT on installation end reboots the system automatically. If "false" no reboot is performed and the user must do it explicitly.
REBOOT="true"