Skip to content

EndeavourOS provides users a couple of ways to customize what to install.

File /home/liveuser/user_pkglist.txt

This is the easy way is to add your favorite package names to be installed.
The file is already provided on the ISO. Use only package names from the repos, not from AUR. Write only one package name per line.

File /home/liveuser/user_commands.bash

This is a much more advanced feature. You can write various bash language commands to this file. This script file will be executed (as root) in two phases:

  1. in the beginning of install before starting calamares
  2. in the end of the install process (in calamares)

Note: phase 1. is a new feature implemented in Cassini neo (beginning of Feb 2023). Phase 2. has been around in a few ISOs already.

In the beginning (phase 1.) you can configure calamares settings, for example set the default filesystem type to be used in the installed system. In file user_commands.bash phases are recognized by parameters. In phase 1. user_commands.bash gets parameters --iso-config and install-mode. The first parameter tells that only your phase 1. commands should be executed, nothing more. The second parameter tells what you selected as the install mode, and this value is one of: online, offline, community.

In the end of install (phase 2.) you can customize the installed system in many ways. For example:

  • install and/or remove packages
  • enable and disable systemd services
  • write and/or customize files in the $HOME folder of the new user (e.g. ~/.bashrc)
  • add third party repositories into /etc/pacman.conf (may help e.g. with unusual drivers!)
  • customize grub features (e.g. blacklist unnecessary drivers)
  • modify various app or system configuration files
  • and more!

In phase 2. user_commands.bash will be called with the new user name you gave during the install.

Note that file user_commands.bash on the ISO contains more details and many usage examples.

Limitations for the commands

The commands are run as the root user, so

  • AUR packages cannot be installed
  • some commands do not run properly as root
  • files modified under $HOME need to be chown‘ed from root to the real user

In addition, commands written into this file must never stop e.g. for asking any confirmation. So, for example, pacman must be used with option --noconfirm to prevent stopping.

How to start a customized install

Simply write your commands into user_commands.bash and restart Welcome.

Or, you can use your personal URL file which contains your commands! To use the URL, re-start welcome with a terminal command:

  eos-welcome --ni="URL"

and welcome will fetch your command file and use it as user_commands.bash.
Note that the URL must start with either https:// or http:// because only these protocols are supported.


Please look at the files mentioned above on the ISO. They contain more tips and details, which should help you use them.
Hope you’ll enjoy these customization possibilities!

Connect with us:

Customizing the EndeavourOS install process

  • by
%d bloggers like this: