Update gentoo.sh

This commit is contained in:
verita84 2023-11-02 19:41:09 +00:00
parent 8626b0bd3e
commit 03238204e8

View File

@ -37,16 +37,16 @@ SSID='123456'
WIRELESS_INTERFACE='wlan0'
COMPRESSION='compress=zstd:10'
FLATPAKS+=(io.exodus.Exodus us.zoom.Zoom app/com.valvesoftware.Steam/x86_64/stable app/net.lutris.Lutris)
SERVICES+=(cronie avahi-daemon cups pulseaudio.service pulseaudio.socket grub-btrfsd sddm NetworkManager dev-zram0.swap)
SERVICES+=(smartd cronie avahi-daemon cups grub-btrfsd sddm NetworkManager dev-zram0.swap)
DESKTOP="KDE"
BROWSER="brave"
MAKEOPTS="-j$(cat /proc/cpuinfo | grep -i processor | grep -vi 'model' | wc -l )"
USE_FLAGS="firmware nfsv4 caps zeroconf dbus daemon pulseaudio X -browser-integration desktop-portal minimal -gtk -gnome qt5 kde dvd alsa gui -wayland device-mapper efiemu themes truetype btrfs seccomp cgroup-hybrid geoclue -webengine boot browser keeshare network opengl"
MAKEOPTS="-j$(cat /proc/cpuinfo | grep -i processor | grep -vi 'model' | wc -l)"
USE_FLAGS="systemd x264 pulseaudio firmware nfsv4 caps zeroconf dbus sound-server X -browser-integration desktop-portal minimal -gnome qt5 kde dvd alsa gui -wayland device-mapper efiemu themes truetype btrfs seccomp cgroup-hybrid geoclue -webengine boot browser keeshare network opengl"
TMPFS_SIZE="32G"
STAGE3="https://distfiles.gentoo.org/releases/amd64/autobuilds/20231022T164658Z/stage3-amd64-systemd-20231022T164658Z.tar.xz"
BASE_PACKAGES=" plasma-meta sys-process/cronie net-fs/samba net-fs/nfs-utils net-firewall/iptables dev-python/pip sys-fs/inotify-tools kde-apps/kate kde-apps/konsole media-gfx/krita dev-util/sh net-analyzer/nmap x11-apps/xhost app-misc/screen net-im/element-desktop-bin app-portage/gentoolkit sys-fs/dosfstools app-admin/sudo sys-apps/systemd sys-boot/plymouth sys-apps/zram-generator x11-misc/sddm app-eselect/eselect-repository dev-vcs/git sys-boot/refind sys-block/parted sys-boot/grub sys-block/zram-init media-video/vlc app-office/calligra sys-process/btop net-vpn/wireguard-tools sys-apps/flatpak app-editors/vim app-vim/airline app-misc/fastfetch net-misc/yt-dlp net-im/telegram-desktop net-misc/nextcloud-client app-containers/crun app-containers/podman app-office/calligra media-gfx/krita net-fs/samba sys-fs/btrfs-progs kde-apps/kdegraphics-meta app-admin/keepassxc net-print/cups "
BASE_PACKAGES=" kde-apps/kcalc www-client/firefox-bin kde-apps/ark kde-apps/dolphin mail-mta/postfix app-admin/sysstat sys-apps/smartmontools plasma-meta sys-process/cronie net-fs/samba net-fs/nfs-utils net-firewall/iptables dev-python/pip sys-fs/inotify-tools kde-apps/kate kde-apps/konsole media-gfx/krita dev-util/sh net-analyzer/nmap x11-apps/xhost app-misc/screen net-im/element-desktop-bin app-portage/gentoolkit sys-fs/dosfstools app-admin/sudo sys-apps/systemd sys-boot/plymouth sys-apps/zram-generator x11-misc/sddm app-eselect/eselect-repository dev-vcs/git sys-boot/refind sys-block/parted sys-boot/grub sys-block/zram-init media-video/vlc app-office/calligra sys-process/btop net-vpn/wireguard-tools sys-apps/flatpak app-editors/vim app-vim/airline app-misc/fastfetch net-misc/yt-dlp net-im/telegram-desktop net-misc/nextcloud-client app-containers/crun app-containers/podman app-office/calligra media-gfx/krita net-fs/samba sys-fs/btrfs-progs kde-apps/kdegraphics-meta app-admin/keepassxc net-print/cups "
#VIRTUALIZATION=" virt-manager qemu-system libvirt-daemon-system ovmf cockpit-machines"
TAR_EXCLUDES="--exclude=/var/cache/distfiles/* --exclude=/var/lib/flatpak --exclude=/opt/stable-diffusion-webui --exclude=/.snapshots --exclude=/snapshots --exclude=/var/backups --exclude=/volumes/* --exclude=/mnt/* --exclude=/var/tmp/* --exclude=/tmp/* --exclude=/raid/* --exclude=/root/* --exclude=/var/cache/apt/archives/* --exclude=/proc/* --exclude=/.snapshots/* --exclude=/var/lib/libvirt/* --exclude=/dev/* --exclude=/sys/* --exclude=/home/* --exclude=/var/lib/postgresql --exclude=/var/lib/containers --exclude=/opt/chatgpt "
TAR_EXCLUDES="--exclude=/var/cache/distfiles --exclude=/var/lib/flatpak --exclude=/opt/stable-diffusion-webui --exclude=/.snapshots --exclude=/snapshots --exclude=/var/backups --exclude=/volumes/* --exclude=/mnt/* --exclude=/var/tmp/* --exclude=/tmp/* --exclude=/raid/* --exclude=/root/* --exclude=/var/cache/apt/archives/* --exclude=/proc/* --exclude=/.snapshots/* --exclude=/var/lib/libvirt/* --exclude=/dev/* --exclude=/sys/* --exclude=/home/* --exclude=/var/lib/postgresql --exclude=/var/lib/containers --exclude=/opt/chatgpt "
partitionDetection() {
#This is used for the installer to do script-based actions
@ -65,21 +65,6 @@ auto_login() {
echo "Relogin=false" >>$TARGET/etc/sddm.conf.d/autologin
}
hibernate-setup() {
echo "[Sleep]" >/etc/systemd/sleep.conf
echo "AllowSuspend=yes" >>/etc/systemd/sleep.conf
echo "AllowHibernation=yes" >>/etc/systemd/sleep.conf
echo "AllowSuspendThenHibernate=yes" >>/etc/systemd/sleep.conf
echo "HibernateState=disk" >>/etc/systemd/sleep.conf
echo "HibernateMode=platform" >>/etc/systemd/sleep.conf
echo "HibernateDelaySec=1800" >>/etc/systemd/sleep.conf
echo "HandleLidSwitch=suspend-then-hibernate" >>/etc/systemd/logind.conf
echo "HandleLidSwitchExternalPower=suspend-then-hibernate" >>/etc/systemd/logind.conf
unlink /usr/lib/systemd/system/systemd-suspend.service
rm -f /usr/lib/systemd/system/systemd-suspend.service
ln -s /usr/lib/systemd/system/systemd-suspend-then-hibernate.service /usr/lib/systemd/system/systemd-suspend.service
}
create-os-snapshots() {
echo
mkdir $2
@ -90,7 +75,7 @@ create-os-snapshots() {
NEW_TAR_EXCLUDES="$TAR_EXCLUDES --exclude=/minio --exclude=$TARGET/* --exclude=/var/lib/docker "
echo
time tar cvpzf $1/gentoo-$DATE.tgz $NEW_TAR_EXCLUDES /
chown $USER:$USER $1/$DATE.tgz
chown $USER:$USER $1/gentoo-$DATE.tgz
}
homeBackup() {
@ -194,23 +179,25 @@ buildGentoo() {
chroot $TARGET /usr/bin/emerge --sync
fi
if [ ! -f "$TARGET/usr/bin/gentoo.sh" ]; then
echo;echo "Error: $TARGET/usr/bin/gentoo.sh not found!";echo
echo
echo "Error: $TARGET/usr/bin/gentoo.sh not found!"
echo
exit 1
else
else
chroot $TARGET /usr/bin/eselect $(/usr/bin/eselect profile list | grep -i plasma | grep systemd | head -1 | cut -d '[' -f2 | cut -d ']' -f1)
mkdir -p $TARGET/etc/portage/package.license
echo "*/* *" >$TARGET/etc/portage/package.license/license
rm -rf $TARGET/etc/portage/package.accept_keywords
chroot $TARGET /usr/bin/emerge --verbose --update --deep --newuse @world --autounmask-write
chroot $TARGET etc-update -q --automode -5
chroot $TARGET /usr/bin/emerge --verbose --update --deep --newuse @world
locale
chroot $TARGET /usr/bin/emerge =sys-kernel/gentoo-sources-$(ls $TARGET/var/db/repos/gentoo/sys-kernel/gentoo-sources/gentoo-sources-6.* | cut -d '-' -f5-6 | grep -vi r| head -1 | sed 's/.ebuild//') sys-kernel/dracut sys-kernel/genkernel sys-kernel/linux-firmware
chroot $TARGET eselect kernel set 1
chroot $TARGET genkernel --cachedir=/var/tmp/portage --tmpdir=/var/tmp/portage --install all
chroot $TARGET /usr/bin/emerge $BASE_PACKAGES --autounmask-write
chroot $TARGET etc-update -q --automode -5
chroot $TARGET /usr/bin/emerge $BASE_PACKAGES
mkdir -p $TARGET/etc/portage/package.license
echo "*/* *" >$TARGET/etc/portage/package.license/license
rm -rf $TARGET/etc/portage/package.accept_keywords
chroot $TARGET /usr/bin/emerge --verbose --update --deep --newuse @world --autounmask-write
chroot $TARGET etc-update -q --automode -5
chroot $TARGET /usr/bin/emerge --verbose --update --deep --newuse @world
locale
chroot $TARGET /usr/bin/emerge =sys-kernel/gentoo-sources-$(ls $TARGET/var/db/repos/gentoo/sys-kernel/gentoo-sources/gentoo-sources-6.* | cut -d '-' -f5-6 | grep -vi r | head -1 | sed 's/.ebuild//') sys-kernel/genkernel sys-kernel/linux-firmware
chroot $TARGET eselect kernel set 1
chroot $TARGET genkernel --cachedir=/var/tmp/portage --tmpdir=/var/tmp/portage --install all
chroot $TARGET /usr/bin/emerge $BASE_PACKAGES --autounmask-write
chroot $TARGET etc-update -q --automode -5
chroot $TARGET /usr/bin/emerge $BASE_PACKAGES
fi
}
@ -262,7 +249,7 @@ bootloader() {
echo "GRUB_TIMEOUT=1" >>/etc/default/grub
echo "GRUB_THEME=/boot/grub/themes/starfield/theme.txt" >>/etc/default/grub
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=gentoo
dracut --hostonly --kver $(ls /lib/modules/) --force
#genkernel --cachedir=/var/tmp/portage --tmpdir=/var/tmp/portage --install all
grub-mkconfig -o /boot/grub/grub.cfg
refind-install
fi
@ -304,19 +291,17 @@ services() {
for i in "${SERVICES[@]}"; do
systemctl enable --now $i
done
#Required for Audio to work
systemctl --global enable --now pipewire.socket
systemctl --global enable --now pipewire.service
systemctl --global enable --now wireplumber.service
}
desktop() {
installBrowser
services
}
installBrave() {
eselect repository add brave-overlay git https://gitlab.com/jason.oliveira/brave-overlay.git
emerge --sync brave-overlay
emerge www-client/brave-bin::brave-overlay
}
installBrowser() {
if [ "$BROWSER" = "brave" ]; then
installBrave
@ -402,6 +387,7 @@ accounts() {
gpasswd -a $USER libvirt
gpasswd -a $USER netdev
gpasswd -a $USER adm
gpasswd -a $USER video
echo "$USER ALL=(ALL) ALL" >/etc/sudoers
echo "root ALL=(ALL) ALL" >>/etc/sudoers
echo
@ -515,8 +501,9 @@ menu() {
echo
set-devices
read -p 'Restore Directory Image Source: ' -e -i "/mnt" restore_directory
FILE_SCAN=$(ls $restore_directory/gentoo-* | tail -1)
read -p 'Restore Home Directory? : ' -e -i 'n' home_restore
read -p 'Backup file name to restore: ' -e -i 'gentoo' backup_name
read -p 'Backup file name to restore: ' -e -i "$FILE_SCAN" backup_name
if [[ $home_restore = *n* ]]; then
os-restore "$HARD_DISK" "$backup_name" "none" "$restore_directory" "$BTRFS"