Update gentoo.sh
This commit is contained in:
parent
8626b0bd3e
commit
03238204e8
51
gentoo.sh
51
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,7 +179,9 @@ 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
|
||||
chroot $TARGET /usr/bin/eselect $(/usr/bin/eselect profile list | grep -i plasma | grep systemd | head -1 | cut -d '[' -f2 | cut -d ']' -f1)
|
||||
@ -205,7 +192,7 @@ buildGentoo() {
|
||||
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 /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
|
||||
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user