# 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 generates a log file with the commands executed and output generated during installation. ### The log file is saved to /var/log/alis.log. KEYS="dk-latin1" LOG="false" # partition ## DEVICE sets which is the device for the installation. ## 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. DEVICE="/dev/sda !/dev/nvme0n1 !/dev/mmcblk0" # sata nvme mmc (single) DEVICE_TRIM="true" LVM="true" 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_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" PARTITION_CUSTOMMANUAL_BOOT="!/dev/sda1 !/dev/nvme0n1p1 !/dev/mmcblk0p1" PARTITION_CUSTOMMANUAL_ROOT="!/dev/sda2 !/dev/nvme0n1p2 !/dev/mmcblk0p2" # 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. ## 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="false" REFLECTOR_COUNTRIES=("Denmark") PACMAN_MIRROR="https://mirrors.kernel.org/archlinux/\$repo/os/\$arch" 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" # 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. DISPLAY_DRIVER="auto !intel !amdgpu !ati !nvidia !nvidia-lts !nvidia-dkms !nvidia-390xx !nvidia-390xx-lts !nvidia-390xx-dkms !nouveau" # (single) KMS="true" FASTBOOT="true" FRAMEBUFFER_COMPRESSION="true" DISPLAY_DRIVER_DDX="false" VULKAN="true" DISPLAY_DRIVER_HARDWARE_ACCELERATION="true" DISPLAY_DRIVER_HARDWARE_ACCELERATION_INTEL="intel-media-driver !libva-intel-driver" # (single) # config ## Some variables for system configuration, from timezone, locale and keyboard to the root password. ## ROOT_PASSWORD root user password. If "ask" password alis asks for a secure password. TIMEZONE="/usr/share/zoneinfo/Europe/Copenhagen" LOCALES=("da_DK.UTF-8 UTF-8" "en_DK.UTF-8 UTF-8" "en_US.UTF-8 UTF-8") LOCALE_CONF=("LANG=en_DK.UTF-8" "LANGUAGE=en_DK:dk:en_US:en") KEYMAP="KEYMAP=dk-latin1" KEYLAYOUT="dk" KEYMODEL="" KEYVARIANT="" KEYOPTIONS="" FONT="" FONT_MAP="" HOSTNAME="WINTERMUTE" 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="ginner" 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="true" SYSTEMD_HOMED_STORAGE="!auto luks !subvolume !directory !fscrypt !cifs" SYSTEMD_HOMED_STORAGE_LUKS=(["type"]="!auto ext4 !btrfs !xfs") SYSTEMD_HOMED_STORAGE_CIFS=(["domain"]="" ["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. BOOTLOADER="!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" # (single) # packages (all multiple) ## 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_INSTALL_PIPEWIRE installs PipeWire replacing PulseAudio, requires PACKAGES_INSTALL="true". ### It is recommended to install packages after base installation and reboot. PACKAGES_MULTILIB="false" PACKAGES_INSTALL="false" PACKAGES_INSTALL_PIPEWIRE="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="!ufw.service !bluetooth.service !docker.service" # reboot ## REBOOT on installation end reboots the system automatically. If "false" no reboot is performed and the user must do it explicitly. REBOOT="true"