mirror of
https://gitlab.com/prism7/archery.git
synced 2026-04-28 09:27:35 +02:00
Add: 'Desktop Setup': Support for selecting a Web Browser has been added
Add: 'Desktop Setup': Offering Printer support has been added
Add: 'Desktop Setup': Additional packages have been added to Desktop Setups where missing ('gvfs' 'pipewire-pulse' 'pavucontrol' 'cosmic-player' 'xdg-user-dirs')
Change: Some variables & functions have been edited/renamed for clarity
Change: 'set_vars' function has been greatly optimized
Change: A few prompts have been edited for aesthetic purposes
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Amelia Installer
|
# Amelia Installer
|
||||||
# Source: https://gitlab.com/prism7/archery
|
# Source: https://gitlab.com/prism7/archery
|
||||||
# Version: 8.11.0
|
# Version: 8.12.0
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
cyan="\e[36m"
|
cyan="\e[36m"
|
||||||
red="\e[31m"
|
red="\e[31m"
|
||||||
nc="\e[0m"
|
nc="\e[0m"
|
||||||
|
|
||||||
MAGENTABG() { echo -e "${magentabg} $1${nc}" ;}
|
MAGENTABG() { echo -e "${magentabg} $1${nc}" ;}
|
||||||
YELLOWBG() { echo -e "${yellowbg} $1${nc}" ;}
|
YELLOWBG() { echo -e "${yellowbg} $1${nc}" ;}
|
||||||
YELLOWL() { echo -e "${yellowl} $1${nc}" ;}
|
YELLOWL() { echo -e "${yellowl} $1${nc}" ;}
|
||||||
@@ -67,6 +66,13 @@ ${green}Packages to be installed${nc}:
|
|||||||
|
|
||||||
${deskpkgs}"
|
${deskpkgs}"
|
||||||
}
|
}
|
||||||
|
deskname() {
|
||||||
|
sleep 0.2
|
||||||
|
YELLOW "
|
||||||
|
|
||||||
|
### ${desktopname} has been selected
|
||||||
|
"
|
||||||
|
}
|
||||||
vm() {
|
vm() {
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
RED "
|
RED "
|
||||||
@@ -242,7 +248,7 @@ amd() {
|
|||||||
NC "
|
NC "
|
||||||
|
|
||||||
|
|
||||||
* ${vgacard}
|
* ${gfxcard}
|
||||||
|
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
@@ -254,7 +260,7 @@ intel() {
|
|||||||
NC "
|
NC "
|
||||||
|
|
||||||
|
|
||||||
* ${vgacard}
|
* ${gfxcard}
|
||||||
|
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
@@ -266,7 +272,7 @@ nvidia() {
|
|||||||
NC "
|
NC "
|
||||||
|
|
||||||
|
|
||||||
* ${vgacard}
|
* ${gfxcard}
|
||||||
|
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
@@ -478,7 +484,7 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Machi
|
|||||||
if [[ "${hypervisor}" != "none" ]]; then
|
if [[ "${hypervisor}" != "none" ]]; then
|
||||||
vm
|
vm
|
||||||
vendor="Virtual Machine"
|
vendor="Virtual Machine"
|
||||||
vgaconf="n"
|
gfxconf="n"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${CPU}" == *"GenuineIntel"* ]]; then
|
if [[ "${CPU}" == *"GenuineIntel"* ]]; then
|
||||||
@@ -511,6 +517,7 @@ ${magenta}###${nc}------------------------------------${magenta}[ ${bwhite}Machi
|
|||||||
fi
|
fi
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
> Disable ${nc}Watchdogs ${yellow}in the installed system ? [Y/n]
|
> Disable ${nc}Watchdogs ${yellow}in the installed system ? [Y/n]
|
||||||
|
|
||||||
|
|
||||||
@@ -931,15 +938,15 @@ Enter a number: "
|
|||||||
1)
|
1)
|
||||||
until slct_krnl; do : ; done
|
until slct_krnl; do : ; done
|
||||||
until ask_sign; do : ; done
|
until ask_sign; do : ; done
|
||||||
until ask_bootldr; do : ; done
|
until slct_bootldr; do : ; done
|
||||||
until slct_espmnt; do : ; done
|
until slct_espmnt; do : ; done
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
2)
|
2)
|
||||||
until ask_fs; do : ; done
|
until slct_fs; do : ; done
|
||||||
until ask_swap; do : ; done
|
until slct_swap; do : ; done
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
3)
|
3)
|
||||||
until dtct_vga; do : ; done
|
until dtct_gfx; do : ; done
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
4)
|
4)
|
||||||
until slct_dsktp; do : ; done
|
until slct_dsktp; do : ; done
|
||||||
@@ -1100,7 +1107,7 @@ Enter [Y/n]: "
|
|||||||
ok
|
ok
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
ask_bootldr() {
|
slct_bootldr() {
|
||||||
|
|
||||||
local prompt="Bootloader Selection"
|
local prompt="Bootloader Selection"
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
@@ -1207,7 +1214,7 @@ Enter a number: "
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
ask_fs() {
|
slct_fs() {
|
||||||
|
|
||||||
local prompt="Filesystem Setup"
|
local prompt="Filesystem Setup"
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
@@ -1315,7 +1322,7 @@ Enter a name: "
|
|||||||
ok
|
ok
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
ask_swap() {
|
slct_swap() {
|
||||||
|
|
||||||
local prompt="Swap Setup"
|
local prompt="Swap Setup"
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
@@ -1454,7 +1461,7 @@ Enter Swap size ${bwhite}(in GB)${blue}: "
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
dtct_vga() {
|
dtct_gfx() {
|
||||||
|
|
||||||
if [[ "${hypervisor}" != "none" ]]; then
|
if [[ "${hypervisor}" != "none" ]]; then
|
||||||
vm
|
vm
|
||||||
@@ -1471,24 +1478,24 @@ dtct_vga() {
|
|||||||
|
|
||||||
${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Graphics Setup${nc} ${magenta}]${nc}-------------------------------------${magenta}###
|
${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Graphics Setup${nc} ${magenta}]${nc}-------------------------------------${magenta}###
|
||||||
"
|
"
|
||||||
vgacount="$(lspci | grep -E -c 'VGA|Display|3D')"
|
gfxcount="$(lspci | grep -E -c 'VGA|Display|3D')"
|
||||||
vgacard="$(lspci | grep -E 'VGA|Display|3D' | sed 's/^.*: //g')"
|
gfxcard="$(lspci | grep -E 'VGA|Display|3D' | sed 's/^.*: //g')"
|
||||||
intelcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Intel Corporation')"
|
intelcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Intel Corporation')"
|
||||||
intelcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Intel Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')"
|
intelcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Intel Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')"
|
||||||
amdcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Advanced Micro Devices')"
|
amdcount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'Advanced Micro Devices')"
|
||||||
amdcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Advanced Micro Devices' | sed 's/.*\[AMD\/ATI\] //g' | cat --number | sed 's/.[0-9]//')"
|
amdcards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'Advanced Micro Devices' | sed 's/.*\[AMD\/ATI\] //g' | cat --number | sed 's/.[0-9]//')"
|
||||||
nvidiacount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'NVIDIA Corporation')"
|
nvidiacount="$(lspci | grep -E 'VGA|Display|3D' | grep -E -c 'NVIDIA Corporation')"
|
||||||
nvidiacards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'NVIDIA Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')"
|
nvidiacards="$(lspci | grep -E 'VGA|Display|3D' | grep -E 'NVIDIA Corporation'| sed 's/.*Corporation //g' | cat --number | sed 's/.[0-9]//')"
|
||||||
vga_slct="yes"
|
gfx_slct="yes"
|
||||||
|
|
||||||
if [[ "${vgacount}" == "1" ]]; then
|
if [[ "${gfxcount}" == "1" ]]; then
|
||||||
dtct_single_vga
|
dtct_single_gfx
|
||||||
else
|
else
|
||||||
dtct_multi_vga
|
dtct_multi_gfx
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
dtct_single_vga() {
|
dtct_single_gfx() {
|
||||||
|
|
||||||
if [[ "${intelcount}" -eq "1" ]]; then
|
if [[ "${intelcount}" -eq "1" ]]; then
|
||||||
vendor="Intel"
|
vendor="Intel"
|
||||||
@@ -1527,14 +1534,14 @@ dtct_single_vga() {
|
|||||||
|
|
||||||
Enter [Y/n]: "
|
Enter [Y/n]: "
|
||||||
read -r -p "
|
read -r -p "
|
||||||
==> " vgaconf
|
==> " gfxconf
|
||||||
|
|
||||||
vgaconf="${vgaconf:-y}"
|
gfxconf="${gfxconf:-y}"
|
||||||
vgaconf="${vgaconf,,}"
|
gfxconf="${gfxconf,,}"
|
||||||
|
|
||||||
if [[ "${vgaconf}" == "y" ]]; then
|
if [[ "${gfxconf}" == "y" ]]; then
|
||||||
vga_conf
|
gfx_conf
|
||||||
elif [[ "${vgaconf}" == "n" ]]; then
|
elif [[ "${gfxconf}" == "n" ]]; then
|
||||||
local prompt="Graphics Setup"
|
local prompt="Graphics Setup"
|
||||||
skip
|
skip
|
||||||
ok
|
ok
|
||||||
@@ -1544,18 +1551,18 @@ Enter [Y/n]: "
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
dtct_multi_vga() {
|
dtct_multi_gfx() {
|
||||||
|
|
||||||
if [[ "${vgacount}" == "2" ]]; then
|
if [[ "${gfxcount}" == "2" ]]; then
|
||||||
vga_setup="Dual"
|
gfx_setup="Dual"
|
||||||
elif [[ "${vgacount}" == "3" ]]; then
|
elif [[ "${gfxcount}" == "3" ]]; then
|
||||||
vga_setup="Triple"
|
gfx_setup="Triple"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
### ${vga_setup} Graphics setup detected, consisting of: "
|
### ${gfx_setup} Graphics setup detected, consisting of: "
|
||||||
NC "
|
NC "
|
||||||
|
|
||||||
____________________________________________________________________"
|
____________________________________________________________________"
|
||||||
@@ -1707,33 +1714,33 @@ Enter a number: "
|
|||||||
fi
|
fi
|
||||||
if [[ "${vendor}" == "Intel" || "${vendor}" == "AMD" ]]; then
|
if [[ "${vendor}" == "Intel" || "${vendor}" == "AMD" ]]; then
|
||||||
sourcetype="Open-source"
|
sourcetype="Open-source"
|
||||||
vgaconf="y"
|
gfxconf="y"
|
||||||
vga_conf
|
gfx_conf
|
||||||
elif [[ "${vendor}" == "Nvidia" ]]; then
|
elif [[ "${vendor}" == "Nvidia" ]]; then
|
||||||
sourcetype="Proprietary"
|
sourcetype="Proprietary"
|
||||||
vgaconf="y"
|
gfxconf="y"
|
||||||
vga_conf
|
gfx_conf
|
||||||
elif [[ "${vendors}" == "Intel & AMD" ]]; then
|
elif [[ "${vendors}" == "Intel & AMD" ]]; then
|
||||||
sourcetype="Open-source"
|
sourcetype="Open-source"
|
||||||
vgaconf="y"
|
gfxconf="y"
|
||||||
vga_conf
|
gfx_conf
|
||||||
elif [[ "${vendors}" == "Intel & Nvidia" ]]; then
|
elif [[ "${vendors}" == "Intel & Nvidia" ]]; then
|
||||||
sourcetype="Open-source & Proprietary"
|
sourcetype="Open-source & Proprietary"
|
||||||
vgaconf="y"
|
gfxconf="y"
|
||||||
vga_conf
|
gfx_conf
|
||||||
elif [[ "${vendors}" == "AMD & Nvidia" ]]; then
|
elif [[ "${vendors}" == "AMD & Nvidia" ]]; then
|
||||||
sourcetype="Open-source & Proprietary"
|
sourcetype="Open-source & Proprietary"
|
||||||
vgaconf="y"
|
gfxconf="y"
|
||||||
vga_conf
|
gfx_conf
|
||||||
elif [[ "${vendor}" == "none" ]]; then
|
elif [[ "${vendor}" == "none" ]]; then
|
||||||
local prompt="Graphics Setup"
|
local prompt="Graphics Setup"
|
||||||
vgaconf="n"
|
gfxconf="n"
|
||||||
skip
|
skip
|
||||||
ok
|
ok
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
vga_conf() {
|
gfx_conf() {
|
||||||
|
|
||||||
if [[ "${vendor}" != "none" ]]; then
|
if [[ "${vendor}" != "none" ]]; then
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
@@ -1885,7 +1892,7 @@ gfxpkgs_set() {
|
|||||||
gfxpkgs=()
|
gfxpkgs=()
|
||||||
|
|
||||||
# Configure Graphics = yes
|
# Configure Graphics = yes
|
||||||
if [[ "${vgaconf}" == "y" ]]; then
|
if [[ "${gfxconf}" == "y" ]]; then
|
||||||
# Intel Graphics
|
# Intel Graphics
|
||||||
if [[ "${vendor}" == "Intel" || "${vendors}" =~ "Intel" ]]; then
|
if [[ "${vendor}" == "Intel" || "${vendors}" =~ "Intel" ]]; then
|
||||||
# /etc/sysctl.d/99-sysctld.conf
|
# /etc/sysctl.d/99-sysctld.conf
|
||||||
@@ -1944,7 +1951,7 @@ gfxpkgs_set() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
# Configure Graphics = no
|
# Configure Graphics = no
|
||||||
elif [[ "${vgaconf}" == "n" ]]; then
|
elif [[ "${gfxconf}" == "n" ]]; then
|
||||||
# Nvidia Graphics
|
# Nvidia Graphics
|
||||||
if [[ "${vendor}" == "Nvidia" || "${vendors}" =~ "Nvidia" ]]; then
|
if [[ "${vendor}" == "Nvidia" || "${vendors}" =~ "Nvidia" ]]; then
|
||||||
gfxpkgs+=(libva-mesa-driver vulkan-nouveau)
|
gfxpkgs+=(libva-mesa-driver vulkan-nouveau)
|
||||||
@@ -2002,17 +2009,23 @@ Enter a number: "
|
|||||||
|
|
||||||
case "${packages}" in
|
case "${packages}" in
|
||||||
1)
|
1)
|
||||||
desktopname="Plasma" ;;
|
desktopname="Plasma"
|
||||||
|
deskname ;;
|
||||||
2)
|
2)
|
||||||
desktopname="Minimal Plasma (System Optimized)" ;;
|
desktopname="Minimal Plasma (System Optimized)"
|
||||||
|
deskname ;;
|
||||||
3)
|
3)
|
||||||
desktopname="Gnome" ;;
|
desktopname="Gnome"
|
||||||
|
deskname ;;
|
||||||
4)
|
4)
|
||||||
desktopname="Minimal Gnome (System Optimized)" ;;
|
desktopname="Minimal Gnome (System Optimized)"
|
||||||
|
deskname ;;
|
||||||
5)
|
5)
|
||||||
desktopname="Xfce" ;;
|
desktopname="Xfce"
|
||||||
|
deskname ;;
|
||||||
6)
|
6)
|
||||||
desktopname="Cinnamon"
|
desktopname="Cinnamon"
|
||||||
|
deskname
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
@@ -2048,9 +2061,11 @@ Enter [Y/n]: "
|
|||||||
esac ;;
|
esac ;;
|
||||||
|
|
||||||
7)
|
7)
|
||||||
desktopname="Deepin" ;;
|
desktopname="Deepin"
|
||||||
|
deskname ;;
|
||||||
8)
|
8)
|
||||||
desktopname="Budgie"
|
desktopname="Budgie"
|
||||||
|
deskname
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
@@ -2086,17 +2101,21 @@ Enter [Y/n]: "
|
|||||||
esac ;;
|
esac ;;
|
||||||
|
|
||||||
9)
|
9)
|
||||||
desktopname="Lxqt" ;;
|
desktopname="Lxqt"
|
||||||
|
deskname ;;
|
||||||
10)
|
10)
|
||||||
desktopname="Mate" ;;
|
desktopname="Mate"
|
||||||
|
deskname ;;
|
||||||
11)
|
11)
|
||||||
desktopname="Basic Arch Linux" ;;
|
desktopname="Basic Arch Linux"
|
||||||
|
deskname ;;
|
||||||
12)
|
12)
|
||||||
desktopname="Custom Arch Linux"
|
desktopname="Custom Arch Linux"
|
||||||
until cust_sys; do :; done
|
until cust_sys; do :; done
|
||||||
return 0 ;;
|
return 0 ;;
|
||||||
13)
|
13)
|
||||||
desktopname="Cosmic" ;;
|
desktopname="Cosmic"
|
||||||
|
deskname ;;
|
||||||
"")
|
"")
|
||||||
choice
|
choice
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
@@ -2104,13 +2123,11 @@ Enter [Y/n]: "
|
|||||||
invalid
|
invalid
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
sleep 0.2
|
sleep 0.2
|
||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
### ${desktopname} has been selected
|
|
||||||
|
|
||||||
|
|
||||||
### NOTE: 'base' meta-package does not include the tools needed for building packages
|
### NOTE: 'base' meta-package does not include the tools needed for building packages
|
||||||
|
|
||||||
> Install ${nc}'base-devel' ${yellow}meta-package ? [Y/n] "
|
> Install ${nc}'base-devel' ${yellow}meta-package ? [Y/n] "
|
||||||
@@ -2126,11 +2143,9 @@ Enter [Y/n]: "
|
|||||||
|
|
||||||
case "${dev}" in
|
case "${dev}" in
|
||||||
y)
|
y)
|
||||||
|
local prompt="base-devel"
|
||||||
devel="base-devel"
|
devel="base-devel"
|
||||||
sleep 0.2
|
ok ;;
|
||||||
NC "
|
|
||||||
|
|
||||||
==> [${green}base-devel OK${nc}] " ;;
|
|
||||||
n)
|
n)
|
||||||
skip ;;
|
skip ;;
|
||||||
*)
|
*)
|
||||||
@@ -2142,9 +2157,77 @@ Enter [Y/n]: "
|
|||||||
YELLOW "
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
### NOTE: Custom Kernel Parameters can be set at boot time
|
### Web Browser support is available
|
||||||
|
|
||||||
> Enter your own Kernel Parameters ? [y/N] "
|
> Select Web Browser to install "
|
||||||
|
NC "
|
||||||
|
|
||||||
|
[1] Firefox
|
||||||
|
|
||||||
|
[2] Chromium
|
||||||
|
|
||||||
|
[3] Vivaldi "
|
||||||
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
|
Enter a number ${bwhite}(empty to skip)${blue}: "
|
||||||
|
read -r -p "
|
||||||
|
==> " web
|
||||||
|
|
||||||
|
local prompt="Web Browser"
|
||||||
|
case "${web}" in
|
||||||
|
1)
|
||||||
|
web_browser="firefox"
|
||||||
|
ok ;;
|
||||||
|
2)
|
||||||
|
web_browser="chromium"
|
||||||
|
ok ;;
|
||||||
|
3)
|
||||||
|
web_browser="vivaldi"
|
||||||
|
ok ;;
|
||||||
|
"")
|
||||||
|
skip ;;
|
||||||
|
*)
|
||||||
|
invalid
|
||||||
|
return 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
sleep 0.2
|
||||||
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
|
### Printing support is available
|
||||||
|
|
||||||
|
> Enable Printing support ? [Y/n] "
|
||||||
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
|
Enter [Y/n]: "
|
||||||
|
read -r -p "
|
||||||
|
==> " printer
|
||||||
|
|
||||||
|
printer="${printer:-y}"
|
||||||
|
printer="${printer,,}"
|
||||||
|
|
||||||
|
case "${printer}" in
|
||||||
|
y)
|
||||||
|
local prompt="Printer Support"
|
||||||
|
print_pkgs="cups-pdf cups-browsed ipp-usb xdg-utils colord"
|
||||||
|
ok ;;
|
||||||
|
n)
|
||||||
|
skip ;;
|
||||||
|
*)
|
||||||
|
invalid
|
||||||
|
return 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
sleep 0.2
|
||||||
|
YELLOW "
|
||||||
|
|
||||||
|
|
||||||
|
### Custom Kernel Parameters can be set at boot time
|
||||||
|
|
||||||
|
> Enter your own additional Kernel Parameters ? [y/N] "
|
||||||
BLUE "
|
BLUE "
|
||||||
|
|
||||||
|
|
||||||
@@ -2164,6 +2247,7 @@ Enter [y/N]: "
|
|||||||
invalid
|
invalid
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
esac
|
esac
|
||||||
|
local prompt="Desktop Setup"
|
||||||
ok
|
ok
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
@@ -2735,12 +2819,15 @@ ${magenta}###${nc}---------------------------------${magenta}[ ${bwhite}Automati
|
|||||||
sleep 0.2
|
sleep 0.2
|
||||||
NC "
|
NC "
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
${cyan}>> ${nc}Apply ${yellowl}'Smart Partitioning' ${nc}on disk ${bwhite}'${instl_drive}'${nc} ? ${cyan}[y/n]${nc}
|
${cyan}>> ${nc}Apply ${yellowl}'Smart Partitioning' ${nc}on disk ${bwhite}'${instl_drive}'${nc} ? ${cyan}[Y/n]${nc}
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
"
|
"
|
||||||
read -r -p "
|
read -r -p "
|
||||||
==> " smartpart
|
==> " smartpart
|
||||||
|
|
||||||
echo
|
echo
|
||||||
|
smartpart="${smartpart:-y}"
|
||||||
|
smartpart="${smartpart,,}"
|
||||||
|
|
||||||
if [[ "${smartpart}" == "y" ]]; then
|
if [[ "${smartpart}" == "y" ]]; then
|
||||||
sgdsk_nmbr="${instl_dsk_nmbr}"
|
sgdsk_nmbr="${instl_dsk_nmbr}"
|
||||||
@@ -4023,21 +4110,21 @@ instl() {
|
|||||||
completion_err
|
completion_err
|
||||||
until slct_krnl; do : ; done
|
until slct_krnl; do : ; done
|
||||||
until ask_sign; do : ; done
|
until ask_sign; do : ; done
|
||||||
until ask_bootldr; do : ; done
|
until slct_bootldr; do : ; done
|
||||||
until slct_espmnt; do : ; done
|
until slct_espmnt; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${fs}" ]]; then
|
if [[ -z "${fs}" ]]; then
|
||||||
local stage_prompt="Filesystem & Swap Setup"
|
local stage_prompt="Filesystem & Swap Setup"
|
||||||
completion_err
|
completion_err
|
||||||
until ask_fs; do : ; done
|
until slct_fs; do : ; done
|
||||||
until ask_swap; do : ; done
|
until slct_swap; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${hypervisor}" == "none" && "${vga_slct}" != "yes" ]]; then
|
if [[ "${hypervisor}" == "none" && "${gfx_slct}" != "yes" ]]; then
|
||||||
local stage_prompt="Graphics Setup"
|
local stage_prompt="Graphics Setup"
|
||||||
completion_err
|
completion_err
|
||||||
until dtct_vga; do : ; done
|
until dtct_gfx; do : ; done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "${packages}" ]]; then
|
if [[ -z "${packages}" ]]; then
|
||||||
@@ -5001,23 +5088,22 @@ ${magenta}###${nc}-------------------------------${magenta}[ ${bwhite}Confirm In
|
|||||||
revise() {
|
revise() {
|
||||||
|
|
||||||
revision="yes"
|
revision="yes"
|
||||||
reset=(xbootloader="" vgaconf="" vendor_slct="" vendor="" packages="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" preset="" autoroot="" autoxboot="" autohome="" autoswap="" vendors="" lowlat="" vendors="" nogsp="")
|
reset=(xbootloader="" gfxconf="" vendor_slct="" vendor="" packages="" custompkgs="" customservices="" cust_bootopts="" REGDOM="" preset="" autoroot="" autoxboot="" autohome="" autoswap="" vendors="" lowlat="" vendors="" nogsp="")
|
||||||
export "${reset[@]}"
|
export "${reset[@]}"
|
||||||
gfxpkgs=()
|
gfxpkgs=()
|
||||||
|
|
||||||
if [[ "${hypervisor}" != "none" ]]; then
|
if [[ "${hypervisor}" != "none" ]]; then
|
||||||
vm
|
|
||||||
vendor="Virtual Machine"
|
vendor="Virtual Machine"
|
||||||
vgaconf="n"
|
gfxconf="n"
|
||||||
fi
|
fi
|
||||||
until slct_krnl; do : ; done
|
until slct_krnl; do : ; done
|
||||||
until ask_sign; do : ; done
|
until ask_sign; do : ; done
|
||||||
until ask_bootldr; do : ; done
|
until slct_bootldr; do : ; done
|
||||||
until slct_espmnt; do : ; done
|
until slct_espmnt; do : ; done
|
||||||
until ask_fs; do : ; done
|
until slct_fs; do : ; done
|
||||||
until ask_swap; do : ; done
|
until slct_swap; do : ; done
|
||||||
if [[ "${hypervisor}" == "none" ]]; then
|
if [[ "${hypervisor}" == "none" ]]; then
|
||||||
until dtct_vga; do : ; done
|
until dtct_gfx; do : ; done
|
||||||
fi
|
fi
|
||||||
until slct_dsktp; do : ; done
|
until slct_dsktp; do : ; done
|
||||||
if [[ "${hypervisor}" == "none" ]]; then
|
if [[ "${hypervisor}" == "none" ]]; then
|
||||||
@@ -5443,6 +5529,12 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
|||||||
if [[ -n "${wireless_reg}" ]]; then
|
if [[ -n "${wireless_reg}" ]]; then
|
||||||
basepkgs+=("${wireless_reg}")
|
basepkgs+=("${wireless_reg}")
|
||||||
fi
|
fi
|
||||||
|
if [[ -n "${print_pkgs}" ]]; then
|
||||||
|
basepkgs+=("${print_pkgs}")
|
||||||
|
fi
|
||||||
|
if [[ -n "${web_browser}" ]]; then
|
||||||
|
basepkgs+=("${web_browser}")
|
||||||
|
fi
|
||||||
|
|
||||||
case "${packages}" in
|
case "${packages}" in
|
||||||
|
|
||||||
@@ -5465,18 +5557,18 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
|||||||
deskpkgs="${basepkgs[*]} dconf-editor evince file-roller gdm gnome-calculator gnome-clocks gnome-connections gnome-console gnome-control-center gnome-disk-utility gnome-keyring gnome-menus gnome-remote-desktop gnome-session gnome-shell-extensions gnome-system-monitor gnome-text-editor gnome-tweaks gnome-user-share gvfs gvfs-afc gvfs-mtp loupe malcontent nautilus networkmanager power-profiles-daemon simple-scan sushi system-config-printer xdg-desktop-portal-gnome xdg-user-dirs-gtk alsa-firmware alsa-utils ccache cups-pdf exfatprogs fdkaac git glib2-devel glibc-locales gnome-browser-connector gparted gst-libav gst-plugin-libcamera gst-plugin-msdk gst-plugin-opencv gst-plugin-pipewire gst-plugin-qmlgl gst-plugin-va gst-plugin-wpe gst-plugins-ugly gstreamer-vaapi htop icoutils ipp-usb libfido2 libva-utils lrzip mac man-db man-pages meld mesa-utils nano-syntax-highlighting nss-mdns ntfs-3g p7zip pacman-contrib pbzip2 pigz pipewire-alsa pipewire-jack pipewire-pulse powerline powerline-fonts qbittorrent realtime-privileges reflector rng-tools sof-firmware sox terminus-font ttf-ubuntu-font-family unrar unzip usb_modeswitch usbutils vdpauinfo vlc wget zip zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting ${nrg_plc}" ;;
|
deskpkgs="${basepkgs[*]} dconf-editor evince file-roller gdm gnome-calculator gnome-clocks gnome-connections gnome-console gnome-control-center gnome-disk-utility gnome-keyring gnome-menus gnome-remote-desktop gnome-session gnome-shell-extensions gnome-system-monitor gnome-text-editor gnome-tweaks gnome-user-share gvfs gvfs-afc gvfs-mtp loupe malcontent nautilus networkmanager power-profiles-daemon simple-scan sushi system-config-printer xdg-desktop-portal-gnome xdg-user-dirs-gtk alsa-firmware alsa-utils ccache cups-pdf exfatprogs fdkaac git glib2-devel glibc-locales gnome-browser-connector gparted gst-libav gst-plugin-libcamera gst-plugin-msdk gst-plugin-opencv gst-plugin-pipewire gst-plugin-qmlgl gst-plugin-va gst-plugin-wpe gst-plugins-ugly gstreamer-vaapi htop icoutils ipp-usb libfido2 libva-utils lrzip mac man-db man-pages meld mesa-utils nano-syntax-highlighting nss-mdns ntfs-3g p7zip pacman-contrib pbzip2 pigz pipewire-alsa pipewire-jack pipewire-pulse powerline powerline-fonts qbittorrent realtime-privileges reflector rng-tools sof-firmware sox terminus-font ttf-ubuntu-font-family unrar unzip usb_modeswitch usbutils vdpauinfo vlc wget zip zsh zsh-autosuggestions zsh-completions zsh-syntax-highlighting ${nrg_plc}" ;;
|
||||||
|
|
||||||
5) # Xfce Desktop:
|
5) # Xfce Desktop:
|
||||||
deskpkgs="${basepkgs[*]} xfce4 xdg-user-dirs lightdm-gtk-greeter network-manager-applet"
|
deskpkgs="${basepkgs[*]} xfce4 gvfs lightdm-gtk-greeter network-manager-applet pavucontrol pipewire-pulse xfce4-screensaver xdg-user-dirs"
|
||||||
displaymanager="lightdm"
|
displaymanager="lightdm"
|
||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
|
|
||||||
6) # Cinnamon Desktop:
|
6) # Cinnamon Desktop:
|
||||||
deskpkgs="${basepkgs[*]} cinnamon blueberry lightdm-slick-greeter system-config-printer gnome-keyring xdg-user-dirs ${terminal}"
|
deskpkgs="${basepkgs[*]} cinnamon blueberry gnome-keyring gvfs lightdm-slick-greeter system-config-printer xdg-user-dirs ${terminal}"
|
||||||
displaymanager="lightdm"
|
displaymanager="lightdm"
|
||||||
bluetooth="bluetooth"
|
bluetooth="bluetooth"
|
||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
|
|
||||||
7) # Deepin Desktop:
|
7) # Deepin Desktop:
|
||||||
deskpkgs="${basepkgs[*]} deepin deepin-terminal deepin-kwin networkmanager"
|
deskpkgs="${basepkgs[*]} deepin deepin-kwin deepin-terminal"
|
||||||
displaymanager="lightdm"
|
displaymanager="lightdm"
|
||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
|
|
||||||
@@ -5486,12 +5578,12 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
|||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
|
|
||||||
9) # Lxqt Desktop:
|
9) # Lxqt Desktop:
|
||||||
deskpkgs="${basepkgs[*]} lxqt lxqt-wayland-session breeze-icons network-manager-applet sddm xscreensaver"
|
deskpkgs="${basepkgs[*]} lxqt breeze-icons gvfs network-manager-applet sddm xscreensaver"
|
||||||
displaymanager="sddm"
|
displaymanager="sddm"
|
||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
|
|
||||||
10) # Mate Desktop:
|
10) # Mate Desktop:
|
||||||
deskpkgs="${basepkgs[*]} mate mate-terminal mate-media blueman network-manager-applet mate-power-manager system-config-printer lightdm-gtk-greeter xdg-user-dirs"
|
deskpkgs="${basepkgs[*]} mate mate-terminal mate-media blueman network-manager-applet mate-power-manager pipewire-pulse system-config-printer lightdm-gtk-greeter xdg-user-dirs"
|
||||||
displaymanager="lightdm"
|
displaymanager="lightdm"
|
||||||
bluetooth="bluetooth"
|
bluetooth="bluetooth"
|
||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
@@ -5526,10 +5618,16 @@ ${magenta}###${nc}-------------------------------------${magenta}[ ${bwhite}Pacs
|
|||||||
if [[ -n "${wireless_reg}" ]]; then
|
if [[ -n "${wireless_reg}" ]]; then
|
||||||
custarray+=("${wireless_reg}")
|
custarray+=("${wireless_reg}")
|
||||||
fi
|
fi
|
||||||
|
if [[ -n "${print_pkgs}" ]]; then
|
||||||
|
custarray+=("${print_pkgs}")
|
||||||
|
fi
|
||||||
|
if [[ -n "${web_browser}" ]]; then
|
||||||
|
custarray+=("${web_browser}")
|
||||||
|
fi
|
||||||
deskpkgs="${custarray[*]}" ;;
|
deskpkgs="${custarray[*]}" ;;
|
||||||
|
|
||||||
13) # Cosmic Desktop:
|
13) # Cosmic Desktop:
|
||||||
deskpkgs="${basepkgs[*]} cosmic networkmanager"
|
deskpkgs="${basepkgs[*]} cosmic cosmic-player networkmanager pipewire-pulse xdg-user-dirs"
|
||||||
displaymanager="cosmic-greeter"
|
displaymanager="cosmic-greeter"
|
||||||
network="NetworkManager" ;;
|
network="NetworkManager" ;;
|
||||||
esac
|
esac
|
||||||
@@ -5739,7 +5837,7 @@ GRUB_BTRFSD
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]]; then
|
if [[ "${gfxconf}" == "y" && "${vendor}" == "Nvidia" ]]; then
|
||||||
local stage_prompt="Grub/Nvidia Configuration"
|
local stage_prompt="Grub/Nvidia Configuration"
|
||||||
if arch-chroot /mnt <<-NVGRUB > /dev/null 2>&1 2> amelia_log.txt ; then
|
if arch-chroot /mnt <<-NVGRUB > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
sed -i "/^#GRUB_TERMINAL_OUTPUT=console/s/^#//" /etc/default/grub || exit
|
sed -i "/^#GRUB_TERMINAL_OUTPUT=console/s/^#//" /etc/default/grub || exit
|
||||||
@@ -5811,7 +5909,7 @@ ZRAMCONF
|
|||||||
###################################################################################################
|
###################################################################################################
|
||||||
nvidia_hook() {
|
nvidia_hook() {
|
||||||
|
|
||||||
if [[ "${vgaconf}" == "y" && "${vendor}" == "Nvidia" ]] || [[ "${vgaconf}" == "y" && "${vendors}" =~ "Nvidia" ]]; then
|
if [[ "${gfxconf}" == "y" && "${vendor}" == "Nvidia" ]] || [[ "${gfxconf}" == "y" && "${vendors}" =~ "Nvidia" ]]; then
|
||||||
if [[ "${nvname}" == "nvidia-open" ]] || [[ "${nvname}" == "nvidia" ]] || [[ "${nvname}" == "nvidia-lts" ]]; then
|
if [[ "${nvname}" == "nvidia-open" ]] || [[ "${nvname}" == "nvidia" ]] || [[ "${nvname}" == "nvidia-lts" ]]; then
|
||||||
local stage_prompt="Nvidia Hook Creation"
|
local stage_prompt="Nvidia Hook Creation"
|
||||||
if arch-chroot /mnt <<-NVIDIAHOOK > /dev/null 2>&1 2> amelia_log.txt ; then
|
if arch-chroot /mnt <<-NVIDIAHOOK > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
@@ -5974,6 +6072,17 @@ SYSTEMD_OOMD
|
|||||||
stage_fail
|
stage_fail
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${printer}" == "y" ]]; then
|
||||||
|
local stage_prompt="Print Services Activation"
|
||||||
|
if arch-chroot /mnt <<-PRINT_CONF > /dev/null 2>&1 2> amelia_log.txt ; then
|
||||||
|
systemctl enable cups.socket cups-browsed || exit
|
||||||
|
PRINT_CONF
|
||||||
|
stage_ok
|
||||||
|
else
|
||||||
|
stage_fail
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
secboot_sign() {
|
secboot_sign() {
|
||||||
@@ -6024,23 +6133,39 @@ SECSIGN
|
|||||||
###################################################################################################
|
###################################################################################################
|
||||||
set_vars() {
|
set_vars() {
|
||||||
|
|
||||||
#### Encryption = yes
|
# Main Kernel Parameters
|
||||||
|
boot_opts=()
|
||||||
|
# Graphics Kernel Parameters
|
||||||
|
gfx_bootopts=()
|
||||||
|
# Mkinitcpio Modules
|
||||||
|
MODULES=()
|
||||||
|
# Mkinitcpio Hooks
|
||||||
|
HOOKS=()
|
||||||
|
# Zram Swap
|
||||||
|
if [[ "${swapmode}" == "3" ]]; then
|
||||||
|
# Zram Swap Kernel Parameters
|
||||||
|
zram_bootopts="zswap.enabled=0"
|
||||||
|
fi
|
||||||
|
#--------------------------------------------------------------------------------------------------
|
||||||
|
# ENCRYPTION = 'YES'
|
||||||
if [[ "${encrypt}" == "yes" ]]; then
|
if [[ "${encrypt}" == "yes" ]]; then
|
||||||
### Encrypted Root Device
|
# Mkinitcpio Modules (Encryption)
|
||||||
|
MODULES+=("${fs_mod}")
|
||||||
|
# Encrypted Root Device
|
||||||
encr_root_dev="/dev/mapper/${ENCROOT}"
|
encr_root_dev="/dev/mapper/${ENCROOT}"
|
||||||
### Encrypted Root Options
|
# Encrypted Root Options
|
||||||
encr_root_opts="rd.luks.name=$(blkid -s UUID -o value "${root_dev}")=${ENCROOT}"
|
encr_root_opts="rd.luks.name=$(blkid -s UUID -o value "${root_dev}")=${ENCROOT}"
|
||||||
### Encryption_Kernel Parameters
|
# Encryption Kernel Parameters
|
||||||
encr_root_bootopts="${encr_root_opts} root=${encr_root_dev}"
|
encr_root_bootopts="${encr_root_opts} root=${encr_root_dev}"
|
||||||
#---------------------------------------------------------------------------------------------------------
|
|
||||||
### Swap Setup (Encryption)
|
# SWAP SETUP (Encryption)
|
||||||
## Encrypted Swap Partition
|
# Encrypted Swap Partition
|
||||||
if [[ "${swapmode}" == "1" ]]; then
|
if [[ "${swapmode}" == "1" ]]; then
|
||||||
# Encrypted Swap Partition Options
|
# Encrypted Swap Partition Options
|
||||||
encr_swap_opts="rd.luks.name=$(blkid -s UUID -o value "${swap_dev}")=swap"
|
encr_swap_opts="rd.luks.name=$(blkid -s UUID -o value "${swap_dev}")=swap"
|
||||||
# Encrypted Swap Partition Kernel Parameters
|
# Encrypted Swap Kernel Parameters
|
||||||
encr_swap_bootopts="resume=/dev/mapper/swap ${encr_swap_opts}"
|
encr_swap_bootopts="resume=/dev/mapper/swap ${encr_swap_opts}"
|
||||||
## Encrypted Swapfile
|
# Encrypted Swapfile
|
||||||
elif [[ "${swapmode}" == "2" ]]; then
|
elif [[ "${swapmode}" == "2" ]]; then
|
||||||
# Ext4 Offset calculation
|
# Ext4 Offset calculation
|
||||||
if [[ "${fs}" == "1" ]]; then
|
if [[ "${fs}" == "1" ]]; then
|
||||||
@@ -6049,23 +6174,12 @@ set_vars() {
|
|||||||
elif [[ "${fs}" == "2" ]]; then
|
elif [[ "${fs}" == "2" ]]; then
|
||||||
offst="$(btrfs inspect-internal map-swapfile -r /mnt/swap/swapfile)"
|
offst="$(btrfs inspect-internal map-swapfile -r /mnt/swap/swapfile)"
|
||||||
fi
|
fi
|
||||||
# Encrypted Swapfile Kernel Parameters
|
# Encrypted Swap Kernel Parameters
|
||||||
encr_swap_bootopts="resume=${encr_root_dev} resume_offset=${offst}"
|
encr_swap_bootopts="resume=${encr_root_dev} resume_offset=${offst}"
|
||||||
## Zram Swap
|
|
||||||
elif [[ "${swapmode}" == "3" ]]; then
|
|
||||||
# Zram Swap Kernel Parameters
|
|
||||||
zram_bootopts="zswap.enabled=0"
|
|
||||||
fi
|
fi
|
||||||
#---------------------------------------------------------------------------------------------------------
|
|
||||||
### Graphics Setup (Encryption)
|
|
||||||
## Mkinitcpio Modules (Encryption)
|
|
||||||
MODULES=("${fs_mod}")
|
|
||||||
## Mkinitcpio Hooks (Encryption)
|
|
||||||
HOOKS=()
|
|
||||||
## Graphics Kernel Parameters
|
|
||||||
vga_bootopts=()
|
|
||||||
|
|
||||||
# Nvidia Only
|
# HOOKS SETUP (Encryption)
|
||||||
|
# Nvidia Only Vendor
|
||||||
if [[ "${vendor}" == "Nvidia" ]]; then
|
if [[ "${vendor}" == "Nvidia" ]]; then
|
||||||
HOOKS+=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)
|
HOOKS+=(systemd keyboard autodetect microcode modconf sd-vconsole block sd-encrypt filesystems fsck)
|
||||||
# Other Vendors / Multi-Vendors
|
# Other Vendors / Multi-Vendors
|
||||||
@@ -6073,104 +6187,46 @@ set_vars() {
|
|||||||
HOOKS+=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems fsck)
|
HOOKS+=(systemd keyboard autodetect microcode modconf kms sd-vconsole block sd-encrypt filesystems fsck)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
## Configuration = 'Yes'
|
# MAIN KERNEL PARAMETERS (Encryption)
|
||||||
if [[ "${vgaconf}" == "y" ]]; then
|
# Encrypted Root Kernel Parameters
|
||||||
# Nvidia
|
boot_opts+=("${encr_root_bootopts}")
|
||||||
if [[ "${vendor}" == "Nvidia" || "${vendors}" =~ "Nvidia" ]]; then
|
# Encrypted Swap Kernel Parameters
|
||||||
MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
|
|
||||||
vga_bootopts+=(nvidia.NVreg_UsePageAttributeTable=1)
|
|
||||||
|
|
||||||
# Disable GSP Firmware
|
|
||||||
if [[ "${nogsp}" == "y" ]]; then
|
|
||||||
vga_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Enable Experimental Low Latency Interrupts
|
|
||||||
if [[ "${lowlat}" == "y" ]]; then
|
|
||||||
vga_bootopts+=(nvidia.NVreg_RegistryDwords=RMIntrLockingMode=1)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# AMD
|
|
||||||
if [[ "${vendor}" == "AMD" || "${vendors}" =~ "AMD" ]]; then
|
|
||||||
if [[ -n "${islands}" ]]; then
|
|
||||||
MODULES+=(amdgpu)
|
|
||||||
fi
|
|
||||||
# 'Southern Islands' support
|
|
||||||
if [[ "${islands}" == "1" ]]; then
|
|
||||||
vga_bootopts+=(amdgpu.dc=1 radeon.si_support=0 amdgpu.si_support=1)
|
|
||||||
# 'Sea Islands' support
|
|
||||||
elif [[ "${islands}" == "2" ]]; then
|
|
||||||
vga_bootopts+=(amdgpu.dc=1 radeon.cik_support=0 amdgpu.cik_support=1)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
#### Main Mkinitcpio Modules (Encryption)
|
|
||||||
mkinitcpio_mods="MODULES=(${MODULES[*]})"
|
|
||||||
#### Main Mkinitcpio Hooks (Encryption)
|
|
||||||
mkinitcpio_hooks="HOOKS=(${HOOKS[*]})"
|
|
||||||
#### Main Kernel Parameters (Encryption)
|
|
||||||
boot_opts=("${encr_root_bootopts}")
|
|
||||||
|
|
||||||
if [[ -n "${encr_swap_bootopts}" ]]; then
|
if [[ -n "${encr_swap_bootopts}" ]]; then
|
||||||
boot_opts+=("${encr_swap_bootopts}")
|
boot_opts+=("${encr_swap_bootopts}")
|
||||||
fi
|
fi
|
||||||
if [[ "${kill_watchdog}" == "y" ]]; then
|
|
||||||
boot_opts+=(nowatchdog)
|
# ENCRYPTION = 'NO'
|
||||||
fi
|
|
||||||
if [[ -n "${vga_bootopts[*]}" ]]; then
|
|
||||||
boot_opts+=("${vga_bootopts[*]}")
|
|
||||||
fi
|
|
||||||
if [[ -n "${cust_bootopts}" ]]; then
|
|
||||||
boot_opts+=("${cust_bootopts}")
|
|
||||||
fi
|
|
||||||
if [[ -n "${btrfs_bootopts}" ]]; then
|
|
||||||
boot_opts+=("${btrfs_bootopts}")
|
|
||||||
fi
|
|
||||||
if [[ -n "${zram_bootopts}" ]]; then
|
|
||||||
boot_opts+=("${zram_bootopts}")
|
|
||||||
fi
|
|
||||||
#-------------------------------------------------------------------------------------------------------------
|
|
||||||
#### No Encryption
|
|
||||||
elif [[ "${encrypt}" == "no" ]]; then
|
elif [[ "${encrypt}" == "no" ]]; then
|
||||||
|
# HOOKS SETUP
|
||||||
### Swap Setup
|
# Nvidia Only Vendor
|
||||||
## Zram Swap
|
|
||||||
if [[ "${swapmode}" == "3" ]]; then
|
|
||||||
# Zram Swap Kernel Parameters
|
|
||||||
zram_bootopts="zswap.enabled=0"
|
|
||||||
fi
|
|
||||||
#---------------------------------------------------------------------------------------------------------
|
|
||||||
### Graphics Setup
|
|
||||||
## Mkinitcpio Modules
|
|
||||||
MODULES=()
|
|
||||||
## Mkinitcpio Hooks
|
|
||||||
HOOKS=()
|
|
||||||
## Graphics Kernel Parameters
|
|
||||||
vga_bootopts=()
|
|
||||||
|
|
||||||
# Nvidia Only
|
|
||||||
if [[ "${vendor}" == "Nvidia" ]]; then
|
if [[ "${vendor}" == "Nvidia" ]]; then
|
||||||
HOOKS+=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)
|
HOOKS+=(systemd autodetect microcode modconf keyboard sd-vconsole block filesystems fsck)
|
||||||
# Other Vendors / Multi-Vendors
|
# Other Vendors / Multi-Vendors
|
||||||
else
|
else
|
||||||
HOOKS+=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)
|
HOOKS+=(systemd autodetect microcode modconf kms keyboard sd-vconsole block filesystems fsck)
|
||||||
fi
|
fi
|
||||||
## Configuration = 'Yes'
|
|
||||||
if [[ "${vgaconf}" == "y" ]]; then
|
# MAIN KERNEL PARAMETERS
|
||||||
|
if [[ "${autoroot}" == "y" ]]; then
|
||||||
|
boot_opts+=("${multiroot_bootopts}")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
#--------------------------------------------------------------------------------------------------
|
||||||
|
# GFX CONFIGURATION = 'YES'
|
||||||
|
if [[ "${gfxconf}" == "y" ]]; then
|
||||||
# Nvidia
|
# Nvidia
|
||||||
if [[ "${vendor}" == "Nvidia" || "${vendors}" =~ "Nvidia" ]]; then
|
if [[ "${vendor}" == "Nvidia" || "${vendors}" =~ "Nvidia" ]]; then
|
||||||
MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
|
MODULES+=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
|
||||||
vga_bootopts+=(nvidia.NVreg_UsePageAttributeTable=1)
|
gfx_bootopts+=(nvidia.NVreg_UsePageAttributeTable=1)
|
||||||
|
|
||||||
# Disable GSP Firmware
|
# Disable GSP Firmware
|
||||||
if [[ "${nogsp}" == "y" ]]; then
|
if [[ "${nogsp}" == "y" ]]; then
|
||||||
vga_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
gfx_bootopts+=(nvidia.NVreg_EnableGpuFirmware=0)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Enable Experimental Low Latency Interrupts
|
# Enable Experimental Low Latency Interrupts
|
||||||
if [[ "${lowlat}" == "y" ]]; then
|
if [[ "${lowlat}" == "y" ]]; then
|
||||||
vga_bootopts+=(nvidia.NVreg_RegistryDwords=RMIntrLockingMode=1)
|
gfx_bootopts+=(nvidia.NVreg_RegistryDwords=RMIntrLockingMode=1)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -6181,29 +6237,21 @@ set_vars() {
|
|||||||
fi
|
fi
|
||||||
# 'Southern Islands' support
|
# 'Southern Islands' support
|
||||||
if [[ "${islands}" == "1" ]]; then
|
if [[ "${islands}" == "1" ]]; then
|
||||||
vga_bootopts+=(amdgpu.dc=1 radeon.si_support=0 amdgpu.si_support=1)
|
gfx_bootopts+=(amdgpu.dc=1 radeon.si_support=0 amdgpu.si_support=1)
|
||||||
# 'Sea Islands' support
|
# 'Sea Islands' support
|
||||||
elif [[ "${islands}" == "2" ]]; then
|
elif [[ "${islands}" == "2" ]]; then
|
||||||
vga_bootopts+=(amdgpu.dc=1 radeon.cik_support=0 amdgpu.cik_support=1)
|
gfx_bootopts+=(amdgpu.dc=1 radeon.cik_support=0 amdgpu.cik_support=1)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
#### Main Mkinitcpio Modules
|
#--------------------------------------------------------------------------------------------------
|
||||||
mkinitcpio_mods="MODULES=(${MODULES[*]})"
|
# MAIN KERNEL PARAMETERS
|
||||||
#### Main Mkinitcpio Hooks
|
if [[ -n "${gfx_bootopts[*]}" ]]; then
|
||||||
mkinitcpio_hooks="HOOKS=(${HOOKS[*]})"
|
boot_opts+=("${gfx_bootopts[*]}")
|
||||||
#### Main Kernel Parameters
|
|
||||||
boot_opts=()
|
|
||||||
|
|
||||||
if [[ "${autoroot}" == "y" ]]; then
|
|
||||||
boot_opts+=("${multiroot_bootopts}")
|
|
||||||
fi
|
fi
|
||||||
if [[ "${kill_watchdog}" == "y" ]]; then
|
if [[ "${kill_watchdog}" == "y" ]]; then
|
||||||
boot_opts+=(nowatchdog)
|
boot_opts+=(nowatchdog)
|
||||||
fi
|
fi
|
||||||
if [[ -n "${vga_bootopts[*]}" ]]; then
|
|
||||||
boot_opts+=("${vga_bootopts[*]}")
|
|
||||||
fi
|
|
||||||
if [[ -n "${cust_bootopts}" ]]; then
|
if [[ -n "${cust_bootopts}" ]]; then
|
||||||
boot_opts+=("${cust_bootopts}")
|
boot_opts+=("${cust_bootopts}")
|
||||||
fi
|
fi
|
||||||
@@ -6213,7 +6261,11 @@ set_vars() {
|
|||||||
if [[ -n "${zram_bootopts}" ]]; then
|
if [[ -n "${zram_bootopts}" ]]; then
|
||||||
boot_opts+=("${zram_bootopts}")
|
boot_opts+=("${zram_bootopts}")
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
|
# MAIN MKINITCPIO MODULES
|
||||||
|
mkinitcpio_mods="MODULES=(${MODULES[*]})"
|
||||||
|
# MAIN MKINITCPIO HOOKS
|
||||||
|
mkinitcpio_hooks="HOOKS=(${HOOKS[*]})"
|
||||||
}
|
}
|
||||||
###################################################################################################
|
###################################################################################################
|
||||||
chroot_conf() {
|
chroot_conf() {
|
||||||
@@ -6544,7 +6596,7 @@ OPTIMIZED
|
|||||||
tty="$(tty)"
|
tty="$(tty)"
|
||||||
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
disks="$(lsblk --nodeps --paths --noheadings --output=name,size,model | cat --number)"
|
||||||
trg=""
|
trg=""
|
||||||
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" vgacount="" vgacard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" vgaconf="" vga_conf="" vga_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" vga_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" vga_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" vendors="")
|
vars=(LOCALESET="" SETLOCALE="" lcl_slct="" USERNAME="" kernelnmbr="" fs="" gfxcount="" gfxcard="" intelcount="" intelcards="" nvidiacount="" nvidiacards="" amdcount="" amdcards="" gfxconf="" gfx_conf="" gfx_setup="" vendor="" vendor1="" vendor2="" vendor3="" vendor_slct="" packages="" efi_entr_del="" wrlss_rgd="" sanity="" install="" bootldr_pkgs="" devel="" REGDOM="" gfx_bootopts="" btrfs_bootopts="" trim="" swapmode="" homecrypt="" greeter="" revision="" greeternmbr="" cust_bootopts="" bluetooth="" vmpkgs="" vm_services="" perf_stream="" displaymanager="" wireless_reg="" bitness="" bootloader="" gfx_slct="" espsize="" autoroot="" autoesp="" autoxboot="" autohome="" autoswap="" rootprt="" espprt="" xbootprt="" homeprt="" swapprt="" partok="" use_manpreset="" instl_drive="" sgdsk_nmbr="" part_mode="" preset="" capacity="" cap_gib="" rootsize="" sgdrive="" cgdrive="" smartpart="" presetpart="" prcnt="" roottype="" stage_prompt="" zram="" zram_bootopts="" xbootloader="" multibooting="" hypervisor="" mkinitcpio_mods="" uki="" ukify="" slct_autoprt="" cng_espmnt="" sep_home="" encr_swap_bootopts="" uefimode="" luks_encrypt="" nrg_plc="" multilib="" nvname="" nogsp="" luks_root="" luks_swap="" luks_home="" installation="" kill_watchdog="" oomd="" setrescue="" lowlat="" vendors="" printer="" print_pkgs="" web="" web_browser="")
|
||||||
export "${vars[@]}"
|
export "${vars[@]}"
|
||||||
clear
|
clear
|
||||||
first_check
|
first_check
|
||||||
|
|||||||
Reference in New Issue
Block a user