From 85d3760dc7ac02683612bcd37aac47feedb6220c Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 10 Jan 2022 21:46:42 -0600 Subject: [PATCH 01/33] Add log files for scripts --- archtitus.sh | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/archtitus.sh b/archtitus.sh index 461a58e..e18bdd6 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -1,7 +1,6 @@ #!/bin/bash # Find the name of the folder the scripts are in - SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" echo -ne " ------------------------------------------------------------------------- @@ -16,12 +15,12 @@ echo -ne " ------------------------------------------------------------------------- Scripts are in directory named ArchTitus " - bash startup.sh + ( bash startup.sh )|& tee startup.log source $SCRIPT_DIR/setup.conf - bash 0-preinstall.sh - arch-chroot /mnt /root/ArchTitus/1-setup.sh - arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh - arch-chroot /mnt /root/ArchTitus/3-post-setup.sh + ( bash 0-preinstall.sh )|& tee 0-preinstall.log + ( arch-chroot /mnt /root/ArchTitus/1-setup.sh )|& tee 1-setup.log + ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log + ( arch-chroot /mnt /root/ArchTitus/3-post-setup.sh )|& tee 3-post-setup.log echo -ne " ------------------------------------------------------------------------- From 90962efdf542568d4c10ea47f010c26b2a224c34 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Mon, 10 Jan 2022 20:33:03 -0600 Subject: [PATCH 02/33] Fix typos and make naming convention consistent --- 0-preinstall.sh | 20 ++++++++++---------- 1-setup.sh | 14 +++++++------- 3-post-setup.sh | 2 +- startup.sh | 12 ++++++------ 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index d852b05..cc49830 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -74,10 +74,10 @@ createsubvolumes () { } mountallsubvol () { - mount -o ${mountoptions},subvol=@home /dev/mapper/ROOT /mnt/home - mount -o ${mountoptions},subvol=@tmp /dev/mapper/ROOT /mnt/tmp - mount -o ${mountoptions},subvol=@.snapshots /dev/mapper/ROOT /mnt/.snapshots - mount -o ${mountoptions},subvol=@var /dev/mapper/ROOT /mnt/var + mount -o ${MOUNT_OPTIONS},subvol=@home /dev/mapper/ROOT /mnt/home + mount -o ${MOUNT_OPTIONS},subvol=@tmp /dev/mapper/ROOT /mnt/tmp + mount -o ${MOUNT_OPTIONS},subvol=@.snapshots /dev/mapper/ROOT /mnt/.snapshots + mount -o ${MOUNT_OPTIONS},subvol=@var /dev/mapper/ROOT /mnt/var } if [[ "${DISK}" =~ "nvme" ]]; then @@ -99,9 +99,9 @@ elif [[ "${FS}" == "ext4" ]]; then elif [[ "${FS}" == "luks" ]]; then mkfs.vfat -F32 -n "EFIBOOT" ${partition2} # enter luks password to cryptsetup and format root partition - echo -n "${luks_password}" | cryptsetup -y -v luksFormat ${partition3} - + echo -n "${LUKS_PASSWORD}" | cryptsetup -y -v luksFormat ${partition3} - # open luks container and ROOT will be place holder - echo -n "${luks_password}" | cryptsetup open ${partition3} ROOT - + echo -n "${LUKS_PASSWORD}" | cryptsetup open ${partition3} ROOT - # now format that container mkfs.btrfs -L ROOT /dev/mapper/ROOT # create subvolumes for btrfs @@ -109,13 +109,13 @@ elif [[ "${FS}" == "luks" ]]; then createsubvolumes umount /mnt # mount @ subvolume - mount -o ${mountoptions},subvol=@ /dev/mapper/ROOT /mnt + mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt # make directories home, .snapshots, var, tmp mkdir -p /mnt/{home,var,tmp,.snapshots} # mount subvolumes mountallsubvol # store uuid of encrypted partition for grub - echo encryped_partition_uuid=$(blkid -s UUID -o value ${partition3}) >> setup.conf + echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> setup.conf fi # checking if user selected btrfs @@ -161,8 +161,8 @@ echo -ne " Checking for low memory systems <8G ------------------------------------------------------------------------- " -TOTALMEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') -if [[ $TOTALMEM -lt 8000000 ]]; then +TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') +if [[ $TOTAL_MEM -lt 8000000 ]]; then # Put swap into the actual system, not into RAM disk, otherwise there is no point in it, it'll cache RAM into RAM. So, /mnt/ everything. mkdir /mnt/opt/swap # make a dir that we can apply NOCOW to to make it btrfs-friendly. chattr +C /mnt/opt/swap # apply NOCOW, btrfs needs that. diff --git a/1-setup.sh b/1-setup.sh index 14d5577..a7bbd92 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -37,8 +37,8 @@ echo -ne " changing the compression settings. ------------------------------------------------------------------------- " -TOTALMEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') -if [[ $TOTALMEM -gt 8000000 ]]; then +TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') +if [[ $TOTAL_MEM -gt 8000000 ]]; then sed -i "s/#MAKEFLAGS=\"-j2\"/MAKEFLAGS=\"-j$nc\"/g" /etc/makepkg.conf sed -i "s/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -T $nc -z -)/g" /etc/makepkg.conf fi @@ -134,9 +134,9 @@ echo "password=${password,,}" >> ${HOME}/ArchTitus/setup.conf # Loop through user input until the user gives a valid hostname, but allow the user to force save while true do - read -p "Please name your machine:" nameofmachine + read -p "Please name your machine:" name_of_machine # hostname regex (!!couldn't find spec for computer name!!) - if [[ "${nameofmachine,,}" =~ ^[a-z][a-z0-9_.-]{0,62}[a-z0-9]$ ]] + if [[ "${name_of_machine,,}" =~ ^[a-z][a-z0-9_.-]{0,62}[a-z0-9]$ ]] then break fi @@ -148,7 +148,7 @@ echo "password=${password,,}" >> ${HOME}/ArchTitus/setup.conf fi done - echo "nameofmachine=${nameofmachine,,}" >> ${HOME}/ArchTitus/setup.conf + echo "NAME_OF_MACHINE=${name_of_machine,,}" >> ${HOME}/ArchTitus/setup.conf fi echo -ne " ------------------------------------------------------------------------- @@ -163,8 +163,8 @@ if [ $(whoami) = "root" ]; then echo "$USERNAME:$PASSWORD" | chpasswd cp -R /root/ArchTitus /home/$USERNAME/ chown -R $USERNAME: /home/$USERNAME/ArchTitus -# enter $nameofmachine to /etc/hostname - echo $nameofmachine > /etc/hostname +# enter $NAME_OF_MACHINE to /etc/hostname + echo $NAME_OF_MACHINE > /etc/hostname else echo "You are already a user proceed with aur installs" fi diff --git a/3-post-setup.sh b/3-post-setup.sh index 1671f1c..efd3788 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -21,7 +21,7 @@ if [[ -d "/sys/firmware/efi" ]]; then fi # set kernel parameter for decrypting the drive if [[ "${FS}" == "luks" ]]; then -sed -i "s%GRUB_CMDLINE_LINUX_DEFAULT=\"%GRUB_CMDLINE_LINUX_DEFAULT=\"cryptdevice=UUID=${encryped_partition_uuid}:ROOT root=/dev/mapper/ROOT %g" /etc/default/grub +sed -i "s%GRUB_CMDLINE_LINUX_DEFAULT=\"%GRUB_CMDLINE_LINUX_DEFAULT=\"cryptdevice=UUID=${ENCRYPTED_PARTITION_UUID}:ROOT root=/dev/mapper/ROOT %g" /etc/default/grub fi echo -e "Installing CyberRe Grub theme..." diff --git a/startup.sh b/startup.sh index e497434..686b478 100644 --- a/startup.sh +++ b/startup.sh @@ -42,14 +42,14 @@ echo -ne " 3) luks with btrfs 0) exit " -read FS -case $FS in +read fs +case $fs in 1) set_option FS btrfs;; 2) set_option FS ext4;; 3) echo -ne "Please enter your luks password: " read -s luks_password # read password without echo -set_option luks_password $luks_password +set_option LUKS_PASSWORD $luks_password set_option FS luks;; 0) exit ;; *) echo "Wrong option please select again"; filesystem;; @@ -116,9 +116,9 @@ read ssd_drive case $ssd_drive in y|Y|yes|Yes|YES) - echo "mountoptions=noatime,compress=zstd,ssd,commit=120" >> setup.conf;; + echo "MOUNT_OPTIONS=noatime,compress=zstd,ssd,commit=120" >> setup.conf;; n|N|no|NO|No) - echo "mountoptions=noatime,compress=zstd,commit=120" >> setup.conf;; + echo "MOUNT_OPTIONS=noatime,compress=zstd,commit=120" >> setup.conf;; *) echo "Wrong option. Try again";drivessd;; esac } @@ -149,7 +149,7 @@ echo -ne "Please enter your password: \n" read -s password # read password without echo set_option PASSWORD $password read -rep "Please enter your hostname: " nameofmachine -set_option nameofmachine $nameofmachine +set_option NAME_OF_MACHINE $nameofmachine } # More features in future # language (){} From ae2257b9934c825a9b80c17c0aaf6c44569e7361 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 00:07:10 -0600 Subject: [PATCH 03/33] Fix BTRFS subvolumes not being created --- 0-preinstall.sh | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index cc49830..e49e256 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -80,6 +80,19 @@ mountallsubvol () { mount -o ${MOUNT_OPTIONS},subvol=@var /dev/mapper/ROOT /mnt/var } +subvolumesetup () { +# create nonroot subvolumes + createsubvolumes +# unmount root to remount with subvolume + umount /mnt +# mount @ subvolume + mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt +# make directories home, .snapshots, var, tmp + mkdir -p /mnt/{home,var,tmp,.snapshots} +# mount subvolumes + mountallsubvol +} + if [[ "${DISK}" =~ "nvme" ]]; then partition2=${DISK}p2 partition3=${DISK}p3 @@ -92,6 +105,7 @@ if [[ "${FS}" == "btrfs" ]]; then mkfs.vfat -F32 -n "EFIBOOT" ${partition2} mkfs.btrfs -L ROOT ${partition3} -f mount -t btrfs ${partition3} /mnt + subvolumesetup elif [[ "${FS}" == "ext4" ]]; then mkfs.vfat -F32 -n "EFIBOOT" ${partition2} mkfs.ext4 -L ROOT ${partition3} @@ -106,26 +120,11 @@ elif [[ "${FS}" == "luks" ]]; then mkfs.btrfs -L ROOT /dev/mapper/ROOT # create subvolumes for btrfs mount -t btrfs /dev/mapper/ROOT /mnt - createsubvolumes - umount /mnt -# mount @ subvolume - mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt -# make directories home, .snapshots, var, tmp - mkdir -p /mnt/{home,var,tmp,.snapshots} -# mount subvolumes - mountallsubvol + subvolumesetup # store uuid of encrypted partition for grub echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> setup.conf fi -# checking if user selected btrfs -if [[ ${FS} =~ "btrfs" ]]; then -ls /mnt | xargs btrfs subvolume delete -btrfs subvolume create /mnt/@ -umount /mnt -mount -t btrfs -o subvol=@ -L ROOT /mnt -fi - # mount target mkdir /mnt/boot mkdir /mnt/boot/efi From cddc767c3db7339ecb14a68a6c9dc5deee67696c Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 00:20:27 -0600 Subject: [PATCH 04/33] Fix /dev/mapper/ROOT not found --- 0-preinstall.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index e49e256..1dc8e5e 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -74,10 +74,10 @@ createsubvolumes () { } mountallsubvol () { - mount -o ${MOUNT_OPTIONS},subvol=@home /dev/mapper/ROOT /mnt/home - mount -o ${MOUNT_OPTIONS},subvol=@tmp /dev/mapper/ROOT /mnt/tmp - mount -o ${MOUNT_OPTIONS},subvol=@.snapshots /dev/mapper/ROOT /mnt/.snapshots - mount -o ${MOUNT_OPTIONS},subvol=@var /dev/mapper/ROOT /mnt/var + mount -o ${MOUNT_OPTIONS},subvol=@home ${partition3} /mnt/home + mount -o ${MOUNT_OPTIONS},subvol=@tmp ${partition3} /mnt/tmp + mount -o ${MOUNT_OPTIONS},subvol=@.snapshots ${partition3} /mnt/.snapshots + mount -o ${MOUNT_OPTIONS},subvol=@var ${partition3} /mnt/var } subvolumesetup () { @@ -86,7 +86,7 @@ subvolumesetup () { # unmount root to remount with subvolume umount /mnt # mount @ subvolume - mount -o ${MOUNT_OPTIONS},subvol=@ /dev/mapper/ROOT /mnt + mount -o ${MOUNT_OPTIONS},subvol=@ ${partition3} /mnt # make directories home, .snapshots, var, tmp mkdir -p /mnt/{home,var,tmp,.snapshots} # mount subvolumes @@ -117,9 +117,9 @@ elif [[ "${FS}" == "luks" ]]; then # open luks container and ROOT will be place holder echo -n "${LUKS_PASSWORD}" | cryptsetup open ${partition3} ROOT - # now format that container - mkfs.btrfs -L ROOT /dev/mapper/ROOT + mkfs.btrfs -L ROOT ${partition3} # create subvolumes for btrfs - mount -t btrfs /dev/mapper/ROOT /mnt + mount -t btrfs ${partition3} /mnt subvolumesetup # store uuid of encrypted partition for grub echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> setup.conf From e4378cd040533776ff18d7c793643a9ec01e5aaa Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 19:17:48 -0600 Subject: [PATCH 05/33] Add input validation to diskpart --- startup.sh | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/startup.sh b/startup.sh index 5505e0e..392e9cf 100644 --- a/startup.sh +++ b/startup.sh @@ -125,19 +125,31 @@ esac # selection for disk type diskpart () { -# show disks present on system -lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print NR,"/dev/"$2" - "$3}' # show disks with /dev/ prefix and size echo -ne " ------------------------------------------------------------------------ - THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK - Please make sure you know what you are doing because - after formating your disk there is no way to get data back + THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK + Please make sure you know what you are doing because + after formating your disk there is no way to get data back ------------------------------------------------------------------------ -Please enter full path to disk: (example /dev/sda): " -read option -echo "DISK=$option" >> setup.conf + +PS3=' +Select the disk to install on: ' +options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}')) +select opt in "${options[@]}" +do + +# Positive check +if echo -e '%s\n' "${options[@]}" | grep -Fqw ${opt} 2> /dev/null; then + echo -e "\n${opt%|*} selected \n" + echo "DISK=${opt%|*}" >> setup.conf + break +else + echo -e "\nInvalid selection, please try again. \n" +fi + +done drivessd set_option DISK $option From 7e85502d8ae0e77516be666146ca2a2f89ab6bac Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 21:22:40 -0600 Subject: [PATCH 06/33] Keymap input validation --- startup.sh | 53 +++++++++++++++++------------------------------------ 1 file changed, 17 insertions(+), 36 deletions(-) diff --git a/startup.sh b/startup.sh index 392e9cf..377252f 100644 --- a/startup.sh +++ b/startup.sh @@ -73,39 +73,22 @@ esac } keymap () { # These are default key maps as presented in official arch repo archinstall -echo -ne " +options=(-by -ca -cf -cz -de -dk -es -et -fa -fi -fr -gr -hu -il -it -lt -lv -mk -nl -no -pl -ro -ru -sg -ua -uk -us) +PS3=" Please select key board layout from this list - -by - -ca - -cf - -cz - -de - -dk - -es - -et - -fa - -fi - -fr - -gr - -hu - -il - -it - -lt - -lv - -mk - -nl - -no - -pl - -ro - -ru - -sg - -ua - -uk - -us " -read -p "Your key boards layout:" keymap -set_option KEYMAP $keymap +select keymap in "${options[@]}" +do +if echo -e '%s\n' "${options[@]}" | grep -Fqw -- $keymap 2> /dev/null; then + echo -e "\nYour key boards layout: ${keymap} \n" + set_option KEYMAP $keymap + break +else + echo -e "\nInvalid selection, please try again. \n" +fi + +done } drivessd () { @@ -137,13 +120,12 @@ echo -ne " PS3=' Select the disk to install on: ' options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}')) -select opt in "${options[@]}" +select disk in "${options[@]}" do -# Positive check -if echo -e '%s\n' "${options[@]}" | grep -Fqw ${opt} 2> /dev/null; then - echo -e "\n${opt%|*} selected \n" - echo "DISK=${opt%|*}" >> setup.conf +if echo -e '%s\n' "${options[@]}" | grep -Fqw ${disk} 2> /dev/null; then + echo -e "\n${disk%|*} selected \n" + set_option DISK ${disk%|*} break else echo -e "\nInvalid selection, please try again. \n" @@ -152,7 +134,6 @@ fi done drivessd -set_option DISK $option } userinfo () { read -p "Please enter your username: " username From 02dd6955471ff81f708f97f84d88ede1fa5f11b7 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 21:35:05 -0600 Subject: [PATCH 07/33] Fix mount options duplicating on rerun --- startup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/startup.sh b/startup.sh index 377252f..6e289c1 100644 --- a/startup.sh +++ b/startup.sh @@ -99,9 +99,9 @@ read ssd_drive case $ssd_drive in y|Y|yes|Yes|YES) - echo "MOUNT_OPTIONS=noatime,compress=zstd,ssd,commit=120" >> setup.conf;; + set_option MOUNT_OPTIONS "noatime,compress=zstd,ssd,commit=120";; n|N|no|NO|No) - echo "MOUNT_OPTIONS=noatime,compress=zstd,commit=120" >> setup.conf;; + set_option MOUNT_OPTIONS "noatime,compress=zstd,commit=120";; *) echo "Wrong option. Try again";drivessd;; esac } From c2d23eb0e788770bf13b391fe074b916ac7a136c Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 21:40:26 -0600 Subject: [PATCH 08/33] Code Commenting --- startup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/startup.sh b/startup.sh index 6e289c1..1370106 100644 --- a/startup.sh +++ b/startup.sh @@ -80,6 +80,7 @@ Please select key board layout from this list " select keymap in "${options[@]}" do +# check if selection is part of list, silence error output and use else block for output if echo -e '%s\n' "${options[@]}" | grep -Fqw -- $keymap 2> /dev/null; then echo -e "\nYour key boards layout: ${keymap} \n" set_option KEYMAP $keymap @@ -123,6 +124,7 @@ options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"| select disk in "${options[@]}" do +# check if selection is part of list, silence error output and use else block for output if echo -e '%s\n' "${options[@]}" | grep -Fqw ${disk} 2> /dev/null; then echo -e "\n${disk%|*} selected \n" set_option DISK ${disk%|*} From 769c077bdbb1dc73419d0b0af632b3d24beb75b8 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 14 Jan 2022 23:25:50 -0600 Subject: [PATCH 09/33] Password validation --- startup.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/startup.sh b/startup.sh index 1370106..fbb231b 100644 --- a/startup.sh +++ b/startup.sh @@ -140,9 +140,20 @@ drivessd userinfo () { read -p "Please enter your username: " username set_option USERNAME ${username,,} # convert to lower case as in issue #109 -echo -ne "Please enter your password: \n" -read -s password # read password without echo -set_option PASSWORD $password +while true; do + echo -ne "Please enter your password: \n" + read -s password # read password without echo + + echo -ne "Please repeat your password: \n" + read -s password2 # read password without echo + + if [ "$password" = "$password2" ]; then + set_option PASSWORD $password + break + else + echo -e "\nPasswords do not match. Please try again. \n" + fi +done read -rep "Please enter your hostname: " nameofmachine set_option NAME_OF_MACHINE $nameofmachine } From 13b4ff1552b23f454bb09340431b23218f3d53ac Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 15 Jan 2022 16:32:39 -0600 Subject: [PATCH 10/33] Remove dash from keymaps --- startup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/startup.sh b/startup.sh index fbb231b..9ef9a36 100644 --- a/startup.sh +++ b/startup.sh @@ -73,7 +73,7 @@ esac } keymap () { # These are default key maps as presented in official arch repo archinstall -options=(-by -ca -cf -cz -de -dk -es -et -fa -fi -fr -gr -hu -il -it -lt -lv -mk -nl -no -pl -ro -ru -sg -ua -uk -us) +options=(by ca cf cz de dk es et fa fi fr gr hu il it lt lv mk nl no pl ro ru sg ua uk us) PS3=" Please select key board layout from this list @@ -81,7 +81,7 @@ Please select key board layout from this list select keymap in "${options[@]}" do # check if selection is part of list, silence error output and use else block for output -if echo -e '%s\n' "${options[@]}" | grep -Fqw -- $keymap 2> /dev/null; then +if echo -e '%s\n' "${options[@]}" | grep -Fqw $keymap 2> /dev/null; then echo -e "\nYour key boards layout: ${keymap} \n" set_option KEYMAP $keymap break From d0d121bc1556d5b91d6a02931c7f158a4e5d7e80 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 16 Jan 2022 15:18:59 -0600 Subject: [PATCH 11/33] Input validation on luks password, same as user password --- startup.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/startup.sh b/startup.sh index 9ef9a36..76bf882 100644 --- a/startup.sh +++ b/startup.sh @@ -47,10 +47,22 @@ case $fs in 1) set_option FS btrfs;; 2) set_option FS ext4;; 3) -echo -ne "Please enter your luks password: " -read -s luks_password # read password without echo -set_option LUKS_PASSWORD $luks_password -set_option FS luks;; +while true; do + echo -ne "Please enter your luks password: \n" + read -s luks_password # read password without echo + + echo -ne "Please repeat your luks password: \n" + read -s luks_password2 # read password without echo + + if [ "$luks_password" = "$luks_password2" ]; then + set_option LUKS_PASSWORD $luks_password + set_option FS luks + break + else + echo -e "\nPasswords do not match. Please try again. \n" + fi +done +;; 0) exit ;; *) echo "Wrong option please select again"; filesystem;; esac From b24bd7859411dba56cf74806cc056ae62f6cc81a Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 16 Jan 2022 15:14:12 -0600 Subject: [PATCH 12/33] Interactive select list --- startup.sh | 142 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 102 insertions(+), 40 deletions(-) diff --git a/startup.sh b/startup.sh index 76bf882..e74f9fd 100644 --- a/startup.sh +++ b/startup.sh @@ -17,6 +17,69 @@ set_option() { fi echo "${1}=${2}" >>$CONFIG_FILE # add option } +# Renders a text based list of options that can be selected by the +# user using up, down and enter keys and returns the chosen option. +# +# Arguments : list of options, maximum of 256 +# "opt1" "opt2" ... +# Return value: selected index (0 for opt1, 1 for opt2 ...) +select_option() { + + # little helpers for terminal print control and key input + ESC=$( printf "\033") + cursor_blink_on() { printf "$ESC[?25h"; } + cursor_blink_off() { printf "$ESC[?25l"; } + cursor_to() { printf "$ESC[$1;${2:-1}H"; } + print_option() { printf " $1 "; } + print_selected() { printf " $ESC[7m $1 $ESC[27m"; } + get_cursor_row() { IFS=';' read -sdR -p $'\E[6n' ROW COL; echo ${ROW#*[}; } + key_input() { read -s -n3 key 2>/dev/null >&2 + if [[ $key = $ESC[A ]]; then echo up; fi + if [[ $key = $ESC[B ]]; then echo down; fi + if [[ $key = "" ]]; then echo enter; fi; } + + # initially print empty new lines (scroll down if at bottom of screen) + for opt; do printf "\n"; done + + # determine current screen position for overwriting the options + local lastrow=`get_cursor_row` + local startrow=$(($lastrow - $#)) + + # ensure cursor and input echoing back on upon a ctrl+c during read -s + trap "cursor_blink_on; stty echo; printf '\n'; exit" 2 + cursor_blink_off + + local selected=0 + while true; do + # print options by overwriting the last lines + local idx=0 + for opt; do + cursor_to $(($startrow + $idx)) + if [ $idx -eq $selected ]; then + print_selected "$opt" + else + print_option "$opt" + fi + ((idx++)) + done + + # user key control + case `key_input` in + enter) break;; + up) ((selected--)); + if [ $selected -lt 0 ]; then selected=$(($# - 1)); fi;; + down) ((selected++)); + if [ $selected -ge $# ]; then selected=0; fi;; + esac + done + + # cursor position back to normal + cursor_to $lastrow + printf "\n" + cursor_blink_on + + return $selected +} logo () { # This will be shown on every set as user is progressing echo -ne " @@ -36,17 +99,16 @@ filesystem () { # This function will handle file systems. At this movement we are handling only # btrfs and ext4. Others will be added in future. echo -ne " - Please Select your file system for both boot and root - 1) btrfs - 2) ext4 - 3) luks with btrfs - 0) exit +Please Select your file system for both boot and root " -read fs +options=("btrfs" "ext4" "luks" "exit") +select_option "${options[@]}" +fs=$? + case $fs in -1) set_option FS btrfs;; -2) set_option FS ext4;; -3) +0) set_option FS btrfs;; +1) set_option FS ext4;; +2) while true; do echo -ne "Please enter your luks password: \n" read -s luks_password # read password without echo @@ -63,54 +125,60 @@ while true; do fi done ;; -0) exit ;; +3) exit ;; *) echo "Wrong option please select again"; filesystem;; esac } timezone () { # Added this from arch wiki https://wiki.archlinux.org/title/System_time time_zone="$(curl --fail https://ipapi.co/timezone)" -echo -ne "System detected your timezone to be '$time_zone' \n" -echo -ne "Is this correct? yes/no:" -read answer -case $answer in +echo -ne " +System detected your timezone to be '$time_zone' \n" +echo -ne "Is this correct? +" +options=("Yes" "No") +select_option "${options[@]}" +choice=$? + +case ${options[$choice]} in y|Y|yes|Yes|YES) + echo "${time_zone} set as timezone" set_option TIMEZONE $time_zone;; n|N|no|NO|No) echo "Please enter your desired timezone e.g. Europe/London :" read new_timezone + echo "${new_timezone} set as timezone" set_option TIMEZONE $new_timezone;; *) echo "Wrong option. Try again";timezone;; esac } keymap () { -# These are default key maps as presented in official arch repo archinstall -options=(by ca cf cz de dk es et fa fi fr gr hu il it lt lv mk nl no pl ro ru sg ua uk us) PS3=" + Please select key board layout from this list " -select keymap in "${options[@]}" -do -# check if selection is part of list, silence error output and use else block for output -if echo -e '%s\n' "${options[@]}" | grep -Fqw $keymap 2> /dev/null; then - echo -e "\nYour key boards layout: ${keymap} \n" - set_option KEYMAP $keymap - break -else - echo -e "\nInvalid selection, please try again. \n" -fi +# These are default key maps as presented in official arch repo archinstall +options=(by ca cf cz de dk es et fa fi fr gr hu il it lt lv mk nl no pl ro ru sg ua uk us) -done +select_option "${options[@]}" +choice=$? +keymap=${options[$choice]} + +echo -ne "\nYour key boards layout: ${keymap} \n" +set_option KEYMAP $keymap } drivessd () { echo -ne " Is this an ssd? yes/no: " -read ssd_drive -case $ssd_drive in +options=("Yes" "No") +select_option "${options[@]}" +choice=$? + +case ${options[$choice]} in y|Y|yes|Yes|YES) set_option MOUNT_OPTIONS "noatime,compress=zstd,ssd,commit=120";; n|N|no|NO|No) @@ -133,19 +201,13 @@ echo -ne " PS3=' Select the disk to install on: ' options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}')) -select disk in "${options[@]}" -do -# check if selection is part of list, silence error output and use else block for output -if echo -e '%s\n' "${options[@]}" | grep -Fqw ${disk} 2> /dev/null; then - echo -e "\n${disk%|*} selected \n" +select_option "${options[@]}" +choice=$? +disk=${options[$choice]%|*} + +echo -e "\n${disk%|*} selected \n" set_option DISK ${disk%|*} - break -else - echo -e "\nInvalid selection, please try again. \n" -fi - -done drivessd } From 792bc5213960b4233b40e8620206edc0e5678176 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 16 Jan 2022 21:19:40 -0600 Subject: [PATCH 13/33] Multi column lists Parameter sizing of columns --- startup.sh | 130 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 84 insertions(+), 46 deletions(-) mode change 100644 => 100755 startup.sh diff --git a/startup.sh b/startup.sh old mode 100644 new mode 100755 index e74f9fd..5ea082d --- a/startup.sh +++ b/startup.sh @@ -30,46 +30,92 @@ select_option() { cursor_blink_on() { printf "$ESC[?25h"; } cursor_blink_off() { printf "$ESC[?25l"; } cursor_to() { printf "$ESC[$1;${2:-1}H"; } - print_option() { printf " $1 "; } - print_selected() { printf " $ESC[7m $1 $ESC[27m"; } + print_option() { printf "$2 $1 "; } + print_selected() { printf "$2 $ESC[7m $1 $ESC[27m"; } get_cursor_row() { IFS=';' read -sdR -p $'\E[6n' ROW COL; echo ${ROW#*[}; } - key_input() { read -s -n3 key 2>/dev/null >&2 - if [[ $key = $ESC[A ]]; then echo up; fi - if [[ $key = $ESC[B ]]; then echo down; fi - if [[ $key = "" ]]; then echo enter; fi; } + get_cursor_col() { IFS=';' read -sdR -p $'\E[6n' ROW COL; echo ${COL#*[}; } + key_input() { + local key + IFS= read -rsn1 key 2>/dev/null >&2 + if [[ $key = "" ]]; then echo enter; fi; + if [[ $key = $'\x20' ]]; then echo space; fi; + if [[ $key = "k" ]]; then echo up; fi; + if [[ $key = "j" ]]; then echo down; fi; + if [[ $key = "h" ]]; then echo left; fi; + if [[ $key = "l" ]]; then echo right; fi; + if [[ $key = "a" ]]; then echo all; fi; + if [[ $key = "n" ]]; then echo none; fi; + if [[ $key = $'\x1b' ]]; then + read -rsn2 key + if [[ $key = [A || $key = k ]]; then echo up; fi; + if [[ $key = [B || $key = j ]]; then echo down; fi; + if [[ $key = [C || $key = l ]]; then echo right; fi; + if [[ $key = [D || $key = h ]]; then echo left; fi; + fi + } + print_options_multicol() { + # print options by overwriting the last lines + local curr_col=$1 + local curr_row=$2 + local curr_idx=0 + + local idx=0 + local row=0 + local col=0 + + curr_idx=$(( $curr_col + $curr_row * $colmax )) + + for option in "${options[@]}"; do + + row=$(( $idx/$colmax )) + col=$(( $idx - $row * $colmax )) + + cursor_to $(( $startrow + $row + 1)) $(( $offset * $col + 1)) + if [ $idx -eq $curr_idx ]; then + print_selected "$option" + else + print_option "$option" + fi + ((idx++)) + done + } # initially print empty new lines (scroll down if at bottom of screen) for opt; do printf "\n"; done # determine current screen position for overwriting the options + local return_value=$1 local lastrow=`get_cursor_row` + local lastcol=`get_cursor_col` local startrow=$(($lastrow - $#)) + local startcol=1 + local lines=$( tput lines ) + local cols=$( tput cols ) + local colmax=$2 + local offset=$(( $cols / $colmax )) + + local size=$4 + shift 4 # ensure cursor and input echoing back on upon a ctrl+c during read -s trap "cursor_blink_on; stty echo; printf '\n'; exit" 2 cursor_blink_off - local selected=0 + local active_row=0 + local active_col=0 while true; do - # print options by overwriting the last lines - local idx=0 - for opt; do - cursor_to $(($startrow + $idx)) - if [ $idx -eq $selected ]; then - print_selected "$opt" - else - print_option "$opt" - fi - ((idx++)) - done - + print_options_multicol $active_col $active_row # user key control case `key_input` in - enter) break;; - up) ((selected--)); - if [ $selected -lt 0 ]; then selected=$(($# - 1)); fi;; - down) ((selected++)); - if [ $selected -ge $# ]; then selected=0; fi;; + enter) break;; + up) ((active_row--)); + if [ $active_row -lt 0 ]; then active_row=0; fi;; + down) ((active_row++)); + if [ $active_row -ge $(( ${#options[@]} / $colmax )) ]; then active_row=$(( ${#options[@]} / $colmax )); fi;; + left) ((active_col=$active_col - 1)); + if [ $active_col -lt 0 ]; then active_col=0; fi;; + right) ((active_col=$active_col + 1)); + if [ $active_col -ge $colmax ]; then active_col=$(( $colmax - 1 )) ; fi;; esac done @@ -78,7 +124,7 @@ select_option() { printf "\n" cursor_blink_on - return $selected + return $(( $active_col + $active_row * $colmax )) } logo () { # This will be shown on every set as user is progressing @@ -102,10 +148,9 @@ echo -ne " Please Select your file system for both boot and root " options=("btrfs" "ext4" "luks" "exit") -select_option "${options[@]}" -fs=$? +select_option $? 1 "${options[@]}" -case $fs in +case $? in 0) set_option FS btrfs;; 1) set_option FS ext4;; 2) @@ -137,10 +182,9 @@ System detected your timezone to be '$time_zone' \n" echo -ne "Is this correct? " options=("Yes" "No") -select_option "${options[@]}" -choice=$? +select_option $? 1 "${options[@]}" -case ${options[$choice]} in +case ${options[$?]} in y|Y|yes|Yes|YES) echo "${time_zone} set as timezone" set_option TIMEZONE $time_zone;; @@ -153,19 +197,15 @@ case ${options[$choice]} in esac } keymap () { -PS3=" - -Please select key board layout from this list - -" +echo -ne " +Please select key board layout from this list" # These are default key maps as presented in official arch repo archinstall options=(by ca cf cz de dk es et fa fi fr gr hu il it lt lv mk nl no pl ro ru sg ua uk us) -select_option "${options[@]}" -choice=$? -keymap=${options[$choice]} +select_option $? 4 "${options[@]}" +keymap=${options[$?]} -echo -ne "\nYour key boards layout: ${keymap} \n" +echo -ne "Your key boards layout: ${keymap} \n" set_option KEYMAP $keymap } @@ -175,10 +215,9 @@ Is this an ssd? yes/no: " options=("Yes" "No") -select_option "${options[@]}" -choice=$? +select_option $? 1 "${options[@]}" -case ${options[$choice]} in +case ${options[$?]} in y|Y|yes|Yes|YES) set_option MOUNT_OPTIONS "noatime,compress=zstd,ssd,commit=120";; n|N|no|NO|No) @@ -202,9 +241,8 @@ PS3=' Select the disk to install on: ' options=($(lsblk -n --output TYPE,KNAME,SIZE | awk '$1=="disk"{print "/dev/"$2"|"$3}')) -select_option "${options[@]}" -choice=$? -disk=${options[$choice]%|*} +select_option $? 1 "${options[@]}" +disk=${options[$?]%|*} echo -e "\n${disk%|*} selected \n" set_option DISK ${disk%|*} From ca1fe7c5bcd8e03d75e7818f92a5db5b7bc62439 Mon Sep 17 00:00:00 2001 From: Chris Titus Date: Fri, 21 Jan 2022 17:17:21 -0600 Subject: [PATCH 14/33] fixes to test --- 0-preinstall.sh | 1 - 1-setup.sh | 2 +- 3-post-setup.sh | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index 1dc8e5e..a4afd5a 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -143,7 +143,6 @@ echo -ne " ------------------------------------------------------------------------- " pacstrap /mnt base base-devel linux linux-firmware vim nano sudo archlinux-keyring wget libnewt --noconfirm --needed -genfstab -U /mnt >> /mnt/etc/fstab echo "keyserver hkp://keyserver.ubuntu.com" >> /mnt/etc/pacman.d/gnupg/gpg.conf cp -R ${SCRIPT_DIR} /mnt/root/ArchTitus cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist diff --git a/1-setup.sh b/1-setup.sh index a7bbd92..67123d5 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -52,7 +52,7 @@ locale-gen timedatectl --no-ask-password set-timezone ${TIMEZONE} timedatectl --no-ask-password set-ntp 1 localectl --no-ask-password set-locale LANG="en_US.UTF-8" LC_TIME="en_US.UTF-8" - +ln -s /usr/share/zoneinfo/${TIMEZONE} /etc/localtime # Set keymaps localectl --no-ask-password set-keymap ${KEYMAP} diff --git a/3-post-setup.sh b/3-post-setup.sh index efd3788..1fecd6c 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -16,6 +16,7 @@ Final Setup and Configurations GRUB EFI Bootloader Install & Check " source /root/ArchTitus/setup.conf +genfstab -U /mnt >> /mnt/etc/fstab if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} fi From 8cd30412f3ae937e054e4fd351aa815ab10d0d46 Mon Sep 17 00:00:00 2001 From: stojshic Date: Sun, 23 Jan 2022 22:56:21 +0100 Subject: [PATCH 15/33] Fix fstab issue #199 --- 1-setup.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-setup.sh b/1-setup.sh index 67123d5..3e56479 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -26,7 +26,7 @@ echo -ne " ------------------------------------------------------------------------- " pacman -S --noconfirm pacman-contrib curl -pacman -S --noconfirm reflector rsync +pacman -S --noconfirm reflector rsync grub arch-install-scripts cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak nc=$(grep -c ^processor /proc/cpuinfo) @@ -179,4 +179,4 @@ echo -ne " ------------------------------------------------------------------------- SYSTEM READY FOR 2-user.sh ------------------------------------------------------------------------- -" \ No newline at end of file +" From d6954323b650b730301ffb1bcc93d5c73b11e7c6 Mon Sep 17 00:00:00 2001 From: stojshic Date: Mon, 24 Jan 2022 18:22:21 +0100 Subject: [PATCH 16/33] Added option to choose AUR helper --- 2-user.sh | 22 ++++++++++++---------- startup.sh | 13 ++++++++++++- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/2-user.sh b/2-user.sh index 27dba51..23a101e 100755 --- a/2-user.sh +++ b/2-user.sh @@ -17,17 +17,19 @@ Installing AUR Softwares # You can solve users running this script as root with this and then doing the same for the next for statement. However I will leave this up to you. source $HOME/ArchTitus/setup.conf -cd ~ -git clone "https://aur.archlinux.org/yay.git" -cd ~/yay -makepkg -si --noconfirm -cd ~ -touch "~/.cache/zshhistory" -git clone "https://github.com/ChrisTitusTech/zsh" -git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k -ln -s "~/zsh/.zshrc" ~/.zshrc + cd ~ + touch "~/.cache/zshhistory" + git clone "https://github.com/ChrisTitusTech/zsh" + git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k + ln -s "~/zsh/.zshrc" ~/.zshrc -yay -S --noconfirm --needed - < ~/ArchTitus/pkg-files/aur-pkgs.txt +if [[ ! $AUR_HELPER == none ]]; then + cd ~ + git clone "https://aur.archlinux.org/$AUR_HELPER.git" + cd ~/$AUR_HELPER + makepkg -si --noconfirm + $AUR_HELPER -S --noconfirm --needed - < ~/ArchTitus/pkg-files/aur-pkgs.txt +fi export PATH=$PATH:~/.local/bin cp -r ~/ArchTitus/dotfiles/* ~/.config/ diff --git a/startup.sh b/startup.sh index 5ea082d..d0c4c23 100755 --- a/startup.sh +++ b/startup.sh @@ -269,6 +269,14 @@ done read -rep "Please enter your hostname: " nameofmachine set_option NAME_OF_MACHINE $nameofmachine } + +aurhelper () { + echo -ne "Please enter your desired AUR helper:" + options=(paru yay picaur aura trizen pacaur none) + select_option $? 4 "${options[@]}" + aur_helper=${options[$?]} + set_option AUR_HELPER $aur_helper +} # More features in future # language (){} @@ -278,6 +286,9 @@ logo userinfo clear logo +aurhelper +clear +logo diskpart clear logo @@ -287,4 +298,4 @@ logo timezone clear logo -keymap \ No newline at end of file +keymap From 63ce0fc7963cd2c8c2fd1933faee68e887d3daa4 Mon Sep 17 00:00:00 2001 From: stojshic Date: Mon, 24 Jan 2022 19:50:20 +0100 Subject: [PATCH 17/33] Added option to choose DE --- 1-setup.sh | 2 +- 3-post-setup.sh | 44 ------------------------ 4-desktop.sh | 70 +++++++++++++++++++++++++++++++++++++++ archtitus.sh | 3 +- pkg-files/budgie.txt | 2 ++ pkg-files/cinnamon.txt | 3 ++ pkg-files/deepin.txt | 2 ++ pkg-files/gnome.txt | 4 +++ pkg-files/kde.txt | 32 ++++++++++++++++++ pkg-files/lxde.txt | 1 + pkg-files/mate.txt | 2 ++ pkg-files/openbox.txt | 40 ++++++++++++++++++++++ pkg-files/pacman-pkgs.txt | 35 +------------------- pkg-files/xfce.txt | 2 ++ startup.sh | 16 ++++++++- 15 files changed, 177 insertions(+), 81 deletions(-) create mode 100755 4-desktop.sh create mode 100644 pkg-files/budgie.txt create mode 100644 pkg-files/cinnamon.txt create mode 100644 pkg-files/deepin.txt create mode 100644 pkg-files/gnome.txt create mode 100644 pkg-files/kde.txt create mode 100644 pkg-files/lxde.txt create mode 100644 pkg-files/mate.txt create mode 100644 pkg-files/openbox.txt create mode 100644 pkg-files/xfce.txt diff --git a/1-setup.sh b/1-setup.sh index 3e56479..2b43143 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -26,7 +26,7 @@ echo -ne " ------------------------------------------------------------------------- " pacman -S --noconfirm pacman-contrib curl -pacman -S --noconfirm reflector rsync grub arch-install-scripts +pacman -S --noconfirm reflector rsync grub arch-install-scripts git cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak nc=$(grep -c ^processor /proc/cpuinfo) diff --git a/3-post-setup.sh b/3-post-setup.sh index 1fecd6c..bf533a8 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -41,47 +41,3 @@ echo "GRUB_THEME=\"${THEME_DIR}/${THEME_NAME}/theme.txt\"" >> /etc/default/grub echo -e "Updating grub..." grub-mkconfig -o /boot/grub/grub.cfg echo -e "All set!" - -echo -ne " -------------------------------------------------------------------------- - Enabling Login Display Manager -------------------------------------------------------------------------- -" -systemctl enable sddm.service -echo -ne " -------------------------------------------------------------------------- - Setting up SDDM Theme -------------------------------------------------------------------------- -" -cat < /etc/sddm.conf -[Theme] -Current=Nordic -EOF - -echo -ne " -------------------------------------------------------------------------- - Enabling Essential Services -------------------------------------------------------------------------- -" -systemctl enable cups.service -ntpd -qg -systemctl enable ntpd.service -systemctl disable dhcpcd.service -systemctl stop dhcpcd.service -systemctl enable NetworkManager.service -systemctl enable bluetooth -echo -ne " -------------------------------------------------------------------------- - Cleaning -------------------------------------------------------------------------- -" -# Remove no password sudo rights -sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers -# Add sudo rights -sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers - -rm -r /root/ArchTitus -rm -r /home/$USERNAME/ArchTitus - -# Replace in the same state -cd $pwd diff --git a/4-desktop.sh b/4-desktop.sh new file mode 100755 index 0000000..ea541d7 --- /dev/null +++ b/4-desktop.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +echo -ne " +------------------------------------------------------------------------- + █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ + ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ + ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ + ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ + ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ + ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ +------------------------------------------------------------------------- + Automated Arch Linux Installer + SCRIPTHOME: ArchTitus +------------------------------------------------------------------------- + +------------------------------------------------------------------------- + Installing Desktop Enviroment +------------------------------------------------------------------------- +" + +source /root/ArchTitus/setup.conf + +cat /root/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line +do + echo "INSTALLING: ${line}" + sudo pacman -S --noconfirm --needed ${line} +done + +if [[ ${DESKTOP_ENV} == "kde" ]]; then + echo [Theme] >> /etc/sddm.conf + echo Current=Nordic >> /etc/sddm.conf + systemctl enable sddm.service + +elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then + systemctl enable gdm.service + +elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then + systemctl enable lxdm.service + +else + sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter + systemctl enable lightdm.service + +fi + +echo -ne " +------------------------------------------------------------------------- + Enabling Essential Services +------------------------------------------------------------------------- +" +systemctl enable cups.service +ntpd -qg +systemctl enable ntpd.service +systemctl disable dhcpcd.service +systemctl stop dhcpcd.service +systemctl enable NetworkManager.service +echo -ne " +------------------------------------------------------------------------- + Cleaning +------------------------------------------------------------------------- +" +# Remove no password sudo rights +sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers +# Add sudo rights +sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers + +rm -r /root/ArchTitus +rm -r /home/$USERNAME/ArchTitus + +# Replace in the same state +cd $pwd diff --git a/archtitus.sh b/archtitus.sh index e18bdd6..e718387 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -21,6 +21,7 @@ echo -ne " ( arch-chroot /mnt /root/ArchTitus/1-setup.sh )|& tee 1-setup.log ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log ( arch-chroot /mnt /root/ArchTitus/3-post-setup.sh )|& tee 3-post-setup.log + ( arch-chroot /mnt /root/ArchTitus/4-desktop.sh )|& tee 4-desktop.log echo -ne " ------------------------------------------------------------------------- @@ -34,4 +35,4 @@ echo -ne " Automated Arch Linux Installer ------------------------------------------------------------------------- Done - Please Eject Install Media and Reboot -" \ No newline at end of file +" diff --git a/pkg-files/budgie.txt b/pkg-files/budgie.txt new file mode 100644 index 0000000..0ebe7d5 --- /dev/null +++ b/pkg-files/budgie.txt @@ -0,0 +1,2 @@ +budgie-desktop +gnome diff --git a/pkg-files/cinnamon.txt b/pkg-files/cinnamon.txt new file mode 100644 index 0000000..f0c8871 --- /dev/null +++ b/pkg-files/cinnamon.txt @@ -0,0 +1,3 @@ +cinnamon +metacity +gnome-shell diff --git a/pkg-files/deepin.txt b/pkg-files/deepin.txt new file mode 100644 index 0000000..7aa4d6a --- /dev/null +++ b/pkg-files/deepin.txt @@ -0,0 +1,2 @@ +deepin +deepin-extra diff --git a/pkg-files/gnome.txt b/pkg-files/gnome.txt new file mode 100644 index 0000000..d218836 --- /dev/null +++ b/pkg-files/gnome.txt @@ -0,0 +1,4 @@ +gnome +gnome-tweaks +dconf-editor +gnome-extras diff --git a/pkg-files/kde.txt b/pkg-files/kde.txt new file mode 100644 index 0000000..b0c40f0 --- /dev/null +++ b/pkg-files/kde.txt @@ -0,0 +1,32 @@ +ark +audiocd-kio +bluedevil +breeze +breeze-gtk +discover +dolphin +extra-cmake-modules +filelight +gwenview +kate +kde-gtk-config +kcodecs +kcoreaddons +kdeplasma-addons +kinfocenter +konsole +kscreen +kvantum-qt5 +layer-shell-qt +milou +okular +oxygen +plasma-desktop +plasma-nm +powerdevil +print-manager +sddm-kcm +spectacle +systemsettings +xdg-desktop-portal-kde +zeroconf-ioslave diff --git a/pkg-files/lxde.txt b/pkg-files/lxde.txt new file mode 100644 index 0000000..49be587 --- /dev/null +++ b/pkg-files/lxde.txt @@ -0,0 +1 @@ +lxde diff --git a/pkg-files/mate.txt b/pkg-files/mate.txt new file mode 100644 index 0000000..178264c --- /dev/null +++ b/pkg-files/mate.txt @@ -0,0 +1,2 @@ +mate +mate-extra diff --git a/pkg-files/openbox.txt b/pkg-files/openbox.txt new file mode 100644 index 0000000..a34a9a5 --- /dev/null +++ b/pkg-files/openbox.txt @@ -0,0 +1,40 @@ +openbox +lightdm +lightdm-gtk-greeter +alsa-utils +pulseaudio +pulseaudio-alsa +wireless_tools +zsh +dunst +tint2 +rofi +feh +lxappearance +qt5ct +lxsession +gsimplecal +xautolock +xclip +scrot +thunar +thunar-archive-plugin +thunar-volman +thunar-media-tags-plugin +tumbler +jq +w3m +geany +nano +viewnior +viewnior +pavucontrol +parcellite +neofetch +htop +picom +gtk2-perl +xfce4-power-manager +imagemagick +playerctl +xsettingsd diff --git a/pkg-files/pacman-pkgs.txt b/pkg-files/pacman-pkgs.txt index 42bf817..e58a5c4 100644 --- a/pkg-files/pacman-pkgs.txt +++ b/pkg-files/pacman-pkgs.txt @@ -6,11 +6,8 @@ xorg-drivers xorg-xkill xorg-xinit xterm -plasma-desktop alsa-plugins alsa-utils -ark -audiocd-kio autoconf automake base @@ -18,12 +15,9 @@ bash-completion bind binutils bison -bluedevil bluez bluez-libs bluez-utils -breeze -breeze-gtk bridge-utils btrfs-progs celluloid @@ -32,15 +26,11 @@ code cronie cups dialog -discover -dolphin dosfstools dtc efibootmgr egl-wayland exfat-utils -extra-cmake-modules -filelight flex fuse2 fuse3 @@ -56,23 +46,11 @@ grub-customizer gst-libav gst-plugins-good gst-plugins-ugly -gwenview haveged htop iptables-nft jdk-openjdk -kate -kcodecs -kcoreaddons -kde-plasma-addons -kinfocenter -kscreen -kvantum-qt5 -kde-gtk-config kitty -konsole -kscreen -layer-shell-qt libdvdcss libnewt libtool @@ -84,26 +62,20 @@ lutris lzop m4 make -milou nano neofetch networkmanager ntfs-3g ntp -okular openbsd-netcat openssh os-prober -oxygen p7zip pacman-contrib patch picom pkgconf -plasma-nm -powerdevil powerline-fonts -print-manager pulseaudio pulseaudio-alsa pulseaudio-bluetooth @@ -114,14 +86,11 @@ python-pip qemu rsync sddm -sddm-kcm snapper -spectacle steam sudo swtpm synergy -systemsettings terminus-font traceroute ufw @@ -136,10 +105,8 @@ which wine-gecko wine-mono winetricks -xdg-desktop-portal-kde xdg-user-dirs -zeroconf-ioslave zip zsh zsh-syntax-highlighting -zsh-autosuggestions \ No newline at end of file +zsh-autosuggestions diff --git a/pkg-files/xfce.txt b/pkg-files/xfce.txt new file mode 100644 index 0000000..87200da --- /dev/null +++ b/pkg-files/xfce.txt @@ -0,0 +1,2 @@ +xfce4 +xfce-goodies diff --git a/startup.sh b/startup.sh index d0c4c23..612bbb4 100755 --- a/startup.sh +++ b/startup.sh @@ -271,12 +271,23 @@ set_option NAME_OF_MACHINE $nameofmachine } aurhelper () { - echo -ne "Please enter your desired AUR helper:" + # Let the user choose AUR helper from predefined list + echo -ne "Please enter your desired AUR helper:\n" options=(paru yay picaur aura trizen pacaur none) select_option $? 4 "${options[@]}" aur_helper=${options[$?]} set_option AUR_HELPER $aur_helper } + +desktopenv () { + # Let the user choose Desktop Enviroment from predefined list + echo -ne "Please select your desired Desktop Enviroment:\n" + options=(gnome kde cinnamon xfce mate budgie lxde deepin openbox) + select_option $? 4 "${options[@]}" + desktop_env=${options[$?]} + set_option DESKTOP_ENV $desktop_env +} + # More features in future # language (){} @@ -286,6 +297,9 @@ logo userinfo clear logo +desktopenv +clear +logo aurhelper clear logo From d13f9f787737cd347c3f79bacf9a47258020de20 Mon Sep 17 00:00:00 2001 From: stojshic Date: Tue, 25 Jan 2022 15:53:51 +0100 Subject: [PATCH 18/33] Added option to choose between minimal/full installation --- 1-setup.sh | 12 +++++++++--- 2-user.sh | 24 ++++++++++++++++++------ 4-desktop.sh | 21 ++++++++++++++++++--- archtitus.sh | 4 +++- pkg-files/aur-pkgs.txt | 9 +-------- pkg-files/budgie.txt | 1 + pkg-files/cinnamon.txt | 1 + pkg-files/deepin.txt | 1 + pkg-files/gnome.txt | 3 +-- pkg-files/kde.txt | 8 +++++--- pkg-files/lxde.txt | 1 + pkg-files/mate.txt | 1 + pkg-files/openbox.txt | 9 ++++++--- pkg-files/pacman-pkgs.txt | 35 +++++++++++++++++++++-------------- pkg-files/server.txt | 1 + pkg-files/xfce.txt | 1 + startup.sh | 26 ++++++++++++++++++++++---- 17 files changed, 111 insertions(+), 47 deletions(-) create mode 100644 pkg-files/server.txt diff --git a/1-setup.sh b/1-setup.sh index 2b43143..fb94c5e 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -71,10 +71,16 @@ echo -ne " Installing Base System ------------------------------------------------------------------------- " -cat /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line +# sed $INSTALL_TYPE is using install typeto check for MINIMAL installation, if it's true, stop +# stop the script and move on, not installing any more packages below that line +sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line do - echo "INSTALLING: ${line}" - sudo pacman -S --noconfirm --needed ${line} + if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then + # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line + continue + fi + echo "INSTALLING: ${line}" + sudo pacman -S --noconfirm --needed ${line} done echo -ne " ------------------------------------------------------------------------- diff --git a/2-user.sh b/2-user.sh index 23a101e..06e6ca9 100755 --- a/2-user.sh +++ b/2-user.sh @@ -28,15 +28,27 @@ if [[ ! $AUR_HELPER == none ]]; then git clone "https://aur.archlinux.org/$AUR_HELPER.git" cd ~/$AUR_HELPER makepkg -si --noconfirm - $AUR_HELPER -S --noconfirm --needed - < ~/ArchTitus/pkg-files/aur-pkgs.txt + # sed $INSTALL_TYPE is using install typeto check for MINIMAL installation, if it's true, stop + # stop the script and move on, not installing any more packages below that line + sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/aur-pkgs.txt | while read line + do + if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then + # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line + continue + fi + echo "INSTALLING: ${line}" + $AUR_HELPER -S --noconfirm --needed ${line} + done fi export PATH=$PATH:~/.local/bin -cp -r ~/ArchTitus/dotfiles/* ~/.config/ -pip install konsave -konsave -i ~/ArchTitus/kde.knsv -sleep 1 -konsave -a kde +if [[ $DESKTOP_ENV == "kde" ]] && [[ $INSTALL_TYPE == "FULL" ]]; then + cp -r ~/ArchTitus/dotfiles/* ~/.config/ + pip install konsave + konsave -i ~/ArchTitus/kde.knsv + sleep 1 + konsave -a kde +fi echo -ne " ------------------------------------------------------------------------- diff --git a/4-desktop.sh b/4-desktop.sh index ea541d7..466ad90 100755 --- a/4-desktop.sh +++ b/4-desktop.sh @@ -19,16 +19,23 @@ echo -ne " source /root/ArchTitus/setup.conf -cat /root/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line +sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line do + if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] + then + # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line + continue + fi echo "INSTALLING: ${line}" sudo pacman -S --noconfirm --needed ${line} done if [[ ${DESKTOP_ENV} == "kde" ]]; then - echo [Theme] >> /etc/sddm.conf - echo Current=Nordic >> /etc/sddm.conf systemctl enable sddm.service + if [[ ${INSTALL_TYPE} == "FULL" ]]; then + echo [Theme] >> /etc/sddm.conf + echo Current=Nordic >> /etc/sddm.conf + fi elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then systemctl enable gdm.service @@ -36,6 +43,14 @@ elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then systemctl enable lxdm.service +elif [[ "${DESKTOP_ENV}" == "openbox" ]]; then + sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter + systemctl enable lightdm.service + if [[ "${INSTALL_TYPE}" == "FULL" ]]; then + git clone https://github.com/stojshic/dotfiles-openbox + ./dotfiles-openbox/install.sh + fi + else sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter systemctl enable lightdm.service diff --git a/archtitus.sh b/archtitus.sh index e718387..ad57eea 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -19,7 +19,9 @@ echo -ne " source $SCRIPT_DIR/setup.conf ( bash 0-preinstall.sh )|& tee 0-preinstall.log ( arch-chroot /mnt /root/ArchTitus/1-setup.sh )|& tee 1-setup.log - ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log + if [[ ! $DESKTOP_ENV == server ]]; then + ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log + fi ( arch-chroot /mnt /root/ArchTitus/3-post-setup.sh )|& tee 3-post-setup.log ( arch-chroot /mnt /root/ArchTitus/4-desktop.sh )|& tee 4-desktop.log diff --git a/pkg-files/aur-pkgs.txt b/pkg-files/aur-pkgs.txt index 8179d7a..c66c1be 100644 --- a/pkg-files/aur-pkgs.txt +++ b/pkg-files/aur-pkgs.txt @@ -1,5 +1,5 @@ +--END OF MINIMAL INSTALL-- autojump -awesome-terminal-fonts brave-bin dxvk-bin github-desktop-bin @@ -12,15 +12,8 @@ nordic-darker-standard-buttons-theme nordic-darker-theme nordic-kde-git nordic-theme -noto-fonts-emoji -papirus-icon-theme -plasma-pa ocs-url sddm-nordic-theme-git snapper-gui-git -ttf-droid -ttf-hack ttf-meslo -ttf-roboto zoom -snap-pac \ No newline at end of file diff --git a/pkg-files/budgie.txt b/pkg-files/budgie.txt index 0ebe7d5..ab7873d 100644 --- a/pkg-files/budgie.txt +++ b/pkg-files/budgie.txt @@ -1,2 +1,3 @@ budgie-desktop gnome +--END OF MINIMAL INSTALL-- diff --git a/pkg-files/cinnamon.txt b/pkg-files/cinnamon.txt index f0c8871..7fa604f 100644 --- a/pkg-files/cinnamon.txt +++ b/pkg-files/cinnamon.txt @@ -1,3 +1,4 @@ cinnamon metacity gnome-shell +--END OF MINIMAL INSTALL-- diff --git a/pkg-files/deepin.txt b/pkg-files/deepin.txt index 7aa4d6a..9c01f73 100644 --- a/pkg-files/deepin.txt +++ b/pkg-files/deepin.txt @@ -1,2 +1,3 @@ deepin deepin-extra +--END OF MINIMAL INSTALL-- diff --git a/pkg-files/gnome.txt b/pkg-files/gnome.txt index d218836..24ca95a 100644 --- a/pkg-files/gnome.txt +++ b/pkg-files/gnome.txt @@ -1,4 +1,3 @@ gnome -gnome-tweaks -dconf-editor +--END OF MINIMAL INSTALL-- gnome-extras diff --git a/pkg-files/kde.txt b/pkg-files/kde.txt index b0c40f0..d876134 100644 --- a/pkg-files/kde.txt +++ b/pkg-files/kde.txt @@ -1,10 +1,13 @@ +plasma-desktop +sddm +dolphin +--END OF MINIMAL INSTALL-- ark audiocd-kio bluedevil breeze breeze-gtk discover -dolphin extra-cmake-modules filelight gwenview @@ -21,11 +24,10 @@ layer-shell-qt milou okular oxygen -plasma-desktop plasma-nm +plasma-pa powerdevil print-manager -sddm-kcm spectacle systemsettings xdg-desktop-portal-kde diff --git a/pkg-files/lxde.txt b/pkg-files/lxde.txt index 49be587..c39843f 100644 --- a/pkg-files/lxde.txt +++ b/pkg-files/lxde.txt @@ -1 +1,2 @@ lxde +--END OF MINIMAL INSTALL-- diff --git a/pkg-files/mate.txt b/pkg-files/mate.txt index 178264c..736ee37 100644 --- a/pkg-files/mate.txt +++ b/pkg-files/mate.txt @@ -1,2 +1,3 @@ mate mate-extra +--END OF MINIMAL INSTALL-- diff --git a/pkg-files/openbox.txt b/pkg-files/openbox.txt index a34a9a5..932654d 100644 --- a/pkg-files/openbox.txt +++ b/pkg-files/openbox.txt @@ -1,6 +1,10 @@ openbox lightdm lightdm-gtk-greeter +thunar +lxsession +rxvt-unicode +--END OF MINIMAL INSTALL-- alsa-utils pulseaudio pulseaudio-alsa @@ -12,12 +16,10 @@ rofi feh lxappearance qt5ct -lxsession gsimplecal xautolock xclip scrot -thunar thunar-archive-plugin thunar-volman thunar-media-tags-plugin @@ -27,7 +29,6 @@ w3m geany nano viewnior -viewnior pavucontrol parcellite neofetch @@ -38,3 +39,5 @@ xfce4-power-manager imagemagick playerctl xsettingsd +obconf + diff --git a/pkg-files/pacman-pkgs.txt b/pkg-files/pacman-pkgs.txt index e58a5c4..b46a767 100644 --- a/pkg-files/pacman-pkgs.txt +++ b/pkg-files/pacman-pkgs.txt @@ -6,14 +6,28 @@ xorg-drivers xorg-xkill xorg-xinit xterm +base +binutils +dosfstools +grub +iptables-nft +linux +linux-firmware +linux-headers +networkmanager +noto-fonts-emoji +sudo +usbutils +vim +xdg-user-dirs +--END OF MINIMAL INSTALL-- alsa-plugins alsa-utils autoconf automake -base +awesome-terminal-fonts bash-completion bind -binutils bison bluez bluez-libs @@ -26,7 +40,6 @@ code cronie cups dialog -dosfstools dtc efibootmgr egl-wayland @@ -41,22 +54,17 @@ gimp git gparted gptfdisk -grub grub-customizer gst-libav gst-plugins-good gst-plugins-ugly haveged htop -iptables-nft jdk-openjdk kitty libdvdcss libnewt libtool -linux -linux-firmware -linux-headers lsof lutris lzop @@ -64,7 +72,6 @@ m4 make nano neofetch -networkmanager ntfs-3g ntp openbsd-netcat @@ -72,6 +79,7 @@ openssh os-prober p7zip pacman-contrib +papirus-icon-theme patch picom pkgconf @@ -85,19 +93,19 @@ python-pyqt5 python-pip qemu rsync -sddm +snap-pack snapper steam -sudo swtpm synergy terminus-font traceroute +ttf-droid +ttf-hack +ttf-roboto ufw unrar unzip -usbutils -vim virt-manager virt-viewer wget @@ -105,7 +113,6 @@ which wine-gecko wine-mono winetricks -xdg-user-dirs zip zsh zsh-syntax-highlighting diff --git a/pkg-files/server.txt b/pkg-files/server.txt new file mode 100644 index 0000000..0596bf6 --- /dev/null +++ b/pkg-files/server.txt @@ -0,0 +1 @@ +--END OF MINIMAL INSTALL-- diff --git a/pkg-files/xfce.txt b/pkg-files/xfce.txt index 87200da..953826a 100644 --- a/pkg-files/xfce.txt +++ b/pkg-files/xfce.txt @@ -1,2 +1,3 @@ xfce4 xfce-goodies +--END OF MINIMAL INSTALL-- diff --git a/startup.sh b/startup.sh index 612bbb4..7f76044 100755 --- a/startup.sh +++ b/startup.sh @@ -282,12 +282,22 @@ aurhelper () { desktopenv () { # Let the user choose Desktop Enviroment from predefined list echo -ne "Please select your desired Desktop Enviroment:\n" - options=(gnome kde cinnamon xfce mate budgie lxde deepin openbox) + options=(gnome kde cinnamon xfce mate budgie lxde deepin openbox server) select_option $? 4 "${options[@]}" desktop_env=${options[$?]} set_option DESKTOP_ENV $desktop_env } +installtype () { + echo -ne "Please select type of installation:\n\n + Full install: Installs full featured desktop enviroment, with added apps and themes needed for everyday use\n + Minimal Install: Installs only apps few selected apps to get you started\n" + options=(FULL MINIMAL) + select_option $? 4 "${options[@]}" + install_type=${options[$?]} + set_option INSTALL_TYPE $install_type +} + # More features in future # language (){} @@ -298,9 +308,17 @@ userinfo clear logo desktopenv -clear -logo -aurhelper +# Set fixed options that installation uses if user choses server installation +set_option INSTALL_TYPE MINIMAL +set_option AUR_HELPER NONE +if [[ ! $desktop_env == server ]]; then + clear + logo + aurhelper + clear + logo + installtype +fi clear logo diskpart From fdb4a97537f3bbf4fdd7d22c504fcb19feee1fa2 Mon Sep 17 00:00:00 2001 From: stojshic Date: Wed, 26 Jan 2022 19:56:20 +0100 Subject: [PATCH 19/33] Merged 4-dekstop to 2-user and 3-post-setup --- 1-setup.sh | 22 +++++------ 2-user.sh | 34 +++++++++++++---- 3-post-setup.sh | 64 +++++++++++++++++++++++++++++++- 4-desktop.sh | 85 ------------------------------------------- archtitus.sh | 1 - pkg-files/openbox.txt | 3 +- pkg-files/server.txt | 1 - 7 files changed, 103 insertions(+), 107 deletions(-) delete mode 100755 4-desktop.sh delete mode 100644 pkg-files/server.txt diff --git a/1-setup.sh b/1-setup.sh index fb94c5e..9b172e7 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -18,15 +18,15 @@ echo -ne " Network Setup ------------------------------------------------------------------------- " -pacman -S networkmanager dhclient --noconfirm --needed +pacman -S --noconfirm --needed networkmanager dhclient systemctl enable --now NetworkManager echo -ne " ------------------------------------------------------------------------- Setting up mirrors for optimal download ------------------------------------------------------------------------- " -pacman -S --noconfirm pacman-contrib curl -pacman -S --noconfirm reflector rsync grub arch-install-scripts git +pacman -S --noconfirm --needed pacman-contrib curl +pacman -S --noconfirm --needed reflector rsync grub arch-install-scripts git cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak nc=$(grep -c ^processor /proc/cpuinfo) @@ -64,14 +64,14 @@ sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf #Enable multilib sed -i "/\[multilib\]/,/Include/"'s/^#//' /etc/pacman.conf -pacman -Sy --noconfirm +pacman -Sy --noconfirm --needed echo -ne " ------------------------------------------------------------------------- Installing Base System ------------------------------------------------------------------------- " -# sed $INSTALL_TYPE is using install typeto check for MINIMAL installation, if it's true, stop +# sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # stop the script and move on, not installing any more packages below that line sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line do @@ -91,11 +91,11 @@ echo -ne " proc_type=$(lscpu) if grep -E "GenuineIntel" <<< ${proc_type}; then echo "Installing Intel microcode" - pacman -S --noconfirm intel-ucode + pacman -S --noconfirm --needed intel-ucode proc_ucode=intel-ucode.img elif grep -E "AuthenticAMD" <<< ${proc_type}; then echo "Installing AMD microcode" - pacman -S --noconfirm amd-ucode + pacman -S --noconfirm --needed amd-ucode proc_ucode=amd-ucode.img fi @@ -107,14 +107,14 @@ echo -ne " # Graphics Drivers find and install gpu_type=$(lspci) if grep -E "NVIDIA|GeForce" <<< ${gpu_type}; then - pacman -S nvidia --noconfirm --needed + pacman -S --noconfirm --needed nvidia nvidia-xconfig elif lspci | grep 'VGA' | grep -E "Radeon|AMD"; then - pacman -S xf86-video-amdgpu --noconfirm --needed + pacman -S --noconfirm --needed xf86-video-amdgpu elif grep -E "Integrated Graphics Controller" <<< ${gpu_type}; then - pacman -S libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa --needed --noconfirm + pacman -S --noconfirm --needed libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa elif grep -E "Intel Corporation UHD" <<< ${gpu_type}; then - pacman -S libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa --needed --noconfirm + pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa fi #SETUP IS WRONG THIS IS RUN if ! source /root/ArchTitus/setup.conf; then diff --git a/2-user.sh b/2-user.sh index 06e6ca9..a9ddc0e 100755 --- a/2-user.sh +++ b/2-user.sh @@ -23,12 +23,24 @@ source $HOME/ArchTitus/setup.conf git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k ln -s "~/zsh/.zshrc" ~/.zshrc +sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line +do + if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] + then + # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line + continue + fi + echo "INSTALLING: ${line}" + sudo pacman -S --noconfirm --needed ${line} +done + + if [[ ! $AUR_HELPER == none ]]; then cd ~ git clone "https://aur.archlinux.org/$AUR_HELPER.git" cd ~/$AUR_HELPER makepkg -si --noconfirm - # sed $INSTALL_TYPE is using install typeto check for MINIMAL installation, if it's true, stop + # sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # stop the script and move on, not installing any more packages below that line sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/aur-pkgs.txt | while read line do @@ -42,12 +54,20 @@ if [[ ! $AUR_HELPER == none ]]; then fi export PATH=$PATH:~/.local/bin -if [[ $DESKTOP_ENV == "kde" ]] && [[ $INSTALL_TYPE == "FULL" ]]; then - cp -r ~/ArchTitus/dotfiles/* ~/.config/ - pip install konsave - konsave -i ~/ArchTitus/kde.knsv - sleep 1 - konsave -a kde + +# Theming DE if user chose FULL installation +if [[ $INSTALL_TYPE == "FULL" ]]; then + if [[ $DESKTOP_ENV == "kde" ]]; then + cp -r ~/ArchTitus/dotfiles/* ~/.config/ + pip install konsave + konsave -i ~/ArchTitus/kde.knsv + sleep 1 + konsave -a kde + elif [[ $DESKTOP_ENV == "openbox" ]]; then + cd ~ + git clone https://github.com/stojshic/dotfiles-openbox + ./dotfiles-openbox/install-titus.sh + fi fi echo -ne " diff --git a/3-post-setup.sh b/3-post-setup.sh index bf533a8..41e6cc9 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -16,7 +16,7 @@ Final Setup and Configurations GRUB EFI Bootloader Install & Check " source /root/ArchTitus/setup.conf -genfstab -U /mnt >> /mnt/etc/fstab +genfstab -U /mnt >> /etc/fstab if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} fi @@ -41,3 +41,65 @@ echo "GRUB_THEME=\"${THEME_DIR}/${THEME_NAME}/theme.txt\"" >> /etc/default/grub echo -e "Updating grub..." grub-mkconfig -o /boot/grub/grub.cfg echo -e "All set!" + +echo -ne " +------------------------------------------------------------------------- + Enabling (and Theming) Login Display Manager +------------------------------------------------------------------------- +" +if [[ ${DESKTOP_ENV} == "kde" ]]; then + systemctl enable sddm.service + if [[ ${INSTALL_TYPE} == "FULL" ]]; then + echo [Theme] >> /etc/sddm.conf + echo Current=Nordic >> /etc/sddm.conf + fi + +elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then + systemctl enable gdm.service + +elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then + systemctl enable lxdm.service + +elif [[ "${DESKTOP_ENV}" == "openbox" ]]; then + systemctl enable lightdm.service + if [[ "${INSTALL_TYPE}" == "FULL" ]]; then + # Set default lightdm-webkit2-greeter theme to Litarvan + sed -i 's/^webkit_theme\s*=\s*\(.*\)/webkit_theme = litarvan #\1/g' /etc/lightdm/lightdm-webkit2-greeter.conf + # Set default lightdm greeter to lightdm-webkit2-greeter + sed -i 's/#greeter-session=example.*/greeter-session=lightdm-webkit2-greeter/g' /etc/lightdm/lightdm.conf + fi + +else + if [[ ! "${DESKTOP_ENV}" == "server" ]]; then + sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter + systemctl enable lightdm.service + fi +fi + +echo -ne " +------------------------------------------------------------------------- + Enabling Essential Services +------------------------------------------------------------------------- +" +systemctl enable cups.service +ntpd -qg +systemctl enable ntpd.service +systemctl disable dhcpcd.service +systemctl stop dhcpcd.service +systemctl enable NetworkManager.service +systemctl enable bluetooth +echo -ne " +------------------------------------------------------------------------- + Cleaning +------------------------------------------------------------------------- +" +# Remove no password sudo rights +sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers +# Add sudo rights +sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers + +rm -r /root/ArchTitus +rm -r /home/$USERNAME/ArchTitus + +# Replace in the same state +cd $pwd diff --git a/4-desktop.sh b/4-desktop.sh deleted file mode 100755 index 466ad90..0000000 --- a/4-desktop.sh +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env bash -echo -ne " -------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ -------------------------------------------------------------------------- - Automated Arch Linux Installer - SCRIPTHOME: ArchTitus -------------------------------------------------------------------------- - -------------------------------------------------------------------------- - Installing Desktop Enviroment -------------------------------------------------------------------------- -" - -source /root/ArchTitus/setup.conf - -sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line -do - if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] - then - # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line - continue - fi - echo "INSTALLING: ${line}" - sudo pacman -S --noconfirm --needed ${line} -done - -if [[ ${DESKTOP_ENV} == "kde" ]]; then - systemctl enable sddm.service - if [[ ${INSTALL_TYPE} == "FULL" ]]; then - echo [Theme] >> /etc/sddm.conf - echo Current=Nordic >> /etc/sddm.conf - fi - -elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then - systemctl enable gdm.service - -elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then - systemctl enable lxdm.service - -elif [[ "${DESKTOP_ENV}" == "openbox" ]]; then - sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter - systemctl enable lightdm.service - if [[ "${INSTALL_TYPE}" == "FULL" ]]; then - git clone https://github.com/stojshic/dotfiles-openbox - ./dotfiles-openbox/install.sh - fi - -else - sudo pacman -S --noconfirm --needed lightdm lightdm-gtk-greeter - systemctl enable lightdm.service - -fi - -echo -ne " -------------------------------------------------------------------------- - Enabling Essential Services -------------------------------------------------------------------------- -" -systemctl enable cups.service -ntpd -qg -systemctl enable ntpd.service -systemctl disable dhcpcd.service -systemctl stop dhcpcd.service -systemctl enable NetworkManager.service -echo -ne " -------------------------------------------------------------------------- - Cleaning -------------------------------------------------------------------------- -" -# Remove no password sudo rights -sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers -# Add sudo rights -sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers - -rm -r /root/ArchTitus -rm -r /home/$USERNAME/ArchTitus - -# Replace in the same state -cd $pwd diff --git a/archtitus.sh b/archtitus.sh index ad57eea..efd3d28 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -23,7 +23,6 @@ echo -ne " ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log fi ( arch-chroot /mnt /root/ArchTitus/3-post-setup.sh )|& tee 3-post-setup.log - ( arch-chroot /mnt /root/ArchTitus/4-desktop.sh )|& tee 4-desktop.log echo -ne " ------------------------------------------------------------------------- diff --git a/pkg-files/openbox.txt b/pkg-files/openbox.txt index 932654d..078ef39 100644 --- a/pkg-files/openbox.txt +++ b/pkg-files/openbox.txt @@ -1,6 +1,6 @@ openbox lightdm -lightdm-gtk-greeter +lightdm-webkit2-greeter thunar lxsession rxvt-unicode @@ -14,6 +14,7 @@ dunst tint2 rofi feh +lightdm-webkit-theme-litarvan lxappearance qt5ct gsimplecal diff --git a/pkg-files/server.txt b/pkg-files/server.txt deleted file mode 100644 index 0596bf6..0000000 --- a/pkg-files/server.txt +++ /dev/null @@ -1 +0,0 @@ ---END OF MINIMAL INSTALL-- From 2940bbd5c6b55db2d1ae5004c4001630f2fed4e6 Mon Sep 17 00:00:00 2001 From: stojshic Date: Wed, 26 Jan 2022 20:06:58 +0100 Subject: [PATCH 20/33] Reverted to installing only gtk-greeter for openbox if minimal installation, and Webkit2 only in full installation --- pkg-files/openbox.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg-files/openbox.txt b/pkg-files/openbox.txt index 078ef39..34ea690 100644 --- a/pkg-files/openbox.txt +++ b/pkg-files/openbox.txt @@ -1,6 +1,6 @@ openbox lightdm -lightdm-webkit2-greeter +lightdm-gtk-greeter thunar lxsession rxvt-unicode @@ -14,6 +14,7 @@ dunst tint2 rofi feh +lightdm-webkit2-greeter lightdm-webkit-theme-litarvan lxappearance qt5ct From 03e2e79c2e7c06bbc68c6f537241a94a909b471b Mon Sep 17 00:00:00 2001 From: stojshic Date: Wed, 26 Jan 2022 20:41:36 +0100 Subject: [PATCH 21/33] Cleaning up duplicate files from pacman-pkgs that were already installed --- 1-setup.sh | 20 +++++++++++--------- pkg-files/pacman-pkgs.txt | 13 ------------- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/1-setup.sh b/1-setup.sh index 9b172e7..db817dd 100755 --- a/1-setup.sh +++ b/1-setup.sh @@ -73,15 +73,17 @@ echo -ne " " # sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # stop the script and move on, not installing any more packages below that line -sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line -do - if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then - # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line - continue - fi - echo "INSTALLING: ${line}" - sudo pacman -S --noconfirm --needed ${line} -done +if [[ ! $DESKTOP_ENV == server ]]; then + sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line + do + if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then + # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line + continue + fi + echo "INSTALLING: ${line}" + sudo pacman -S --noconfirm --needed ${line} + done +fi echo -ne " ------------------------------------------------------------------------- Installing Microcode diff --git a/pkg-files/pacman-pkgs.txt b/pkg-files/pacman-pkgs.txt index b46a767..8634b6a 100644 --- a/pkg-files/pacman-pkgs.txt +++ b/pkg-files/pacman-pkgs.txt @@ -6,19 +6,12 @@ xorg-drivers xorg-xkill xorg-xinit xterm -base binutils dosfstools -grub iptables-nft -linux -linux-firmware linux-headers -networkmanager noto-fonts-emoji -sudo usbutils -vim xdg-user-dirs --END OF MINIMAL INSTALL-- alsa-plugins @@ -51,7 +44,6 @@ fuseiso gamemode gcc gimp -git gparted gptfdisk grub-customizer @@ -63,14 +55,12 @@ htop jdk-openjdk kitty libdvdcss -libnewt libtool lsof lutris lzop m4 make -nano neofetch ntfs-3g ntp @@ -78,7 +68,6 @@ openbsd-netcat openssh os-prober p7zip -pacman-contrib papirus-icon-theme patch picom @@ -92,7 +81,6 @@ python-psutil python-pyqt5 python-pip qemu -rsync snap-pack snapper steam @@ -108,7 +96,6 @@ unrar unzip virt-manager virt-viewer -wget which wine-gecko wine-mono From 0182c17afe10f8f8a92cfa4a6b57e60f3c0ca22b Mon Sep 17 00:00:00 2001 From: stojshic Date: Wed, 26 Jan 2022 21:13:15 +0100 Subject: [PATCH 22/33] Genfstab still gave me some errors, even tho everything worked. This modification removed error for me --- 0-preinstall.sh | 6 +++--- 3-post-setup.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/0-preinstall.sh b/0-preinstall.sh index a4afd5a..e77959d 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -25,10 +25,10 @@ Setting up mirrors for optimal download source setup.conf iso=$(curl -4 ifconfig.co/country-iso) timedatectl set-ntp true -pacman -S --noconfirm pacman-contrib terminus-font +pacman -S --noconfirm --needed pacman-contrib terminus-font setfont ter-v22b sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf -pacman -S --noconfirm reflector rsync grub +pacman -S --noconfirm --needed reflector rsync grub cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup echo -ne " ------------------------------------------------------------------------- @@ -42,7 +42,7 @@ echo -ne " Installing Prerequisites ------------------------------------------------------------------------- " -pacman -S --noconfirm gptfdisk btrfs-progs +pacman -S --noconfirm --needed gptfdisk btrfs-progs echo -ne " ------------------------------------------------------------------------- Formating Disk diff --git a/3-post-setup.sh b/3-post-setup.sh index 41e6cc9..9d99e23 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -16,7 +16,7 @@ Final Setup and Configurations GRUB EFI Bootloader Install & Check " source /root/ArchTitus/setup.conf -genfstab -U /mnt >> /etc/fstab +genfstab -U -p / >> /etc/fstab if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} fi From ba16d431525c7cb90718482da7da32b183873d0b Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 29 Jan 2022 22:24:13 -0600 Subject: [PATCH 23/33] Create snapper config to implement BTRFS snapshots --- 0-preinstall.sh | 2 +- 3-post-setup.sh | 16 +++++++++ configs/etc/conf.d/snapper | 6 ++++ configs/etc/snapper/configs/root | 62 ++++++++++++++++++++++++++++++++ 4 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 configs/etc/conf.d/snapper create mode 100644 configs/etc/snapper/configs/root diff --git a/0-preinstall.sh b/0-preinstall.sh index e77959d..82896af 100755 --- a/0-preinstall.sh +++ b/0-preinstall.sh @@ -76,8 +76,8 @@ createsubvolumes () { mountallsubvol () { mount -o ${MOUNT_OPTIONS},subvol=@home ${partition3} /mnt/home mount -o ${MOUNT_OPTIONS},subvol=@tmp ${partition3} /mnt/tmp - mount -o ${MOUNT_OPTIONS},subvol=@.snapshots ${partition3} /mnt/.snapshots mount -o ${MOUNT_OPTIONS},subvol=@var ${partition3} /mnt/var + mount -o ${MOUNT_OPTIONS},subvol=@.snapshots ${partition3} /mnt/.snapshots } subvolumesetup () { diff --git a/3-post-setup.sh b/3-post-setup.sh index 9d99e23..73b0612 100755 --- a/3-post-setup.sh +++ b/3-post-setup.sh @@ -88,6 +88,22 @@ systemctl disable dhcpcd.service systemctl stop dhcpcd.service systemctl enable NetworkManager.service systemctl enable bluetooth + +if [[ "${FS}" == "luks" || "${FS}" == "btrfs" ]]; then +echo -ne " +------------------------------------------------------------------------- + Creating Snapper Config +------------------------------------------------------------------------- +" + +SNAPPER_CONF="/root/ArchTitus/configs/etc/snapper/configs/root" +SNAPPER_CONF_D="/root/ArchTitus/configs/etc/conf.d/snapper" + +cp -a ${SNAPPER_CONF} /home/$USERNAME/etc/snapper/configs/ +cp -a ${SNAPPER_CONF_D} /home/$USERNAME/etc/conf.d/ + +fi + echo -ne " ------------------------------------------------------------------------- Cleaning diff --git a/configs/etc/conf.d/snapper b/configs/etc/conf.d/snapper new file mode 100644 index 0000000..3818d6e --- /dev/null +++ b/configs/etc/conf.d/snapper @@ -0,0 +1,6 @@ +## Path: System/Snapper + +## Type: string +## Default: "" +# List of snapper configurations. +SNAPPER_CONFIGS="root" diff --git a/configs/etc/snapper/configs/root b/configs/etc/snapper/configs/root new file mode 100644 index 0000000..e011a22 --- /dev/null +++ b/configs/etc/snapper/configs/root @@ -0,0 +1,62 @@ +# subvolume to snapshot +SUBVOLUME="/" + +# filesystem type +FSTYPE="btrfs" + + +# btrfs qgroup for space aware cleanup algorithms +QGROUP="" + + +# fraction or absolute size of the filesystems space the snapshots may use +SPACE_LIMIT="0.5" + +# fraction or absolute size of the filesystems space that should be free +FREE_LIMIT="0.2" + + +# users and groups allowed to work with config +ALLOW_USERS="" +ALLOW_GROUPS="" + +# sync users and groups from ALLOW_USERS and ALLOW_GROUPS to .snapshots +# directory +SYNC_ACL="no" + + +# start comparing pre- and post-snapshot in background after creating +# post-snapshot +BACKGROUND_COMPARISON="yes" + + +# run daily number cleanup +NUMBER_CLEANUP="yes" + +# limit for number cleanup +NUMBER_MIN_AGE="1800" +NUMBER_LIMIT="10" +NUMBER_LIMIT_IMPORTANT="5" + + +# create hourly snapshots +TIMELINE_CREATE="no" + +# cleanup hourly snapshots after some time +TIMELINE_CLEANUP="yes" + +# limits for timeline cleanup +TIMELINE_MIN_AGE="1800" +TIMELINE_LIMIT_HOURLY="5" +TIMELINE_LIMIT_DAILY="7" +TIMELINE_LIMIT_WEEKLY="0" +TIMELINE_LIMIT_MONTHLY="0" +TIMELINE_LIMIT_YEARLY="0" + + +# cleanup empty pre-post-pairs +EMPTY_PRE_POST_CLEANUP="yes" + +# limits for empty pre-post-pair cleanup +EMPTY_PRE_POST_MIN_AGE="1800" + From 0ef4faae1d6544ec000bd8aeea48612ddc6f9cf6 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Thu, 17 Feb 2022 22:03:25 -0600 Subject: [PATCH 24/33] Reorganize solution --- archtitus.sh | 16 ++++++++++------ .bashrc => configs/.bashrc | 0 .../kitty/kitty-themes/.all-contributorsrc | 0 .../.config}/kitty/kitty-themes/CONTRIBUTING.md | 0 .../.config}/kitty/kitty-themes/LICENSE.md | 0 .../.config}/kitty/kitty-themes/README.md | 0 .../kitty/kitty-themes/themes/3024_Day.conf | 0 .../kitty/kitty-themes/themes/3024_Night.conf | 0 .../kitty-themes/themes/AdventureTime.conf | 0 .../kitty/kitty-themes/themes/Afterglow.conf | 0 .../kitty/kitty-themes/themes/AlienBlood.conf | 0 .../kitty/kitty-themes/themes/Alucard.conf | 0 .../kitty/kitty-themes/themes/Apprentice.conf | 0 .../kitty/kitty-themes/themes/Argonaut.conf | 0 .../kitty/kitty-themes/themes/Arthur.conf | 0 .../kitty-themes/themes/AtelierSulphurpool.conf | 0 .../kitty/kitty-themes/themes/Atom.conf | 0 .../kitty/kitty-themes/themes/AtomOneLight.conf | 0 .../kitty/kitty-themes/themes/Batman.conf | 0 .../kitty-themes/themes/Belafonte_Day.conf | 0 .../kitty-themes/themes/Belafonte_Night.conf | 0 .../kitty-themes/themes/BirdsOfParadise.conf | 0 .../kitty/kitty-themes/themes/Blazer.conf | 0 .../kitty/kitty-themes/themes/Borland.conf | 0 .../kitty-themes/themes/Bright_Lights.conf | 0 .../kitty/kitty-themes/themes/Broadcast.conf | 0 .../kitty/kitty-themes/themes/Brogrammer.conf | 0 .../.config}/kitty/kitty-themes/themes/C64.conf | 0 .../kitty/kitty-themes/themes/CLRS.conf | 0 .../kitty/kitty-themes/themes/Chalk.conf | 0 .../kitty/kitty-themes/themes/Chalkboard.conf | 0 .../kitty/kitty-themes/themes/Ciapre.conf | 0 .../kitty/kitty-themes/themes/Cobalt2.conf | 0 .../kitty/kitty-themes/themes/Cobalt_Neon.conf | 0 .../kitty-themes/themes/CrayonPonyFish.conf | 0 .../kitty/kitty-themes/themes/Dark_Pastel.conf | 0 .../kitty/kitty-themes/themes/Darkside.conf | 0 .../kitty/kitty-themes/themes/Desert.conf | 0 .../kitty-themes/themes/DimmedMonokai.conf | 0 .../kitty/kitty-themes/themes/DotGov.conf | 0 .../kitty/kitty-themes/themes/Dracula.conf | 0 .../kitty/kitty-themes/themes/Dumbledore.conf | 0 .../kitty/kitty-themes/themes/Duotone_Dark.conf | 0 .../kitty/kitty-themes/themes/ENCOM.conf | 0 .../kitty/kitty-themes/themes/Earthsong.conf | 0 .../kitty/kitty-themes/themes/Elemental.conf | 0 .../kitty/kitty-themes/themes/Espresso.conf | 0 .../kitty-themes/themes/Espresso_Libre.conf | 0 .../kitty/kitty-themes/themes/Fideloper.conf | 0 .../kitty/kitty-themes/themes/FishTank.conf | 0 .../kitty/kitty-themes/themes/Flat.conf | 0 .../kitty/kitty-themes/themes/Flatland.conf | 0 .../kitty/kitty-themes/themes/Floraverse.conf | 0 .../kitty-themes/themes/FrontEndDelight.conf | 0 .../kitty/kitty-themes/themes/FunForrest.conf | 0 .../kitty/kitty-themes/themes/Galaxy.conf | 0 .../kitty/kitty-themes/themes/Github.conf | 0 .../kitty/kitty-themes/themes/Glacier.conf | 0 .../kitty/kitty-themes/themes/GoaBase.conf | 0 .../kitty/kitty-themes/themes/Grape.conf | 0 .../kitty/kitty-themes/themes/Grass.conf | 0 .../kitty/kitty-themes/themes/Hardcore.conf | 0 .../kitty/kitty-themes/themes/Harper.conf | 0 .../kitty/kitty-themes/themes/Highway.conf | 0 .../kitty-themes/themes/Hipster_Green.conf | 0 .../kitty/kitty-themes/themes/Homebrew.conf | 0 .../kitty/kitty-themes/themes/Hurtado.conf | 0 .../kitty/kitty-themes/themes/Hybrid.conf | 0 .../kitty/kitty-themes/themes/IC_Green_PPL.conf | 0 .../kitty-themes/themes/IC_Orange_PPL.conf | 0 .../kitty/kitty-themes/themes/IR_Black.conf | 0 .../kitty/kitty-themes/themes/Jackie_Brown.conf | 0 .../kitty/kitty-themes/themes/Japanesque.conf | 0 .../kitty/kitty-themes/themes/Jellybeans.conf | 0 .../kitty-themes/themes/JetBrains_Darcula.conf | 0 .../kitty/kitty-themes/themes/Kibble.conf | 0 .../kitty-themes/themes/Later_This_Evening.conf | 0 .../kitty/kitty-themes/themes/Lavandula.conf | 0 .../kitty/kitty-themes/themes/LiquidCarbon.conf | 0 .../themes/LiquidCarbonTransparent.conf | 0 .../themes/LiquidCarbonTransparentInverse.conf | 0 .../kitty/kitty-themes/themes/Man_Page.conf | 0 .../kitty/kitty-themes/themes/Material.conf | 0 .../kitty/kitty-themes/themes/MaterialDark.conf | 0 .../kitty/kitty-themes/themes/Mathias.conf | 0 .../kitty/kitty-themes/themes/Medallion.conf | 0 .../kitty/kitty-themes/themes/Misterioso.conf | 0 .../kitty/kitty-themes/themes/Molokai.conf | 0 .../kitty/kitty-themes/themes/MonaLisa.conf | 0 .../kitty/kitty-themes/themes/Monokai.conf | 0 .../kitty-themes/themes/Monokai_Classic.conf | 0 .../kitty/kitty-themes/themes/Monokai_Pro.conf | 0 .../themes/Monokai_Pro_(Filter_Machine).conf | 0 .../themes/Monokai_Pro_(Filter_Octagon).conf | 0 .../themes/Monokai_Pro_(Filter_Ristretto).conf | 0 .../themes/Monokai_Pro_(Filter_Spectrum).conf | 0 .../kitty/kitty-themes/themes/Monokai_Soda.conf | 0 .../kitty/kitty-themes/themes/N0tch2k.conf | 0 .../kitty/kitty-themes/themes/Neopolitan.conf | 0 .../kitty/kitty-themes/themes/Neutron.conf | 0 .../kitty/kitty-themes/themes/NightLion_v1.conf | 0 .../kitty/kitty-themes/themes/NightLion_v2.conf | 0 .../kitty/kitty-themes/themes/Nova.conf | 0 .../kitty/kitty-themes/themes/Novel.conf | 0 .../kitty/kitty-themes/themes/Obsidian.conf | 0 .../kitty/kitty-themes/themes/Ocean.conf | 0 .../kitty-themes/themes/OceanicMaterial.conf | 0 .../kitty/kitty-themes/themes/Ollie.conf | 0 .../kitty/kitty-themes/themes/OneDark.conf | 0 .../kitty/kitty-themes/themes/Parasio_Dark.conf | 0 .../kitty/kitty-themes/themes/PaulMillr.conf | 0 .../kitty/kitty-themes/themes/PencilDark.conf | 0 .../kitty/kitty-themes/themes/PencilLight.conf | 0 .../kitty/kitty-themes/themes/Piatto_Light.conf | 0 .../kitty/kitty-themes/themes/Pnevma.conf | 0 .../.config}/kitty/kitty-themes/themes/Pro.conf | 0 .../kitty/kitty-themes/themes/Red_Alert.conf | 0 .../kitty/kitty-themes/themes/Red_Sands.conf | 0 .../kitty-themes/themes/Relaxed_Afterglow.conf | 0 .../kitty-themes/themes/Renault_Style.conf | 0 .../themes/Renault_Style_Light.conf | 0 .../kitty/kitty-themes/themes/Rippedcasts.conf | 0 .../kitty/kitty-themes/themes/Royal.conf | 0 .../kitty/kitty-themes/themes/SeaShells.conf | 0 .../kitty-themes/themes/Seafoam_Pastel.conf | 0 .../kitty/kitty-themes/themes/Seti.conf | 0 .../kitty/kitty-themes/themes/Shaman.conf | 0 .../kitty/kitty-themes/themes/Slate.conf | 0 .../kitty/kitty-themes/themes/Smyck.conf | 0 .../kitty/kitty-themes/themes/SoftServer.conf | 0 .../kitty-themes/themes/Solarized_Darcula.conf | 0 .../kitty-themes/themes/Solarized_Dark.conf | 0 .../themes/Solarized_Dark_-_Patched.conf | 0 .../themes/Solarized_Dark_Higher_Contrast.conf | 0 .../kitty-themes/themes/Solarized_Light.conf | 0 .../kitty-themes/themes/Source_Code_X.conf | 0 .../kitty/kitty-themes/themes/SpaceGray.conf | 0 .../kitty-themes/themes/SpaceGray_Eighties.conf | 0 .../themes/SpaceGray_Eighties_Dull.conf | 0 .../kitty/kitty-themes/themes/Spacedust.conf | 0 .../kitty/kitty-themes/themes/Spiderman.conf | 0 .../kitty/kitty-themes/themes/Spring.conf | 0 .../kitty/kitty-themes/themes/Square.conf | 0 .../kitty/kitty-themes/themes/Sundried.conf | 0 .../kitty/kitty-themes/themes/Symfonic.conf | 0 .../kitty/kitty-themes/themes/Tango_Dark.conf | 0 .../kitty/kitty-themes/themes/Tango_Light.conf | 0 .../kitty/kitty-themes/themes/Teerb.conf | 0 .../kitty-themes/themes/Thayer_Bright.conf | 0 .../kitty/kitty-themes/themes/The_Hulk.conf | 0 .../kitty/kitty-themes/themes/Tomorrow.conf | 0 .../kitty-themes/themes/Tomorrow_Night.conf | 0 .../themes/Tomorrow_Night_Blue.conf | 0 .../themes/Tomorrow_Night_Bright.conf | 0 .../themes/Tomorrow_Night_Eighties.conf | 0 .../kitty/kitty-themes/themes/ToyChest.conf | 0 .../kitty/kitty-themes/themes/Treehouse.conf | 0 .../kitty/kitty-themes/themes/Twilight.conf | 0 .../kitty/kitty-themes/themes/Ubuntu.conf | 0 .../kitty/kitty-themes/themes/Urple.conf | 0 .../kitty/kitty-themes/themes/Vaughn.conf | 0 .../kitty/kitty-themes/themes/VibrantInk.conf | 0 .../kitty/kitty-themes/themes/WarmNeon.conf | 0 .../.config}/kitty/kitty-themes/themes/Wez.conf | 0 .../kitty/kitty-themes/themes/WildCherry.conf | 0 .../kitty/kitty-themes/themes/Wombat.conf | 0 .../kitty/kitty-themes/themes/Wryan.conf | 0 .../kitty/kitty-themes/themes/Zenburn.conf | 0 .../.config}/kitty/kitty-themes/themes/ayu.conf | 0 .../kitty/kitty-themes/themes/ayu_light.conf | 0 .../kitty/kitty-themes/themes/ayu_mirage.conf | 0 .../kitty/kitty-themes/themes/gruvbox_dark.conf | 0 .../kitty-themes/themes/gruvbox_light.conf | 0 .../kitty/kitty-themes/themes/idleToes.conf | 0 .../kitty/kitty-themes/themes/snazzy.conf | 0 {dotfiles => configs/.config}/kitty/kitty.conf | 0 {dotfiles => configs/.config}/kitty/theme.conf | 0 .../boot/grub/themes/CyberRe}/background.png | Bin .../boot/grub/themes/CyberRe}/boot_menu2_c.png | Bin .../boot/grub/themes/CyberRe}/dejavu_14.pf2 | Bin .../grub/themes/CyberRe}/droidlogo_bold_17.pf2 | Bin .../grub/themes/CyberRe}/droidlogo_bold_20.pf2 | Bin .../grub/themes/CyberRe}/droidlogo_bold_26.pf2 | Bin .../themes/CyberRe}/droidlogo_regular_12.pf2 | Bin .../themes/CyberRe}/droidlogo_regular_17.pf2 | Bin .../boot/grub/themes/CyberRe}/highlight_c.png | Bin .../boot/grub/themes/CyberRe}/highlight_w.png | Bin .../boot/grub/themes/CyberRe}/preview.png | Bin .../themes/CyberRe}/progress_highlight_c.png | Bin .../boot/grub/themes/CyberRe}/theme.txt | 0 kde.knsv => configs/kde.knsv | Bin install.example.conf | 3 --- kderice-backup.sh | 5 ----- kderice-restore.sh | 8 -------- 0-preinstall.sh => scripts/0-preinstall.sh | 6 +++--- 1-setup.sh => scripts/1-setup.sh | 10 +++++----- 2-user.sh => scripts/2-user.sh | 6 +++--- 3-post-setup.sh => scripts/3-post-setup.sh | 5 +++-- scripts/kderice-backup.sh | 5 +++++ scripts/kderice-restore.sh | 8 ++++++++ startup.sh => scripts/startup.sh | 3 +-- setconsole.sh | 6 ------ 202 files changed, 38 insertions(+), 43 deletions(-) rename .bashrc => configs/.bashrc (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/.all-contributorsrc (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/CONTRIBUTING.md (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/LICENSE.md (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/README.md (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/3024_Day.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/3024_Night.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/AdventureTime.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Afterglow.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/AlienBlood.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Alucard.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Apprentice.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Argonaut.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Arthur.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/AtelierSulphurpool.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Atom.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/AtomOneLight.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Batman.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Belafonte_Day.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Belafonte_Night.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/BirdsOfParadise.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Blazer.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Borland.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Bright_Lights.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Broadcast.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Brogrammer.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/C64.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/CLRS.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Chalk.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Chalkboard.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Ciapre.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Cobalt2.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Cobalt_Neon.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/CrayonPonyFish.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Dark_Pastel.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Darkside.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Desert.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/DimmedMonokai.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/DotGov.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Dracula.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Dumbledore.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Duotone_Dark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/ENCOM.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Earthsong.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Elemental.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Espresso.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Espresso_Libre.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Fideloper.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/FishTank.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Flat.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Flatland.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Floraverse.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/FrontEndDelight.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/FunForrest.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Galaxy.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Github.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Glacier.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/GoaBase.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Grape.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Grass.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Hardcore.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Harper.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Highway.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Hipster_Green.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Homebrew.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Hurtado.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Hybrid.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/IC_Green_PPL.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/IC_Orange_PPL.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/IR_Black.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Jackie_Brown.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Japanesque.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Jellybeans.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/JetBrains_Darcula.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Kibble.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Later_This_Evening.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Lavandula.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/LiquidCarbon.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Man_Page.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Material.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/MaterialDark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Mathias.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Medallion.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Misterioso.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Molokai.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/MonaLisa.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Classic.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Pro.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Monokai_Soda.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/N0tch2k.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Neopolitan.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Neutron.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/NightLion_v1.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/NightLion_v2.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Nova.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Novel.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Obsidian.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Ocean.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/OceanicMaterial.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Ollie.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/OneDark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Parasio_Dark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/PaulMillr.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/PencilDark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/PencilLight.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Piatto_Light.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Pnevma.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Pro.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Red_Alert.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Red_Sands.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Relaxed_Afterglow.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Renault_Style.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Renault_Style_Light.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Rippedcasts.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Royal.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/SeaShells.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Seafoam_Pastel.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Seti.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Shaman.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Slate.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Smyck.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/SoftServer.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Solarized_Darcula.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Solarized_Dark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Solarized_Light.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Source_Code_X.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/SpaceGray.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/SpaceGray_Eighties.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Spacedust.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Spiderman.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Spring.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Square.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Sundried.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Symfonic.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tango_Dark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tango_Light.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Teerb.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Thayer_Bright.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/The_Hulk.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tomorrow.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tomorrow_Night.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/ToyChest.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Treehouse.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Twilight.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Ubuntu.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Urple.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Vaughn.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/VibrantInk.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/WarmNeon.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Wez.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/WildCherry.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Wombat.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Wryan.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/Zenburn.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/ayu.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/ayu_light.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/ayu_mirage.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/gruvbox_dark.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/gruvbox_light.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/idleToes.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty-themes/themes/snazzy.conf (100%) rename {dotfiles => configs/.config}/kitty/kitty.conf (100%) rename {dotfiles => configs/.config}/kitty/theme.conf (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/background.png (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/boot_menu2_c.png (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/dejavu_14.pf2 (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/droidlogo_bold_17.pf2 (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/droidlogo_bold_20.pf2 (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/droidlogo_bold_26.pf2 (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/droidlogo_regular_12.pf2 (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/droidlogo_regular_17.pf2 (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/highlight_c.png (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/highlight_w.png (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/preview.png (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/progress_highlight_c.png (100%) rename {CyberRe => configs/boot/grub/themes/CyberRe}/theme.txt (100%) rename kde.knsv => configs/kde.knsv (100%) delete mode 100644 install.example.conf delete mode 100755 kderice-backup.sh delete mode 100755 kderice-restore.sh rename 0-preinstall.sh => scripts/0-preinstall.sh (98%) rename 1-setup.sh => scripts/1-setup.sh (96%) rename 2-user.sh => scripts/2-user.sh (96%) rename 3-post-setup.sh => scripts/3-post-setup.sh (97%) create mode 100755 scripts/kderice-backup.sh create mode 100755 scripts/kderice-restore.sh rename startup.sh => scripts/startup.sh (98%) delete mode 100755 setconsole.sh diff --git a/archtitus.sh b/archtitus.sh index efd3d28..5b2f6d9 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -1,7 +1,11 @@ #!/bin/bash # Find the name of the folder the scripts are in +set -a SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +SCRIPTS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"/scripts +CONFIGS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"/configs +set +a echo -ne " ------------------------------------------------------------------------- █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ @@ -15,14 +19,14 @@ echo -ne " ------------------------------------------------------------------------- Scripts are in directory named ArchTitus " - ( bash startup.sh )|& tee startup.log - source $SCRIPT_DIR/setup.conf - ( bash 0-preinstall.sh )|& tee 0-preinstall.log - ( arch-chroot /mnt /root/ArchTitus/1-setup.sh )|& tee 1-setup.log + ( bash $SCRIPT_DIR/scripts/startup.sh )|& tee startup.log + source $SCRIPT_DIR/configs/setup.conf + ( bash $SCRIPT_DIR/scripts/0-preinstall.sh )|& tee 0-preinstall.log + ( arch-chroot /mnt /root/ArchTitus/scripts/1-setup.sh )|& tee 1-setup.log if [[ ! $DESKTOP_ENV == server ]]; then - ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/2-user.sh )|& tee 2-user.log + ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/scripts/2-user.sh )|& tee 2-user.log fi - ( arch-chroot /mnt /root/ArchTitus/3-post-setup.sh )|& tee 3-post-setup.log + ( arch-chroot /mnt /root/ArchTitus/scripts/3-post-setup.sh )|& tee 3-post-setup.log echo -ne " ------------------------------------------------------------------------- diff --git a/.bashrc b/configs/.bashrc similarity index 100% rename from .bashrc rename to configs/.bashrc diff --git a/dotfiles/kitty/kitty-themes/.all-contributorsrc b/configs/.config/kitty/kitty-themes/.all-contributorsrc similarity index 100% rename from dotfiles/kitty/kitty-themes/.all-contributorsrc rename to configs/.config/kitty/kitty-themes/.all-contributorsrc diff --git a/dotfiles/kitty/kitty-themes/CONTRIBUTING.md b/configs/.config/kitty/kitty-themes/CONTRIBUTING.md similarity index 100% rename from dotfiles/kitty/kitty-themes/CONTRIBUTING.md rename to configs/.config/kitty/kitty-themes/CONTRIBUTING.md diff --git a/dotfiles/kitty/kitty-themes/LICENSE.md b/configs/.config/kitty/kitty-themes/LICENSE.md similarity index 100% rename from dotfiles/kitty/kitty-themes/LICENSE.md rename to configs/.config/kitty/kitty-themes/LICENSE.md diff --git a/dotfiles/kitty/kitty-themes/README.md b/configs/.config/kitty/kitty-themes/README.md similarity index 100% rename from dotfiles/kitty/kitty-themes/README.md rename to configs/.config/kitty/kitty-themes/README.md diff --git a/dotfiles/kitty/kitty-themes/themes/3024_Day.conf b/configs/.config/kitty/kitty-themes/themes/3024_Day.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/3024_Day.conf rename to configs/.config/kitty/kitty-themes/themes/3024_Day.conf diff --git a/dotfiles/kitty/kitty-themes/themes/3024_Night.conf b/configs/.config/kitty/kitty-themes/themes/3024_Night.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/3024_Night.conf rename to configs/.config/kitty/kitty-themes/themes/3024_Night.conf diff --git a/dotfiles/kitty/kitty-themes/themes/AdventureTime.conf b/configs/.config/kitty/kitty-themes/themes/AdventureTime.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/AdventureTime.conf rename to configs/.config/kitty/kitty-themes/themes/AdventureTime.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Afterglow.conf b/configs/.config/kitty/kitty-themes/themes/Afterglow.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Afterglow.conf rename to configs/.config/kitty/kitty-themes/themes/Afterglow.conf diff --git a/dotfiles/kitty/kitty-themes/themes/AlienBlood.conf b/configs/.config/kitty/kitty-themes/themes/AlienBlood.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/AlienBlood.conf rename to configs/.config/kitty/kitty-themes/themes/AlienBlood.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Alucard.conf b/configs/.config/kitty/kitty-themes/themes/Alucard.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Alucard.conf rename to configs/.config/kitty/kitty-themes/themes/Alucard.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Apprentice.conf b/configs/.config/kitty/kitty-themes/themes/Apprentice.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Apprentice.conf rename to configs/.config/kitty/kitty-themes/themes/Apprentice.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Argonaut.conf b/configs/.config/kitty/kitty-themes/themes/Argonaut.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Argonaut.conf rename to configs/.config/kitty/kitty-themes/themes/Argonaut.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Arthur.conf b/configs/.config/kitty/kitty-themes/themes/Arthur.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Arthur.conf rename to configs/.config/kitty/kitty-themes/themes/Arthur.conf diff --git a/dotfiles/kitty/kitty-themes/themes/AtelierSulphurpool.conf b/configs/.config/kitty/kitty-themes/themes/AtelierSulphurpool.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/AtelierSulphurpool.conf rename to configs/.config/kitty/kitty-themes/themes/AtelierSulphurpool.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Atom.conf b/configs/.config/kitty/kitty-themes/themes/Atom.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Atom.conf rename to configs/.config/kitty/kitty-themes/themes/Atom.conf diff --git a/dotfiles/kitty/kitty-themes/themes/AtomOneLight.conf b/configs/.config/kitty/kitty-themes/themes/AtomOneLight.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/AtomOneLight.conf rename to configs/.config/kitty/kitty-themes/themes/AtomOneLight.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Batman.conf b/configs/.config/kitty/kitty-themes/themes/Batman.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Batman.conf rename to configs/.config/kitty/kitty-themes/themes/Batman.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Belafonte_Day.conf b/configs/.config/kitty/kitty-themes/themes/Belafonte_Day.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Belafonte_Day.conf rename to configs/.config/kitty/kitty-themes/themes/Belafonte_Day.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Belafonte_Night.conf b/configs/.config/kitty/kitty-themes/themes/Belafonte_Night.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Belafonte_Night.conf rename to configs/.config/kitty/kitty-themes/themes/Belafonte_Night.conf diff --git a/dotfiles/kitty/kitty-themes/themes/BirdsOfParadise.conf b/configs/.config/kitty/kitty-themes/themes/BirdsOfParadise.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/BirdsOfParadise.conf rename to configs/.config/kitty/kitty-themes/themes/BirdsOfParadise.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Blazer.conf b/configs/.config/kitty/kitty-themes/themes/Blazer.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Blazer.conf rename to configs/.config/kitty/kitty-themes/themes/Blazer.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Borland.conf b/configs/.config/kitty/kitty-themes/themes/Borland.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Borland.conf rename to configs/.config/kitty/kitty-themes/themes/Borland.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Bright_Lights.conf b/configs/.config/kitty/kitty-themes/themes/Bright_Lights.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Bright_Lights.conf rename to configs/.config/kitty/kitty-themes/themes/Bright_Lights.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Broadcast.conf b/configs/.config/kitty/kitty-themes/themes/Broadcast.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Broadcast.conf rename to configs/.config/kitty/kitty-themes/themes/Broadcast.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Brogrammer.conf b/configs/.config/kitty/kitty-themes/themes/Brogrammer.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Brogrammer.conf rename to configs/.config/kitty/kitty-themes/themes/Brogrammer.conf diff --git a/dotfiles/kitty/kitty-themes/themes/C64.conf b/configs/.config/kitty/kitty-themes/themes/C64.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/C64.conf rename to configs/.config/kitty/kitty-themes/themes/C64.conf diff --git a/dotfiles/kitty/kitty-themes/themes/CLRS.conf b/configs/.config/kitty/kitty-themes/themes/CLRS.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/CLRS.conf rename to configs/.config/kitty/kitty-themes/themes/CLRS.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Chalk.conf b/configs/.config/kitty/kitty-themes/themes/Chalk.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Chalk.conf rename to configs/.config/kitty/kitty-themes/themes/Chalk.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Chalkboard.conf b/configs/.config/kitty/kitty-themes/themes/Chalkboard.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Chalkboard.conf rename to configs/.config/kitty/kitty-themes/themes/Chalkboard.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Ciapre.conf b/configs/.config/kitty/kitty-themes/themes/Ciapre.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Ciapre.conf rename to configs/.config/kitty/kitty-themes/themes/Ciapre.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Cobalt2.conf b/configs/.config/kitty/kitty-themes/themes/Cobalt2.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Cobalt2.conf rename to configs/.config/kitty/kitty-themes/themes/Cobalt2.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Cobalt_Neon.conf b/configs/.config/kitty/kitty-themes/themes/Cobalt_Neon.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Cobalt_Neon.conf rename to configs/.config/kitty/kitty-themes/themes/Cobalt_Neon.conf diff --git a/dotfiles/kitty/kitty-themes/themes/CrayonPonyFish.conf b/configs/.config/kitty/kitty-themes/themes/CrayonPonyFish.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/CrayonPonyFish.conf rename to configs/.config/kitty/kitty-themes/themes/CrayonPonyFish.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Dark_Pastel.conf b/configs/.config/kitty/kitty-themes/themes/Dark_Pastel.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Dark_Pastel.conf rename to configs/.config/kitty/kitty-themes/themes/Dark_Pastel.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Darkside.conf b/configs/.config/kitty/kitty-themes/themes/Darkside.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Darkside.conf rename to configs/.config/kitty/kitty-themes/themes/Darkside.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Desert.conf b/configs/.config/kitty/kitty-themes/themes/Desert.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Desert.conf rename to configs/.config/kitty/kitty-themes/themes/Desert.conf diff --git a/dotfiles/kitty/kitty-themes/themes/DimmedMonokai.conf b/configs/.config/kitty/kitty-themes/themes/DimmedMonokai.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/DimmedMonokai.conf rename to configs/.config/kitty/kitty-themes/themes/DimmedMonokai.conf diff --git a/dotfiles/kitty/kitty-themes/themes/DotGov.conf b/configs/.config/kitty/kitty-themes/themes/DotGov.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/DotGov.conf rename to configs/.config/kitty/kitty-themes/themes/DotGov.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Dracula.conf b/configs/.config/kitty/kitty-themes/themes/Dracula.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Dracula.conf rename to configs/.config/kitty/kitty-themes/themes/Dracula.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Dumbledore.conf b/configs/.config/kitty/kitty-themes/themes/Dumbledore.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Dumbledore.conf rename to configs/.config/kitty/kitty-themes/themes/Dumbledore.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Duotone_Dark.conf b/configs/.config/kitty/kitty-themes/themes/Duotone_Dark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Duotone_Dark.conf rename to configs/.config/kitty/kitty-themes/themes/Duotone_Dark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/ENCOM.conf b/configs/.config/kitty/kitty-themes/themes/ENCOM.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/ENCOM.conf rename to configs/.config/kitty/kitty-themes/themes/ENCOM.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Earthsong.conf b/configs/.config/kitty/kitty-themes/themes/Earthsong.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Earthsong.conf rename to configs/.config/kitty/kitty-themes/themes/Earthsong.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Elemental.conf b/configs/.config/kitty/kitty-themes/themes/Elemental.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Elemental.conf rename to configs/.config/kitty/kitty-themes/themes/Elemental.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Espresso.conf b/configs/.config/kitty/kitty-themes/themes/Espresso.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Espresso.conf rename to configs/.config/kitty/kitty-themes/themes/Espresso.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Espresso_Libre.conf b/configs/.config/kitty/kitty-themes/themes/Espresso_Libre.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Espresso_Libre.conf rename to configs/.config/kitty/kitty-themes/themes/Espresso_Libre.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Fideloper.conf b/configs/.config/kitty/kitty-themes/themes/Fideloper.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Fideloper.conf rename to configs/.config/kitty/kitty-themes/themes/Fideloper.conf diff --git a/dotfiles/kitty/kitty-themes/themes/FishTank.conf b/configs/.config/kitty/kitty-themes/themes/FishTank.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/FishTank.conf rename to configs/.config/kitty/kitty-themes/themes/FishTank.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Flat.conf b/configs/.config/kitty/kitty-themes/themes/Flat.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Flat.conf rename to configs/.config/kitty/kitty-themes/themes/Flat.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Flatland.conf b/configs/.config/kitty/kitty-themes/themes/Flatland.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Flatland.conf rename to configs/.config/kitty/kitty-themes/themes/Flatland.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Floraverse.conf b/configs/.config/kitty/kitty-themes/themes/Floraverse.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Floraverse.conf rename to configs/.config/kitty/kitty-themes/themes/Floraverse.conf diff --git a/dotfiles/kitty/kitty-themes/themes/FrontEndDelight.conf b/configs/.config/kitty/kitty-themes/themes/FrontEndDelight.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/FrontEndDelight.conf rename to configs/.config/kitty/kitty-themes/themes/FrontEndDelight.conf diff --git a/dotfiles/kitty/kitty-themes/themes/FunForrest.conf b/configs/.config/kitty/kitty-themes/themes/FunForrest.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/FunForrest.conf rename to configs/.config/kitty/kitty-themes/themes/FunForrest.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Galaxy.conf b/configs/.config/kitty/kitty-themes/themes/Galaxy.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Galaxy.conf rename to configs/.config/kitty/kitty-themes/themes/Galaxy.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Github.conf b/configs/.config/kitty/kitty-themes/themes/Github.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Github.conf rename to configs/.config/kitty/kitty-themes/themes/Github.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Glacier.conf b/configs/.config/kitty/kitty-themes/themes/Glacier.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Glacier.conf rename to configs/.config/kitty/kitty-themes/themes/Glacier.conf diff --git a/dotfiles/kitty/kitty-themes/themes/GoaBase.conf b/configs/.config/kitty/kitty-themes/themes/GoaBase.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/GoaBase.conf rename to configs/.config/kitty/kitty-themes/themes/GoaBase.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Grape.conf b/configs/.config/kitty/kitty-themes/themes/Grape.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Grape.conf rename to configs/.config/kitty/kitty-themes/themes/Grape.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Grass.conf b/configs/.config/kitty/kitty-themes/themes/Grass.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Grass.conf rename to configs/.config/kitty/kitty-themes/themes/Grass.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Hardcore.conf b/configs/.config/kitty/kitty-themes/themes/Hardcore.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Hardcore.conf rename to configs/.config/kitty/kitty-themes/themes/Hardcore.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Harper.conf b/configs/.config/kitty/kitty-themes/themes/Harper.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Harper.conf rename to configs/.config/kitty/kitty-themes/themes/Harper.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Highway.conf b/configs/.config/kitty/kitty-themes/themes/Highway.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Highway.conf rename to configs/.config/kitty/kitty-themes/themes/Highway.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Hipster_Green.conf b/configs/.config/kitty/kitty-themes/themes/Hipster_Green.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Hipster_Green.conf rename to configs/.config/kitty/kitty-themes/themes/Hipster_Green.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Homebrew.conf b/configs/.config/kitty/kitty-themes/themes/Homebrew.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Homebrew.conf rename to configs/.config/kitty/kitty-themes/themes/Homebrew.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Hurtado.conf b/configs/.config/kitty/kitty-themes/themes/Hurtado.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Hurtado.conf rename to configs/.config/kitty/kitty-themes/themes/Hurtado.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Hybrid.conf b/configs/.config/kitty/kitty-themes/themes/Hybrid.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Hybrid.conf rename to configs/.config/kitty/kitty-themes/themes/Hybrid.conf diff --git a/dotfiles/kitty/kitty-themes/themes/IC_Green_PPL.conf b/configs/.config/kitty/kitty-themes/themes/IC_Green_PPL.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/IC_Green_PPL.conf rename to configs/.config/kitty/kitty-themes/themes/IC_Green_PPL.conf diff --git a/dotfiles/kitty/kitty-themes/themes/IC_Orange_PPL.conf b/configs/.config/kitty/kitty-themes/themes/IC_Orange_PPL.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/IC_Orange_PPL.conf rename to configs/.config/kitty/kitty-themes/themes/IC_Orange_PPL.conf diff --git a/dotfiles/kitty/kitty-themes/themes/IR_Black.conf b/configs/.config/kitty/kitty-themes/themes/IR_Black.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/IR_Black.conf rename to configs/.config/kitty/kitty-themes/themes/IR_Black.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Jackie_Brown.conf b/configs/.config/kitty/kitty-themes/themes/Jackie_Brown.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Jackie_Brown.conf rename to configs/.config/kitty/kitty-themes/themes/Jackie_Brown.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Japanesque.conf b/configs/.config/kitty/kitty-themes/themes/Japanesque.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Japanesque.conf rename to configs/.config/kitty/kitty-themes/themes/Japanesque.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Jellybeans.conf b/configs/.config/kitty/kitty-themes/themes/Jellybeans.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Jellybeans.conf rename to configs/.config/kitty/kitty-themes/themes/Jellybeans.conf diff --git a/dotfiles/kitty/kitty-themes/themes/JetBrains_Darcula.conf b/configs/.config/kitty/kitty-themes/themes/JetBrains_Darcula.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/JetBrains_Darcula.conf rename to configs/.config/kitty/kitty-themes/themes/JetBrains_Darcula.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Kibble.conf b/configs/.config/kitty/kitty-themes/themes/Kibble.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Kibble.conf rename to configs/.config/kitty/kitty-themes/themes/Kibble.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Later_This_Evening.conf b/configs/.config/kitty/kitty-themes/themes/Later_This_Evening.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Later_This_Evening.conf rename to configs/.config/kitty/kitty-themes/themes/Later_This_Evening.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Lavandula.conf b/configs/.config/kitty/kitty-themes/themes/Lavandula.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Lavandula.conf rename to configs/.config/kitty/kitty-themes/themes/Lavandula.conf diff --git a/dotfiles/kitty/kitty-themes/themes/LiquidCarbon.conf b/configs/.config/kitty/kitty-themes/themes/LiquidCarbon.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/LiquidCarbon.conf rename to configs/.config/kitty/kitty-themes/themes/LiquidCarbon.conf diff --git a/dotfiles/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf b/configs/.config/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf rename to configs/.config/kitty/kitty-themes/themes/LiquidCarbonTransparent.conf diff --git a/dotfiles/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf b/configs/.config/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf rename to configs/.config/kitty/kitty-themes/themes/LiquidCarbonTransparentInverse.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Man_Page.conf b/configs/.config/kitty/kitty-themes/themes/Man_Page.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Man_Page.conf rename to configs/.config/kitty/kitty-themes/themes/Man_Page.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Material.conf b/configs/.config/kitty/kitty-themes/themes/Material.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Material.conf rename to configs/.config/kitty/kitty-themes/themes/Material.conf diff --git a/dotfiles/kitty/kitty-themes/themes/MaterialDark.conf b/configs/.config/kitty/kitty-themes/themes/MaterialDark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/MaterialDark.conf rename to configs/.config/kitty/kitty-themes/themes/MaterialDark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Mathias.conf b/configs/.config/kitty/kitty-themes/themes/Mathias.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Mathias.conf rename to configs/.config/kitty/kitty-themes/themes/Mathias.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Medallion.conf b/configs/.config/kitty/kitty-themes/themes/Medallion.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Medallion.conf rename to configs/.config/kitty/kitty-themes/themes/Medallion.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Misterioso.conf b/configs/.config/kitty/kitty-themes/themes/Misterioso.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Misterioso.conf rename to configs/.config/kitty/kitty-themes/themes/Misterioso.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Molokai.conf b/configs/.config/kitty/kitty-themes/themes/Molokai.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Molokai.conf rename to configs/.config/kitty/kitty-themes/themes/Molokai.conf diff --git a/dotfiles/kitty/kitty-themes/themes/MonaLisa.conf b/configs/.config/kitty/kitty-themes/themes/MonaLisa.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/MonaLisa.conf rename to configs/.config/kitty/kitty-themes/themes/MonaLisa.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai.conf b/configs/.config/kitty/kitty-themes/themes/Monokai.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai.conf rename to configs/.config/kitty/kitty-themes/themes/Monokai.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Classic.conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Classic.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Classic.conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Classic.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Pro.conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Pro.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Pro.conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Pro.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Machine).conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Octagon).conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Ristretto).conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Pro_(Filter_Spectrum).conf diff --git a/dotfiles/kitty/kitty-themes/themes/Monokai_Soda.conf b/configs/.config/kitty/kitty-themes/themes/Monokai_Soda.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Monokai_Soda.conf rename to configs/.config/kitty/kitty-themes/themes/Monokai_Soda.conf diff --git a/dotfiles/kitty/kitty-themes/themes/N0tch2k.conf b/configs/.config/kitty/kitty-themes/themes/N0tch2k.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/N0tch2k.conf rename to configs/.config/kitty/kitty-themes/themes/N0tch2k.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Neopolitan.conf b/configs/.config/kitty/kitty-themes/themes/Neopolitan.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Neopolitan.conf rename to configs/.config/kitty/kitty-themes/themes/Neopolitan.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Neutron.conf b/configs/.config/kitty/kitty-themes/themes/Neutron.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Neutron.conf rename to configs/.config/kitty/kitty-themes/themes/Neutron.conf diff --git a/dotfiles/kitty/kitty-themes/themes/NightLion_v1.conf b/configs/.config/kitty/kitty-themes/themes/NightLion_v1.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/NightLion_v1.conf rename to configs/.config/kitty/kitty-themes/themes/NightLion_v1.conf diff --git a/dotfiles/kitty/kitty-themes/themes/NightLion_v2.conf b/configs/.config/kitty/kitty-themes/themes/NightLion_v2.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/NightLion_v2.conf rename to configs/.config/kitty/kitty-themes/themes/NightLion_v2.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Nova.conf b/configs/.config/kitty/kitty-themes/themes/Nova.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Nova.conf rename to configs/.config/kitty/kitty-themes/themes/Nova.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Novel.conf b/configs/.config/kitty/kitty-themes/themes/Novel.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Novel.conf rename to configs/.config/kitty/kitty-themes/themes/Novel.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Obsidian.conf b/configs/.config/kitty/kitty-themes/themes/Obsidian.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Obsidian.conf rename to configs/.config/kitty/kitty-themes/themes/Obsidian.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Ocean.conf b/configs/.config/kitty/kitty-themes/themes/Ocean.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Ocean.conf rename to configs/.config/kitty/kitty-themes/themes/Ocean.conf diff --git a/dotfiles/kitty/kitty-themes/themes/OceanicMaterial.conf b/configs/.config/kitty/kitty-themes/themes/OceanicMaterial.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/OceanicMaterial.conf rename to configs/.config/kitty/kitty-themes/themes/OceanicMaterial.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Ollie.conf b/configs/.config/kitty/kitty-themes/themes/Ollie.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Ollie.conf rename to configs/.config/kitty/kitty-themes/themes/Ollie.conf diff --git a/dotfiles/kitty/kitty-themes/themes/OneDark.conf b/configs/.config/kitty/kitty-themes/themes/OneDark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/OneDark.conf rename to configs/.config/kitty/kitty-themes/themes/OneDark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Parasio_Dark.conf b/configs/.config/kitty/kitty-themes/themes/Parasio_Dark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Parasio_Dark.conf rename to configs/.config/kitty/kitty-themes/themes/Parasio_Dark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/PaulMillr.conf b/configs/.config/kitty/kitty-themes/themes/PaulMillr.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/PaulMillr.conf rename to configs/.config/kitty/kitty-themes/themes/PaulMillr.conf diff --git a/dotfiles/kitty/kitty-themes/themes/PencilDark.conf b/configs/.config/kitty/kitty-themes/themes/PencilDark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/PencilDark.conf rename to configs/.config/kitty/kitty-themes/themes/PencilDark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/PencilLight.conf b/configs/.config/kitty/kitty-themes/themes/PencilLight.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/PencilLight.conf rename to configs/.config/kitty/kitty-themes/themes/PencilLight.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Piatto_Light.conf b/configs/.config/kitty/kitty-themes/themes/Piatto_Light.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Piatto_Light.conf rename to configs/.config/kitty/kitty-themes/themes/Piatto_Light.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Pnevma.conf b/configs/.config/kitty/kitty-themes/themes/Pnevma.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Pnevma.conf rename to configs/.config/kitty/kitty-themes/themes/Pnevma.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Pro.conf b/configs/.config/kitty/kitty-themes/themes/Pro.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Pro.conf rename to configs/.config/kitty/kitty-themes/themes/Pro.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Red_Alert.conf b/configs/.config/kitty/kitty-themes/themes/Red_Alert.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Red_Alert.conf rename to configs/.config/kitty/kitty-themes/themes/Red_Alert.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Red_Sands.conf b/configs/.config/kitty/kitty-themes/themes/Red_Sands.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Red_Sands.conf rename to configs/.config/kitty/kitty-themes/themes/Red_Sands.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Relaxed_Afterglow.conf b/configs/.config/kitty/kitty-themes/themes/Relaxed_Afterglow.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Relaxed_Afterglow.conf rename to configs/.config/kitty/kitty-themes/themes/Relaxed_Afterglow.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Renault_Style.conf b/configs/.config/kitty/kitty-themes/themes/Renault_Style.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Renault_Style.conf rename to configs/.config/kitty/kitty-themes/themes/Renault_Style.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Renault_Style_Light.conf b/configs/.config/kitty/kitty-themes/themes/Renault_Style_Light.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Renault_Style_Light.conf rename to configs/.config/kitty/kitty-themes/themes/Renault_Style_Light.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Rippedcasts.conf b/configs/.config/kitty/kitty-themes/themes/Rippedcasts.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Rippedcasts.conf rename to configs/.config/kitty/kitty-themes/themes/Rippedcasts.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Royal.conf b/configs/.config/kitty/kitty-themes/themes/Royal.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Royal.conf rename to configs/.config/kitty/kitty-themes/themes/Royal.conf diff --git a/dotfiles/kitty/kitty-themes/themes/SeaShells.conf b/configs/.config/kitty/kitty-themes/themes/SeaShells.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/SeaShells.conf rename to configs/.config/kitty/kitty-themes/themes/SeaShells.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Seafoam_Pastel.conf b/configs/.config/kitty/kitty-themes/themes/Seafoam_Pastel.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Seafoam_Pastel.conf rename to configs/.config/kitty/kitty-themes/themes/Seafoam_Pastel.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Seti.conf b/configs/.config/kitty/kitty-themes/themes/Seti.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Seti.conf rename to configs/.config/kitty/kitty-themes/themes/Seti.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Shaman.conf b/configs/.config/kitty/kitty-themes/themes/Shaman.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Shaman.conf rename to configs/.config/kitty/kitty-themes/themes/Shaman.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Slate.conf b/configs/.config/kitty/kitty-themes/themes/Slate.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Slate.conf rename to configs/.config/kitty/kitty-themes/themes/Slate.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Smyck.conf b/configs/.config/kitty/kitty-themes/themes/Smyck.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Smyck.conf rename to configs/.config/kitty/kitty-themes/themes/Smyck.conf diff --git a/dotfiles/kitty/kitty-themes/themes/SoftServer.conf b/configs/.config/kitty/kitty-themes/themes/SoftServer.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/SoftServer.conf rename to configs/.config/kitty/kitty-themes/themes/SoftServer.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Solarized_Darcula.conf b/configs/.config/kitty/kitty-themes/themes/Solarized_Darcula.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Solarized_Darcula.conf rename to configs/.config/kitty/kitty-themes/themes/Solarized_Darcula.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Solarized_Dark.conf b/configs/.config/kitty/kitty-themes/themes/Solarized_Dark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Solarized_Dark.conf rename to configs/.config/kitty/kitty-themes/themes/Solarized_Dark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf b/configs/.config/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf rename to configs/.config/kitty/kitty-themes/themes/Solarized_Dark_-_Patched.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf b/configs/.config/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf rename to configs/.config/kitty/kitty-themes/themes/Solarized_Dark_Higher_Contrast.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Solarized_Light.conf b/configs/.config/kitty/kitty-themes/themes/Solarized_Light.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Solarized_Light.conf rename to configs/.config/kitty/kitty-themes/themes/Solarized_Light.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Source_Code_X.conf b/configs/.config/kitty/kitty-themes/themes/Source_Code_X.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Source_Code_X.conf rename to configs/.config/kitty/kitty-themes/themes/Source_Code_X.conf diff --git a/dotfiles/kitty/kitty-themes/themes/SpaceGray.conf b/configs/.config/kitty/kitty-themes/themes/SpaceGray.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/SpaceGray.conf rename to configs/.config/kitty/kitty-themes/themes/SpaceGray.conf diff --git a/dotfiles/kitty/kitty-themes/themes/SpaceGray_Eighties.conf b/configs/.config/kitty/kitty-themes/themes/SpaceGray_Eighties.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/SpaceGray_Eighties.conf rename to configs/.config/kitty/kitty-themes/themes/SpaceGray_Eighties.conf diff --git a/dotfiles/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf b/configs/.config/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf rename to configs/.config/kitty/kitty-themes/themes/SpaceGray_Eighties_Dull.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Spacedust.conf b/configs/.config/kitty/kitty-themes/themes/Spacedust.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Spacedust.conf rename to configs/.config/kitty/kitty-themes/themes/Spacedust.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Spiderman.conf b/configs/.config/kitty/kitty-themes/themes/Spiderman.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Spiderman.conf rename to configs/.config/kitty/kitty-themes/themes/Spiderman.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Spring.conf b/configs/.config/kitty/kitty-themes/themes/Spring.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Spring.conf rename to configs/.config/kitty/kitty-themes/themes/Spring.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Square.conf b/configs/.config/kitty/kitty-themes/themes/Square.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Square.conf rename to configs/.config/kitty/kitty-themes/themes/Square.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Sundried.conf b/configs/.config/kitty/kitty-themes/themes/Sundried.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Sundried.conf rename to configs/.config/kitty/kitty-themes/themes/Sundried.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Symfonic.conf b/configs/.config/kitty/kitty-themes/themes/Symfonic.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Symfonic.conf rename to configs/.config/kitty/kitty-themes/themes/Symfonic.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tango_Dark.conf b/configs/.config/kitty/kitty-themes/themes/Tango_Dark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tango_Dark.conf rename to configs/.config/kitty/kitty-themes/themes/Tango_Dark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tango_Light.conf b/configs/.config/kitty/kitty-themes/themes/Tango_Light.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tango_Light.conf rename to configs/.config/kitty/kitty-themes/themes/Tango_Light.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Teerb.conf b/configs/.config/kitty/kitty-themes/themes/Teerb.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Teerb.conf rename to configs/.config/kitty/kitty-themes/themes/Teerb.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Thayer_Bright.conf b/configs/.config/kitty/kitty-themes/themes/Thayer_Bright.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Thayer_Bright.conf rename to configs/.config/kitty/kitty-themes/themes/Thayer_Bright.conf diff --git a/dotfiles/kitty/kitty-themes/themes/The_Hulk.conf b/configs/.config/kitty/kitty-themes/themes/The_Hulk.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/The_Hulk.conf rename to configs/.config/kitty/kitty-themes/themes/The_Hulk.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tomorrow.conf b/configs/.config/kitty/kitty-themes/themes/Tomorrow.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tomorrow.conf rename to configs/.config/kitty/kitty-themes/themes/Tomorrow.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tomorrow_Night.conf b/configs/.config/kitty/kitty-themes/themes/Tomorrow_Night.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tomorrow_Night.conf rename to configs/.config/kitty/kitty-themes/themes/Tomorrow_Night.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf b/configs/.config/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf rename to configs/.config/kitty/kitty-themes/themes/Tomorrow_Night_Blue.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf b/configs/.config/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf rename to configs/.config/kitty/kitty-themes/themes/Tomorrow_Night_Bright.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf b/configs/.config/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf rename to configs/.config/kitty/kitty-themes/themes/Tomorrow_Night_Eighties.conf diff --git a/dotfiles/kitty/kitty-themes/themes/ToyChest.conf b/configs/.config/kitty/kitty-themes/themes/ToyChest.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/ToyChest.conf rename to configs/.config/kitty/kitty-themes/themes/ToyChest.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Treehouse.conf b/configs/.config/kitty/kitty-themes/themes/Treehouse.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Treehouse.conf rename to configs/.config/kitty/kitty-themes/themes/Treehouse.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Twilight.conf b/configs/.config/kitty/kitty-themes/themes/Twilight.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Twilight.conf rename to configs/.config/kitty/kitty-themes/themes/Twilight.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Ubuntu.conf b/configs/.config/kitty/kitty-themes/themes/Ubuntu.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Ubuntu.conf rename to configs/.config/kitty/kitty-themes/themes/Ubuntu.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Urple.conf b/configs/.config/kitty/kitty-themes/themes/Urple.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Urple.conf rename to configs/.config/kitty/kitty-themes/themes/Urple.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Vaughn.conf b/configs/.config/kitty/kitty-themes/themes/Vaughn.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Vaughn.conf rename to configs/.config/kitty/kitty-themes/themes/Vaughn.conf diff --git a/dotfiles/kitty/kitty-themes/themes/VibrantInk.conf b/configs/.config/kitty/kitty-themes/themes/VibrantInk.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/VibrantInk.conf rename to configs/.config/kitty/kitty-themes/themes/VibrantInk.conf diff --git a/dotfiles/kitty/kitty-themes/themes/WarmNeon.conf b/configs/.config/kitty/kitty-themes/themes/WarmNeon.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/WarmNeon.conf rename to configs/.config/kitty/kitty-themes/themes/WarmNeon.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Wez.conf b/configs/.config/kitty/kitty-themes/themes/Wez.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Wez.conf rename to configs/.config/kitty/kitty-themes/themes/Wez.conf diff --git a/dotfiles/kitty/kitty-themes/themes/WildCherry.conf b/configs/.config/kitty/kitty-themes/themes/WildCherry.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/WildCherry.conf rename to configs/.config/kitty/kitty-themes/themes/WildCherry.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Wombat.conf b/configs/.config/kitty/kitty-themes/themes/Wombat.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Wombat.conf rename to configs/.config/kitty/kitty-themes/themes/Wombat.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Wryan.conf b/configs/.config/kitty/kitty-themes/themes/Wryan.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Wryan.conf rename to configs/.config/kitty/kitty-themes/themes/Wryan.conf diff --git a/dotfiles/kitty/kitty-themes/themes/Zenburn.conf b/configs/.config/kitty/kitty-themes/themes/Zenburn.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/Zenburn.conf rename to configs/.config/kitty/kitty-themes/themes/Zenburn.conf diff --git a/dotfiles/kitty/kitty-themes/themes/ayu.conf b/configs/.config/kitty/kitty-themes/themes/ayu.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/ayu.conf rename to configs/.config/kitty/kitty-themes/themes/ayu.conf diff --git a/dotfiles/kitty/kitty-themes/themes/ayu_light.conf b/configs/.config/kitty/kitty-themes/themes/ayu_light.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/ayu_light.conf rename to configs/.config/kitty/kitty-themes/themes/ayu_light.conf diff --git a/dotfiles/kitty/kitty-themes/themes/ayu_mirage.conf b/configs/.config/kitty/kitty-themes/themes/ayu_mirage.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/ayu_mirage.conf rename to configs/.config/kitty/kitty-themes/themes/ayu_mirage.conf diff --git a/dotfiles/kitty/kitty-themes/themes/gruvbox_dark.conf b/configs/.config/kitty/kitty-themes/themes/gruvbox_dark.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/gruvbox_dark.conf rename to configs/.config/kitty/kitty-themes/themes/gruvbox_dark.conf diff --git a/dotfiles/kitty/kitty-themes/themes/gruvbox_light.conf b/configs/.config/kitty/kitty-themes/themes/gruvbox_light.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/gruvbox_light.conf rename to configs/.config/kitty/kitty-themes/themes/gruvbox_light.conf diff --git a/dotfiles/kitty/kitty-themes/themes/idleToes.conf b/configs/.config/kitty/kitty-themes/themes/idleToes.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/idleToes.conf rename to configs/.config/kitty/kitty-themes/themes/idleToes.conf diff --git a/dotfiles/kitty/kitty-themes/themes/snazzy.conf b/configs/.config/kitty/kitty-themes/themes/snazzy.conf similarity index 100% rename from dotfiles/kitty/kitty-themes/themes/snazzy.conf rename to configs/.config/kitty/kitty-themes/themes/snazzy.conf diff --git a/dotfiles/kitty/kitty.conf b/configs/.config/kitty/kitty.conf similarity index 100% rename from dotfiles/kitty/kitty.conf rename to configs/.config/kitty/kitty.conf diff --git a/dotfiles/kitty/theme.conf b/configs/.config/kitty/theme.conf similarity index 100% rename from dotfiles/kitty/theme.conf rename to configs/.config/kitty/theme.conf diff --git a/CyberRe/background.png b/configs/boot/grub/themes/CyberRe/background.png similarity index 100% rename from CyberRe/background.png rename to configs/boot/grub/themes/CyberRe/background.png diff --git a/CyberRe/boot_menu2_c.png b/configs/boot/grub/themes/CyberRe/boot_menu2_c.png similarity index 100% rename from CyberRe/boot_menu2_c.png rename to configs/boot/grub/themes/CyberRe/boot_menu2_c.png diff --git a/CyberRe/dejavu_14.pf2 b/configs/boot/grub/themes/CyberRe/dejavu_14.pf2 similarity index 100% rename from CyberRe/dejavu_14.pf2 rename to configs/boot/grub/themes/CyberRe/dejavu_14.pf2 diff --git a/CyberRe/droidlogo_bold_17.pf2 b/configs/boot/grub/themes/CyberRe/droidlogo_bold_17.pf2 similarity index 100% rename from CyberRe/droidlogo_bold_17.pf2 rename to configs/boot/grub/themes/CyberRe/droidlogo_bold_17.pf2 diff --git a/CyberRe/droidlogo_bold_20.pf2 b/configs/boot/grub/themes/CyberRe/droidlogo_bold_20.pf2 similarity index 100% rename from CyberRe/droidlogo_bold_20.pf2 rename to configs/boot/grub/themes/CyberRe/droidlogo_bold_20.pf2 diff --git a/CyberRe/droidlogo_bold_26.pf2 b/configs/boot/grub/themes/CyberRe/droidlogo_bold_26.pf2 similarity index 100% rename from CyberRe/droidlogo_bold_26.pf2 rename to configs/boot/grub/themes/CyberRe/droidlogo_bold_26.pf2 diff --git a/CyberRe/droidlogo_regular_12.pf2 b/configs/boot/grub/themes/CyberRe/droidlogo_regular_12.pf2 similarity index 100% rename from CyberRe/droidlogo_regular_12.pf2 rename to configs/boot/grub/themes/CyberRe/droidlogo_regular_12.pf2 diff --git a/CyberRe/droidlogo_regular_17.pf2 b/configs/boot/grub/themes/CyberRe/droidlogo_regular_17.pf2 similarity index 100% rename from CyberRe/droidlogo_regular_17.pf2 rename to configs/boot/grub/themes/CyberRe/droidlogo_regular_17.pf2 diff --git a/CyberRe/highlight_c.png b/configs/boot/grub/themes/CyberRe/highlight_c.png similarity index 100% rename from CyberRe/highlight_c.png rename to configs/boot/grub/themes/CyberRe/highlight_c.png diff --git a/CyberRe/highlight_w.png b/configs/boot/grub/themes/CyberRe/highlight_w.png similarity index 100% rename from CyberRe/highlight_w.png rename to configs/boot/grub/themes/CyberRe/highlight_w.png diff --git a/CyberRe/preview.png b/configs/boot/grub/themes/CyberRe/preview.png similarity index 100% rename from CyberRe/preview.png rename to configs/boot/grub/themes/CyberRe/preview.png diff --git a/CyberRe/progress_highlight_c.png b/configs/boot/grub/themes/CyberRe/progress_highlight_c.png similarity index 100% rename from CyberRe/progress_highlight_c.png rename to configs/boot/grub/themes/CyberRe/progress_highlight_c.png diff --git a/CyberRe/theme.txt b/configs/boot/grub/themes/CyberRe/theme.txt similarity index 100% rename from CyberRe/theme.txt rename to configs/boot/grub/themes/CyberRe/theme.txt diff --git a/kde.knsv b/configs/kde.knsv similarity index 100% rename from kde.knsv rename to configs/kde.knsv diff --git a/install.example.conf b/install.example.conf deleted file mode 100644 index 2eb631b..0000000 --- a/install.example.conf +++ /dev/null @@ -1,3 +0,0 @@ -hostname=host -username=titus -password=1234 diff --git a/kderice-backup.sh b/kderice-backup.sh deleted file mode 100755 index 883e40a..0000000 --- a/kderice-backup.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -cp -r $HOME/.config/kitty $HOME/$SCRIPTHOME/dotfiles/kitty -konsave -s kde -konsave -e kde \ No newline at end of file diff --git a/kderice-restore.sh b/kderice-restore.sh deleted file mode 100755 index 4b3a481..0000000 --- a/kderice-restore.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -export PATH=$PATH:~/.local/bin -cp -r $HOME/$SCRIPTHOME/dotfiles/* $HOME/.config/ -pip install konsave -konsave -i $HOME/$SCRIPTHOME/kde.knsv -sleep 1 -konsave -a kde diff --git a/0-preinstall.sh b/scripts/0-preinstall.sh similarity index 98% rename from 0-preinstall.sh rename to scripts/0-preinstall.sh index 82896af..dd8920f 100755 --- a/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -7,7 +7,7 @@ # ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ # ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ #------------------------------------------------------------------------- -SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" + echo -ne " ------------------------------------------------------------------------- █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ @@ -22,7 +22,7 @@ echo -ne " Setting up mirrors for optimal download " -source setup.conf +source $CONFIGS_DIR/setup.conf iso=$(curl -4 ifconfig.co/country-iso) timedatectl set-ntp true pacman -S --noconfirm --needed pacman-contrib terminus-font @@ -122,7 +122,7 @@ elif [[ "${FS}" == "luks" ]]; then mount -t btrfs ${partition3} /mnt subvolumesetup # store uuid of encrypted partition for grub - echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> setup.conf + echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> $CONFIG_DIR/setup.conf fi # mount target diff --git a/1-setup.sh b/scripts/1-setup.sh similarity index 96% rename from 1-setup.sh rename to scripts/1-setup.sh index db817dd..90a08d0 100755 --- a/1-setup.sh +++ b/scripts/1-setup.sh @@ -12,7 +12,7 @@ echo -ne " SCRIPTHOME: ArchTitus ------------------------------------------------------------------------- " -source /root/ArchTitus/setup.conf +source /root/ArchTitus/configs/setup.conf echo -ne " ------------------------------------------------------------------------- Network Setup @@ -119,7 +119,7 @@ elif grep -E "Intel Corporation UHD" <<< ${gpu_type}; then pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa fi #SETUP IS WRONG THIS IS RUN -if ! source /root/ArchTitus/setup.conf; then +if ! source /root/ArchTitus/configs/setup.conf; then # Loop through user input until the user gives a valid username while true do @@ -133,11 +133,11 @@ if ! source /root/ArchTitus/setup.conf; then echo "Incorrect username." done # convert name to lowercase before saving to setup.conf -echo "username=${username,,}" >> ${HOME}/ArchTitus/setup.conf +echo "username=${username,,}" >> ${HOME}/ArchTitus/configs/setup.conf #Set Password read -p "Please enter password:" password -echo "password=${password,,}" >> ${HOME}/ArchTitus/setup.conf +echo "password=${password,,}" >> ${HOME}/ArchTitus/configs/setup.conf # Loop through user input until the user gives a valid hostname, but allow the user to force save while true @@ -156,7 +156,7 @@ echo "password=${password,,}" >> ${HOME}/ArchTitus/setup.conf fi done - echo "NAME_OF_MACHINE=${name_of_machine,,}" >> ${HOME}/ArchTitus/setup.conf + echo "NAME_OF_MACHINE=${name_of_machine,,}" >> ${HOME}/ArchTitus/configs/setup.conf fi echo -ne " ------------------------------------------------------------------------- diff --git a/2-user.sh b/scripts/2-user.sh similarity index 96% rename from 2-user.sh rename to scripts/2-user.sh index a9ddc0e..ddb8085 100755 --- a/2-user.sh +++ b/scripts/2-user.sh @@ -15,7 +15,7 @@ echo -ne " Installing AUR Softwares " # You can solve users running this script as root with this and then doing the same for the next for statement. However I will leave this up to you. -source $HOME/ArchTitus/setup.conf +source $HOME/ArchTitus/configs/setup.conf cd ~ touch "~/.cache/zshhistory" @@ -58,9 +58,9 @@ export PATH=$PATH:~/.local/bin # Theming DE if user chose FULL installation if [[ $INSTALL_TYPE == "FULL" ]]; then if [[ $DESKTOP_ENV == "kde" ]]; then - cp -r ~/ArchTitus/dotfiles/* ~/.config/ + cp -r ~/ArchTitus/configs/.config/* ~/.config/ pip install konsave - konsave -i ~/ArchTitus/kde.knsv + konsave -i ~/ArchTitus/configs/kde.knsv sleep 1 konsave -a kde elif [[ $DESKTOP_ENV == "openbox" ]]; then diff --git a/3-post-setup.sh b/scripts/3-post-setup.sh similarity index 97% rename from 3-post-setup.sh rename to scripts/3-post-setup.sh index 73b0612..6d13153 100755 --- a/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -15,8 +15,9 @@ echo -ne " Final Setup and Configurations GRUB EFI Bootloader Install & Check " -source /root/ArchTitus/setup.conf +source /root/ArchTitus/configs/setup.conf genfstab -U -p / >> /etc/fstab +cat /etc/fstab if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} fi @@ -32,7 +33,7 @@ echo -e "Creating the theme directory..." mkdir -p "${THEME_DIR}/${THEME_NAME}" echo -e "Copying the theme..." cd ${HOME}/ArchTitus -cp -a ${THEME_NAME}/* ${THEME_DIR}/${THEME_NAME} +cp -a configs${THEME_DIR}/${THEME_NAME}/* ${THEME_DIR}/${THEME_NAME} echo -e "Backing up Grub config..." cp -an /etc/default/grub /etc/default/grub.bak echo -e "Setting the theme as the default..." diff --git a/scripts/kderice-backup.sh b/scripts/kderice-backup.sh new file mode 100755 index 0000000..01ac15a --- /dev/null +++ b/scripts/kderice-backup.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cp -r $HOME/.config/kitty $HOME/$SCRIPTHOME/configs/.config/kitty +konsave -s kde +konsave -e kde \ No newline at end of file diff --git a/scripts/kderice-restore.sh b/scripts/kderice-restore.sh new file mode 100755 index 0000000..d2ecef6 --- /dev/null +++ b/scripts/kderice-restore.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +export PATH=$PATH:~/.local/bin +cp -r $HOME/$SCRIPTHOME/configs/.config/* $HOME/.config/ +pip install konsave +konsave -i $HOME/$SCRIPTHOME/configs/kde.knsv +sleep 1 +konsave -a kde diff --git a/startup.sh b/scripts/startup.sh similarity index 98% rename from startup.sh rename to scripts/startup.sh index 7f76044..abb01a6 100755 --- a/startup.sh +++ b/scripts/startup.sh @@ -3,9 +3,8 @@ # like disk, file system, timezone, keyboard layout, # user name, password, etc. -SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" # set up a config file -CONFIG_FILE=$SCRIPT_DIR/setup.conf +CONFIG_FILE=$CONFIGS_DIR/setup.conf if [ ! -f $CONFIG_FILE ]; then # check if file exists touch -f $CONFIG_FILE # create file if not exists fi diff --git a/setconsole.sh b/setconsole.sh deleted file mode 100755 index 55c893a..0000000 --- a/setconsole.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -sudo cat < /etc/vconsole.conf -KEYMAP=us -FONT=ter-v16b -EOF \ No newline at end of file From 17eea517f4355fff88f96cf9a54322cba4e658a7 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Thu, 17 Feb 2022 23:07:46 -0600 Subject: [PATCH 25/33] sudo fix --- scripts/1-setup.sh | 1 + scripts/3-post-setup.sh | 2 ++ 2 files changed, 3 insertions(+) diff --git a/scripts/1-setup.sh b/scripts/1-setup.sh index 90a08d0..a8c4ae0 100755 --- a/scripts/1-setup.sh +++ b/scripts/1-setup.sh @@ -58,6 +58,7 @@ localectl --no-ask-password set-keymap ${KEYMAP} # Add sudo no password rights sed -i 's/^# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers +sed -i 's/^# %wheel ALL=(ALL:ALL) NOPASSWD: ALL/%wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers #Add parallel downloading sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index 6d13153..7782ef2 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -112,8 +112,10 @@ echo -ne " " # Remove no password sudo rights sed -i 's/^%wheel ALL=(ALL) NOPASSWD: ALL/# %wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers +sed -i 's/^%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: ALL/' /etc/sudoers # Add sudo rights sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers +sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers rm -r /root/ArchTitus rm -r /home/$USERNAME/ArchTitus From e21015e235e005907ef6eeeca5d4e290e553b7b6 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 18 Feb 2022 08:37:02 -0600 Subject: [PATCH 26/33] more console output and copying logs to installation, fix copy configs --- archtitus.sh | 2 +- scripts/0-preinstall.sh | 2 +- scripts/3-post-setup.sh | 24 +++++++++++++++++++----- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/archtitus.sh b/archtitus.sh index 5b2f6d9..3f02439 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -20,7 +20,7 @@ echo -ne " Scripts are in directory named ArchTitus " ( bash $SCRIPT_DIR/scripts/startup.sh )|& tee startup.log - source $SCRIPT_DIR/configs/setup.conf + source $CONFIGS_DIR/setup.conf ( bash $SCRIPT_DIR/scripts/0-preinstall.sh )|& tee 0-preinstall.log ( arch-chroot /mnt /root/ArchTitus/scripts/1-setup.sh )|& tee 1-setup.log if [[ ! $DESKTOP_ENV == server ]]; then diff --git a/scripts/0-preinstall.sh b/scripts/0-preinstall.sh index dd8920f..73ec1cc 100755 --- a/scripts/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -122,7 +122,7 @@ elif [[ "${FS}" == "luks" ]]; then mount -t btrfs ${partition3} /mnt subvolumesetup # store uuid of encrypted partition for grub - echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> $CONFIG_DIR/setup.conf + echo ENCRYPTED_PARTITION_UUID=$(blkid -s UUID -o value ${partition3}) >> $CONFIGS_DIR/setup.conf fi # mount target diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index 7782ef2..fd13afb 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -15,9 +15,13 @@ echo -ne " Final Setup and Configurations GRUB EFI Bootloader Install & Check " -source /root/ArchTitus/configs/setup.conf +source ${HOME}/ArchTitus/configs/setup.conf genfstab -U -p / >> /etc/fstab +echo " + Generated /etc/fstab: +" cat /etc/fstab + if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} fi @@ -83,12 +87,18 @@ echo -ne " ------------------------------------------------------------------------- " systemctl enable cups.service +echo " Cups enabled" ntpd -qg systemctl enable ntpd.service +echo " NTP enabled" systemctl disable dhcpcd.service +echo " DHCP disabled" systemctl stop dhcpcd.service +echo " DHCP stopped" systemctl enable NetworkManager.service +echo " NetworkManager enabled" systemctl enable bluetooth +echo " Bluetooth enabled" if [[ "${FS}" == "luks" || "${FS}" == "btrfs" ]]; then echo -ne " @@ -97,11 +107,13 @@ echo -ne " ------------------------------------------------------------------------- " -SNAPPER_CONF="/root/ArchTitus/configs/etc/snapper/configs/root" -SNAPPER_CONF_D="/root/ArchTitus/configs/etc/conf.d/snapper" +SNAPPER_CONF="${HOME}/ArchTitus/configs/etc/snapper/configs/root" +SNAPPER_CONF_D="${HOME}/ArchTitus/configs/etc/conf.d/snapper" -cp -a ${SNAPPER_CONF} /home/$USERNAME/etc/snapper/configs/ -cp -a ${SNAPPER_CONF_D} /home/$USERNAME/etc/conf.d/ +mkdir -p /home/$USERNAME/etc/snapper/configs/ +mkdir -p /home/$USERNAME/etc/conf.d/ +cp --verbose -af ${SNAPPER_CONF} /home/$USERNAME/etc/snapper/configs/ +cp --verbose -af ${SNAPPER_CONF_D} /home/$USERNAME/etc/conf.d/ fi @@ -117,6 +129,8 @@ sed -i 's/^%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: A sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers +cp --verbose -a ${HOME}/ArchTitus/*.log /home/$USERNAME/ + rm -r /root/ArchTitus rm -r /home/$USERNAME/ArchTitus From a2b00058a218b3e4a42dd5466bb054099d87fee3 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Thu, 17 Feb 2022 23:08:50 -0600 Subject: [PATCH 27/33] fix misc errors from logs Remove iptables-nft conflict Include glibc in prereqs to prevent issues with outdated isos --- archtitus.sh | 4 ++-- pkg-files/pacman-pkgs.txt | 3 +-- scripts/0-preinstall.sh | 3 ++- scripts/1-setup.sh | 13 +++++++++---- scripts/2-user.sh | 4 ++-- scripts/3-post-setup.sh | 16 ++++++++-------- 6 files changed, 24 insertions(+), 19 deletions(-) diff --git a/archtitus.sh b/archtitus.sh index 3f02439..dc6f7b4 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -22,11 +22,11 @@ echo -ne " ( bash $SCRIPT_DIR/scripts/startup.sh )|& tee startup.log source $CONFIGS_DIR/setup.conf ( bash $SCRIPT_DIR/scripts/0-preinstall.sh )|& tee 0-preinstall.log - ( arch-chroot /mnt /root/ArchTitus/scripts/1-setup.sh )|& tee 1-setup.log + ( arch-chroot /mnt $HOME/ArchTitus/scripts/1-setup.sh )|& tee 1-setup.log if [[ ! $DESKTOP_ENV == server ]]; then ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/scripts/2-user.sh )|& tee 2-user.log fi - ( arch-chroot /mnt /root/ArchTitus/scripts/3-post-setup.sh )|& tee 3-post-setup.log + ( arch-chroot /mnt $HOME/ArchTitus/scripts/3-post-setup.sh )|& tee 3-post-setup.log echo -ne " ------------------------------------------------------------------------- diff --git a/pkg-files/pacman-pkgs.txt b/pkg-files/pacman-pkgs.txt index 8634b6a..636c9e4 100644 --- a/pkg-files/pacman-pkgs.txt +++ b/pkg-files/pacman-pkgs.txt @@ -8,7 +8,6 @@ xorg-xinit xterm binutils dosfstools -iptables-nft linux-headers noto-fonts-emoji usbutils @@ -81,7 +80,7 @@ python-psutil python-pyqt5 python-pip qemu -snap-pack +snap-pac snapper steam swtpm diff --git a/scripts/0-preinstall.sh b/scripts/0-preinstall.sh index 73ec1cc..417734d 100755 --- a/scripts/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -25,6 +25,7 @@ Setting up mirrors for optimal download source $CONFIGS_DIR/setup.conf iso=$(curl -4 ifconfig.co/country-iso) timedatectl set-ntp true +pacman -S --noconfirm archlinux-keyring #update keyrings to latest to prevent packages failing to install pacman -S --noconfirm --needed pacman-contrib terminus-font setfont ter-v22b sed -i 's/^#ParallelDownloads/ParallelDownloads/' /etc/pacman.conf @@ -42,7 +43,7 @@ echo -ne " Installing Prerequisites ------------------------------------------------------------------------- " -pacman -S --noconfirm --needed gptfdisk btrfs-progs +pacman -S --noconfirm --needed gptfdisk btrfs-progs glibc echo -ne " ------------------------------------------------------------------------- Formating Disk diff --git a/scripts/1-setup.sh b/scripts/1-setup.sh index a8c4ae0..9f0e1ad 100755 --- a/scripts/1-setup.sh +++ b/scripts/1-setup.sh @@ -12,7 +12,7 @@ echo -ne " SCRIPTHOME: ArchTitus ------------------------------------------------------------------------- " -source /root/ArchTitus/configs/setup.conf +source $HOME/ArchTitus/configs/setup.conf echo -ne " ------------------------------------------------------------------------- Network Setup @@ -75,7 +75,7 @@ echo -ne " # sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # stop the script and move on, not installing any more packages below that line if [[ ! $DESKTOP_ENV == server ]]; then - sed -n '/'$INSTALL_TYPE'/q;p' /root/ArchTitus/pkg-files/pacman-pkgs.txt | while read line + sed -n '/'$INSTALL_TYPE'/q;p' $HOME/ArchTitus/pkg-files/pacman-pkgs.txt | while read line do if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line @@ -120,7 +120,7 @@ elif grep -E "Intel Corporation UHD" <<< ${gpu_type}; then pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa fi #SETUP IS WRONG THIS IS RUN -if ! source /root/ArchTitus/configs/setup.conf; then +if ! source $HOME/ArchTitus/configs/setup.conf; then # Loop through user input until the user gives a valid username while true do @@ -167,11 +167,16 @@ echo -ne " if [ $(whoami) = "root" ]; then groupadd libvirt useradd -m -G wheel,libvirt -s /bin/bash $USERNAME + echo "$USERNAME created, home directory created, added to wheel and libvirt group, default shell set to /bin/bash" # use chpasswd to enter $USERNAME:$password echo "$USERNAME:$PASSWORD" | chpasswd - cp -R /root/ArchTitus /home/$USERNAME/ + echo "$USERNAME password set" + + cp -R $HOME/ArchTitus /home/$USERNAME/ chown -R $USERNAME: /home/$USERNAME/ArchTitus + echo "ArchTitus copied to home directory" + # enter $NAME_OF_MACHINE to /etc/hostname echo $NAME_OF_MACHINE > /etc/hostname else diff --git a/scripts/2-user.sh b/scripts/2-user.sh index ddb8085..b1b2c43 100755 --- a/scripts/2-user.sh +++ b/scripts/2-user.sh @@ -14,11 +14,11 @@ echo -ne " Installing AUR Softwares " -# You can solve users running this script as root with this and then doing the same for the next for statement. However I will leave this up to you. source $HOME/ArchTitus/configs/setup.conf cd ~ - touch "~/.cache/zshhistory" + mkdir "/home/$USERNAME/.cache" + touch "/home/$USERNAME/.cache/zshhistory" git clone "https://github.com/ChrisTitusTech/zsh" git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k ln -s "~/zsh/.zshrc" ~/.zshrc diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index fd13afb..b718bea 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -107,13 +107,13 @@ echo -ne " ------------------------------------------------------------------------- " -SNAPPER_CONF="${HOME}/ArchTitus/configs/etc/snapper/configs/root" -SNAPPER_CONF_D="${HOME}/ArchTitus/configs/etc/conf.d/snapper" +SNAPPER_CONF="$HOME/ArchTitus/configs/etc/snapper/configs/root" +mkdir -p /etc/snapper/configs/ +cp -rfv ${SNAPPER_CONF} /etc/snapper/configs/ -mkdir -p /home/$USERNAME/etc/snapper/configs/ -mkdir -p /home/$USERNAME/etc/conf.d/ -cp --verbose -af ${SNAPPER_CONF} /home/$USERNAME/etc/snapper/configs/ -cp --verbose -af ${SNAPPER_CONF_D} /home/$USERNAME/etc/conf.d/ +SNAPPER_CONF_D="$HOME/ArchTitus/configs/etc/conf.d/snapper" +mkdir -p /etc/conf.d/ +cp -rfv ${SNAPPER_CONF_D} /etc/conf.d/ fi @@ -129,9 +129,9 @@ sed -i 's/^%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: A sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers -cp --verbose -a ${HOME}/ArchTitus/*.log /home/$USERNAME/ +cp -rfv $HOME/ArchTitus/*.log /home/$USERNAME/ -rm -r /root/ArchTitus +rm -r $HOME/ArchTitus rm -r /home/$USERNAME/ArchTitus # Replace in the same state From 46a029874fedf58a3e8967605f2e96de4e97cb2d Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Fri, 18 Feb 2022 23:59:23 -0600 Subject: [PATCH 28/33] us default keymap --- scripts/startup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/startup.sh b/scripts/startup.sh index abb01a6..baf0e75 100755 --- a/scripts/startup.sh +++ b/scripts/startup.sh @@ -199,7 +199,7 @@ keymap () { echo -ne " Please select key board layout from this list" # These are default key maps as presented in official arch repo archinstall -options=(by ca cf cz de dk es et fa fi fr gr hu il it lt lv mk nl no pl ro ru sg ua uk us) +options=(us by ca cf cz de dk es et fa fi fr gr hu il it lt lv mk nl no pl ro ru sg ua uk) select_option $? 4 "${options[@]}" keymap=${options[$?]} From 1b6c54d87e4546f4609c8b15790de07f1eaa5796 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 19 Feb 2022 00:15:57 -0600 Subject: [PATCH 29/33] kvm missing packages --- pkg-files/aur-pkgs.txt | 2 ++ pkg-files/pacman-pkgs.txt | 2 ++ 2 files changed, 4 insertions(+) diff --git a/pkg-files/aur-pkgs.txt b/pkg-files/aur-pkgs.txt index c66c1be..a8ff557 100644 --- a/pkg-files/aur-pkgs.txt +++ b/pkg-files/aur-pkgs.txt @@ -1,6 +1,7 @@ --END OF MINIMAL INSTALL-- autojump brave-bin +bridge-utils dxvk-bin github-desktop-bin lightly-git @@ -16,4 +17,5 @@ ocs-url sddm-nordic-theme-git snapper-gui-git ttf-meslo +vde2 zoom diff --git a/pkg-files/pacman-pkgs.txt b/pkg-files/pacman-pkgs.txt index 636c9e4..dbacdd0 100644 --- a/pkg-files/pacman-pkgs.txt +++ b/pkg-files/pacman-pkgs.txt @@ -32,6 +32,8 @@ code cronie cups dialog +dmidecode +dnsmasq dtc efibootmgr egl-wayland From f78e8e17c1d0101a01570fc52908ca7c5e85d568 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 20 Feb 2022 13:31:00 -0600 Subject: [PATCH 30/33] fix log copy scope --- archtitus.sh | 1 + scripts/3-post-setup.sh | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/archtitus.sh b/archtitus.sh index dc6f7b4..693b248 100755 --- a/archtitus.sh +++ b/archtitus.sh @@ -27,6 +27,7 @@ echo -ne " ( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/scripts/2-user.sh )|& tee 2-user.log fi ( arch-chroot /mnt $HOME/ArchTitus/scripts/3-post-setup.sh )|& tee 3-post-setup.log + cp -v *.log /mnt/home/$USERNAME echo -ne " ------------------------------------------------------------------------- diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index b718bea..81aefb5 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -129,10 +129,8 @@ sed -i 's/^%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: A sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers -cp -rfv $HOME/ArchTitus/*.log /home/$USERNAME/ - -rm -r $HOME/ArchTitus -rm -r /home/$USERNAME/ArchTitus +rm -rv $HOME/ArchTitus +rm -rv /home/$USERNAME/ArchTitus # Replace in the same state cd $pwd From 28dcb64e8d782b48b59edb7a3dbea4c89bd54b60 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 20 Feb 2022 20:56:51 -0600 Subject: [PATCH 31/33] Generate fstab from /mnt and use label to prevent incorrect UUID issue. UUIDs always differ, use labels since we utilize them in formatting --- scripts/0-preinstall.sh | 6 ++++++ scripts/3-post-setup.sh | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/0-preinstall.sh b/scripts/0-preinstall.sh index 417734d..39471a9 100755 --- a/scripts/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -147,6 +147,12 @@ pacstrap /mnt base base-devel linux linux-firmware vim nano sudo archlinux-keyri echo "keyserver hkp://keyserver.ubuntu.com" >> /mnt/etc/pacman.d/gnupg/gpg.conf cp -R ${SCRIPT_DIR} /mnt/root/ArchTitus cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist + +genfstab -L /mnt >> /mnt/etc/fstab +echo " + Generated /etc/fstab: +" +cat /mnt/etc/fstab echo -ne " ------------------------------------------------------------------------- GRUB BIOS Bootloader Install & Check diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index 81aefb5..048c05d 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -16,11 +16,6 @@ Final Setup and Configurations GRUB EFI Bootloader Install & Check " source ${HOME}/ArchTitus/configs/setup.conf -genfstab -U -p / >> /etc/fstab -echo " - Generated /etc/fstab: -" -cat /etc/fstab if [[ -d "/sys/firmware/efi" ]]; then grub-install --efi-directory=/boot ${DISK} From a854c3c47977f254dadc392b4edf1f28b6032ae2 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 20 Feb 2022 21:00:44 -0600 Subject: [PATCH 32/33] Add -p to mkdir commands --- scripts/0-preinstall.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/0-preinstall.sh b/scripts/0-preinstall.sh index 39471a9..6633878 100755 --- a/scripts/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -127,8 +127,7 @@ elif [[ "${FS}" == "luks" ]]; then fi # mount target -mkdir /mnt/boot -mkdir /mnt/boot/efi +mkdir -p /mnt/boot/efi mount -t vfat -L EFIBOOT /mnt/boot/ if ! grep -qs '/mnt' /proc/mounts; then @@ -169,7 +168,7 @@ echo -ne " TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') if [[ $TOTAL_MEM -lt 8000000 ]]; then # Put swap into the actual system, not into RAM disk, otherwise there is no point in it, it'll cache RAM into RAM. So, /mnt/ everything. - mkdir /mnt/opt/swap # make a dir that we can apply NOCOW to to make it btrfs-friendly. + mkdir -p /mnt/opt/swap # make a dir that we can apply NOCOW to to make it btrfs-friendly. chattr +C /mnt/opt/swap # apply NOCOW, btrfs needs that. dd if=/dev/zero of=/mnt/opt/swap/swapfile bs=1M count=2048 status=progress chmod 600 /mnt/opt/swap/swapfile # set permissions. From 1f915fa541054cd2985afc4106747b9318891dc0 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sun, 20 Feb 2022 22:26:24 -0600 Subject: [PATCH 33/33] make sure devices are unmounted before formatting --- scripts/0-preinstall.sh | 3 +++ scripts/3-post-setup.sh | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/0-preinstall.sh b/scripts/0-preinstall.sh index 6633878..bea7ba7 100755 --- a/scripts/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -49,6 +49,7 @@ echo -ne " Formating Disk ------------------------------------------------------------------------- " +umount -A --recursive /mnt # make sure everything is unmounted before we start # disk prep sgdisk -Z ${DISK} # zap all on disk sgdisk -a 2048 -o ${DISK} # new gpt disk 2048 alignment @@ -60,6 +61,8 @@ sgdisk -n 3::-0 --typecode=3:8300 --change-name=3:'ROOT' ${DISK} # partition 3 ( if [[ ! -d "/sys/firmware/efi" ]]; then # Checking for bios system sgdisk -A 1:set:2 ${DISK} fi +partprobe ${DISK} # reread partition table to ensure it is correct + # make filesystems echo -ne " ------------------------------------------------------------------------- diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index 048c05d..55cc4d9 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -124,8 +124,8 @@ sed -i 's/^%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: A sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers -rm -rv $HOME/ArchTitus -rm -rv /home/$USERNAME/ArchTitus +rm -r $HOME/ArchTitus +rm -r /home/$USERNAME/ArchTitus # Replace in the same state cd $pwd