# SPDX-FileCopyrightText: no # SPDX-License-Identifier: CC0-1.0 # # Configuration for the shell process job. # # Executes a list of commands found under the key *script*. # If the top-level key *dontChroot* is true, then the commands # are executed in the context of the live system, otherwise # in the context of the target system. In all of the commands, # the following variable expansions will take place: # - `ROOT` is replaced by the root mount point of the **target** # system from the point of view of the command (when run in the target # system, e.g. when *dontChroot* is false, that will be `/`). # - `USER` is replaced by the username, set on the user page. # - `LANG` is replaced by the language chosen for the user-interface # of Calamares, set on the welcome page. This may not reflect the # chosen system language from the locale page. # # Variables are written as `${var}`, e.g. `${ROOT}`. # Write `$$` to get a shell-escaped `\$` in the shell command. # It is not possible to get an un-escaped `$` in the shell command # (either the command will fail because of undefined variables, or # you get a shell-escaped `\$`). # # The (global) timeout for the command list can be set with # the *timeout* key. The value is a time in seconds, default # is 30 seconds if not set. The timeout **must** be tuned, either # globally or per-command (see below in the description of *script*), # to the load or expected running-time of the command. # # - Setting a timeout of 30 for a `touch` command is probably exessive # - Setting a timeout of 1 for a `touch` command might be low, # on a slow disk where touch needs to be loaded from CDROM # - Setting a timeout of 30 for a 1GB download is definitely low # - Setting a timeout of 3600 for a 1GB download is going to leave # the user in uncertainty for a loooong time. # # If a command starts with "-" (a single minus sign), then the # return value of the command following the - is ignored; otherwise, # a failing command will abort the installation. This is much like # make's use of - in a command. # # The value of *script* may be: # - a single string; this is one command that is executed. # - a single object (see below). # - a list of items; these are executed one at a time, by # separate shells (/bin/sh -c is invoked for each command). # Each list item may be: # - a single string; this is one command that is executed. # - a single object, specifying a key *command* and (optionally) # a key *timeout* to set the timeout for this specific # command differently from the global setting. An optional # key *environment* is a list of strings to put into the # environment of the command. # # Using a single object is not generally useful because the same effect # can be obtained with a single string and a global timeout, except # when the command needs environment-settings. When there are # multiple commands to execute, one of them might have # a different timeout than the others. # # The environment strings should all be "KEY='some value'" strings, # as if they can be typed into the shell. Quoting the environment # strings with "" in YAML is recommended. Adding the '' quotes ensures # that the value will not be interpreted by the shell. Writing # environment strings is the same as placing `export KEY='some value' ;` # in front of the *command*. # # Calamares variable expansion is **also** done on the environment strings. # Write `$$` to get a literal `$` in the shell command. # # To change the description of the job, set the *name* entries in *i18n*. --- dontChroot: false timeout: 3600 script: - "-rm /home/${USER}/.xinitrc" - "-rm /home/${USER}/.bash_profile" - "-rm /etc/sudoers.d/g_wheel" - "-rm -r /etc/systemd/system/getty@tty1.service.d" - "-rm /etc/systemd/system/etc-pacman.d-gnupg.mount" - "-rm /root/{.automated_script.sh,.zlogin,.xinitrc,.xsession,.xprofile,.wget-hsts,.screenrc,.ICEauthority}" - "-rm /root/.config/{qt5ct,Kvantum,dconf}" - "-rm /etc/polkit-1/rules.d/49-nopasswd_global.rules" - "-rm /etc/polkit-1/rules.d/49-nopasswd-calamares.rules" - "-rm /etc/systemd/system/display-manager.service" - "-rm -r /etc/sddm.conf.d" - "-mv /etc/sddm{-bk,}.conf" - "-rm /etc/motd" - command: "/usr/local/bin/dmcheck" - "-rm /usr/local/bin/dmcheck" - "-rm /usr/local/bin/remove-nvidia" - "-rm /usr/local/bin/calamares-offline.sh" - "-rm /usr/local/bin/calamares-online.sh" - "-rm /etc/skel/.xinitrc" - "-rm /etc/skel/.bash_profile" - "-rm -rf /home/liveuser" - '-runuser ${USER} -c "cp -rf /etc/skel/. /home/${USER}/."' - '-runuser ${USER} -c "rm -rf /home/${USER}/{.xsession,.xprofile,.xinitrc}"'