summaryrefslogtreecommitdiff
path: root/raveos-calamares-theme/etc/calamares/modules
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-calamares-theme/etc/calamares/modules')
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/bootloader.conf33
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh55
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/calamares-microcode-fix.sh75
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/displaymanager.conf12
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/finished.conf47
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/grubcfg.conf12
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/initcpio.conf26
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/locale.conf9
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/mount.conf48
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-apps.conf8
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml373
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.conf8
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.yaml110
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.conf8
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.yaml29
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/packages.conf14
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/partition.conf259
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/preservefiles.conf67
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/removeuser.conf13
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/services-systemd.conf9
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-before.conf12
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-branding.conf14
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-dkms.conf8
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-enableservices.conf21
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf25
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-loader.conf10
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/shellprocess-pacstrap.conf8
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/unpackfs.conf96
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/users.conf218
-rw-r--r--raveos-calamares-theme/etc/calamares/modules/welcome.conf121
30 files changed, 1748 insertions, 0 deletions
diff --git a/raveos-calamares-theme/etc/calamares/modules/bootloader.conf b/raveos-calamares-theme/etc/calamares/modules/bootloader.conf
new file mode 100644
index 0000000..69e54cc
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/bootloader.conf
@@ -0,0 +1,33 @@
+# Use systemd-boot (UEFI only)
+bootloader: grub
+efiBootLoader: systemd-boot
+efiBootLoaderTimeout: 5
+
+# Kernel & initramfs
+kernel: linux-cachyos
+initramfs: initramfs-linux-cachyos.img
+
+# EFI System Partition mount point
+efiMountPoint: /boot
+
+# GRUB paths
+grubInstall: "grub-install"
+grubMkconfig: "grub-mkconfig"
+grubCfg: "/boot/grub/grub.cfg"
+grubProbe: "grub-probe"
+efiBootMgr: "efibootmgr"
+
+# Preserve existing EFI entries (dual-boot safe)
+keepEFI: true
+
+# ---- MICROCODE SUPPORT ----
+microcode: true
+
+# Packages Calamares will look for inside the installed system
+microcodePackages:
+ - intel-ucode
+ - amd-ucode
+
+loaderEntries:
+ - "timeout 5"
+ - "console-mode keep"
diff --git a/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh b/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh
new file mode 100644
index 0000000..c30bbf3
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/calamares-gpu-drivers.sh
@@ -0,0 +1,55 @@
+#!/bin/bash
+set -e
+
+echo ">>> [gpu] Running INSIDE target system"
+
+GPU_INFO="$(lspci -nn | grep -E 'VGA|3D|Display' || true)"
+echo ">>> [gpu] Detected devices:"
+echo "$GPU_INFO"
+
+install_pkgs() {
+ pacman -Syy --noconfirm || true
+ pacman -S --noconfirm "$@" || true
+}
+
+install_pkgs mesa libglvnd vulkan-icd-loader
+
+if echo "$GPU_INFO" | grep -qi "Intel"; then
+ echo ">>> [gpu] Installing Intel stack..."
+ install_pkgs mesa vulkan-intel intel-media-driver
+fi
+
+# AMD
+if echo "$GPU_INFO" | grep -qi "AMD\|ATI"; then
+ echo ">>> [gpu] Installing AMD stack..."
+ install_pkgs mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon vulkan-icd-loader lib32-vulkan-icd-loader vulkan-tools mesa-utils
+fi
+
+if echo "$GPU_INFO" | grep -qi "NVIDIA"; then
+ echo ">>> [gpu] Installing NVIDIA DKMS stack..."
+
+ install_pkgs dkms linux-cachyos-headers nvidia-dkms nvidia-utils nvidia-settings lib32-nvidia-utils
+
+ if echo "$GPU_INFO" | grep -qi "Intel\|AMD\|ATI"; then
+ echo ">>> [gpu] Hybrid laptop detected -> installing nvidia-prime"
+ install_pkgs nvidia-prime
+ fi
+
+ echo ">>> [gpu] Enabling NVIDIA module autoload..."
+ mkdir -p /etc/modules-load.d
+ cat > /etc/modules-load.d/nvidia.conf <<EOF
+nvidia
+nvidia_modeset
+nvidia_uvm
+nvidia_drm
+EOF
+
+ echo ">>> [gpu] Enabling NVIDIA DRM modeset..."
+ mkdir -p /etc/modprobe.d
+ echo "options nvidia_drm modeset=1" > /etc/modprobe.d/nvidia-drm.conf
+
+ echo ">>> [gpu] Rebuilding initramfs..."
+ mkinitcpio -P || true
+fi
+
+echo ">>> [gpu] Done."
diff --git a/raveos-calamares-theme/etc/calamares/modules/calamares-microcode-fix.sh b/raveos-calamares-theme/etc/calamares/modules/calamares-microcode-fix.sh
new file mode 100644
index 0000000..9915bc6
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/calamares-microcode-fix.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+set -e
+
+echo ">>> [microcode-fix] Running INSIDE target system"
+
+VENDOR=$(awk -F: '/vendor_id/ {print $2; exit}' /proc/cpuinfo | xargs)
+echo ">>> [microcode-fix] Detected CPU vendor: ${VENDOR}"
+
+if [[ "${VENDOR}" == "GenuineIntel" ]]; then
+ PKG="intel-ucode"
+ UCODE_IMG="/boot/intel-ucode.img"
+ UCODE_LINE="initrd /intel-ucode.img"
+elif [[ "${VENDOR}" == "AuthenticAMD" ]]; then
+ PKG="amd-ucode"
+ UCODE_IMG="/boot/amd-ucode.img"
+ UCODE_LINE="initrd /amd-ucode.img"
+else
+ echo ">>> [microcode-fix] Unknown vendor, skipping."
+ exit 0
+fi
+
+echo ">>> [microcode-fix] Installing microcode package: ${PKG}"
+pacman -Sy --noconfirm "${PKG}" || true
+
+if [[ "${VENDOR}" == "AuthenticAMD" ]]; then
+ echo ">>> [microcode-fix] Installing zenpower5-dkms-git + deps..."
+
+ pacman -Syy --noconfirm || true
+
+ pacman -S --noconfirm dkms linux-cachyos-headers zenpower5-dkms-git || true
+
+ echo ">>> [microcode-fix] Enabling zenpower module autoload..."
+ mkdir -p /etc/modules-load.d
+ echo "zenpower" > /etc/modules-load.d/zenpower.conf
+
+ echo ">>> [microcode-fix] DKMS autoinstall..."
+ dkms autoinstall || true
+
+ echo ">>> [microcode-fix] Rebuilding initramfs..."
+ mkinitcpio -P || true
+
+ echo ">>> [microcode-fix] zenpower package check:"
+ pacman -Q zenpower5-dkms-git 2>/dev/null && echo ">>> zenpower OK" || echo ">>> zenpower MISSING"
+fi
+
+
+if [ ! -f "${UCODE_IMG}" ]; then
+ echo ">>> [microcode-fix] Missing ${UCODE_IMG}, skipping entry patch."
+ exit 0
+fi
+
+ENTRYDIR="/boot/loader/entries"
+echo ">>> [microcode-fix] Entry dir: ${ENTRYDIR}"
+
+[ -d "${ENTRYDIR}" ] || exit 0
+
+for f in "${ENTRYDIR}"/*.conf; do
+ [ -f "$f" ] || continue
+ echo ">>> [microcode-fix] Patching: $f"
+
+ if grep -qE '^initrd[[:space:]]+/amd-ucode\.img$' "$f" || grep -qE '^initrd[[:space:]]+/intel-ucode\.img$' "$f"; then
+ echo ">>> [microcode-fix] Already has microcode initrd, skipping: $f"
+ continue
+ fi
+
+ tmp="$(mktemp)"
+ {
+ echo "${UCODE_LINE}"
+ cat "$f"
+ } > "$tmp"
+ cat "$tmp" > "$f"
+ rm -f "$tmp"
+done
+
+echo ">>> [microcode-fix] Done."
diff --git a/raveos-calamares-theme/etc/calamares/modules/displaymanager.conf b/raveos-calamares-theme/etc/calamares/modules/displaymanager.conf
new file mode 100644
index 0000000..421608c
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/displaymanager.conf
@@ -0,0 +1,12 @@
+defaultdisplaymanager: sddm
+
+displaymanagers:
+ - name: cosmic-greeter
+ service: cosmic-greeter.service
+ required: false
+ - name: gdm
+ service: gdm.service
+ required: false
+ - name: sddm
+ service: sddm.service
+ required: false \ No newline at end of file
diff --git a/raveos-calamares-theme/etc/calamares/modules/finished.conf b/raveos-calamares-theme/etc/calamares/modules/finished.conf
new file mode 100644
index 0000000..b0647fe
--- /dev/null
+++ b/raveos-calamares-theme/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/raveos-calamares-theme/etc/calamares/modules/grubcfg.conf b/raveos-calamares-theme/etc/calamares/modules/grubcfg.conf
new file mode 100644
index 0000000..8516765
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/grubcfg.conf
@@ -0,0 +1,12 @@
+overwrite: false
+
+prefer_grub_d: false
+
+keep_distributor: false
+
+defaults:
+ GRUB_TIMEOUT: 5
+ GRUB_DEFAULT: "saved"
+ GRUB_DISABLE_SUBMENU: true
+ GRUB_TERMINAL_OUTPUT: "console"
+ GRUB_DISABLE_RECOVERY: true
diff --git a/raveos-calamares-theme/etc/calamares/modules/initcpio.conf b/raveos-calamares-theme/etc/calamares/modules/initcpio.conf
new file mode 100644
index 0000000..6589a6e
--- /dev/null
+++ b/raveos-calamares-theme/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:
+
+# 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/raveos-calamares-theme/etc/calamares/modules/locale.conf b/raveos-calamares-theme/etc/calamares/modules/locale.conf
new file mode 100644
index 0000000..102c957
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/locale.conf
@@ -0,0 +1,9 @@
+region: "Europe"
+zone: "Budapest"
+
+localeGenPath: "/etc/locale.gen"
+
+geoip:
+ style: "json"
+ url: "https://geoip.kde.org/v1/calamares"
+ selector: ""
diff --git a/raveos-calamares-theme/etc/calamares/modules/mount.conf b/raveos-calamares-theme/etc/calamares/modules/mount.conf
new file mode 100644
index 0000000..aa24558
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/mount.conf
@@ -0,0 +1,48 @@
+extraMounts:
+ - device: proc
+ fs: proc
+ mountPoint: /proc
+ - device: sys
+ fs: sysfs
+ mountPoint: /sys
+ - device: /dev
+ mountPoint: /dev
+ options: [ bind ]
+ - device: tmpfs
+ fs: tmpfs
+ mountPoint: /run
+ - device: /run/udev
+ mountPoint: /run/udev
+ options: [ bind ]
+ - device: efivarfs
+ fs: efivarfs
+ mountPoint: /sys/firmware/efi/efivars
+ efi: true
+
+btrfsSubvolumes:
+ - mountPoint: /
+ subvolume: /@
+ - mountPoint: /home
+ subvolume: /@home
+ - mountPoint: /root
+ subvolume: /@root
+ - mountPoint: /srv
+ subvolume: /@srv
+ - mountPoint: /var/cache
+ subvolume: /@cache
+ - mountPoint: /var/log
+ subvolume: /@log
+ - mountPoint: /var/tmp
+ subvolume: /@tmp
+
+btrfsSwapSubvol: /@swap
+
+mountOptions:
+ - filesystem: default
+ options: [ defaults, noatime ]
+ - filesystem: efi
+ options: [ defaults, umask=0077 ]
+ - filesystem: btrfs
+ options: [ defaults, noatime, compress=zstd ]
+ - filesystem: btrfs_swap
+ options: [ defaults, noatime ]
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.conf b/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.conf
new file mode 100644
index 0000000..599c203
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.conf
@@ -0,0 +1,8 @@
+groupsUrl:
+ - file:///etc/calamares/modules/netinstall-apps.yaml
+
+required: false
+
+label:
+ sidebar: "Applications"
+ title: "Application list" \ No newline at end of file
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml b/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml
new file mode 100644
index 0000000..6d3b256
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-apps.yaml
@@ -0,0 +1,373 @@
+- name: "Essentials"
+ critical: true
+ selected: true
+ hidden: true
+ packages:
+ - flatpak
+ - pavucontrol
+- name: "Audio"
+ description: "Audio Players & Editors"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - ardour
+ - audacious
+ - audacious-plugins
+ - audacity
+ - cider
+ - clementine
+ - deadbeef
+ - elisa
+ - easyeffects
+ - juk
+ - kwave
+ - lmms
+ - ncmpcpp
+ - helvum
+ - pragha
+ - radiotray
+ - rhythmbox
+ - soundconverter
+ - spotify
+ - spotifywm-git
+ - tauon-music-box
+- name: "Accessories"
+ description: "Various Useful Tools"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - android-tools
+ - btop
+ - occt
+ - corectrl
+ - cpu-x
+ - font-manager-git
+ - galculator
+ - liferea
+ - mediainfo-gui
+ - mcomix
+ - nitrogen
+ - pdfarranger
+ - remmina
+ - warpinator
+- name: "Browsers"
+ description: "Internet Browsers & E-mail"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - brave-bin
+ - chromium
+ - dropbox
+ - evolution
+ - filezilla
+ - firefox-adblock-plus
+ - firefox-i18n-hu
+ - insync
+ - mailspring
+ - nextcloud-client
+ - opera
+ - qutebrowser
+ - thunderbird
+ - tutanota-desktop
+ - vivaldi
+ - vivaldi-ffmpeg-codecs
+- name: "Dev Tools"
+ description: "Editors for Devs"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - atom
+ - code
+ - geany
+ - meld
+ - guvcview
+ - docker
+- name: "Disk & USB"
+ description: "USB & HDD Apps"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - brasero
+ - baobab
+ - etcher-bin
+ - gnome-disk-utility
+ - hefftor-ventoy-gui-git
+ - imagewriter
+ - ventoy-bin
+ - woeusb
+- name: "File Managers"
+ description: "File Managers"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - nautilus
+ - nemo
+ - nemo-fileroller
+ - pcmanfm
+ - ranger
+ - thunar
+ - thunar-volman
+ - thunar-archive-plugin
+ - thunar-media-tags-plugin
+ - thunar-shares-plugin
+- name: "Fonts"
+ description: "Fonts for Widgets"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - terminus-font
+ - ttf-bitstream-vera
+ - ttf-fira-code
+ - ttf-inconsolata
+ - ttf-liberation
+ - ttf-ubuntu-font-family
+- name: Gaming
+ description: "Gaming related packages"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - heroic-games-launcher-bin
+ - steam
+ - mangohud
+ - lib32-mangohud
+ - gamemode
+ - protonup-qt-bin
+ - goverlay
+- name: "Git"
+ description: "Git Applications"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - gitahead-bin
+ - gitg
+ - gitfiend
+ - gitkraken
+- name: "Graphics"
+ description: "Graphics"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - blender
+ - darktable
+ - digikam
+ - flameshot
+ - gimp
+ - inkscape
+ - krita
+ - spectacle
+- name: "Office"
+ description: "Office tools"
+ critical: false
+ hidden: false
+ selected: false
+ packages:
+ - libreoffice-fresh
+ - libreoffice-fresh-hu
+ - onlyoffice-bin
+ - hunspell-hu
+ - hunspell
+- name: "Package Managers"
+ description: "Selection of Package Managers"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - discover
+ - octopi
+ - pamac-all
+- name: "Password Manager"
+ description: "Password Managers"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - bitwarden
+ - enpass-bin
+ - keepassxc
+ - lastpass
+- name: "Printer support"
+ description: "Printer support, use all packages"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - cups
+ - hplip
+ - cnifilter2
+ - system-config-printer
+- name: "Privacy"
+ description: "Privacy-related Apps"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - tor-browser
+ - privoxy
+- name: "Social-Media"
+ description: "Chat Apps"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - discord
+ - hexchat
+ - pidgin
+ - mumble
+ - slack-desktop
+ - telegram-desktop
+ - teamspeak3
+ - zoom
+- name: "Terminals"
+ description: "Various Terminals"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - alacritty
+ - gnome-terminal
+ - guake
+ - kitty
+ - konsole
+ - lxterminal
+ - sakura
+ - terminator
+ - tilix
+ - tilda
+ - tmux
+ - unimatrix-git
+- name: "Theming"
+ description: "Themes, icons and cursors"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - adapta-gtk-theme
+ - arc-icon-theme
+ - breeze
+ - capitaine-cursors
+ - faba-icon-theme-git
+ - kvantum-qt5
+ - moka-icon-theme-git
+ - paper-icon-theme
+ - papirus-icon-theme
+ - surfn-mint-y-icons-git
+- name: "Torrent Clients"
+ description: "Torrent Downloading"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - deluge
+ - ktorrent
+ - qbittorrent
+ - transmission-gtk
+- name: "Utilities"
+ description: "Various Utilities"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - archey3
+ - alsi
+ - bashtop
+ - bleachbit
+ - caffeine-ng
+ - evince
+ - gufw
+ - hddtemp
+ - inetutils
+ - lshw
+ - lolcat
+ - putty
+ - samba
+ - fastfetch
+ - sigil
+ - synapse
+ - sysprof
+ - systemd-manager
+ - timeshift
+ - vnstat
+ - wireshark-qt
+ - wttr
+ - xpadneo-dkms
+- name: "Video"
+ description: "Video Editors & More"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - celluloid
+ - guvcview
+ - handbrake
+ - hypnotix
+ - kdenlive
+ - kodi-x11
+ - kodi
+ - kodi-addons
+ - obs-studio-tytan652
+ - openshot
+ - mkvtoolnix-gui
+ - mpc
+ - mpd
+ - mpv
+ - peek
+ - plex-media-player
+ - plex-media-server
+ - simplescreenrecorder
+ - smplayer
+ - vlc
+ - youtube-dl
+- name: "Virtualbox"
+ description: "Virtualbox Package"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - virtualbox
+ - virtualbox-ext-vnc
+ - virtualbox-guest-dkms
+ - virtualbox-guest-iso
+ - virtualbox-guest-utils
+ - virtualbox-host-dkms
+- name: "Wine"
+ description: "Adds Windows App Support to Linux"
+ critical: false
+ hidden: false
+ selected: false
+ expanded: false
+ packages:
+ - wine
+ - wine-gecko
+ - wine-mono
+ - winetricks \ No newline at end of file
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.conf b/raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.conf
new file mode 100644
index 0000000..26696c4
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.conf
@@ -0,0 +1,8 @@
+groupsUrl:
+ - file:///etc/calamares/modules/netinstall-desktop.yaml
+
+required: false
+
+label:
+ sidebar: "Desktop"
+ title: "Desktop selector" \ No newline at end of file
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.yaml b/raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.yaml
new file mode 100644
index 0000000..a576819
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-desktop.yaml
@@ -0,0 +1,110 @@
+- name: "KÖTELEZŐ Csomagok"
+ selected: true
+ expanded: false
+ exclusive: true
+ hidden: true
+ packages:
+ - wget
+ - noto-fonts
+ - noto-fonts-cjk
+ - noto-fonts-emoji
+ - noto-fonts-extra
+ - qt6-wayland
+ - qt5-wayland
+ - ttf-ubuntu-font-family
+ - rsync
+ - gvfs
+ - gvfs-mtp
+ - ufw
+ - gufw
+ - flatpak
+ - pavucontrol
+ - xdg-user-dirs
+ - xdg-user-dirs-gtk
+ - sddm
+ - sddm-astronaut-theme
+ - pipewire-jack
+ - hblock
+- name: "KDE Plasma Desktop - Alap desktop, nincs általunk témázva"
+ selected: false
+ expanded: false
+ exclusive: true
+ packages:
+ - plasma
+ - kde-applications
+ - konsole
+- name: "GNOME Desktop"
+ selected: false
+ expanded: false
+ exclusive: true
+ packages:
+ - gnome-session
+ - gnome-console
+ - gedit
+ - gnome-disk-utility
+ - gnome-system-monitor
+ - fuse2
+ - eog
+ - gnome-calculator
+ - baobab
+ - gnome-control-center
+ - gnome-tweaks
+ - gnome-browser-connector
+ - xdg-desktop-portal
+ - gnome-keyring
+ - xdg-desktop-portal-gnome
+ - xdg-desktop-portal-gtk
+ - xdg-desktop-portal-wlr
+ - gnome-settings-daemon
+ - nautilus
+ - gnome-shell-extensions
+ - yaru-gtk-theme
+ - raveos-gnome-theme
+- name: "Cosmic Desktop - Erősen BÉTA"
+ selected: false
+ expanded: false
+ exclusive: true
+ packages:
+ - cosmic
+ - cosmic-text-editor
+ - cosmic-files
+ - cosmic-terminal
+ - cosmic-player
+ - cosmic-wallpapers
+- name: "Hyprland Desktop with DMS shell Nem felhasználó barát egyelőre!(WORK IN PROGRESS.)"
+ selected: false
+ expanded: false
+ exclusive: true
+ packages:
+ - hyprland
+ - aquamarine
+ - nwg-displays
+ - nwg-look
+ - hyprwayland-scanner
+ - xdg-desktop-portal-hyprland
+ - xdg-desktop-portal
+ - hyprland-qt-support
+ - hyprpolkitagent
+ - hyprland-guiutils
+ - hyprpwcenter
+ - hyprlauncher
+ - hyprtoolkit
+ - hyprgraphics
+ - hyprcursor
+ - hyprpicker
+ - hyprshot
+ - hypridle
+ - hyprlock
+ - hyprwire
+ - hyprpaper
+ - dms-shell-git
+ - kitty
+ - thunar
+ - thunar-volman
+ - thunar-archive-plugin
+ - thunar-media-tags-plugin
+ - thunar-shares-plugin
+ - thunar-archive-plugin
+ - xarchiver
+ - tumbler
+ - polkit-gnome \ No newline at end of file
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.conf b/raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.conf
new file mode 100644
index 0000000..3e83219
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.conf
@@ -0,0 +1,8 @@
+groupsUrl:
+ - file:///etc/calamares/modules/netinstall-drivers.yaml
+
+required: false
+
+label:
+ sidebar: "Drivers"
+ title: "Drivers and Microcode"
diff --git a/raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.yaml b/raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.yaml
new file mode 100644
index 0000000..a5613a5
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/netinstall-drivers.yaml
@@ -0,0 +1,29 @@
+- name: "Microcode"
+ selected: false
+ expanded: false
+ exclusive: false
+ packages:
+ - intel-ucode
+ - amd-ucode
+- name: "NVIDIA Driver"
+ selected: false
+ expanded: false
+ exlusive: false
+ packages:
+ - nvidia-open-dkms
+ - nvidia-utils
+ - nvtop
+ - egl-gbm
+ - egl-x11
+ - egl-wayland
+ - egl-wayland2
+ - lib32-nvidia-utils
+ - libva-nvidia-driver
+- name: "AMD Drivers"
+ selected: false
+ expanded: false
+ exclusive: false
+ packages:
+ - mesa
+ - vulkan-radeon
+ - lib32-vulkan-radeon
diff --git a/raveos-calamares-theme/etc/calamares/modules/packages.conf b/raveos-calamares-theme/etc/calamares/modules/packages.conf
new file mode 100644
index 0000000..ac375cb
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/packages.conf
@@ -0,0 +1,14 @@
+backend: pacman
+
+update_db: true
+
+pacman:
+ repositories:
+ core: true
+ extra: true
+ multilib: true
+ chaotic-aur: true
+ raveos-core-repo: true
+
+packages: []
+remove: []
diff --git a/raveos-calamares-theme/etc/calamares/modules/partition.conf b/raveos-calamares-theme/etc/calamares/modules/partition.conf
new file mode 100644
index 0000000..b0a9951
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/partition.conf
@@ -0,0 +1,259 @@
+# 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"
+
+# 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: 1024M
+
+# 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: gpt
+
+# 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","btrfs"]
+
+# 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
+
+
+lvm:
+ enable: false
diff --git a/raveos-calamares-theme/etc/calamares/modules/preservefiles.conf b/raveos-calamares-theme/etc/calamares/modules/preservefiles.conf
new file mode 100644
index 0000000..379d2fc
--- /dev/null
+++ b/raveos-calamares-theme/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 <user>:<group>:<mode>
+# where <mode> 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/raveos-calamares-theme/etc/calamares/modules/removeuser.conf b/raveos-calamares-theme/etc/calamares/modules/removeuser.conf
new file mode 100644
index 0000000..6f32070
--- /dev/null
+++ b/raveos-calamares-theme/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: raveos
diff --git a/raveos-calamares-theme/etc/calamares/modules/services-systemd.conf b/raveos-calamares-theme/etc/calamares/modules/services-systemd.conf
new file mode 100644
index 0000000..d541f92
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/services-systemd.conf
@@ -0,0 +1,9 @@
+services:
+ - name: sddm
+ enable: true
+ - name: NetworkManager
+ enable: true
+ - name: gdm
+ enable: true
+ - name: cosmic-greeter
+ enable: true
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-before.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-before.conf
new file mode 100644
index 0000000..fdf7949
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-before.conf
@@ -0,0 +1,12 @@
+dontChroot: false
+timeout: 999
+
+script:
+ - "-/usr/bin/pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com"
+ - "-/usr/bin/pacman-key --lsign-key 3056513887B78AEB"
+ - "-/usr/bin/pacman-key --recv-key 349BC7808577C592 --keyserver keyserver.ubuntu.com"
+ - "-/usr/bin/pacman-key --lsign-key 349BC7808577C592"
+ - "-/usr/bin/pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-keyring.pkg.tar.zst'"
+ - "-/usr/bin/pacman -U --noconfirm 'https://cdn-mirror.chaotic.cx/chaotic-aur/chaotic-mirrorlist.pkg.tar.zst'"
+ - "-/usr/bin/pacman -Sy --noconfirm chaotic-keyring"
+ - "-/usr/bin/pacman -Syu --noconfirm"
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-branding.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-branding.conf
new file mode 100644
index 0000000..cb25e8f
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-branding.conf
@@ -0,0 +1,14 @@
+dontChroot: true
+timeout: 60
+
+script:
+ - command: "cp /etc/os-release ${ROOT}/etc/os-release"
+ - command: "cp /etc/lsb-release ${ROOT}/etc/lsb-release"
+ name: "Applying system identity..."
+ - command: "cp /etc/pacman.conf ${ROOT}/etc/pacman.conf"
+ - command: "cp /etc/pacman.d/chaotic-mirrorlist ${ROOT}/etc/pacman.d/chaotic-mirrorlist"
+ - command: "/usr/bin/pacman-key --recv-key 3056513887B78AEB --keyserver keyserver.ubuntu.com"
+ - command: "/usr/bin/pacman-key --lsign-key 3056513887B78AEB"
+ name: "Populating Chaotic-AUR keys"
+ - command: "mkdir -p ${ROOT}/usr/lib/kernel/install.d"
+ - command: "cp /usr/share/calamares/kernel-install/95-raveos.install ${ROOT}/usr/lib/kernel/install.d/95-raveos.install"
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-dkms.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-dkms.conf
new file mode 100644
index 0000000..be6d235
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-dkms.conf
@@ -0,0 +1,8 @@
+# DKMS modules install
+
+dontChroot: false # run inside target chroot so DKMS builds against the installed kernel
+timeout: 3600 # Give it plenty of time (1 hour) for slow downloads
+
+script:
+ - command: "dkms autoinstall --verbose || true"
+ name: "Installing DKMS modules"
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-enableservices.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-enableservices.conf
new file mode 100644
index 0000000..335f3a9
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-enableservices.conf
@@ -0,0 +1,21 @@
+dontChroot: false
+timeout: 3600
+
+script:
+ - command: "systemctl enable NetworkManager.service || true"
+ - command: "systemctl enable iwd.service || true"
+ - command: "systemctl enable bluetooth.service || true"
+ - command: "systemctl enable sddm.service || true"
+ - command: "systemctl enable gdm.service || true"
+ - command: "systemctl enable cosmic-greeter.service || true"
+ - command: "mkdir -p /etc/NetworkManager/conf.d && printf '[device]\nwifi.backend=iwd\n' > /etc/NetworkManager/conf.d/wifi_backend.conf || true"
+ - command: "mkdir -p /etc/iwd && printf '[General]\nEnableNetworkConfiguration=false\n' > /etc/iwd/main.conf || true"
+ - command: "ln -sf /dev/null /etc/systemd/system/wpa_supplicant.service || true"
+ - command: "pacman -S --noconfirm raveos-app-installer || true"
+ - command: "pacman -Sdd --noconfirm yaru-gtk-theme || true"
+ - command: "rm -f /usr/share/wayland-sessions/gnome-classic*.desktop /usr/share/xsessions/gnome-classic*.desktop || true"
+ - command: "sed -i 's/^#IgnorePkg/IgnorePkg/' /etc/pacman.conf || true"
+ - command: "systemctl disable sleep.target suspend.target hibernate.target hybrid-sleep.target geoclue.service || true"
+ - command: "systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target geoclue.service || true"
+ - command: "systemctl enable reflector-once.service || true"
+ name: "Enabling services and Display Managers"
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf
new file mode 100644
index 0000000..9a337c4
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-final.conf
@@ -0,0 +1,25 @@
+---
+dontChroot: true
+timeout: 999
+
+script:
+ - "-rm -r ${ROOT}/home/${USER}/.config/alci-dwm"
+ - "-rm ${ROOT}/etc/sudoers.d/g_wheel"
+ - "-rm -r ${ROOT}/etc/mkinitcpio.conf.d/"
+ - "-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/polkit-1/rules.d/49-nopasswd-calamares.rules"
+ - "install -Dm755 /etc/calamares/modules/calamares-microcode-fix.sh ${ROOT}/root/calamares-microcode-fix.sh"
+ - "chroot ${ROOT} /bin/bash /root/calamares-microcode-fix.sh"
+ - "install -Dm755 /etc/calamares/modules/calamares-gpu-drivers.sh ${ROOT}/root/calamares-gpu-drivers.sh"
+ - "chroot ${ROOT} /bin/bash /root/calamares-gpu-drivers.sh"
+ - "-cp /etc/resolv.conf ${ROOT}/etc/resolv.conf"
+ - "if [ -x ${ROOT}/usr/lib/raveos-gnome-theme/auto-apply.sh ]; then arch-chroot ${ROOT} /usr/lib/raveos-gnome-theme/auto-apply.sh; fi"
+ - "if [ -x ${ROOT}/usr/lib/raveos-cosmic-theme/auto-apply.sh ]; then arch-chroot ${ROOT} /usr/lib/raveos-cosmic-theme/auto-apply.sh; fi"
+ - "if [ -x ${ROOT}/usr/lib/raveos-kde-theme/auto-apply.sh ]; then arch-chroot ${ROOT} /usr/lib/raveos-kde-theme/auto-apply.sh; fi"
+ - "if [ -x ${ROOT}/usr/lib/raveos-hyprland-theme/auto-apply.sh ]; then arch-chroot ${ROOT} /usr/lib/raveos-hyprland-theme/auto-apply.sh; fi" \ No newline at end of file
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-loader.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-loader.conf
new file mode 100644
index 0000000..69d9f30
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-loader.conf
@@ -0,0 +1,10 @@
+dontChroot: true
+timeout: 60
+script:
+ # 1. Copy across RaveOS bootloader, loader.conf, remove the other entry
+ - command: "cp -r /root/.loader.conf ${ROOT}/boot/loader/loader.conf || true"
+ - command: "rm -r ${ROOT}/boot/loader/entries/*cachyos* || true"
+ # - command: "install -Dm755 /etc/calamares/modules/calamares-microcode-fix.sh ${ROOT}/root/calamares-microcode-fix.sh"
+
+
+
diff --git a/raveos-calamares-theme/etc/calamares/modules/shellprocess-pacstrap.conf b/raveos-calamares-theme/etc/calamares/modules/shellprocess-pacstrap.conf
new file mode 100644
index 0000000..726d493
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/shellprocess-pacstrap.conf
@@ -0,0 +1,8 @@
+dontChroot: true
+timeout: 3600
+
+script:
+ - command: "/usr/bin/pacman-key --init && /usr/bin/pacman-key --populate"
+ name: "Initializing package signing keys..."
+ - command: "pacstrap ${ROOT} base base-devel linux-cachyos linux-cachyos-headers linux-firmware networkmanager iwd broadcom-wl-dkms wireless-regdb nano vim grub efibootmgr bash-completion yay-bin dkms lsb-release mkinitcpio-openswap"
+ name: "Bootstrapping Arch Linux (Netinstall)..."
diff --git a/raveos-calamares-theme/etc/calamares/modules/unpackfs.conf b/raveos-calamares-theme/etc/calamares/modules/unpackfs.conf
new file mode 100644
index 0000000..6bf2ff2
--- /dev/null
+++ b/raveos-calamares-theme/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/raveos-calamares-theme/etc/calamares/modules/users.conf b/raveos-calamares-theme/etc/calamares/modules/users.conf
new file mode 100644
index 0000000..04282b2
--- /dev/null
+++ b/raveos-calamares-theme/etc/calamares/modules/users.conf
@@ -0,0 +1,218 @@
+# 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
+ - plugdev
+
+# 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/raveos-calamares-theme/etc/calamares/modules/welcome.conf b/raveos-calamares-theme/etc/calamares/modules/welcome.conf
new file mode 100644
index 0000000..206cbb4
--- /dev/null
+++ b/raveos-calamares-theme/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<buttonname>* 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: 10
+
+ # 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: "json"
+ url: "https://geoip.kde.org/v1/calamares"
+ selector: ""
+
+# 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