From 731cab73b54223a7ccfeec293b1f57c0477a5823 Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Fri, 18 Nov 2022 15:12:59 -0500 Subject: linhes-dev: add LinHES9_iso for building ISO --- linhes/linhes-dev/LinHES9_iso/.gitignore | 3 + linhes/linhes-dev/LinHES9_iso/build_iso.sh | 292 +++++++++++++++++++++ .../etc/calamares/branding/LinHES/branding.desc | 227 ++++++++++++++++ .../branding/LinHES/lang/calamares-default_ar.ts | 17 ++ .../branding/LinHES/lang/calamares-default_en.ts | 17 ++ .../branding/LinHES/lang/calamares-default_eo.ts | 17 ++ .../branding/LinHES/lang/calamares-default_fr.ts | 17 ++ .../branding/LinHES/lang/calamares-default_nl.ts | 17 ++ .../etc/calamares/branding/LinHES/languages.png | Bin 0 -> 86002 bytes .../branding/LinHES/languages.png.license | 2 + .../etc/calamares/branding/LinHES/show.qml | 97 +++++++ .../etc/calamares/branding/LinHES/squid.png | Bin 0 -> 8313 bytes .../calamares/branding/LinHES/squid.png.license | 2 + .../etc/calamares/branding/LinHES/stylesheet.qss | 263 +++++++++++++++++++ .../airootfs/etc/calamares/modules/finished.conf | 47 ++++ .../airootfs/etc/calamares/modules/initcpio.conf | 26 ++ .../airootfs/etc/calamares/modules/packages.conf | 222 ++++++++++++++++ .../airootfs/etc/calamares/modules/partition.conf | 255 ++++++++++++++++++ .../etc/calamares/modules/preservefiles.conf | 67 +++++ .../airootfs/etc/calamares/modules/removeuser.conf | 13 + .../etc/calamares/modules/shellprocess-before.conf | 78 ++++++ .../etc/calamares/modules/shellprocess-final.conf | 85 ++++++ .../airootfs/etc/calamares/modules/unpackfs.conf | 96 +++++++ .../airootfs/etc/calamares/modules/users.conf | 217 +++++++++++++++ .../airootfs/etc/calamares/modules/welcome.conf | 121 +++++++++ .../cust_skel/airootfs/etc/calamares/settings.conf | 243 +++++++++++++++++ .../cust_skel/airootfs/etc/lightdm/lightdm.conf | 164 ++++++++++++ .../LinHES9_iso/cust_skel/airootfs/etc/os-release | 10 + .../LinHES9_iso/cust_skel/airootfs/etc/pacman.conf | 105 ++++++++ .../etc/polkit-1/rules.d/49-nopasswd_global.rules | 9 + .../airootfs/etc/sddm.conf.d/autologin.conf | 3 + .../cust_skel/airootfs/etc/skel/.config/dolphinrc | 26 ++ .../airootfs/etc/skel/.config/kscreenlockerrc | 6 + .../plasma-org.kde.plasma.desktop-appletsrc | 120 +++++++++ .../etc/skel/.local/share/dolphin/dolphinstaterc | 14 + .../LinHES9_iso/cust_skel/airootfs/etc/sudoers | 96 +++++++ .../etc/systemd/system/display-manager.service | 1 + .../cust_skel/airootfs/root/customize_airootfs.sh | 8 + .../cust_skel/airootfs/usr/bin/calamares_polkit | 6 + .../airootfs/usr/share/LinHES/calamares.desktop | 252 ++++++++++++++++++ .../loader/entries/01-archiso-x86_64-linux.conf | 7 + .../entries/02-archiso-x86_64-speech-linux.conf | 7 + .../cust_skel/efiboot/loader/loader.conf | 2 + .../linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg | 46 ++++ .../LinHES9_iso/cust_skel/packages.x86_64 | 158 +++++++++++ .../linhes-dev/LinHES9_iso/cust_skel/pacman.conf | 105 ++++++++ .../linhes-dev/LinHES9_iso/cust_skel/profiledef.sh | 25 ++ .../cust_skel/syslinux/archiso_head.cfg | 28 ++ .../cust_skel/syslinux/archiso_pxe-linux.cfg | 32 +++ .../LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg | 5 + .../cust_skel/syslinux/archiso_sys-linux.cfg | 20 ++ .../LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg | 8 + .../cust_skel/syslinux/archiso_tail.cfg | 35 +++ .../LinHES9_iso/cust_skel/syslinux/splash.png | Bin 0 -> 36027 bytes .../LinHES9_iso/cust_skel/syslinux/syslinux.cfg | 11 + 55 files changed, 3750 insertions(+) create mode 100644 linhes/linhes-dev/LinHES9_iso/.gitignore create mode 100755 linhes/linhes-dev/LinHES9_iso/build_iso.sh create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers create mode 120000 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service create mode 100755 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh create mode 100755 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit create mode 100755 linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64 create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png create mode 100644 linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg diff --git a/linhes/linhes-dev/LinHES9_iso/.gitignore b/linhes/linhes-dev/LinHES9_iso/.gitignore new file mode 100644 index 0000000..ee2a1ba --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/.gitignore @@ -0,0 +1,3 @@ +arch_skel +out +work diff --git a/linhes/linhes-dev/LinHES9_iso/build_iso.sh b/linhes/linhes-dev/LinHES9_iso/build_iso.sh new file mode 100755 index 0000000..2db92cf --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/build_iso.sh @@ -0,0 +1,292 @@ +#!/bin/bash + +# Revision: 2022.06.15 +# (GNU/General Public License version 3.0) +# by Cecil Watson for LinHES. +# based on work by eznix (https://sourceforge.net/projects/ezarch/) + +# ---------------------------------------- +# Define Variables +# ---------------------------------------- + +LCLST="en_US" +# Format is language_COUNTRY where language is lower case two letter code +# and country is upper case two letter code, separated with an underscore + +KEYMP="us" +# Use lower case two letter country code + +KEYMOD="pc105" +# pc105 and pc104 are modern standards, all others need to be researched + +MYUSERNM="km" +# use all lowercase letters only + +MYUSRPASSWD="mtv" +# Pick a password of your choice + +RTPASSWD="roto" +# Pick a root password + +MYHOSTNM="linhes" +# Pick a hostname for the machine + +# ---------------------------------------- +# Functions +# ---------------------------------------- + +# Test for root user +rootuser () { + if [[ "$EUID" = 0 ]]; then + continue + else + echo "Please Run As Root or sudo" + sleep 2 + exit + fi +} + +# Display line error +handlerror () { +clear +set -uo pipefail +trap 's=$?; echo "$0: Error on line "$LINENO": $BASH_COMMAND"; exit $s' ERR +} + +# Clean up working directories +cleanup () { +[[ -d ./arch_skel ]] && rm -r ./arch_skel +[[ -d ./work ]] && rm -r ./work +sleep 2 +} + +# Requirements and preparation +_isInstalled() { + package="$1"; + check="$(sudo pacman -Qs --color always "${package}" | grep "local" | grep "${package} ")"; + if [ -n "${check}" ] ; then + echo 0; #'0' means 'true' in Bash + return; #true + fi; + echo 1; #'1' means 'false' in Bash + return; #false +} + +prereqs() { + + # The packages that are not installed will be added to this array. + toInstall=(); + + for pkg; do + # If the package IS installed, skip it. + if [[ $(_isInstalled "${pkg}") == 0 ]]; then + echo "${pkg} is already installed."; + continue; + fi; + + #Otherwise, add it to the list of packages to install. + toInstall+=("${pkg}"); + done; + + # If no packages were added to the "${toInstall[@]}" array, + # don't do anything and stop this function. + if [[ "${toInstall[@]}" == "" ]] ; then + echo "All packages are already installed."; + return; + fi; + + # Otherwise, install all the packages that have been added to the "${toInstall[@]}" array. + printf "Packages not installed:\n%s\n" "${toInstall[@]}"; + sudo pacman -S --needed --noconfirm "${toInstall[@]}"; +} + +# Copy Arch profile to working directory +cp_releng () { +cp -r /usr/share/archiso/configs/releng/ ./arch_skel +rm -r ./arch_skel/efiboot +rm -r ./arch_skel/syslinux +} + +# Copy cust_repo to opt +cp_repo () { +if [ -d "./cust_repo" ] +then + cp -r ./cust_repo /opt/repo +fi +} + +# Remove ezrepo from opt +rm_repo () { +if [ -d "/opt/repo" ] +then + rm -r /opt/repo +fi +} + +# Delete automatic login +nalogin () { +rm -r ./arch_skel/airootfs/etc/systemd/system/getty@tty1.service.d +} + +# Remove cloud-init, hyper-v, qemu-guest, vmtoolsd, sshd, & iwd services +rmunitsd () { +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/hv_fcopy_daemon.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/hv_kvp_daemon.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/hv_vss_daemon.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/qemu-guest-agent.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/vmtoolsd.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/vmware-vmblock-fuse.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/sshd.service +rm ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service +rm -r ./arch_skel/airootfs/etc/systemd/system/cloud-init.target.wants +} + +# Add Bluetooth, cups, haveged, NetworkManager, & sddm systemd links +addnmlinks () { +mkdir -p ./arch_skel/airootfs/etc/systemd/system/network-online.target.wants +mkdir -p ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants +mkdir -p ./arch_skel/airootfs/etc/systemd/system/bluetooth.target.wants +mkdir -p ./arch_skel/airootfs/etc/systemd/system/printer.target.wants +mkdir -p ./arch_skel/airootfs/etc/systemd/system/sockets.target.wants +mkdir -p ./arch_skel/airootfs/etc/systemd/system/timers.target.wants +mkdir -p ./arch_skel/airootfs/etc/systemd/system/sysinit.target.wants +ln -sf /usr/lib/systemd/system/NetworkManager-wait-online.service ./arch_skel/airootfs/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service +ln -sf /usr/lib/systemd/system/NetworkManager-dispatcher.service ./arch_skel/airootfs/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service +ln -sf /usr/lib/systemd/system/NetworkManager.service ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/NetworkManager.service +ln -sf /usr/lib/systemd/system/bluetooth.service ./arch_skel/airootfs/etc/systemd/system/bluetooth.target.wants/bluetooth.service +ln -sf /usr/lib/systemd/system/haveged.service ./arch_skel/airootfs/etc/systemd/system/sysinit.target.wants/haveged.service +ln -sf /usr/lib/systemd/system/cups.service ./arch_skel/airootfs/etc/systemd/system/printer.target.wants/cups.service +ln -sf /usr/lib/systemd/system/cups.socket ./arch_skel/airootfs/etc/systemd/system/sockets.target.wants/cups.socket +ln -sf /usr/lib/systemd/system/cups.path ./arch_skel/airootfs/etc/systemd/system/multi-user.target.wants/cups.path +ln -sf /usr/lib/systemd/system/bluetooth.service ./arch_skel/airootfs/etc/systemd/system/dbus-org.bluez.service +ln -sf /usr/lib/systemd/system/lightdm.service ./arch_skel/airootfs/etc/systemd/system/display-manager.service +} + +# Copy files to customize the ISO +cpmyfiles () { +cp ./cust_skel/packages.x86_64 ./arch_skel/ +cp ./cust_skel/pacman.conf ./arch_skel/ +cp ./cust_skel/profiledef.sh ./arch_skel/ +cp -r ./cust_skel/grub ./arch_skel/ +cp -r ./cust_skel/efiboot ./arch_skel/ +cp -r ./cust_skel/syslinux ./arch_skel/ +cp -r ./cust_skel/airootfs ./arch_skel/ +} + +# Set hostname +sethostname () { +echo "${MYHOSTNM}" > ./arch_skel/airootfs/etc/hostname +} + +# Create passwd file +# Changed user to 1000 from 1010 +crtpasswd () { +echo "root:x:0:0:root:/root:/usr/bin/bash +"${MYUSERNM}":x:1000:1000::/home/"${MYUSERNM}":/bin/bash" > ./arch_skel/airootfs/etc/passwd +} + +# Create group file +# Changed user to 1000 from 1010 +crtgroup () { +echo "root:x:0:root +sys:x:3:"${MYUSERNM}" +adm:x:4:"${MYUSERNM}" +wheel:x:10:"${MYUSERNM}" +log:x:19:"${MYUSERNM}" +network:x:90:"${MYUSERNM}" +floppy:x:94:"${MYUSERNM}" +scanner:x:96:"${MYUSERNM}" +power:x:98:"${MYUSERNM}" +rfkill:x:850:"${MYUSERNM}" +users:x:985:"${MYUSERNM}" +video:x:860:"${MYUSERNM}" +storage:x:870:"${MYUSERNM}" +optical:x:880:"${MYUSERNM}" +lp:x:840:"${MYUSERNM}" +audio:x:890:"${MYUSERNM}" +autologin:x:965:"${MYUSERNM}" +"${MYUSERNM}":x:1000:" > ./arch_skel/airootfs/etc/group +} + +# Create shadow file +crtshadow () { +usr_hash=$(openssl passwd -6 "${MYUSRPASSWD}") +root_hash=$(openssl passwd -6 "${RTPASSWD}") +echo "root:"${root_hash}":14871:::::: +"${MYUSERNM}":"${usr_hash}":14871::::::" > ./arch_skel/airootfs/etc/shadow +} + +# create gshadow file +crtgshadow () { +echo "root:!*::root +"${MYUSERNM}":!*::" > ./arch_skel/airootfs/etc/gshadow +} + +# Set the keyboard layout +setkeylayout () { +echo "KEYMAP="${KEYMP}"" > ./arch_skel/airootfs/etc/vconsole.conf +} + +# Create 00-keyboard.conf file +crtkeyboard () { +mkdir -p ./arch_skel/airootfs/etc/X11/xorg.conf.d +echo "Section \"InputClass\" + Identifier \"system-keyboard\" + MatchIsKeyboard \"on\" + Option \"XkbLayout\" \""${KEYMP}"\" + Option \"XkbModel\" \""${KEYMOD}"\" +EndSection" > ./arch_skel/airootfs/etc/X11/xorg.conf.d/00-keyboard.conf +} + +# Fix 40-locale-gen.hook and create locale.conf +crtlocalec () { +sed -i "s/en_US/"${LCLST}"/g" ./arch_skel/airootfs/etc/pacman.d/hooks/40-locale-gen.hook +echo "LANG="${LCLST}".UTF-8" > ./arch_skel/airootfs/etc/locale.conf +} + +# Start mkarchiso +runmkarchiso () { +mkarchiso -v -w ./work -o ./out ./arch_skel +} + +# ---------------------------------------- +# Run Functions +# ---------------------------------------- + +rootuser +handlerror +prereqs "archlinux-keyring" "archiso" "mkinitcpio-archiso" +cleanup +cp_releng +addnmlinks +cp_repo +nalogin +rmunitsd +cpmyfiles +sethostname +crtpasswd +crtgroup +crtshadow +crtgshadow +setkeylayout +crtkeyboard +crtlocalec +runmkarchiso +rm_repo + + +# Disclaimer: +# +# THIS SOFTWARE IS PROVIDED BY EZNIX “AS IS” AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL EZNIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# END +# diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc new file mode 100644 index 0000000..e0393af --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/branding.desc @@ -0,0 +1,227 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Product branding information. This influences some global +# user-visible aspects of Calamares, such as the product +# name, window behavior, and the slideshow during installation. +# +# Additional styling can be done using the stylesheet.qss +# file, also in the branding directory. +--- +componentName: LinHES + + +### WELCOME / OVERALL WORDING +# +# These settings affect some overall phrasing and looks, +# which are most visible in the welcome page. + +# This selects between different welcome texts. When false, uses +# the traditional "Welcome to the %1 installer.", and when true, +# uses "Welcome to the Calamares installer for %1." This allows +# to distinguish this installer from other installers for the +# same distribution. +welcomeStyleCalamares: false + +# Should the welcome image (productWelcome, below) be scaled +# up beyond its natural size? If false, the image does not grow +# with the window but remains the same size throughout (this +# may have surprising effects on HiDPI monitors). +welcomeExpandingLogo: true + +### WINDOW CONFIGURATION +# +# The settings here affect the placement of the Calamares +# window through hints to the window manager and initial +# sizing of the Calamares window. + +# Size and expansion policy for Calamares. +# - "normal" or unset, expand as needed, use *windowSize* +# - "fullscreen", start as large as possible, ignore *windowSize* +# - "noexpand", don't expand automatically, use *windowSize* +windowExpanding: normal + +# Size of Calamares window, expressed as w,h. Both w and h +# may be either pixels (suffix px) or font-units (suffix em). +# e.g. "800px,600px" +# "60em,480px" +# This setting is ignored if "fullscreen" is selected for +# *windowExpanding*, above. If not set, use constants defined +# in CalamaresUtilsGui, 800x520. +windowSize: 1024px,735px + +# Placement of Calamares window. Either "center" or "free". +# Whether "center" actually works does depend on the window +# manager in use (and only makes sense if you're not using +# *windowExpanding* set to "fullscreen"). +windowPlacement: center + +### PANELS CONFIGURATION +# +# Calamares has a main content area, and two panels (navigation +# and progress / sidebar). The panels can be controlled individually, +# or switched off. If both panels are switched off, the layout of +# the main content area loses its margins, on the assumption that +# you're doing something special. + +# Kind of sidebar (panel on the left, showing progress). +# - "widget" or unset, use traditional sidebar (logo, items) +# - "none", hide it entirely +# - "qml", use calamares-sidebar.qml from branding folder +# In addition, you **may** specify a side, separated by a comma, +# from the kind. Valid sides are: +# - "left" (if not specified, uses this) +# - "right" +# - "top" +# - "bottom" +# For instance, "widget,right" is valid; so is "qml", which defaults +# to putting the sidebar on the left. Also valid is "qml,top". +# While "widget,top" is valid, the widgets code is **not** flexible +# and results will be terrible. +sidebar: widget + +# Kind of navigation (button panel on the bottom). +# - "widget" or unset, use traditional navigation +# - "none", hide it entirely +# - "qml", use calamares-navigation.qml from branding folder +# In addition, you **may** specify a side, separated by a comma, +# from the kind. The same sides are valid as for *sidebar*, +# except the default is *bottom*. +navigation: widget + + +### STRINGS, IMAGES AND COLORS +# +# This section contains the "branding proper" of names +# and images, rather than global-look settings. + +# These are strings shown to the user in the user interface. +# There is no provision for translating them -- since they +# are names, the string is included as-is. +# +# The four Url strings are the Urls used by the buttons in +# the welcome screen, and are not shown to the user. Clicking +# on the "Support" button, for instance, opens the link supportUrl. +# If a Url is empty, the corresponding button is not shown. +# +# bootloaderEntryName is how this installation / distro is named +# in the boot loader (e.g. in the GRUB menu). +# +# These strings support substitution from /etc/os-release +# if KDE Frameworks 5.58 are available at build-time. When +# enabled, @{var-name} is replaced by the equivalent value +# from os-release. All the supported var-names are in all-caps, +# and are listed on the FreeDesktop.org site, +# https://www.freedesktop.org/software/systemd/man/os-release.html +# Note that ANSI_COLOR and CPE_NAME don't make sense here, and +# are not supported (the rest are). Remember to quote the string +# if it contains substitutions, or you'll get YAML exceptions. +# +# The *Url* entries are used on the welcome page, and they +# are visible as buttons there if the corresponding *show* keys +# are set to "true" (they can also be overridden). +strings: + productName: LinHES + shortProductName: LinHES + version: 9alpha1 + shortVersion: 9alpha1 + versionedName: LinHES + shortVersionedName: LinHES + bootloaderEntryName: LinHES9 + +# These images are loaded from the branding module directory. +# +# productBanner is an optional image, which if present, will be shown +# on the welcome page of the application, above the welcome text. +# It is intended to have a width much greater than height. +# It is displayed at 64px height (also on HiDPI). +# Recommended size is 64px tall, and up to 460px wide. +# productIcon is used as the window icon, and will (usually) be used +# by the window manager to represent the application. This image +# should be square, and may be displayed by the window manager +# as small as 16x16 (but possibly larger). +# productLogo is used as the logo at the top of the left-hand column +# which shows the steps to be taken. The image should be square, +# and is displayed at 80x80 pixels (also on HiDPI). +# productWallpaper is an optional image, which if present, will replace +# the normal solid background on every page of the application. +# It can be any size and proportion, +# and will be tiled to fit the entire window. +# For a non-tiled wallpaper, the size should be the same as +# the overall window, see *windowSize* above (800x520). +# productWelcome is shown on the welcome page of the application in +# the middle of the window, below the welcome text. It can be +# any size and proportion, and will be scaled to fit inside +# the window. Use `welcomeExpandingLogo` to make it non-scaled. +# Recommended size is 320x150. +# +# These filenames can also use substitutions from os-release (see above). +images: + # productBanner: "banner.png" + productIcon: "squid.png" + productLogo: "squid.png" + # productWallpaper: "wallpaper.png" + # productWelcome: "" + +# Colors for text and background components. +# +# - sidebarBackground is the background of the sidebar +# - sidebarText is the (foreground) text color +# - sidebarTextHighlight sets the background of the selected (current) step. +# Optional, and defaults to the application palette. +# - sidebarSelect is the text color of the selected step. +# +# These colors can **also** be set through the stylesheet, if the +# branding component also ships a stylesheet.qss. Then they are +# the corresponding CSS attributes of #sidebarApp. +style: + sidebarBackground: "#292F34" + sidebarText: "#FFFFFF" + sidebarTextSelect: "#292F34" + sidebarTextHighlight: "#D35400" + +### SLIDESHOW +# +# The slideshow is displayed during execution steps (e.g. when the +# installer is actually writing to disk and doing other slow things). + +# The slideshow can be a QML file (recommended) which can display +# arbitrary things -- text, images, animations, or even play a game -- +# during the execution step. The QML **is** abruptly stopped when the +# execution step is done, though, so maybe a game isn't a great idea. +# +# The slideshow can also be a sequence of images (not recommended unless +# you don't want QML at all in your Calamares). The images are displayed +# at a rate of 1 every 2 seconds during the execution step. +# +# To configure a QML file, list a single filename: +# slideshow: "show.qml" +# To configure images, like the filenames (here, as an inline list): +# slideshow: [ "/etc/calamares/slideshow/0.png", "/etc/logo.png" ] +slideshow: "show.qml" + +# There are two available APIs for a QML slideshow: +# - 1 (the default) loads the entire slideshow when the installation- +# slideshow page is shown and starts the QML then. The QML +# is never stopped (after installation is done, times etc. +# continue to fire). +# - 2 loads the slideshow on startup and calls onActivate() and +# onLeave() in the root object. After the installation is done, +# the show is stopped (first by calling onLeave(), then destroying +# the QML components). +# +# An image slideshow does not need to have the API defined. +slideshowAPI: 2 + + +# These options are to customize online uploading of logs to pastebins: +# - type : Defines the kind of pastebin service to be used. Currently +# it accepts two values: +# - none : disables the pastebin functionality +# - fiche : use fiche pastebin server +# - url : Defines the address of pastebin service to be used. +# Takes string as input. Important bits are the host and port, +# the scheme is not used. +uploadServer : + type : "fiche" + url : "http://termbin.com:9999" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts new file mode 100644 index 0000000..3c4fe09 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_ar.ts @@ -0,0 +1,17 @@ + + + + + show + + + This is a second Slide element. + عرض الثاني + + + + This is a third Slide element. + عرض الثالث + + + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts new file mode 100644 index 0000000..b02dbd5 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_en.ts @@ -0,0 +1,17 @@ + + + + + show + + + This is a second Slide element. + + + + + This is a third Slide element. + + + + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts new file mode 100644 index 0000000..7d1ef4e --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_eo.ts @@ -0,0 +1,17 @@ + + + + + show + + + This is a second Slide element. + Ĉi tio estas la dua gliteja. + + + + This is a third Slide element. + Ĉi tio estas la tria gliteja. + + + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts new file mode 100644 index 0000000..ec5e041 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_fr.ts @@ -0,0 +1,17 @@ + + + + + show + + + This is a second Slide element. + Ceci est la deuxieme affiche. + + + + This is a third Slide element. + La troisième affice ce trouve ici. + + + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts new file mode 100644 index 0000000..19fd583 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/lang/calamares-default_nl.ts @@ -0,0 +1,17 @@ + + + + + show + + + This is a second Slide element. + Dit is het tweede Dia element. + + + + This is a third Slide element. + Dit is het derde Dia element. + + + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png new file mode 100644 index 0000000..5331652 Binary files /dev/null and b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png differ diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license new file mode 100644 index 0000000..ea82645 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/languages.png.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2015 Teo Mrnjavac +SPDX-License-Identifier: GPL-3.0-or-later diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml new file mode 100644 index 0000000..b0632dc --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/show.qml @@ -0,0 +1,97 @@ +/* === This file is part of Calamares - === + * + * SPDX-FileCopyrightText: 2015 Teo Mrnjavac + * SPDX-FileCopyrightText: 2018 Adriaan de Groot + * SPDX-License-Identifier: GPL-3.0-or-later + * + * Calamares is Free Software: see the License-Identifier above. + * + */ + +import QtQuick 2.0; +import calamares.slideshow 1.0; + +Presentation +{ + id: presentation + + function nextSlide() { + console.log("QML Component (default slideshow) Next slide"); + presentation.goToNextSlide(); + } + + Timer { + id: advanceTimer + interval: 5000 + running: presentation.activatedInCalamares + repeat: true + onTriggered: nextSlide() + } + + Slide { + + anchors.fill: parent + anchors.verticalCenterOffset: 0 + + Image { + id: background1 + source: "" + width: parent.width; height: parent.height + horizontalAlignment: Image.AlignCenter + verticalAlignment: Image.AlignTop + fillMode: Image.Stretch + anchors.fill: parent + } + + Text { + anchors.horizontalCenter: background.horizontalCenter + anchors.top: background.bottom + text: "Welcome to" + wrapMode: Text.WordWrap + width: presentation.width + horizontalAlignment: Text.Center + } + } + + Slide { + + anchors.fill: parent + anchors.verticalCenterOffset: 0 + + Image { + id: background2 + source: "" + width: parent.width; height: parent.height + horizontalAlignment: Image.AlignCenter + verticalAlignment: Image.AlignTop + fillMode: Image.Stretch + anchors.fill: parent + } + + Text { + anchors.horizontalCenter: background.horizontalCenter + anchors.top: background.bottom + text: "LinHES: The Linux Entertainment System" + wrapMode: Text.WordWrap + width: presentation.width + horizontalAlignment: Text.Center + } + } + + + // When this slideshow is loaded as a V1 slideshow, only + // activatedInCalamares is set, which starts the timer (see above). + // + // In V2, also the onActivate() and onLeave() methods are called. + // These example functions log a message (and re-start the slides + // from the first). + function onActivate() { + console.log("QML Component (default slideshow) activated"); + presentation.currentSlide = 0; + } + + function onLeave() { + console.log("QML Component (default slideshow) deactivated"); + } + +} diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png new file mode 100644 index 0000000..452e445 Binary files /dev/null and b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png differ diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license new file mode 100644 index 0000000..cc08e1f --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/squid.png.license @@ -0,0 +1,2 @@ +SPDX-FileCopyrightText: 2014 Teo Mrnjavac +SPDX-License-Identifier: GPL-3.0-or-later diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss new file mode 100644 index 0000000..d3d0c2d --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/branding/LinHES/stylesheet.qss @@ -0,0 +1,263 @@ +/* + +A branding component can ship a stylesheet (like this one) +which is applied to parts of the Calamares user-interface. +In principle, all parts can be styled through CSS. +Missing parts should be filed as issues. + +The IDs are based on the object names in the C++ code. +You can use the Debug Dialog to find out object names: + - Open the debug dialog + - Choose tab *Tools* + - Click *Widget Tree* button +The list of object names is printed in the log. + +Documentation for styling Qt Widgets through a stylesheet +can be found at + https://doc.qt.io/qt-5/stylesheet-examples.html + https://doc.qt.io/qt-5/stylesheet-reference.html +In Calamares, styling widget classes is supported (e.g. +using `QComboBox` as a selector). + +This example stylesheet has all the actual styling commented out. +The examples are not exhaustive. + +*/ + + +/* ########## MAIN APPLICATION WINDOW ########## */ + +#mainApp { +} + +#mainText{ + font : bold 16px; +} + +#sidebarApp { + +} + +#logoApp { +} + +#sidebarMenuApp { + padding: 3px; + background-color: #292F34; +} + +QWidget { + font: 16px; +} + +QTextEdit, QListView { +} +QDialogButtonBox { +} +QAbstractSpinBox { +} +QListWidget::item:alternate { +} + + +#debugButton { + font: bold 8px; + color: #FFFFFF; +} + + +/* ########## TOOLTIP ########## */ + + + +QPushButton { + font : 16px; +} + +QDialogButtonBox { + dialogbuttonbox-buttons-have-icons: 0; +} + + +/* ########## QLIST VIEW ########## */ + +QListView { + font: 16px; +} + + +/* ########## QLINE EDIT ########## */ + +QLineEdit#LE_TestKeyboard { + font: 16px; +} + +QLineEdit#m_passphraseLineEdit, QLineEdit#vgName, +QLineEdit#m_confirmLineEdit { + font: 16px; +} + +QLineEdit#textBoxUserVerifiedPassword, QLineEdit#textBoxVerifiedRootPassword { + font: 16px; +} + +QLineEdit#textBoxFullName, QLineEdit#textBoxLoginName, QLineEdit#textBoxHostName, +QLineEdit#textBoxUserPassword, QLineEdit#textBoxRootPassword { + font: 16px; +} + +#textBoxFullName, #textBoxLoginName, #textBoxHostName, #textBoxUserPassword, +#textBoxRootPassword, #textBoxAutoLogin, #vgName { + font: 16px; +} + +#textBoxUserVerifiedPassword, #textBoxVerifiedRootPassword, +#LE_TestKeyboard, #m_confirmLineEdit, #m_passphraseLineEdit { + font: 16px; +} + +/* ##########PARTITION ########## */ + +#partResizerWidget { + font: 16px; +} + +/* ########## PAGE_USERSETUP ########## */ + + #labelWhatIsYourName { + font: 16px; +} + #textBoxFullName { + font: 16px; +} + #labelFullName { + font: 16px; +} + #labelFullNameError { + font: 16px; +} + #username_label_2 { + font: 16px; +} + #textBoxLoginName { + font: 16px; +} + #labelUsername { + font: 16px; +} + #labelUsernameError { + font: 16px; +} + #hostname_label_2 { + font: 16px; +} + #textBoxHostName { + font: 16px; +} + #labelHostname { + font: 16px; +} + #labelHostnameError { + font: 16px; +} + #password_label_2 { + font: 16px; +} + #textBoxUserPassword { + font: 16px; +} + #textBoxUserVerifiedPassword { + font: 16px; +} + #labelUserPassword { + font: 16px; +} + #labelUserPasswordError { + font: 16px; +} + #checkBoxRequireStrongPassword { + font: 16px; +} + #checkBoxDoAutoLogin { + font: 16px; +} + #checkBoxReusePassword { + font: 16px; +} + #labelChooseRootPassword { + font: 16px; +} + #textBoxRootPassword { + font: 16px; +} + #textBoxVerifiedRootPassword { + font: 16px; +} + #labelRootPassword { + font: 16px; +} + #labelRootPasswordError { + font: 16px; +} + +/* ########## COMBO BOX ########## */ + +QComboBox { + font: 16px; +} + +#mountPointComboBox::drop-down { + font: 16px; +} + +/* ########## SPIN BOX ########## */ + +QSpinBox { + font: 16px; +} + +QLineEdit { + font: 16px; +} + +/* ########## TREE VIEW ########## */ + +QTreeView { + font: 16px; + show-decoration-selected: 0; +} + +QTreeView::item { + padding: 2px; +} + +QTreeView::branch:has-siblings:!adjoins-item { +} +QTreeView::branch:has-siblings:adjoins-item { +} +QTreeView::branch:!has-children:!has-siblings:adjoins-item { +} +QTreeView::branch:has-children:!has-siblings:closed, +QTreeView::branch:closed:has-children:has-siblings { +} +QTreeView::branch:open:has-children:!has-siblings, +QTreeView::branch:open:has-children:has-siblings { +} + +/* ########## CHECK BOX ########## */ + +QCheckBox { +} +QCheckBox::indicator:unchecked { +} +QCheckBox::indicator:checked { +} +QItemSelectionModel::Select { +} + +/* ########## HEADER VIEW ########## */ + +QHeaderView::section { + font : 16px; +} + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf new file mode 100644 index 0000000..b0647fe --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/finished.conf @@ -0,0 +1,47 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the "finished" page, which is usually shown only at +# the end of the installation (successful or not). +--- +# DEPRECATED +# +# The finished page can hold a "restart system now" checkbox. +# If this is false, no checkbox is shown and the system is not restarted +# when Calamares exits. +# restartNowEnabled: true + +# DEPRECATED +# +# Initial state of the checkbox "restart now". Only relevant when the +# checkbox is shown by restartNowEnabled. +# restartNowChecked: false + +# Behavior of the "restart system now" button. +# +# There are four usable values: +# - never +# Does not show the button and does not restart. +# This matches the old behavior with restartNowEnabled=false. +# - user-unchecked +# Shows the button, defaults to unchecked, restarts if it is checked. +# This matches the old behavior with restartNowEnabled=true and restartNowChecked=false. +# - user-checked +# Shows the button, defaults to checked, restarts if it is checked. +# This matches the old behavior with restartNowEnabled=true and restartNowChecked=true. +# - always +# Shows the button, checked, but the user cannot change it. +# This is new behavior. +# +# The three combinations of legacy values are still supported. +restartNowMode: user-checked + +# If the checkbox is shown, and the checkbox is checked, then when +# Calamares exits from the finished-page it will run this command. +# If not set, falls back to "shutdown -r now". +restartNowCommand: "systemctl -i reboot" + +# When the last page is (successfully) reached, send a DBus notification +# to the desktop that the installation is done. This works only if the +# user as whom Calamares is run, can reach the regular desktop session bus. +notifyOnFinished: false diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf new file mode 100644 index 0000000..d2a1268 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/initcpio.conf @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Run mkinitcpio(8) with the given preset value +--- +# This key defines the kernel to be loaded. +# It can have the following values: +# - the name of a single mkinitcpio preset +# - empty or unset +# - the literal string "all" +# +# If kernel is set to "all" or empty/unset then mkinitpio is called for all +# kernels. Otherwise it is called with a single preset with the value +# contained in kernel. +# +kernel: linux + +# Set this to true to turn off mitigations for lax file +# permissions on initramfs (which, in turn, can compromise +# your LUKS encryption keys, CVS-2019-13179). +# +# If your initramfs are stored in the EFI partition or another non-POSIX +# filesystem, this has no effect as the file permissions cannot be changed. +# In this case, ensure the partition is mounted securely. +# +be_unsafe: false diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf new file mode 100644 index 0000000..9fa3b31 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/packages.conf @@ -0,0 +1,222 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# The configuration for the package manager starts with the +# *backend* key, which picks one of the backends to use. +# In `main.py` there is a base class `PackageManager`. +# Implementations must subclass that and set a (class-level) +# property *backend* to the name of the backend (e.g. "dummy"). +# That property is used to match against the *backend* key here. +# +# You will have to add such a class for your package manager. +# It is fairly simple Python code. The API is described in the +# abstract methods in class `PackageManager`. Mostly, the only +# trick is to figure out the correct commands to use, and in particular, +# whether additional switches are required or not. Some package managers +# have more installer-friendly defaults than others, e.g., DNF requires +# passing --disablerepo=* -C to allow removing packages without Internet +# connectivity, and it also returns an error exit code if the package did +# not exist to begin with. +--- +# +# Which package manager to use, options are: +# - apk - Alpine Linux package manager +# - apt - APT frontend for DEB and RPM +# - dnf - DNF, the new RPM frontend +# - entropy - Sabayon package manager (is being deprecated) +# - luet - Sabayon package manager (next-gen) +# - packagekit - PackageKit CLI tool +# - pacman - Pacman +# - pamac - Manjaro package manager +# - portage - Gentoo package manager +# - yum - Yum RPM frontend +# - zypp - Zypp RPM frontend +# +# Not actually a package manager, but suitable for testing: +# - dummy - Dummy manager, only logs +# +backend: pacman + +# +# Often package installation needs an internet connection. +# Since you may allow system installation without a connection +# and want to offer OPTIONAL package installation, it's +# possible to have no internet, yet have this packages module +# enabled in settings. +# +# You can skip the whole module when there is no internet +# by setting "skip_if_no_internet" to true. +# +# You can run a package-manager specific update procedure +# before installing packages (for instance, to update the +# list of packages and dependencies); this is done only if there +# is an internet connection. +# +# Set "update_db" to 'true' for refreshing the database on the +# target system. On target installations, which got installed by +# unsquashing, a full system update may be needed. Otherwise +# post-installing additional packages may result in conflicts. +# Therefore set also "update_system" to 'true'. +# +skip_if_no_internet: false +update_db: false +update_system: false + +# pacman specific options +# +# *num_retries* should be a positive integer which specifies the +# number of times the call to pacman will be retried in the event of a +# failure. If it is missing, it will be set to 0. +# +# *disable_download_timeout* is a boolean that, when true, includes +# the flag --disable-download-timeout on calls to pacman. When missing, +# false is assumed. +# +# *needed_only* is a boolean that includes the pacman argument --needed +# when set to true. If missing, false is assumed. +pacman: + num_retries: 0 + disable_download_timeout: false + needed_only: false + +# +# List of maps with package operations such as install or remove. +# Distro developers can provide a list of packages to remove +# from the installed system (for instance packages meant only +# for the live system). +# +# A job implementing a distro specific logic to determine other +# packages that need to be installed or removed can run before +# this one. Distro developers may want to install locale packages +# or remove drivers not needed on the installed system. +# Such a job would populate a list of dictionaries in the global +# storage called "packageOperations" and that list is processed +# after the static list in the job configuration (i.e. the list +# that is in this configuration file). +# +# Allowed package operations are: +# - *install*, *try_install*: will call the package manager to +# install one or more packages. The install target will +# abort the whole installation if package-installation +# fails, while try_install carries on. Packages may be +# listed as (localized) names, or as (localized) package-data. +# See below for the description of the format. +# - *localInstall*: this is used to call the package manager +# to install a package from a path-to-a-package. This is +# useful if you have a static package archive on the install media. +# The *pacman* package manager is the only one to specially support +# this operation (all others treat this the same as *install*). +# - *remove*, *try_remove*: will call the package manager to +# remove one or more packages. The remove target will +# abort the whole installation if package-removal fails, +# while try_remove carries on. Packages may be listed as +# (localized) names. +# One additional key is recognized, to help netinstall out: +# - *source*: ignored, does get logged +# Any other key is ignored, and logged as a warning. +# +# There are two formats for naming packages: as a name or as package-data, +# which is an object notation providing package-name, as well as pre- and +# post-install scripts. +# +# Here are both formats, for installing vi. The first one just names the +# package for vi (using the naming of the installed package manager), while +# the second contains three data-items; the pre-script is run before invoking +# the package manager, and the post-script runs once it is done. +# +# - install +# - vi +# - package: vi +# pre-script: touch /tmp/installing-vi +# post-script: rm -f /tmp/installing-vi +# +# The pre- and post-scripts are optional, but you cannot leave both out +# if you do use the *package* key: using "package: vi" with neither script +# option will trick Calamares into trying to install a package named +# "package: vi", which is unlikely to work. +# +# The pre- and post-scripts are **not** executed by a shell unless you +# explicitly invoke `/bin/sh` in them. The command-lines are passed +# to exec(), which does not understand shell syntax. In other words: +# +# pre-script: ls | wc -l +# +# Will fail, because `|` is passed as a command-line argument to ls, +# as are `wc`, and `-l`. No shell pipeline is set up, and ls is likely +# to complain. Invoke the shell explicitly: +# +# pre-script: /bin/sh -c \"ls | wc -l\" +# +# The above note on shell-expansion applies to versions up-to-and-including +# Calamares 3.2.12, but will change in future. +# +# Any package name may be localized; this is used to install localization +# packages for software based on the selected system locale. By including +# the string `LOCALE` in the package name, the following happens: +# +# - if the system locale is English (any variety), then the package is not +# installed at all, +# - otherwise `$LOCALE` or `${LOCALE}` is replaced by the 'lower-cased' BCP47 +# name of the 'language' part of the selected system locale (not the +# country/region/dialect part), e.g. selecting "nl_BE" will use "nl" +# here. +# +# Take care that just plain `LOCALE` will not be replaced, so `foo-LOCALE` will +# be left unchanged, while `foo-$LOCALE` will be changed. However, `foo-LOCALE` +# **will** be removed from the list of packages (i.e. not installed), if +# English is selected. If a non-English locale is selected, then `foo-LOCALE` +# will be installed, unchanged (no language-name-substitution occurs). +# +# The following installs localizations for vi, if they are relevant; if +# there is no localization, installation continues normally. +# +# - install +# - vi-$LOCALE +# - package: vi-${LOCALE} +# pre-script: touch /tmp/installing-vi +# post-script: rm -f /tmp/installing-vi +# +# When installing packages, Calamares will invoke the package manager +# with a list of package names if it can; package-data prevents this because +# of the scripts that need to run. In other words, this: +# +# - install: +# - vi +# - binutils +# - package: wget +# pre-script: touch /tmp/installing-wget +# +# This will invoke the package manager three times, once for each package, +# because not all of them are simple package names. You can speed up the +# process if you have only a few pre-scripts, by using multiple install targets: +# +# - install: +# - vi +# - binutils +# - install: +# - package: wget +# pre-script: touch /tmp/installing-wget +# +# This will call the package manager once with the package-names "vi" and +# "binutils", and then a second time for "wget". When installing large numbers +# of packages, this can lead to a considerable time savings. +# +operations: + - try_remove: + - plasma-framework + - kpmcore + - yaml-cpp + - mkinitcpio-archiso + - boost-libs + - ckbcomp + - hwinfo + - qt5-xmlpatterns + - squashfs-tools + - kconfig + - kcoreaddons + - kiconthemes + - ki18n + - kio + - solid + - qt5-svg + - calamares diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf new file mode 100644 index 0000000..e9425ad --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/partition.conf @@ -0,0 +1,255 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# This setting specifies the mount point of the EFI system partition. Some +# distributions (Fedora, Debian, Manjaro, etc.) use /boot/efi, others (KaOS, +# etc.) use just /boot. +# +# Defaults to "/boot/efi", may be empty (but weird effects ensue) +efiSystemPartition: "/boot/efi" + +# This optional setting specifies the size of the EFI system partition. +# If nothing is specified, the default size of 300MiB will be used. +# +# This size applies both to automatic partitioning and the checks +# during manual partitioning. A minimum of 32MiB is enforced, +# 300MiB is the default, M is treated as MiB, and if you really want +# one-million (10^6) bytes, use MB. +# +# efiSystemPartitionSize: 300M + +# This optional setting specifies the name of the EFI system partition (see +# PARTLABEL; gpt only; requires KPMCore >= 4.2.0). +# If nothing is specified, the partition name is left unset. +# efiSystemPartitionName: EFI + +# In autogenerated partitioning, allow the user to select a swap size? +# If there is exactly one choice, no UI is presented, and the user +# cannot make a choice -- this setting is used. If there is more than +# one choice, a UI is presented. +# +# Legacy settings *neverCreateSwap* and *ensureSuspendToDisk* correspond +# to values of *userSwapChoices* as follows: +# - *neverCreateSwap* is true, means [none] +# - *neverCreateSwap* is false, *ensureSuspendToDisk* is false, [small] +# - *neverCreateSwap* is false, *ensureSuspendToDisk* is true, [suspend] +# +# Autogenerated swap sizes are as follows: +# - *suspend*: Swap is always at least total memory size, +# and up to 4GiB RAM follows the rule-of-thumb 2 * memory; +# from 4GiB to 8 GiB it stays steady at 8GiB, and over 8 GiB memory +# swap is the size of main memory. +# - *small*: Follows the rules above, but Swap is at +# most 8GiB, and no more than 10% of available disk. +# In both cases, a fudge factor (usually 10% extra) is applied so that there +# is some space for administrative overhead (e.g. 8 GiB swap will allocate +# 8.8GiB on disk in the end). +# +# If *file* is enabled here, make sure to have the *fstab* module +# as well (later in the exec phase) so that the swap file is +# actually created. +userSwapChoices: + - none # Create no swap, use no swap + - small # Up to 4GB + - suspend # At least main memory size + # - reuse # Re-use existing swap, but don't create any (unsupported right now) + - file # To swap file instead of partition + +# This optional setting specifies the name of the swap partition (see +# PARTLABEL; gpt only; requires KPMCore >= 4.2.0). +# If nothing is specified, the partition name is left unset. +# swapPartitionName: swap + +# LEGACY SETTINGS (these will generate a warning) +# ensureSuspendToDisk: true +# neverCreateSwap: false + +# Correctly draw nested (e.g. logical) partitions as such. +drawNestedPartitions: false + +# Show/hide partition labels on manual partitioning page. +alwaysShowPartitionLabels: true + +# Allow manual partitioning. +# +# When set to false, this option hides the "Manual partitioning" button, +# limiting the user's choice to "Erase", "Replace" or "Alongside". +# This can be useful when using a custom partition layout we don't want +# the user to modify. +# +# If nothing is specified, manual partitioning is enabled. +#allowManualPartitioning: true + +# Initial selection on the Choice page +# +# There are four radio buttons (in principle: erase, replace, alongside, manual), +# and you can pick which of them, if any, is initially selected. For most +# installers, "none" is the right choice: it makes the user pick something specific, +# rather than accidentally being able to click past an important choice (in particular, +# "erase" is a dangerous choice). +# +# The default is "none" +# +initialPartitioningChoice: none +# +# Similarly, some of the installation choices may offer a choice of swap; +# the available choices depend on *userSwapChoices*, above, and this +# setting can be used to pick a specific one. +# +# The default is "none" (no swap) if that is one of the enabled options, otherwise +# one of the items from the options. +initialSwapChoice: none + +# Default partition table type, used when a "erase" disk is made. +# +# When erasing a disk, a new partition table is created on disk. +# In other cases, e.g. Replace and Alongside, as well as when using +# manual partitioning, this partition table exists already on disk +# and it is left unmodified. +# +# Suggested values: gpt, msdos +# If nothing is specified, Calamares defaults to "gpt" if system is +# efi or "msdos". +# +# Names are case-sensitive and defined by KPMCore. +# defaultPartitionTableType: msdos + +# Requirement for partition table type +# +# Restrict the installation on disks that match the type of partition +# tables that are specified. +# +# Possible values: msdos, gpt. Names are case-sensitive and defined by KPMCore. +# +# If nothing is specified, Calamares defaults to both "msdos" and "gpt". +# +# requiredPartitionTableType: gpt +# requiredPartitionTableType: +# - msdos +# - gpt + +# Default filesystem type, used when a "new" partition is made. +# +# When replacing a partition, the existing filesystem inside the +# partition is retained. In other cases, e.g. Erase and Alongside, +# as well as when using manual partitioning and creating a new +# partition, this filesystem type is pre-selected. Note that +# editing a partition in manual-creation mode will not automatically +# change the filesystem type to this default value -- it is not +# creating a new partition. +# +# Suggested values: ext2, ext3, ext4, reiser, xfs, jfs, btrfs +# If nothing is specified, Calamares defaults to "ext4". +# +# Names are case-sensitive and defined by KPMCore. +defaultFileSystemType: "ext4" + +# Selectable filesystem type, used when "erase" is done. +# +# When erasing the disk, the *defaultFileSystemType* is used (see +# above), but it is also possible to give users a choice: +# list suitable filesystems here. A drop-down is provided +# to pick which is the filesystems will be used. +# +# The value *defaultFileSystemType* is added to this list (with a warning) +# if not present; the default pick is the *defaultFileSystemType*. +# +# If not specified at all, uses *defaultFileSystemType* without a +# warning (this matches traditional no-choice-available behavior best). +availableFileSystemTypes: ["ext4","ext3","btrfs","f2fs","jfs","reiser","xfs"] + +# Show/hide LUKS related functionality in automated partitioning modes. +# Disable this if you choose not to deploy early unlocking support in GRUB2 +# and/or your distribution's initramfs solution. +# +# BIG FAT WARNING: +# +# This option is unsupported, as it cuts out a crucial security feature. +# Disabling LUKS and shipping Calamares without a correctly configured GRUB2 +# and initramfs is considered suboptimal use of the Calamares software. The +# Calamares team will not provide user support for any potential issue that +# may arise as a consequence of setting this option to false. +# It is strongly recommended that system integrators put in the work to support +# LUKS unlocking support in GRUB2 and initramfs/dracut/mkinitcpio/etc. +# For more information on setting up GRUB2 for Calamares with LUKS, see +# https://github.com/calamares/calamares/wiki/Deploy-LUKS +# +# If nothing is specified, LUKS is enabled in automated modes. +#enableLuksAutomatedPartitioning: true + +# Partition layout. +# +# This optional setting specifies a custom partition layout. +# +# If nothing is specified, the default partition layout is a single partition +# for root that uses 100% of the space and uses the filesystem defined by +# defaultFileSystemType. +# +# Note: the EFI system partition is prepend automatically to the layout if +# needed; the swap partition is appended to the layout if enabled (small of +# suspend). +# +# Otherwise, the partition layout is defined as follow: +# +# partitionLayout: +# - name: "rootfs" +# type: "4f68bce3-e8cd-4db1-96e7-fbcaf984b709" +# filesystem: "ext4" +# mountPoint: "/" +# size: 20% +# minSize: 500M +# maxSize: 10G +# attributes: 0xffff000000000003 +# - name: "home" +# type: "933ac7e1-2eb4-4f13-b844-0e14e2aef915" +# filesystem: "ext4" +# mountPoint: "/home" +# size: 3G +# minSize: 1.5G +# features: +# 64bit: false +# casefold: true +# - name: "data" +# filesystem: "fat32" +# mountPoint: "/data" +# features: +# sector-size: 4096 +# sectors-per-cluster: 128 +# size: 100% +# +# There can be any number of partitions, each entry having the following attributes: +# - name: filesystem label +# and +# partition name (gpt only; since KPMCore 4.2.0) +# - uuid: partition uuid (optional parameter; gpt only; requires KPMCore >= 4.2.0) +# - type: partition type (optional parameter; gpt only; requires KPMCore >= 4.2.0) +# - attributes: partition attributes (optional parameter; gpt only; requires KPMCore >= 4.2.0) +# - filesystem: filesystem type (optional parameter) +# - if not set at all, treat as "unformatted" +# - if "unformatted", no filesystem will be created +# - if "unknown" (or an unknown FS name, like "elephant") then the +# default filesystem type, or the user's choice, will be applied instead +# of "unknown" (e.g. the user might pick ext4, or xfs). +# - mountPoint: partition mount point (optional parameter; not mounted if unset) +# - size: partition size in bytes (append 'K', 'M' or 'G' for KiB, MiB or GiB) +# or +# % of the available drive space if a '%' is appended to the value +# - minSize: minimum partition size (optional parameter) +# - maxSize: maximum partition size (optional parameter) +# - features: filesystem features (optional parameter; requires KPMCore >= 4.2.0) +# name: boolean or integer or string + +# Checking for available storage +# +# This overlaps with the setting of the same name in the welcome module's +# requirements section. If nothing is set by the welcome module, this +# value is used instead. It is still a problem if there is no required +# size set at all, and the replace and resize options will not be offered +# if no required size is set. +# +# The value is in Gibibytes (GiB). +# +# BIG FAT WARNING: except for OEM-phase-0 use, you should be using +# the welcome module, **and** configure this value in +# `welcome.conf`, not here. +# requiredStorage: 3.5 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf new file mode 100644 index 0000000..379d2fc --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/preservefiles.conf @@ -0,0 +1,67 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the preserve-files job +# +# The *files* key contains a list of files to preserve. Each element of +# the list should have one of these forms: +# +# - an absolute path (probably within the host system). This will be preserved +# as the same path within the target system (chroot). If, globally, +# *dontChroot* is true, then these items will be ignored (since the +# destination is the same as the source). +# - a map with a *dest* key. The *dest* value is a path interpreted in the +# target system (if the global *dontChroot* is true, then the host is the +# target as well). Relative paths are not recommended. There are two +# ways to select the source data for the file: +# - *from*, which must have one of the values, below; it is used to +# preserve files whose pathname is known to Calamares internally. +# - *src*, to refer to a path interpreted in the host system. Relative +# paths are not recommended, and are interpreted relative to where +# Calamares is being run. +# Exactly one of the two source keys (either *from* or *src*) must be set. +# +# Special values for the key *from* are: +# - *log*, for the complete log file (up to the moment the preservefiles +# module is run), +# - *config*, for a JSON dump of the contents of global storage. +# Note that this may contain sensitive information, and should be +# given restrictive permissions. +# +# A map with a *dest* key can have these additional fields: +# - *perm*, is a colon-separated tuple of :: +# where is in octal (e.g. 4777 for wide-open, 0400 for read-only +# by owner). If set, the file's ownership and permissions are set to +# those values within the target system; if not set, no permissions +# are changed. +# - *optional*, is a boolean; if this is set to `true` then failure to +# preserve the file will **not** be counted as a failure of the +# module, and installation will proceed. Set this for files that might +# not exist in the host system (e.g. nvidia configuration files that +# are created in some boot scenarios and not in others). +# +# The target path (*dest*) is modified as follows: +# - `@@ROOT@@` is replaced by the path to the target root (may be /). +# There is never any reason to use this, since the *dest* is already +# interpreted in the target system. +# - `@@USER@@` is replaced by the username entered by on the user +# page (may be empty, for instance if no user page is enabled) +# +# +# +files: + - from: log + dest: /var/log/Calamares.log + perm: root:root:644 + - from: config + dest: /var/log/Calamares-install.json + perm: root:root:644 +# - src: /var/log/nvidia.conf +# dest: /var/log/Calamares-nvidia.conf +# optional: true + +# The *perm* key contains a default value to apply to all files listed +# above that do not have a *perm* key of their own. If not set, +# root:root:0400 (highly restrictive) is used. +# +# perm: "root:root:0400" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf new file mode 100644 index 0000000..0b5b39c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/removeuser.conf @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Removes a single user (with userdel) from the system. +# This is typically used in OEM setups or if the live user +# spills into the target system. +# +# The module never fails; if userdel fails, this is logged +# but the module still reports success and installation / setup +# continues as normal. +--- +# Username in the target system to be removed. +username: km diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf new file mode 100644 index 0000000..aaf0243 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-before.conf @@ -0,0 +1,78 @@ +# 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. +# +# Variables are written as `${var}`, e.g. `${ROOT}`. +# +# 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 (this is not useful). +# - 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. +# +# Using a single object is not useful because the same effect can +# be obtained with a single string and a global timeout, but when +# there are multiple commands to execute, one of them might have +# a different timeout than the others. +# +# To change the description of the job, set the *name* entries in *i18n*. +--- +# Set to true to run in host, rather than target system +dontChroot: false +# Tune this for the commands you're actually running +timeout: 999 + +# Script may be a single string (because false returns an error exit +# code, this will trigger a failure in the installation): +# +# script: "/usr/bin/false" + +# Script may be a list of strings (because false returns an error exit +# code, **but** the command starts with a "-", the error exit is +# ignored and installation continues): +# +# script: +# - "-/usr/bin/false" +# - "/bin/ls" +# - "/usr/bin/true" + +# Script may be a list of items (if the touch command fails, it is +# ignored; the slowloris command has a different timeout from the +# other commands in the list): +script: + - "-/usr/bin/pacman-key --init" + - "-/usr/bin/pacman-key --populate" \ No newline at end of file diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf new file mode 100644 index 0000000..65be5e1 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/shellprocess-final.conf @@ -0,0 +1,85 @@ +# 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. +# +# Variables are written as `${var}`, e.g. `${ROOT}`. +# +# 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 (this is not useful). +# - 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. +# +# Using a single object is not useful because the same effect can +# be obtained with a single string and a global timeout, but when +# there are multiple commands to execute, one of them might have +# a different timeout than the others. +# +# To change the description of the job, set the *name* entries in *i18n*. +--- +# Set to true to run in host, rather than target system +dontChroot: false +# Tune this for the commands you're actually running +timeout: 999 + +# Script may be a single string (because false returns an error exit +# code, this will trigger a failure in the installation): +# +# script: "/usr/bin/false" + +# Script may be a list of strings (because false returns an error exit +# code, **but** the command starts with a "-", the error exit is +# ignored and installation continues): +# +# script: +# - "-/usr/bin/false" +# - "/bin/ls" +# - "/usr/bin/true" + +# Script may be a list of items (if the touch command fails, it is +# ignored; the slowloris command has a different timeout from the +# other commands in the list): +script: + - "-rm @@ROOT@@/etc/sudoers.d/g_wheel" + - "-rm -r @@ROOT@@/etc/systemd/system/getty@tty1.service.d" + - "-rm -r @@ROOT@@/etc/systemd/system/multi-user.target.wants/pacman-init.service" + - "-rm -r @@ROOT@@/etc/systemd/system/pacman-init.service" + - "-rm @@ROOT@@/etc/systemd/system/etc-pacman.d-gnupg.mount" + - "-rm @@ROOT@@/root/.automated_script.sh" + - "-rm @@ROOT@@/root/.zlogin" + - "-rm @@ROOT@@/etc/polkit-1/rules.d/49-nopasswd_global.rules" +# - "-rm @@ROOT@@/etc/systemd/system/display-manager.service" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf new file mode 100644 index 0000000..6bf2ff2 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/unpackfs.conf @@ -0,0 +1,96 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Unsquash / unpack a filesystem. Multiple sources are supported, and +# they may be squashed or plain filesystems. +# +# Configuration: +# +# from globalstorage: rootMountPoint +# from job.configuration: the path to where to mount the source image(s) +# for copying an ordered list of unpack mappings for image file <-> +# target dir relative to rootMountPoint. + +--- +# Each list item is unpacked, in order, to the target system. +# +# Each list item has the following **mandatory** attributes: +# - *source* path relative to the live / intstalling system to the image +# - *sourcefs* the type of the source files; valid entries are +# - `ext4` (copies the filesystem contents) +# - `squashfs` (unsquashes) +# - `file` (copies a file or directory) +# - (may be others if mount supports it) +# - *destination* path relative to rootMountPoint (so in the target +# system) where this filesystem is unpacked. It may be an +# empty string, which effectively is / (the root) of the target +# system. +# +# Each list item **optionally** can include the following attributes: +# - *exclude* is a list of values that is expanded into --exclude +# arguments for rsync (each entry in exclude gets its own --exclude). +# - *excludeFile* is a single file that is passed to rsync as an +# --exclude-file argument. This should be a full pathname +# inside the **host** filesystem. +# - *weight* is useful when the entries take wildly different +# times to unpack (e.g. with a squashfs, and one single file) +# and the total weight of this module should be distributed +# differently between the entries. (This is only relevant when +# there is more than one entry; by default all the entries +# have the same weight, 1) +# +# EXAMPLES +# +# Usually you list a filesystem image to unpack; you can use +# squashfs or an ext4 image. An empty destination is equivalent to "/", +# the root of the target system. The destination directory must exist +# in the target system. +# +# - source: "/path/to/filesystem.sqfs" +# sourcefs: "squashfs" +# destination: "" +# +# Multiple entries are unpacked in-order; if there is more than one +# item then only the first must exist beforehand -- it's ok to +# create directories with one unsquash and then to use those +# directories as a target from a second unsquash. +# +# - source: "/path/to/another/filesystem.img" +# sourcefs: "ext4" +# destination: "" +# - source: "/path/to/another/filesystem2.img" +# sourcefs: "ext4" +# destination: "/usr/lib/extra" +# +# You can list filesystem source paths relative to the Calamares run +# directory, if you use -d (this is only useful for testing, though). +# +# - source: ./example.sqfs +# sourcefs: squashfs +# destination: "" +# +# You can list individual files (copied one-by-one), or directories +# (the files inside this directory are copied directly to the destination, +# so no "dummycpp/" subdirectory is created in this example). +# Do note that the target directory must exist already (e.g. from +# extracting some other filesystem). +# +# - source: ../CHANGES +# sourcefs: file +# destination: "/tmp/derp" +# - source: ../src/modules/dummycpp +# sourcefs: file +# destination: "/tmp/derp" +# +# The *destination* and *source* are handed off to rsync, so the semantics +# of trailing slashes apply. In order to *rename* a file as it is +# copied, specify one single file (e.g. CHANGES) and a full pathname +# for its destination name, as in the example below. + +unpack: + - source: "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs" + sourcefs: "squashfs" + destination: "" + - source: "/run/archiso/bootmnt/arch/boot/x86_64/vmlinuz-linux" + sourcefs: "file" + destination: "/boot/vmlinuz-linux" diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf new file mode 100644 index 0000000..57213a7 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/users.conf @@ -0,0 +1,217 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the one-user-system user module. +# +# Besides these settings, the users module also places the following +# keys into the Global Storage area, based on user input in the view step. +# +# - hostname +# - username +# - password (obscured) +# - autologinUser (if enabled, set to username) +# +# These Global Storage keys are set when the configuration for this module +# is read and when they are modified in the UI. +--- +# Used as default groups for the created user. +# Adjust to your Distribution defaults. +# +# Each entry in the *defaultGroups* list is either: +# - a string, naming a group; this is a **non**-system group +# which does not need to exist in the target system; if it +# does not exist, it will be created. +# - an entry with subkeys *name*, *must_exist* and *system*; +# if the group *must_exist* and does not, an error is thrown +# and the installation fails. +# +# The group is created if it does not exist, and it is +# created as a system group (GID < 1000) or user group +# (GID >= 1000) depending on the value of *system*. +defaultGroups: + - name: users + must_exist: true + system: true + - lp + - video + - network + - storage + - name: wheel + must_exist: false + system: true + - audio + +# Some Distributions require a 'autologin' group for the user. +# Autologin causes a user to become automatically logged in to +# the desktop environment on boot. +# Disable when your Distribution does not require such a group. +autologinGroup: autologin +# You can control the initial state for the 'autologin checkbox' here. +# Possible values are: +# - true to check or +# - false to uncheck +# These set the **initial** state of the checkbox. +doAutologin: true + +# When *sudoersGroup* is set to a non-empty string, Calamares creates a +# sudoers file for the user. This file is located at: +# `/etc/sudoers.d/10-installer` +# Remember to add the (value of) *sudoersGroup* to *defaultGroups*. +# +# If your Distribution already sets up a group of sudoers in its packaging, +# remove this setting (delete or comment out the line below). Otherwise, +# the setting will be duplicated in the `/etc/sudoers.d/10-installer` file, +# potentially confusing users. +sudoersGroup: wheel +# If set to `false` (the default), writes a sudoers file with `(ALL)` +# so that the command can be run as any user. If set to `true`, writes +# `(ALL:ALL)` so that any user and any group can be chosen. +sudoersConfigureWithGroup: true + +# Setting this to false, causes the root account to be disabled. +# When disabled, hides the "Use the same password for administrator" +# checkbox. Also hides the "Choose a password" and associated text-inputs. +setRootPassword: true + +# You can control the initial state for the 'reuse password for root' +# checkbox here. Possible values are: +# - true to check or +# - false to uncheck +# +# When checked, the user password is used for the root account too. +# +# NOTE: *doReusePassword* requires *setRootPassword* to be enabled. +doReusePassword: true + +# These are optional password-requirements that a distro can enforce +# on the user. The values given in this sample file set only very weak +# validation settings. +# +# - nonempty rejects empty passwords +# - there are no length validations +# - libpwquality (if it is enabled at all) has no length of class +# restrictions, although it will still reject palindromes and +# dictionary words with these settings. +# +# Checks may be listed multiple times; each is checked separately, +# and no effort is done to ensure that the checks are consistent +# (e.g. specifying a maximum length less than the minimum length +# will annoy users). +# +# The libpwquality check relies on the (optional) libpwquality library. +# Its value is a list of configuration statements that could also +# be found in pwquality.conf, and these are handed off to the +# libpwquality parser for evaluation. The check is ignored if +# libpwquality is not available at build time (generates a warning in +# the log). The Calamares password check rejects passwords with a +# score of < 40 with the given libpwquality settings. +# +# (additional checks may be implemented in CheckPWQuality.cpp and +# wired into UsersPage.cpp) +# +# - To disable specific password validations: +# comment out the relevant 'passwordRequirements' keys below. +# - To disable all password validations: +# set both 'allowWeakPasswords' and 'allowWeakPasswordsDefault' to true. +# (That will show the box *Allow weak passwords* in the user- +# interface, and check it by default). +#passwordRequirements: +# nonempty: true +# minLength: -1 # Password at least this many characters +# maxLength: -1 # Password at most this many characters +# libpwquality: +# - minlen=0 +# - minclass=0 + +# You can control the visibility of the 'strong passwords' checkbox here. +# Possible values are: +# - true to show or +# - false to hide (default) +# the checkbox. This checkbox allows the user to choose to disable +# password-strength-checks. By default the box is **hidden**, so +# that you have to pick a password that satisfies the checks. +allowWeakPasswords: false +# You can control the initial state for the 'strong passwords' checkbox here. +# Possible values are: +# - true to uncheck or +# - false to check (default) +# the checkbox by default. Since the box is labeled to enforce strong +# passwords, in order to **allow** weak ones by default, the box needs +# to be unchecked. +allowWeakPasswordsDefault: true + +# User settings +# +# The user can enter a username, but there are some other +# hidden settings for the user which are configurable in Calamares. +# +# Key *user* has the following sub-keys: +# +# - *shell* Shell to be used for the regular user of the target system. +# There are three possible kinds of settings: +# - unset (i.e. commented out, the default), act as if set to /bin/bash +# - empty (explicit), don't pass shell information to useradd at all +# and rely on a correct configuration file in /etc/default/useradd +# - set, non-empty, use that path as shell. No validation is done +# that the shell actually exists or is executable. +# - *forbidden_names* Login names that may not be used. This list always +# contains "root" and "nobody", but may be extended to list other special +# names for a given distro (eg. "video", or "mysql" might not be a valid +# end-user login name). +user: + shell: /bin/bash + forbidden_names: [ root ] + +# Hostname settings +# +# The user can enter a hostname; this is configured into the system +# in some way. There are settings for how a hostname is guessed (as +# a default / suggestion) and where (or how) the hostname is set in +# the target system. +# +# Key *hostname* has the following sub-keys: +# +# - *location* How the hostname is set in the target system: +# - *None*, to not set the hostname at all +# - *EtcFile*, to write to `/etc/hostname` directly +# - *Etc*, identical to above +# - *Hostnamed*, to use systemd hostnamed(1) over DBus +# - *Transient*, to remove `/etc/hostname` from the target +# The default is *EtcFile*. Setting this to *None* or *Transient* will +# hide the hostname field. +# - *writeHostsFile* Should /etc/hosts be written with a hostname for +# this machine (also adds localhost and some ipv6 standard entries). +# Defaults to *true*. +# - *template* Is a simple template for making a suggestion for the +# hostname, based on user data. The default is "${first}-${product}". +# This is used only if the hostname field is shown. KMacroExpander is +# used; write `${key}` where `key` is one of the following: +# - *first* User's first name (whatever is first in the User Name field, +# which is first-in-order but not necessarily a "first name" as in +# "given name" or "name by which you call someone"; beware of western bias) +# - *name* All the text in the User Name field. +# - *login* The login name (which may be suggested based on User Name) +# - *product* The hardware product, based on DMI data +# - *product2* The product as described by Qt +# - *cpu* CPU name +# - *host* Current hostname (which may be a transient hostname) +# Literal text in the template is preserved. Calamares tries to map +# `${key}` values to something that will fit in a hostname, but does not +# apply the same to literal text in the template. Do not use invalid +# characters in the literal text, or no suggeston will be done. +# - *forbidden_names* lists hostnames that may not be used. This list +# always contains "localhost", but may list others that are unsuitable +# or broken in special ways. +hostname: + location: EtcFile + writeHostsFile: true + #template: "alci-${cpu}" + forbidden_names: [ localhost ] + +presets: + fullName: + # value: "OEM User" + editable: true + loginName: + # value: "oem" + editable: true diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf new file mode 100644 index 0000000..490b627 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/modules/welcome.conf @@ -0,0 +1,121 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration for the welcome module. The welcome page +# displays some information from the branding file. +# Which parts it displays can be configured through +# the show* variables. +# +# In addition to displaying the welcome page, this module +# can check requirements for installation. +--- +# Display settings for various buttons on the welcome page. +# The URLs themselves come from `branding.desc`. Each button +# is show if the corresponding *show* setting +# here is "true". If the setting is "false", the button is hidden. +# Empty or not-set is interpreted as "false". +# +# TODO:3.3 Remove the URL fallback here; URLs only in `branding.desc` +# +# The setting can also be a full URL which will then be used +# instead of the one from the branding file. +showSupportUrl: false +showKnownIssuesUrl: false +showReleaseNotesUrl: false +# TODO:3.3 Move to branding, keep only a bool here +showDonateUrl: false + +# Requirements checking. These are general, generic, things +# that are checked. They may not match with the actual requirements +# imposed by other modules in the system. +requirements: + # Amount of available disk, in GiB. Floating-point is allowed here. + # Note that this does not account for *usable* disk, so it is possible + # to satisfy this requirement, yet have no space to install to. + requiredStorage: 6 + + # Amount of available RAM, in GiB. Floating-point is allowed here. + requiredRam: 1.0 + + # To check for internet connectivity, Calamares does a HTTP GET + # on this URL; on success (e.g. HTTP code 200) internet is OK. + # Use a privacy-respecting URL here, preferably in your distro's domain. + # + # The URL is only used if "internet" is in the *check* list below. + internetCheckUrl: http://example.com + # + # This may be a single URL, or a list or URLs, in which case the + # URLs will be checked one-by-one; if any of them returns data, + # internet is assumed to be OK. This can be used to check via + # a number of places, where some domains may be down or blocked. + # + # To use a list of URLs, just use YAML list syntax (e.g. + # + # internetCheckUrl: + # - http://www.kde.org + # - http://www.freebsd.org + # + # or short-form + # + # internetCheckUrl: [ http://www.kde.org, http://www.freebsd.org ] + + # List conditions to check. Each listed condition will be + # probed in some way, and yields true or false according to + # the host system satisfying the condition. + # + # This sample file lists all the conditions that are known. + check: + - storage + - ram + - power + - internet + - root + - screen + + # List conditions that **must** be satisfied (from the list + # of conditions, above) for installation to proceed. + # If any of these conditions are not met, the user cannot + # continue past the welcome page. + required: + - storage + - ram + # - root + +# GeoIP checking +# +# This can be used to pre-select a language based on the country +# the user is currently in. It *assumes* that there's internet +# connectivity, though. Configuration is like in the locale module, +# but remember to use a URL that returns full data **and** to +# use a selector that will pick the country, not the timezone. +# +# To disable GeoIP checking, either comment-out the entire geoip section, +# or set the *style* key to an unsupported format (e.g. `none`). +# Also, note the analogous feature in `src/modules/locale/locale.conf`, +# which is where you will find complete documentation. +# +# For testing, the *style* may be set to `fixed`, any URL that +# returns data (e.g. `http://example.com`) and then *selector* +# sets the data that is actually returned (e.g. "DE" to simulate +# the machine being in Germany). +# +# NOTE: the *selector* must pick the country code from the GeoIP +# data. Timezone, city, or other data will not be recognized. +# +geoip: + style: "none" + url: "https://geoip.kde.org/v1/ubiquity" # extended XML format + selector: "CountryCode" # blank uses default, which is wrong + +# User interface +# +# The "select language" icon is an international standard, but it +# might not theme very well with your desktop environment. +# Fill in an icon name (following FreeDesktop standards) to +# use that named icon instead of the usual one. +# +# Leave blank or unset to use the international standard. +# +# Known icons in this space are "set-language" and "config-language". +# +# languageIcon: set-language diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf new file mode 100644 index 0000000..e7cba3e --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/calamares/settings.conf @@ -0,0 +1,243 @@ +# SPDX-FileCopyrightText: no +# SPDX-License-Identifier: CC0-1.0 +# +# Configuration file for Calamares +# +# This is the top-level configuration file for Calamares. +# It specifies what modules will be used, as well as some +# overall characteristics -- is this a setup program, or +# an installer. More specific configuration is devolved +# to the branding file (for the UI) and the individual +# module configuration files (for functionality). +--- +# Modules can be job modules (with different interfaces) and QtWidgets view +# modules. They could all be placed in a number of different paths. +# "modules-search" is a list of strings, each of these can either be a full +# path to a directory or the keyword "local". +# +# "local" means: +# - modules in $LIBDIR/calamares/modules, with +# - settings in SHARE/calamares/modules or /etc/calamares/modules. +# In debug-mode (e.g. calamares -d) "local" also adds some paths +# that make sense from inside the build-directory, so that you +# can build-and-run with the latest modules immediately. +# +# Strings other than "local" are taken as paths and interpreted +# relative to wherever Calamares is started. It is therefore **strongly** +# recommended to use only absolute paths here. This is mostly useful +# if your distro has forks of standard Calamares modules, but also +# uses some form of upstream packaging which might overwrite those +# forked modules -- then you can keep modules somewhere outside of +# the "regular" module tree. +# +# +# YAML: list of strings. +modules-search: [ local ] + +# Instances section. This section is optional, and it defines custom instances +# for modules of any kind. An instance entry has these keys: +# - *module* name, which matches the module name from the module descriptor +# (usually the name of the directory under `src/modules/`, but third- +# party modules may diverge. +# - *id* (optional) an identifier to distinguish this instance from +# all the others. If none is given, the name of the module is used. +# Together, the module and id form an instance key (see below). +# - *config* (optional) a filename for the configuration. If none is +# given, *module*`.conf` is used (e.g. `welcome.conf` for the welcome +# module) +# - *weight* (optional) In the *exec* phase of the sequence, progress +# is reported as jobs are completed. The jobs from a single module +# together contribute the full weight of that module. The overall +# progress (0 .. 100%) is divided up according to the weight of each +# module. Give modules that take a lot of time to complete, a larger +# weight to keep the overall progress moving along steadily. This +# weight overrides a weight given in the module descriptor. If no weight +# is given, uses the value from the module descriptor, or 1 if there +# isn't one there either. +# +# The primary goal of this mechanism is to allow loading multiple instances +# of the same module, with different configuration. If you don't need this, +# the instances section can safely be left empty. +# +# Module name plus instance name makes an instance key, e.g. +# "webview@owncloud", where "webview" is the module name (for the webview +# viewmodule) and "owncloud" is the instance name. In the *sequence* +# section below, use instance-keys to name instances (instead of just +# a module name, for modules which have only a single instance). +# +# Every module implicitly has an instance with the instance name equal +# to its module name, e.g. "welcome@welcome". In the *sequence* section, +# mentioning a module without a full instance key (e.g. "welcome") +# means that implicit module. +# +# An instance may specify its configuration file (e.g. `webview-home.conf`). +# The implicit instances all have configuration files named `.conf`. +# This (implict) way matches the source examples, where the welcome +# module contains an example `welcome.conf`. Specify a *config* for +# any module (also implicit instances) to change which file is used. +# +# For more information on running module instances, run Calamares in debug +# mode and check the Modules page in the Debug information interface. +# +# A module that is often used with instances is shellprocess, which will +# run shell commands specified in the configuration file. By configuring +# more than one instance of the module, multiple shell sessions can be run +# during install. +# +# YAML: list of maps of string:string key-value pairs. +#instances: +#- id: owncloud +# module: webview +# config: owncloud.conf + +# Sequence section. This section describes the sequence of modules, both +# viewmodules and jobmodules, as they should appear and/or run. +# +# A jobmodule instance key (or name) can only appear in an exec phase, whereas +# a viewmodule instance key (or name) can appear in both exec and show phases. +# There is no limit to the number of show or exec phases. However, the same +# module instance key should not appear more than once per phase, and +# deployers should take notice that the global storage structure is persistent +# throughout the application lifetime, possibly influencing behavior across +# phases. A show phase defines a sequence of viewmodules (and therefore +# pages). These viewmodules can offer up jobs for the execution queue. +# +# An exec phase displays a progress page (with brandable slideshow). This +# progress page iterates over the modules listed in the *immediately +# preceding* show phase, and enqueues their jobs, as well as any other jobs +# from jobmodules, in the order defined in the current exec phase. +# +# It then executes the job queue and clears it. If a viewmodule offers up a +# job for execution, but the module name (or instance key) isn't listed in the +# immediately following exec phase, this job will not be executed. +# +# YAML: list of lists of strings. + +instances: +- id: before + module: shellprocess + config: shellprocess-before.conf +- id: final + module: shellprocess + config: shellprocess-final.conf + + +sequence: +- show: + - welcome +# - notesqml + - locale + - keyboard + - partition + - users +# - tracking + - summary +- exec: + - partition +# - zfs + - mount + - unpackfs + - machineid + - fstab + - locale + - keyboard + - localecfg + - luksbootkeyfile + - luksopenswaphookcfg + - initcpiocfg + - initcpio + - removeuser + - users + - displaymanager + - networkcfg + - hwclock +# - services-systemd + - shellprocess@before + - packages + - grubcfg + - bootloader + - shellprocess@final + - preservefiles + - umount +- show: +# - webview@owncloud + - finished + +# A branding component is a directory, either in SHARE/calamares/branding or +# in /etc/calamares/branding (the latter takes precedence). The directory must +# contain a YAML file branding.desc which may reference additional resources +# (such as images) as paths relative to the current directory. +# +# A branding component can also ship a QML slideshow for execution pages, +# along with translation files. +# +# Only the name of the branding component (directory) should be specified +# here, Calamares then takes care of finding it and loading the contents. +# +# YAML: string. +branding: LinHES + +# If this is set to true, Calamares will show an "Are you sure?" prompt right +# before each execution phase, i.e. at points of no return. If this is set to +# false, no prompt is shown. Default is false, but Calamares will complain if +# this is not explicitly set. +# +# YAML: boolean. +prompt-install: false + +# If this is set to true, Calamares will execute all target environment +# commands in the current environment, without chroot. This setting should +# only be used when setting up Calamares as a post-install configuration tool, +# as opposed to a full operating system installer. +# +# Some official Calamares modules are not expected to function with this +# setting. (e.g. partitioning seems like a bad idea, since that is expected to +# have been done already) +# +# Default is false (for a normal installer), but Calamares will complain if +# this is not explicitly set. +# +# YAML: boolean. +dont-chroot: false + +# If this is set to true, Calamares refers to itself as a "setup program" +# rather than an "installer". Defaults to the value of dont-chroot, but +# Calamares will complain if this is not explicitly set. +oem-setup: false + +# If this is set to true, the "Cancel" button will be disabled entirely. +# The button is also hidden from view. +# +# This can be useful if when e.g. Calamares is used as a post-install +# configuration tool and you require the user to go through all the +# configuration steps. +# +# Default is false, but Calamares will complain if this is not explicitly set. +# +# YAML: boolean. +disable-cancel: false + +# If this is set to true, the "Cancel" button will be disabled once +# you start the 'Installation', meaning there won't be a way to cancel +# the Installation until it has finished or installation has failed. +# +# Default is false, but Calamares will complain if this is not explicitly set. +# +# YAML: boolean. +disable-cancel-during-exec: false + +# If this is set to true, the "Next" and "Back" button will be hidden once +# you start the 'Installation'. +# +# Default is false, but Calamares will complain if this is not explicitly set. +# +# YAML: boolean. +hide-back-and-next-during-exec: false + +# If this is set to true, then once the end of the sequence has +# been reached, the quit (done) button is clicked automatically +# and Calamares will close. Default is false: the user will see +# that the end of installation has been reached, and that things are ok. +# +# +quit-at-end: false diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf new file mode 100644 index 0000000..f43b26c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/lightdm/lightdm.conf @@ -0,0 +1,164 @@ +[Seat:*] +# +# General configuration +# +# start-default-seat = True to always start one seat if none are defined in the configuration +# greeter-user = User to run greeter as +# minimum-display-number = Minimum display number to use for X servers +# minimum-vt = First VT to run displays on +# lock-memory = True to prevent memory from being paged to disk +# user-authority-in-system-dir = True if session authority should be in the system location +# guest-account-script = Script to be run to setup guest account +# logind-check-graphical = True to on start seats that are marked as graphical by logind +# log-directory = Directory to log information to +# run-directory = Directory to put running state in +# cache-directory = Directory to cache to +# sessions-directory = Directory to find sessions +# remote-sessions-directory = Directory to find remote sessions +# greeters-directory = Directory to find greeters +# backup-logs = True to move add a .old suffix to old log files when opening new ones +# dbus-service = True if LightDM provides a D-Bus service to control it +# +[LightDM] +#start-default-seat=true +#greeter-user=lightdm +#minimum-display-number=0 +#minimum-vt=7 # Setting this to a value < 7 implies security issues, see FS#46799 +#lock-memory=true +#user-authority-in-system-dir=false +#guest-account-script=guest-account +#logind-check-graphical=false +#log-directory=/var/log/lightdm +run-directory=/run/lightdm +#cache-directory=/var/cache/lightdm +#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions:/usr/share/wayland-sessions +#remote-sessions-directory=/usr/share/lightdm/remote-sessions +#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters +#backup-logs=true +#dbus-service=true + +# +# Seat configuration +# +# Seat configuration is matched against the seat name glob in the section, for example: +# [Seat:*] matches all seats and is applied first. +# [Seat:seat0] matches the seat named "seat0". +# [Seat:seat-thin-client*] matches all seats that have names that start with "seat-thin-client". +# +# type = Seat type (local, xremote) +# pam-service = PAM service to use for login +# pam-autologin-service = PAM service to use for autologin +# pam-greeter-service = PAM service to use for greeters +# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +# xmir-command = Xmir server command to run (can also contain arguments e.g. Xmir -special-option) +# xserver-config = Config file to pass to X server +# xserver-layout = Layout to pass to X server +# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +# xserver-share = True if the X server is shared for both greeter and session +# xserver-hostname = Hostname of X server (only for type=xremote) +# xserver-display-number = Display number of X server (only for type=xremote) +# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +# xdmcp-port = XDMCP UDP/IP port to communicate on +# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +# greeter-session = Session to load for greeter +# greeter-hide-users = True to hide the user list +# greeter-allow-guest = True if the greeter should show a guest login option +# greeter-show-manual-login = True if the greeter should offer a manual login option +# greeter-show-remote-login = True if the greeter should offer a remote login option +# user-session = Session to load for users +# allow-user-switching = True if allowed to switch users +# allow-guest = True if guest login is allowed +# guest-session = Session to load for guests (overrides user-session) +# session-wrapper = Wrapper script to run session with +# greeter-wrapper = Wrapper script to run greeter with +# guest-wrapper = Wrapper script to run guest sessions with +# display-setup-script = Script to run when starting a greeter session (runs as root) +# display-stopped-script = Script to run after stopping the display server (runs as root) +# greeter-setup-script = Script to run when starting a greeter (runs as root) +# session-setup-script = Script to run when starting a user session (runs as root) +# session-cleanup-script = Script to run when quitting a user session (runs as root) +# autologin-guest = True to log in as guest by default +# autologin-user = User to log in with by default (overrides autologin-guest) +# autologin-user-timeout = Number of seconds to wait before loading default user +# autologin-session = Session to load for automatic login (overrides user-session) +# autologin-in-background = True if autologin session should not be immediately activated +# exit-on-failure = True if the daemon should exit if this seat fails +# +[Seat:*] +#type=local +#pam-service=lightdm +#pam-autologin-service=lightdm-autologin +#pam-greeter-service=lightdm-greeter +#xserver-command=X +#xmir-command=Xmir +#xserver-config= +#xserver-layout= +#xserver-allow-tcp=false +#xserver-share=true +#xserver-hostname= +#xserver-display-number= +#xdmcp-manager= +#xdmcp-port=177 +#xdmcp-key= +greeter-session=lightdm-gtk-greeter +#greeter-hide-users=false +#greeter-allow-guest=true +#greeter-show-manual-login=false +#greeter-show-remote-login=true +user-session=xfce +#allow-user-switching=true +#allow-guest=true +#guest-session= +session-wrapper=/etc/lightdm/Xsession +#greeter-wrapper= +#guest-wrapper= +#display-setup-script= +#display-stopped-script= +#greeter-setup-script= +#session-setup-script= +#session-cleanup-script= +#autologin-guest=false +autologin-user=km +#autologin-user-timeout=0 +#autologin-in-background=false +autologin-session=xfce +#exit-on-failure=false + +# +# XDMCP Server configuration +# +# enabled = True if XDMCP connections should be allowed +# port = UDP/IP port to listen for connections on +# listen-address = Host/address to listen for XDMCP connections (use all addresses if not present) +# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +# hostname = Hostname to report to XDMCP clients (defaults to system hostname if unset) +# +# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively +# it can be a word and the first 7 characters are used as the key. +# +[XDMCPServer] +#enabled=false +#port=177 +#listen-address= +#key= +#hostname= + +# +# VNC Server configuration +# +# enabled = True if VNC connections should be allowed +# command = Command to run Xvnc server with +# port = TCP/IP port to listen for connections on +# listen-address = Host/address to listen for VNC connections (use all addresses if not present) +# width = Width of display to use +# height = Height of display to use +# depth = Color depth of display to use +# +[VNCServer] +#enabled=false +#command=Xvnc +#port=5900 +#listen-address= +#width=1024 +#height=768 +#depth=8 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release new file mode 100644 index 0000000..5d74377 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/os-release @@ -0,0 +1,10 @@ +NAME="LinHES: The Linux Entertainment System" +PRETTY_NAME="LinHES" +ID=linhes +BUILD_ID=rolling +ANSI_COLOR="38;2;23;147;209" +HOME_URL="https://linhes.org/" +DOCUMENTATION_URL="https://linhes.org/projects/linhes/wiki" +SUPPORT_URL="https://forums.linhes.org/" +BUG_REPORT_URL="https://linhes.org/projects/linhes/issues" +LOGO=linhes-logo diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf new file mode 100644 index 0000000..cb24f8c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/pacman.conf @@ -0,0 +1,105 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists +ParallelDownloads = 5 + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[linhes-testing] +SigLevel = Optional TrustAll +Server = http://linhes.org/repo/$arch/$repo/ diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules new file mode 100644 index 0000000..afc8670 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules @@ -0,0 +1,9 @@ +/* Allow members of the wheel group to execute any actions + * without password authentication, similar to "sudo NOPASSWD:" + */ +polkit.addRule(function(action, subject) { + if (subject.isInGroup("wheel")) { + return polkit.Result.YES; + } +}); + diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf new file mode 100644 index 0000000..6ed2275 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sddm.conf.d/autologin.conf @@ -0,0 +1,3 @@ +[Autologin] +User=km +Session=plasma diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc new file mode 100644 index 0000000..9682f1e --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/dolphinrc @@ -0,0 +1,26 @@ +MenuBar=Disabled + +[CompactMode] +FontWeight=50 + +[DetailsMode] +FontWeight=50 +PreviewSize=16 + +[General] +ShowFullPath=true +Version=201 +ViewPropsTimestamp=2022,6,17,10,18,48.021 + +[IconsMode] +FontWeight=50 + +[KFileDialog Settings] +Places Icons Auto-resize=false +Places Icons Static Size=22 + +[MainWindow] +ToolBarsMovable=Disabled + +[PreviewSettings] +Plugins=appimagethumbnail,audiothumbnail,comicbookthumbnail,cursorthumbnail,djvuthumbnail,ebookthumbnail,exrthumbnail,imagethumbnail,jpegthumbnail,kraorathumbnail,opendocumentthumbnail,svgthumbnail,windowsexethumbnail,windowsimagethumbnail,directorythumbnail,fontthumbnail diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc new file mode 100644 index 0000000..c578cbc --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/kscreenlockerrc @@ -0,0 +1,6 @@ +[$Version] +update_info=kscreenlocker.upd:0.1-autolock + +[Daemon] +Autolock=false +LockOnResume=false diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc new file mode 100644 index 0000000..eb81fe5 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,120 @@ +[ActionPlugins][0] +RightButton;NoModifier=org.kde.contextmenu +wheel:Vertical;NoModifier=org.kde.switchdesktop + +[ActionPlugins][1] +RightButton;NoModifier=org.kde.contextmenu + +[Containments][1] +ItemGeometries-800x600= +ItemGeometriesHorizontal= +activityId=03488176-3216-460f-af69-0f26f3069f9f +formfactor=0 +immutability=1 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][1][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/Next/contents/images/1024x768.jpg + +[Containments][2] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.panel +wallpaperplugin=org.kde.image + +[Containments][2][Applets][14] +immutability=1 +plugin=org.kde.plasma.digitalclock + +[Containments][2][Applets][15] +immutability=1 +plugin=org.kde.plasma.showdesktop + +[Containments][2][Applets][3] +immutability=1 +plugin=org.kde.plasma.kickoff + +[Containments][2][Applets][3][Configuration] +PreloadWeight=100 + +[Containments][2][Applets][3][Configuration][General] +favoritesPortedToKAstats=true + +[Containments][2][Applets][3][Configuration][Shortcuts] +global=Alt+F1 + +[Containments][2][Applets][3][Shortcuts] +global=Alt+F1 + +[Containments][2][Applets][4] +immutability=1 +plugin=org.kde.plasma.pager + +[Containments][2][Applets][5] +immutability=1 +plugin=org.kde.plasma.icontasks + +[Containments][2][Applets][5][Configuration][General] +launchers=applications:systemsettings.desktop,preferred://filemanager + +[Containments][2][Applets][6] +immutability=1 +plugin=org.kde.plasma.marginsseparator + +[Containments][2][Applets][7] +immutability=1 +plugin=org.kde.plasma.systemtray + +[Containments][2][Applets][7][Configuration] +PreloadWeight=55 +SystrayContainmentId=8 + +[Containments][2][General] +AppletOrder=3;4;5;6;7;14;15 + +[Containments][8] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=4 +plugin=org.kde.plasma.private.systemtray +wallpaperplugin=org.kde.image + +[Containments][8][Applets][10] +immutability=1 +plugin=org.kde.plasma.devicenotifier + +[Containments][8][Applets][11] +immutability=1 +plugin=org.kde.plasma.keyboardlayout + +[Containments][8][Applets][12] +immutability=1 +plugin=org.kde.plasma.manage-inputmethod + +[Containments][8][Applets][13] +immutability=1 +plugin=org.kde.plasma.notifications + +[Containments][8][Applets][16] +immutability=1 +plugin=org.kde.plasma.networkmanagement + +[Containments][8][Applets][9] +immutability=1 +plugin=org.kde.plasma.clipboard + +[Containments][8][General] +extraItems=org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications +knownItems=org.kde.plasma.battery,org.kde.plasma.clipboard,org.kde.plasma.devicenotifier,org.kde.plasma.keyboardlayout,org.kde.plasma.manage-inputmethod,org.kde.plasma.mediacontroller,org.kde.plasma.networkmanagement,org.kde.plasma.notifications + +[ScreenMapping] +itemsOnDisabledScreens= +screenMapping=desktop:/calamares.desktop,0,03488176-3216-460f-af69-0f26f3069f9f diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc new file mode 100644 index 0000000..f065a7c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/skel/.local/share/dolphin/dolphinstaterc @@ -0,0 +1,14 @@ +[SettingsDialog] +Virtual1 Height 800x600=438 +Virtual1 Width 800x600=540 + +[State] +State=AAAA/wAAAAD9AAAAAwAAAAAAAAC7AAABa/wCAAAAAvsAAAAWAGYAbwBsAGQAZQByAHMARABvAGMAawAAAABMAAAA/wAAAAoBAAAD+wAAABQAcABsAGEAYwBlAHMARABvAGMAawEAAABMAAABawAAAF0BAAADAAAAAQAAALgAAAFk/AIAAAAB+wAAABAAaQBuAGYAbwBEAG8AYwBrAAAAAEwAAAFkAAAACgEAAAMAAAADAAAC+AAAAHD8AQAAAAH7AAAAGAB0AGUAcgBtAGkAbgBhAGwARABvAGMAawAAAAAAAAAC+AAAAAoBAAADAAABjAAAAWsAAAAEAAAABAAAAAgAAAAI/AAAAAEAAAACAAAAAQAAABYAbQBhAGkAbgBUAG8AbwBsAEIAYQByAQAAAAD/////AAAAAAAAAAA= +Virtual1 Height 1280x800=412 +Virtual1 Height 800x600=439 +Virtual1 Width 1280x800=630 +Virtual1 Width 800x600=584 +Virtual1 XPosition 1280x800=381 +Virtual1 XPosition 800x600=34 +Virtual1 YPosition 1280x800=56 +Virtual1 YPosition 800x600=29 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers new file mode 100644 index 0000000..3507926 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/sudoers @@ -0,0 +1,96 @@ +## sudoers file. +## +## This file MUST be edited with the 'visudo' command as root. +## Failure to use 'visudo' may result in syntax or file permission errors +## that prevent sudo from running. +## +## See the sudoers man page for the details on how to write a sudoers file. +## + +## +## Host alias specification +## +## Groups of machines. These may include host names (optionally with wildcards), +## IP addresses, network numbers or netgroups. +# Host_Alias WEBSERVERS = www1, www2, www3 + +## +## User alias specification +## +## Groups of users. These may consist of user names, uids, Unix groups, +## or netgroups. +# User_Alias ADMINS = millert, dowdy, mikef + +## +## Cmnd alias specification +## +## Groups of commands. Often used to group related commands together. +# Cmnd_Alias PROCESSES = /usr/bin/nice, /bin/kill, /usr/bin/renice, \ +# /usr/bin/pkill, /usr/bin/top +# Cmnd_Alias REBOOT = /sbin/halt, /sbin/reboot, /sbin/poweroff + +## +## Defaults specification +## +## You may wish to keep some of the following environment variables +## when running commands via sudo. +## +## Locale settings +# Defaults env_keep += "LANG LANGUAGE LINGUAS LC_* _XKB_CHARSET" +## +## Run X applications through sudo; HOME is used to find the +## .Xauthority file. Note that other programs use HOME to find +## configuration files and this may lead to privilege escalation! +# Defaults env_keep += "HOME" +## +## X11 resource path settings +# Defaults env_keep += "XAPPLRESDIR XFILESEARCHPATH XUSERFILESEARCHPATH" +## +## Desktop path settings +# Defaults env_keep += "QTDIR KDEDIR" +## +## Allow sudo-run commands to inherit the callers' ConsoleKit session +# Defaults env_keep += "XDG_SESSION_COOKIE" +## +## Uncomment to enable special input methods. Care should be taken as +## this may allow users to subvert the command being run via sudo. +# Defaults env_keep += "XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER" +## +## Uncomment to use a hard-coded PATH instead of the user's to find commands +# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" +## +## Uncomment to send mail if the user does not enter the correct password. +# Defaults mail_badpass +## +## Uncomment to enable logging of a command's output, except for +## sudoreplay and reboot. Use sudoreplay to play back logged sessions. +# Defaults log_output +# Defaults!/usr/bin/sudoreplay !log_output +# Defaults!/usr/local/bin/sudoreplay !log_output +# Defaults!REBOOT !log_output + +## +## Runas alias specification +## + +## +## User privilege specification +## +root ALL=(ALL) ALL + +## Uncomment to allow members of group wheel to execute any command +%wheel ALL=(ALL) ALL + +## Same thing without a password +# %wheel ALL=(ALL) NOPASSWD: ALL + +## Uncomment to allow members of group sudo to execute any command +# %sudo ALL=(ALL) ALL + +## Uncomment to allow any user to run sudo if they know the password +## of the user they are running the command as (root by default). +# Defaults targetpw # Ask for the password of the target user +# ALL ALL=(ALL) ALL # WARNING: only use this together with 'Defaults targetpw' + +## Read drop-in files from /etc/sudoers.d +@includedir /etc/sudoers.d diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service new file mode 120000 index 0000000..56f1df2 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/etc/systemd/system/display-manager.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/sddm.service \ No newline at end of file diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh new file mode 100755 index 0000000..521f3d8 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/root/customize_airootfs.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -e -u + +mkdir /home/km/Desktop +cp /usr/share/LinHES/calamares.desktop /home/km/Desktop +chmod +x /home/km/Desktop/calamares.desktop +chown km:users /home/km/Desktop diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit new file mode 100755 index 0000000..9bce0f8 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/bin/calamares_polkit @@ -0,0 +1,6 @@ +#!/bin/bash +if [ $(which pkexec) ]; then + pkexec --disable-internal-agent "/usr/bin/calamares" "$@" +else + /usr/bin/calamares "$@" +fi diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop new file mode 100755 index 0000000..5d3405c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/airootfs/usr/share/LinHES/calamares.desktop @@ -0,0 +1,252 @@ +[Desktop Entry] +Categories=Qt;System; +Comment[en_US]=Calamares — System Installer +Comment=Calamares — System Installer +Comment[ar]=كالامارس - مثبت النظام +Comment[as]=কেলামাৰেচ — চিছটেম​ ইনস্তলাৰ +Comment[ast]=Calamares — Instalador del sistema +Comment[az]=Calamares Sistem Quraşdırıcısı +Comment[az_AZ]=Calamares — Sistem Quraşdırıcısı +Comment[be]=Calamares — усталёўшчык сістэмы +Comment[bg]=„Calamares“ – Системен инсталатор +Comment[bn]=ক্যালামারেস - সিস্টেম ইনস্টলার +Comment[ca]=Calamares — Instal·lador de sistema +Comment[cs_CZ]=Calamares – instalátor operačních systémů +Comment[da]=Calamares — Systeminstallationsprogram +Comment[de]=Calamares - Installation des Betriebssystems +Comment[el]=Calamares — Εγκατάσταση συστήματος +Comment[en_GB]=Calamares — System Installer +Comment[eo]=Calamares — Sistema Instalilo +Comment[es]=Calamares — Instalador del sistema +Comment[es_MX]=Calamares - Instalador del sistema +Comment[et]=Calamares — süsteemipaigaldaja +Comment[eu]=Calamares - sistema instalatzailea +Comment[fa]=کالامارس — نصب‌کننده سامانه +Comment[fi_FI]=Calamares — Järjestelmän asentaja +Comment[fr]=Calamares - Installateur système +Comment[fur]=Calamares — Program di instalazion dal sisteme +Comment[gl]=Calamares — Instalador de sistemas +Comment[he]=Calamares - אשף התקנה +Comment[hi]=Calamares — सिस्टम इंस्टॉलर +Comment[hr]=Calamares — Instalacija sustava +Comment[hu]=Calamares – Rendszertelepítő +Comment[id]=Calamares — Pemasang Sistem +Comment[ie]=Calamares — Installator del sistema +Comment[is]=Calamares — Kerfis uppsetning +Comment[it_IT]=Calamares — Programma d'installazione del sistema +Comment[ja]=Calamares — システムインストーラー +Comment[ko]=깔라마레스 — 시스템 설치 관리자 +Comment[lt]=Calamares — Sistemos diegimo programa +Comment[mk]=Calamares - Системен Инсталер +Comment[ml]=കലാമാരേസ് - സിസ്റ്റം ഇൻസ്റ്റാളർ +Comment[nb]=Calamares-systeminstallatør +Comment[ne_NP]=Calamares - सिस्टम इन्स्टलर +Comment[nl]=Calamares — Installatieprogramma +Comment[pl]=Calamares — Instalator systemu +Comment[pt_BR]=Calamares — Instalador de Sistema +Comment[pt_PT]=Instalador de Sistema - Calamares +Comment[ro]=Calamares — Instalator de sistem +Comment[ru]=Calamares - Установщик системы +Comment[si]=Calamares - පද්ධති ස්ථාපකය +Comment[sk]=Calamares — Inštalátor systému +Comment[sq]=Calamares — Instalues Sistemi +Comment[sr]=Каламарес — инсталатер система +Comment[sv]=Calamares — Systeminstallerare +Comment[tg]=Calamares — Насбкунандаи низомӣ +Comment[tr_TR]=Calamares — Sistem Yükleyici +Comment[uk]=Calamares - Встановлювач системи +Comment[vi]=Calamares — Bộ cài đặt hệ thống +Comment[zh_CN]=Calamares — 系统安装程序 +Comment[zh_TW]=Calamares ── 系統安裝程式 +Exec=sh /usr/bin/calamares_polkit %f +GenericName[en_US]=System Installer +GenericName=System Installer +GenericName[ar]=مثبت النظام +GenericName[as]=চিছটেম ইনস্তলাৰ +GenericName[ast]=Instalador del sistema +GenericName[az]=Sistem Quraşdırıcısı +GenericName[az_AZ]=Sistem quraşdırcısı +GenericName[be]=Усталёўшчык сістэмы +GenericName[bg]=Системен инсталатор +GenericName[bn]=সিস্টেম ইনস্টলার +GenericName[ca]=Instal·lador de sistema +GenericName[cs_CZ]=Instalátor systému +GenericName[da]=Systeminstallationsprogram +GenericName[de]=Installation des Betriebssystems +GenericName[el]=Εγκατάσταση συστήματος +GenericName[en_GB]=System Installer +GenericName[eo]=Sistema Instalilo +GenericName[es]=Instalador del sistema +GenericName[es_MX]=Instalador del sistema +GenericName[et]=Süsteemipaigaldaja +GenericName[eu]=Sistema instalatzailea +GenericName[fa]=نصب‌کننده سامانه +GenericName[fi_FI]=Järjestelmän asennusohjelma +GenericName[fr]=Installateur système +GenericName[fur]=Program di instalazion dal sisteme +GenericName[gl]=Instalador de sistemas +GenericName[he]=אשף התקנה +GenericName[hi]=सिस्टम इंस्टॉलर +GenericName[hr]=Instalacija sustava +GenericName[hu]=Rendszertelepítő +GenericName[id]=Pemasang +GenericName[ie]=Installator del sistema +GenericName[is]=Kerfis uppsetning +GenericName[it_IT]=Programma d'installazione del sistema +GenericName[ja]=システムインストーラー +GenericName[ko]=시스템 설치 관리자 +GenericName[lt]=Sistemos diegimas į kompiuterį +GenericName[mk]=Системен Инсталер +GenericName[ml]=സിസ്റ്റം ഇൻസ്റ്റാളർ +GenericName[nb]=Systeminstallatør +GenericName[ne_NP]=सिस्टम इन्स्टलर +GenericName[nl]=Installatieprogramma +GenericName[pl]=Instalator systemu +GenericName[pt_BR]=Instalador de Sistema +GenericName[pt_PT]=Instalador de Sistema +GenericName[ro]=Instalator de sistem +GenericName[ru]=Установщик системы +GenericName[si]=පද්ධති ස්ථාපකය +GenericName[sk]=Inštalátor systému +GenericName[sq]=Instalues Sistemi +GenericName[sr]=Инсталатер система +GenericName[sv]=Systeminstallerare +GenericName[tg]=Насбкунандаи низомӣ +GenericName[tr_TR]=Sistem Yükleyici +GenericName[uk]=Встановлювач системи +GenericName[vi]=Bộ cài đặt hệ thống +GenericName[zh_CN]=系统安装程序 +GenericName[zh_TW]=系統安裝程式 +Icon=qvidcap +Icon[ar]=كالامارس +Icon[as]=কেলামাৰেচ +Icon[ast]=calamares +Icon[az]=calamares +Icon[az_AZ]=calamares +Icon[be]=calamares +Icon[bg]=calamares +Icon[bn]=ক্যালামারেস +Icon[ca]=calamares +Icon[cs_CZ]=calamares +Icon[da]=calamares +Icon[de]=calamares +Icon[el]=calamares +Icon[en_GB]=calamares +Icon[eo]=calamares +Icon[es]=calamares +Icon[es_MX]=calamares +Icon[et]=calamares +Icon[eu]=calamares +Icon[fa]=کالامارس +Icon[fi_FI]=calamares +Icon[fr]=calamares +Icon[fur]=calamares +Icon[gl]=calamares +Icon[he]=calamares +Icon[hi]=calamares +Icon[hr]=calamares +Icon[hu]=calamares +Icon[id]=calamares +Icon[ie]=calamares +Icon[is]=calamares +Icon[it_IT]=calamares +Icon[ja]=calamares +Icon[ko]=깔라마레스 +Icon[lt]=calamares +Icon[mk]=calamares +Icon[ml]=കലാമാരേസ് +Icon[nb]=calamares +Icon[ne_NP]=Calamares +Icon[nl]=calamares +Icon[pl]=calamares +Icon[pt_BR]=calamares +Icon[pt_PT]=calamares +Icon[ro]=calamares +Icon[ru]=calamares +Icon[si]=කැලමරේස් +Icon[sk]=calamares +Icon[sq]=calamares +Icon[sr]=calamares +Icon[sv]=calamares +Icon[tg]=calamares +Icon[tr_TR]=calamares +Icon[uk]=calamares +Icon[vi]=calamares +Icon[zh_CN]=calamares +Icon[zh_TW]=calamares +Keywords=calamares;system;installer; +MimeType= +Name[en_US]=Install LinHES +Name=Install LinHES +Name[ar]=تثبيت النظام +Name[as]=চিছটেম ইনস্তল কৰক +Name[ast]=Instalar el sistema +Name[az]=Sistemi Quraşdırmaq +Name[az_AZ]=Sistemi quraşdırmaq +Name[be]=Усталяваць сістэму +Name[bg]=Инсталирай системата +Name[bn]=সিস্টেম ইনস্টল করুন +Name[ca]=Instal·la el sistema +Name[cs_CZ]=Nainstalovat systém +Name[da]=Installér system +Name[de]=System installieren +Name[el]=Εγκατάσταση συστήματος +Name[en_GB]=Install System +Name[eo]=Instali Sistemo +Name[es]=Instalar el sistema +Name[es_MX]=Instalar el Sistema +Name[es_PR]=Instalar el sistema +Name[et]=Paigalda süsteem +Name[eu]=Sistema instalatu +Name[fa]=نصب سامانه +Name[fi_FI]=Asenna järjestelmä +Name[fr]=Installer le système +Name[fur]=Instale il sisteme +Name[gl]=Instalación do Sistema +Name[he]=התקנת מערכת +Name[hi]=सिस्टम इंस्टॉल करें +Name[hr]=Instaliraj sustav +Name[hu]=Rendszer telepítése +Name[id]=Instal Sistem +Name[ie]=Installar li sistema +Name[is]=Setja upp kerfið +Name[it_IT]=Installa il sistema +Name[ja]=システムをインストール +Name[ko]=시스템 설치 +Name[lt]=Įdiegti Sistemą +Name[mk]=Инсталирај го системот +Name[ml]=സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്യുക +Name[nb]=Installer System +Name[ne_NP]=सिस्टम इन्स्टल गर्नुहोस् +Name[nl]=Installeer systeem +Name[pl]=Zainstaluj system +Name[pt_BR]=Sistema de Instalação +Name[pt_PT]=Instalar Sistema +Name[ro]=Instalează sistemul +Name[ru]=Установить систему +Name[si]=පද්ධතිය ස්ථාපනය කරන්න +Name[sk]=Inštalovať systém +Name[sl]=Namesti sistem +Name[sq]=Instalo Sistemin +Name[sr@latin]=Instaliraj sistem +Name[sr]=Инсталирај систем +Name[sv]=Installera system +Name[tg]=Насбкунии низом +Name[th]=ติดตั้งระบบ +Name[tr_TR]=Sistemi Yükle +Name[uk]=Встановити Систему +Name[vi]=Cài đặt hệ thống +Name[zh_CN]=安装系统 +Name[zh_TW]=安裝系統 +Path= +StartupNotify=true +Terminal=false +TerminalOptions= +TryExec=calamares +Type=Application +Version=1.0 +X-AppStream-Ignore=true +X-DBUS-ServiceName= +X-DBUS-StartupType= +X-KDE-SubstituteUID=false +X-KDE-Username= diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf new file mode 100644 index 0000000..8388f5b --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/01-archiso-x86_64-linux.conf @@ -0,0 +1,7 @@ +title LinHES (x86_64, UEFI) +sort-key 01 +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/intel-ucode.img +initrd /%INSTALL_DIR%/boot/amd-ucode.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=4G diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf new file mode 100644 index 0000000..cd8a0f9 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/entries/02-archiso-x86_64-speech-linux.conf @@ -0,0 +1,7 @@ +title LinHES (x86_64, UEFI) with speech +sort-key 02 +linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +initrd /%INSTALL_DIR%/boot/intel-ucode.img +initrd /%INSTALL_DIR%/boot/amd-ucode.img +initrd /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on cow_spacesize=4G diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf new file mode 100644 index 0000000..ae63487 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/efiboot/loader/loader.conf @@ -0,0 +1,2 @@ +timeout 15 +default 01-archiso-x86_64-linux.conf diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg new file mode 100644 index 0000000..0a0b11c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/grub/grub.cfg @@ -0,0 +1,46 @@ +insmod part_gpt +insmod part_msdos +insmod fat +insmod iso9660 + +insmod all_video + +insmod font + +if loadfont "${prefix}/fonts/unicode.pf2" ; then + insmod gfxterm + set gfxmode="auto" + terminal_input console + terminal_output gfxterm +fi + +# GRUB init tune for accessibility +# +# Morse translation table: +# "." is "500 1 300 1" +# "-" is "600 3 300 1" +# " " is "100 2" +# "/" is "100 5" +# +# Message: "s for blind" +play 500 500 1 300 1 500 1 300 1 500 1 300 1 100 5 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 600 3 300 1 500 1 300 1 100 5 600 3 300 1 500 1 300 1 500 1 300 1 500 1 300 1 100 2 500 1 300 1 600 3 300 1 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 100 2 500 1 300 1 500 1 300 1 100 2 600 3 300 1 500 1 300 1 100 2 600 3 300 1 500 1 300 1 500 1 300 1 + +menuentry "LinHES install medium (x86_64, UEFI)" { + set gfxpayload=keep + search --no-floppy --set=root --label %ARCHISO_LABEL% + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +} + +menuentry "LinHES install medium with speakup screen reader (x86_64, UEFI)" --hotkey=s { + set gfxpayload=keep + search --no-floppy --set=root --label %ARCHISO_LABEL% + linux /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on + initrd /%INSTALL_DIR%/boot/intel-ucode.img /%INSTALL_DIR%/boot/amd-ucode.img /%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +} + +menuentry "UEFI Shell" { + insmod chain + search --no-floppy --set=root --label %ARCHISO_LABEL% + chainloader /shellia32.efi +} diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64 b/linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64 new file mode 100644 index 0000000..8c440b6 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/packages.x86_64 @@ -0,0 +1,158 @@ +alsa-utils +amd-ucode +arch-install-scripts +#archinstall +b43-fwcutter +base +bind +brltty +broadcom-wl +btrfs-progs +#clonezilla +#cloud-init +cryptsetup +#darkhttpd +#ddrescue +dhclient +dhcpcd +diffutils +dmidecode +dmraid +dnsmasq +dosfstools +e2fsprogs +edk2-shell +efibootmgr +#espeakup +ethtool +exfatprogs +f2fs-tools +fatresize +#fsarchiver +gnu-netcat +gpart +gpm +gptfdisk +grml-zsh-config +grub +hdparm +hyperv +intel-ucode +#ipw2100-fw +#ipw2200-fw +#irssi +iw +iwd +#jfsutils +kitty-terminfo +less +lftp +libfido2 +libusb-compat +linux +#linux-atm +linux-firmware +linux-firmware-marvell +#livecd-sounds +lsscsi +lvm2 +lynx +man-db +man-pages +#mc +mdadm +memtest86+ +mkinitcpio +mkinitcpio-archiso +mkinitcpio-nfs-utils +#modemmanager +mtools +nano +nbd +ndisc6 +nfs-utils +#nilfs-utils +#nmap +ntfs-3g +nvme-cli +#open-iscsi +open-vm-tools +openconnect +openssh +openvpn +partclone +parted +partimage +pcsclite +ppp +pptpclient +pv +qemu-guest-agent +refind +reflector +reiserfsprogs +rp-pppoe +rsync +rxvt-unicode-terminfo +screen +sdparm +sg3_utils +smartmontools +sof-firmware +squashfs-tools +sudo +syslinux +systemd-resolvconf +#tcpdump +terminus-font +testdisk +tmux +tpm2-tss +udftools +usb_modeswitch +usbmuxd +usbutils +vim +virtualbox-guest-utils-nox +vpnc +wireless-regdb +wireless_tools +wpa_supplicant +wvdial +xfsprogs +xl2tpd +zsh +###################### +# LinHES 9 additions # +###################### +bash-completion +calamares +networkmanager +network-manager-applet +os-prober +pipewire +pipewire-alsa +pipewire-pulse +wireplumber +xdg-user-dirs +xf86-video-fbdev +xf86-video-vesa +xf86-video-vmware +xorg-server +#################### +# XFCE # +#################### +#lightdm +#lightdm-gtk-greeter +#xfce4 +#xfce4-goodies +#################### +# Plasma # +#################### +dolphin +konsole +kscreen +plasma-desktop +plasma-nm +sddm +systemsettings diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf b/linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf new file mode 100644 index 0000000..cb24f8c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/pacman.conf @@ -0,0 +1,105 @@ +# +# /etc/pacman.conf +# +# See the pacman.conf(5) manpage for option and repository directives + +# +# GENERAL OPTIONS +# +[options] +# The following paths are commented out with their default values listed. +# If you wish to use different paths, uncomment and update the paths. +#RootDir = / +#DBPath = /var/lib/pacman/ +#CacheDir = /var/cache/pacman/pkg/ +#LogFile = /var/log/pacman.log +#GPGDir = /etc/pacman.d/gnupg/ +#HookDir = /etc/pacman.d/hooks/ +HoldPkg = pacman glibc +#XferCommand = /usr/bin/curl -L -C - -f -o %o %u +#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u +#CleanMethod = KeepInstalled +Architecture = auto + +# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup +#IgnorePkg = +#IgnoreGroup = + +#NoUpgrade = +#NoExtract = + +# Misc options +#UseSyslog +#Color +#NoProgressBar +# We cannot check disk space from within a chroot environment +#CheckSpace +#VerbosePkgLists +ParallelDownloads = 5 + +# By default, pacman accepts packages signed by keys that its local keyring +# trusts (see pacman-key and its man page), as well as unsigned packages. +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional +#RemoteFileSigLevel = Required + +# NOTE: You must run `pacman-key --init` before first using pacman; the local +# keyring can then be populated with the keys of all official Arch Linux +# packagers with `pacman-key --populate archlinux`. + +# +# REPOSITORIES +# - can be defined here or included from another file +# - pacman will search repositories in the order defined here +# - local/custom mirrors can be added here or in separate files +# - repositories listed first will take precedence when packages +# have identical names, regardless of version number +# - URLs will have $repo replaced by the name of the current repo +# - URLs will have $arch replaced by the name of the architecture +# +# Repository entries are of the format: +# [repo-name] +# Server = ServerName +# Include = IncludePath +# +# The header [repo-name] is crucial - it must be present and +# uncommented to enable the repo. +# + +# The testing repositories are disabled by default. To enable, uncomment the +# repo name header and Include lines. You can add preferred servers immediately +# after the header, and they will be used before the default mirrors. + +#[testing] +#Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +#[community-testing] +#Include = /etc/pacman.d/mirrorlist + +[community] +Include = /etc/pacman.d/mirrorlist + +# If you want to run 32 bit applications on your x86_64 system, +# enable the multilib repositories as required here. + +#[multilib-testing] +#Include = /etc/pacman.d/mirrorlist + +#[multilib] +#Include = /etc/pacman.d/mirrorlist + +# An example of a custom package repository. See the pacman manpage for +# tips on creating your own repositories. +#[custom] +#SigLevel = Optional TrustAll +#Server = file:///home/custompkgs + +[linhes-testing] +SigLevel = Optional TrustAll +Server = http://linhes.org/repo/$arch/$repo/ diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh b/linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh new file mode 100644 index 0000000..4d0ec24 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/profiledef.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# shellcheck disable=SC2034 + +iso_name="LinHES" +iso_label="LinHES_$(date +%Y%m)" +iso_publisher="LinHES " +iso_application="LinHES Live/Installation CD" +iso_version="R9_$(date +%Y.%m.%d)" +install_dir="arch" +buildmodes=('iso') +bootmodes=('bios.syslinux.mbr' 'bios.syslinux.eltorito' + 'uefi-ia32.grub.esp' 'uefi-x64.systemd-boot.esp' + 'uefi-ia32.grub.eltorito' 'uefi-x64.systemd-boot.eltorito') +arch="x86_64" +pacman_conf="pacman.conf" +airootfs_image_type="squashfs" +airootfs_image_tool_options=('-comp' 'xz' '-Xbcj' 'x86' '-b' '1M' '-Xdict-size' '1M') +file_permissions=( + ["/etc/shadow"]="0:0:400" + ["/root"]="0:0:750" + ["/root/.automated_script.sh"]="0:0:755" + ["/usr/local/bin/choose-mirror"]="0:0:755" + ["/usr/local/bin/Installation_guide"]="0:0:755" + ["/usr/local/bin/livecd-sound"]="0:0:755" +) diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg new file mode 100644 index 0000000..d505018 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_head.cfg @@ -0,0 +1,28 @@ +SERIAL 0 115200 +UI vesamenu.c32 +MENU TITLE LinHES: The Linux Home Entertainment System +MENU BACKGROUND splash.png + +MENU WIDTH 78 +MENU MARGIN 4 +MENU ROWS 7 +MENU VSHIFT 10 +MENU TABMSGROW 14 +MENU CMDLINEROW 14 +MENU HELPMSGROW 16 +MENU HELPMSGENDROW 29 + +# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu + +MENU COLOR border 30;44 #40ffffff #a0000000 std +MENU COLOR title 1;36;44 #9033ccff #a0000000 std +MENU COLOR sel 7;37;40 #e0ffffff #20ffffff all +MENU COLOR unsel 37;44 #50ffffff #a0000000 std +MENU COLOR help 37;40 #c0ffffff #a0000000 std +MENU COLOR timeout_msg 37;40 #80ffffff #00000000 std +MENU COLOR timeout 1;37;40 #c0ffffff #00000000 std +MENU COLOR msg07 37;40 #90ffffff #a0000000 std +MENU COLOR tabmsg 31;40 #30ffffff #00000000 std + +MENU CLEAR +MENU IMMEDIATE diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg new file mode 100644 index 0000000..61d116c --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe-linux.cfg @@ -0,0 +1,32 @@ +LABEL arch64_nbd +TEXT HELP +Boot LinHES using NBD. +It allows you to install Ezarcher Linux or perform system maintenance. +ENDTEXT +MENU LABEL LinHES (x86_64, NBD) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% archiso_nbd_srv=${pxeserver} checksum verify cow_spacesize=4G copytoram=no +SYSAPPEND 3 + +LABEL arch64_nfs +TEXT HELP +Boot LinHES using NFS. +It allows you to install LinHES or perform system maintenance. +ENDTEXT +MENU LABEL LinHES (x86_64, NFS) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archiso_nfs_srv=${pxeserver}:/run/archiso/bootmnt checksum verify cow_spacesize=4G +SYSAPPEND 3 + +LABEL arch64_http +TEXT HELP +Boot LinHES using HTTP. +It allows you to install LinHES or perform system maintenance. +ENDTEXT +MENU LABEL LinHES (x86_64, HTTP) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archiso_http_srv=http://${pxeserver}/ checksum verify cow_spacesize=4G copytoram=no +SYSAPPEND 3 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg new file mode 100644 index 0000000..b4c9a80 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_pxe.cfg @@ -0,0 +1,5 @@ +INCLUDE archiso_head.cfg + +INCLUDE archiso_pxe-linux.cfg + +INCLUDE archiso_tail.cfg diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg new file mode 100644 index 0000000..e0887f2 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys-linux.cfg @@ -0,0 +1,20 @@ +LABEL arch64 +TEXT HELP +Boot LinHES install medium on BIOS. +It allows you to install LinHES or perform system maintenance. +ENDTEXT +MENU LABEL LinHES (x86_64, BIOS) +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% cow_spacesize=4G copytoram=no + +# Accessibility boot option +LABEL arch64speech +TEXT HELP +Boot LinHES install medium on BIOS with speakup screen reader. +It allows you to install LinHES or perform system maintenance with speech feedback. +ENDTEXT +MENU LABEL LinHES (x86_64, BIOS) with ^speech +LINUX /%INSTALL_DIR%/boot/x86_64/vmlinuz-linux +INITRD /%INSTALL_DIR%/boot/intel-ucode.img,/%INSTALL_DIR%/boot/amd-ucode.img,/%INSTALL_DIR%/boot/x86_64/initramfs-linux.img +APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% accessibility=on cow_spacesize=4G copytoram=no diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg new file mode 100644 index 0000000..d93bcfe --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_sys.cfg @@ -0,0 +1,8 @@ +INCLUDE archiso_head.cfg + +DEFAULT arch64 +TIMEOUT 150 + +INCLUDE archiso_sys-linux.cfg + +INCLUDE archiso_tail.cfg diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg new file mode 100644 index 0000000..e5339a2 --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/archiso_tail.cfg @@ -0,0 +1,35 @@ +LABEL existing +TEXT HELP +Boot an existing operating system. +Press TAB to edit the disk and partition number to boot. +ENDTEXT +MENU LABEL Boot existing OS +COM32 chain.c32 +APPEND hd0 0 + +# http://www.memtest.org/ +LABEL memtest +MENU LABEL Run Memtest86+ (RAM test) +LINUX /%INSTALL_DIR%/boot/memtest + +# http://hdt-project.org/ +LABEL hdt +MENU LABEL Hardware Information (HDT) +COM32 hdt.c32 +APPEND modules_alias=hdt/modalias.gz pciids=hdt/pciids.gz + +LABEL reboot +TEXT HELP +Reboot computer. +The computer's firmware must support APM. +ENDTEXT +MENU LABEL Reboot +COM32 reboot.c32 + +LABEL poweroff +TEXT HELP +Power off computer. +The computer's firmware must support APM. +ENDTEXT +MENU LABEL Power Off +COM32 poweroff.c32 diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png new file mode 100644 index 0000000..f8cc839 Binary files /dev/null and b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/splash.png differ diff --git a/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg new file mode 100644 index 0000000..cbda72f --- /dev/null +++ b/linhes/linhes-dev/LinHES9_iso/cust_skel/syslinux/syslinux.cfg @@ -0,0 +1,11 @@ +DEFAULT select + +LABEL select +COM32 whichsys.c32 +APPEND -pxe- pxe -sys- sys -iso- sys + +LABEL pxe +CONFIG archiso_pxe.cfg + +LABEL sys +CONFIG archiso_sys.cfg -- cgit v0.12