mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 23:09:26 -05:00
87 lines
2.3 KiB
Bash
Executable File
87 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
latest_gcc_ver=15
|
|
ebuild_name="end4-1.0.ebuild"
|
|
arch=$(portageq envvar ACCEPT_KEYWORDS)
|
|
|
|
print_message () {
|
|
message=$1
|
|
color=$2
|
|
if [[ ${color} = "r" ]]; then
|
|
echo -e "\033[31m$message\033[0m"
|
|
elif [[ ${color} = "g" ]]; then
|
|
echo -e "\033[32m$message\033[0m"
|
|
else
|
|
echo -e "\033[34m$message\033[0m"
|
|
fi
|
|
color="b"
|
|
}
|
|
get_input () {
|
|
input_message=$1
|
|
answer=""
|
|
bool_answer=-1
|
|
while true; do
|
|
read -p "$(print_message "$input_message ([\033[32mY\033[34m]/\033[31mn\033[0m): ")" answer
|
|
case "$answer" in
|
|
[Yy]* | "" )
|
|
bool_answer=0
|
|
break
|
|
;;
|
|
[Nn]* )
|
|
bool_answer=1
|
|
break
|
|
;;
|
|
* )
|
|
echo -e "\033[31mInput not understood ([\033[32mY\033[34m]/\033[31mn\033[0m)\033[0m)"
|
|
;;
|
|
esac
|
|
done
|
|
}
|
|
|
|
exec_cmd () {
|
|
cmd=$1
|
|
message=$2
|
|
terminate=$3
|
|
get_input "$message"
|
|
case "$bool_answer" in
|
|
0 )
|
|
print_message "+ ${cmd}" "g"
|
|
[ ! -z "$cmd" ] && eval "$cmd"
|
|
;;
|
|
1 )
|
|
print_message "- ${cmd}" "r"
|
|
[ "$terminate" == "y" ] && exit 1
|
|
;;
|
|
* )
|
|
exit 1
|
|
;;
|
|
esac
|
|
cmd=""
|
|
}
|
|
|
|
print_message "If you want to use the latest Hyprland version, you must unmask it first, the script does not do this. Change GCC version to a compatible one and then emerge @world."
|
|
echo ""
|
|
print_message "ARCHITECTURE DETECTED IS \033[32m$arch\033[0m"
|
|
|
|
exec_cmd "sudo eselect repository create localrepo || true" "Create local repository (ignore errors)"
|
|
exec_cmd "sudo eselect repository enable localrepo || true" "Enable local repository (ignore errors)"
|
|
|
|
exec_cmd "sudo mkdir -p /var/db/repos/localrepo/app-misc/end4 || true" "Create directory for the eBuild"
|
|
exec_cmd "sudo cp end4-1.0.ebuild /var/db/repos/localrepo/app-misc/end4" "Import the eBuild"
|
|
exec_cmd "sudo ebuild /var/db/repos/localrepo/app-misc/end4/${ebuild_name} digest" "Digest the eBuild"
|
|
|
|
exec_cmd "sudo cp end4-unmasks /etc/portage/package.accept_keywords/end4 && sudo sed -i 's/$/ ~${arch}/' /etc/portage/package.accept_keywords/end4" "Import basic unmasks"
|
|
|
|
exec_cmd "sudo cp end4-recommended-use-flags /etc/portage/package.use/end4" "Import recommended use flags"
|
|
|
|
exec_cmd "sudo emerge --sync" "Sync portage"
|
|
exec_cmd "sudo emerge --ask --verbose --update --deep --newuse @world" "Update @world"
|
|
exec_cmd "sudo emerge --depclean" "Clean dependencies"
|
|
|
|
exec_cmd "sudo emerge -q app-misc/end4" "Emerge end4 dot-files"
|
|
exec_cmd "cp -r ../.config/* ~/.config" "Copy config files over"
|
|
|
|
|
|
|
|
|