# 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="br-abnt2" LOG_TRACE="false" LOG_FILE="true" # 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="" LUKS_PASSWORD_RETYPE="" 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=("Brazil") 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/America/Sao_Paulo" LOCALES=("pt_BR.UTF-8 UTF-8") LOCALE_CONF=("LANG=pt_BR.UTF-8" "LANGUAGE=pt_BR:pt") KEYLAYOUT="br" KEYMODEL="" KEYVARIANT="" KEYOPTIONS="" KEYMAP="KEYMAP=br-abnt2" FONT="" FONT_MAP="" HOSTNAME="Arch-VM" 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="jayson" 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 !tpm" # 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 desktop environment to install. ## DISPLAY_MANAGER display manager to install and enable. With auto a default DM will be choosed based on the selected DE. DESKTOP_ENVIRONMENT="gnome !kde !xfce !mate !cinnamon !lxde !i3-wm !i3-gaps !deepin !budgie !bspwm !awesome !qtile !openbox !leftwm !dusk" # (single) DISPLAY_MANAGER="auto !gdm !sddm !lightdm !lxdm" # (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="true" PACKAGES_PIPEWIRE="true" # provision ## PROVISION provisions the files placed in files directory on the installed system (preserving directory structure). This is useful to copy some configuration files. 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="+sshd.service" # reboot ## REBOOT on installation end reboots the system automatically. If "false" no reboot is performed and the user must do it explicitly. REBOOT="false"