From 03238204e8671875876d9902899610870bed1e21 Mon Sep 17 00:00:00 2001 From: verita84 Date: Thu, 2 Nov 2023 19:41:09 +0000 Subject: [PATCH] Update gentoo.sh --- gentoo.sh | 77 +++++++++++++++++++++++-------------------------------- 1 file changed, 32 insertions(+), 45 deletions(-) diff --git a/gentoo.sh b/gentoo.sh index 04caccd..494fd18 100644 --- a/gentoo.sh +++ b/gentoo.sh @@ -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"