1
0
mirror of https://github.com/tommytran732/Linux-Setup-Scripts synced 2024-11-22 01:21:33 -05:00
Signed-off-by: Tommy <contact@tommytran.io>
This commit is contained in:
Tommy 2022-09-11 04:16:03 -04:00 committed by GitHub
parent 8db58bb714
commit 16c7dbbe60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,8 +4,6 @@
#Customize it to your liking
#Run this script as your user, NOT root
#Written by yours truly, Tomster
#Variables
USER=$(whoami)
PARTITIONID=$(sudo cat /etc/crypttab | awk '{print $1}')
@ -84,7 +82,7 @@ sudo fwupdmgr get-updates -y
sudo fwupdmgr update -y
#Remove unneeded packages
sudo dnf -y remove abrt f33-backgrounds-gnome nm-connection-editor mozilla-filesystem chrome-gnome-shell quota* nmap-ncat virtualbox-guest-additions spice-vdagent nfs-utils teamd tcpdump sgpio ImageMagick* adcli libreoffice* lvm2 qemu-guest-agent hyperv* gnome-classic* baobab *kkc* *zhuyin* *pinyin* *evince* *yelp* ModemManager fedora-bookmarks fedora-chromium-config fedora-workstation-backgrounds gnome-tour gnome-themes-extra gnome-shell-extension-background-logo gnome-screenshot gnome-remote-desktop gnome-font-viewer gnome-calculator gnome-backgrounds NetworkManager-pptp-gnome NetworkManager-ssh-gnome NetworkManager-openconnect-gnome NetworkManager-openvpn-gnome NetworkManager-vpnc-gnome podman* *libvirt* open-vm* *speech* sos totem gnome-characters firefox eog openssh-server dmidecode xorg-x11-drv-vmware xorg-x11-drv-amdgpu yajl words ibus-hangui vino openh264 twolame-libs realmd rsync net-snmp-libs net-tools traceroute mtr geolite2* gnome-boxes gnome-disk-utility gedit gnome-calendar cheese gnome-contacts rythmbox gnome-screenshot gnome-maps gnome-weather gnome-logs ibus-typing-booster *m17n* gnome-clocks gnome-color-manager mlocate cyrus-sasl-plain cyrus-sasl-gssapi sssd* gnome-user* dos2unix kpartx rng-tools ppp* ntfs* xfs* tracker* thermald *perl* gnome-shell-extension-apps-menu gnome-shell-extension-horizontal-workspaces gnome-shell-extension-launch-new-instance gnome-shell-extension-places-menu gnome-shell-extension-window-list file-roller* sane* simple-scan *hangul*
sudo dnf -y remove abrt f36-backgrounds-gnome nm-connection-editor mozilla-filesystem chrome-gnome-shell quota* nmap-ncat virtualbox-guest-additions spice-vdagent nfs-utils teamd tcpdump sgpio ImageMagick* adcli libreoffice* lvm2 qemu-guest-agent hyperv* gnome-classic* baobab *kkc* *zhuyin* *pinyin* *evince* *yelp* ModemManager fedora-bookmarks fedora-chromium-config fedora-workstation-backgrounds gnome-tour gnome-themes-extra gnome-shell-extension-background-logo gnome-screenshot gnome-remote-desktop gnome-font-viewer gnome-calculator gnome-backgrounds NetworkManager-pptp-gnome NetworkManager-ssh-gnome NetworkManager-openconnect-gnome NetworkManager-openvpn-gnome NetworkManager-vpnc-gnome podman* *libvirt* open-vm* *speech* sos totem gnome-characters firefox eog openssh-server dmidecode xorg-x11-drv-vmware xorg-x11-drv-amdgpu yajl words ibus-hangui vino openh264 twolame-libs realmd rsync net-snmp-libs net-tools traceroute mtr geolite2* gnome-boxes gnome-disk-utility gedit gnome-calendar cheese gnome-contacts rythmbox gnome-screenshot gnome-maps gnome-weather gnome-logs ibus-typing-booster *m17n* gnome-clocks gnome-color-manager mlocate cyrus-sasl-plain cyrus-sasl-gssapi sssd* gnome-user* dos2unix kpartx rng-tools ppp* ntfs* xfs* tracker* thermald *perl* gnome-shell-extension-apps-menu gnome-shell-extension-horizontal-workspaces gnome-shell-extension-launch-new-instance gnome-shell-extension-places-menu gnome-shell-extension-window-list file-roller* sane* simple-scan *hangul*
#Disable openh264 repo
sudo dnf config-manager --set-disabled fedora-cisco-openh264 -y
@ -100,11 +98,6 @@ mkdir -p /home/"${USER}"/.config/Yubico
sudo dnf config-manager --add-repo https://repo.ivpn.net/stable/fedora/generic/ivpn.repo -y
sudo dnf -y install ivpn-ui
#Install OpenSnitch
sudo dnf install -y https://github.com/evilsocket/opensnitch/releases/download/v1.3.6/opensnitch-1.3.6-1.x86_64.rpm
sudo dnf install -y https://github.com/evilsocket/opensnitch/releases/download/v1.3.6/opensnitch-ui-1.3.6-1.f29.noarch.rpm
sudo chown -R "${USER}":"${USER}" /home/"${USER}"/.config/autostart
#Setting up Flatpak
flatpak remote-add --user flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --user flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
@ -151,50 +144,6 @@ sudo set-gdm-wallpaper /home/"${USER}"/Pictures/Wallpapers/Black.png
#Enable Titlebar buttons
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
#Quick Fixes for Flatpak Steam if I install it on the system
ln -s /home/"${USER}"/.var/app/com.valvesoftware.Steam/.local/share/Steam /home/"${USER}"/.local/share/Steam
sudo bash -c 'cat > /etc/sysctl.d/99-steam.conf' <<-'EOF'
dev.i915.perf_stream_paranoid=0
EOF
sudo sysctl --load=/etc/sysctl.d/99-steam.conf
#Quick fixes for pulse audio with steam
sudo bash -c 'cat > /etc/pulse/daemon.conf' <<-'EOF'
# $ sudo nano /etc/pulse/daemon.conf
# Start as daemon
daemonize = yes
allow-module-loading = yes
# Realtime optimization
high-priority = yes
realtime-scheduling = yes
realtime-priority = 9
# Scales the device-volume with the volume of the "loudest" application
flat-volumes = no
# Script file management
load-default-script-file = yes
default-script-file = /etc/pulse/default.pa
# Sample rate
resample-method = speex-float-9
default-sample-format = s24-32le
default-sample-rate = 192000
alternate-sample-rate = 176000
exit-idle-time = -1
# Optimized fragements for steam
default-fragments = 5
default-fragment-size-msec = 2
# Volume
deferred-volume-safety-margin-usec = 1
EOF
#Quick Fix for Freon https://github.com/UshakovVasilii/gnome-shell-extension-freon/issues/163
sudo sed -i 's#`${nvme}#`/usr/bin/sudo ${nvme}#g' /usr/share/gnome-shell/extensions/freon@UshakovVasilii_Github.yahoo.com/nvmecliUtil.js
echo ''"${USER}"' ALL = NOPASSWD: /usr/sbin/nvme list -o json, /usr/sbin/nvme smart-log /dev/nvme* -o json' | sudo EDITOR='tee -a' visudo >/dev/null 2>&1
@ -208,63 +157,6 @@ gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
#Enable touchpad while typing
gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing false
#Install and sign NVIDIA proprietary drivers
sudo dnf copr enable egeretto/kmodtool-secureboot -y
sudo dnf copr enable egeretto/akmods-secureboot -y
sudo dnf install akmods kmodtool -y
sudo /usr/sbin/kmodgenca -a
sudo dnf config-manager --set-enabled rpmfusion-nonfree-nvidia-driver -y
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda -y
#Reenable Wayland... They are working to support it, and if you aren't gaming you shouldn't stay on x11 anyways
sudo sed -i 's^DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland"^#DRIVER=="nvidia", RUN+="/usr/libexec/gdm-disable-wayland"^g' /usr/lib/udev/rules.d/61-gdm.rules
#UPDATE: This is currently borked with Kernel 5.11, therefore I am commenting it out.
#Install Snap, Anbox, Ashmem, Binder, and autosign DKMS modules
#Keep in mind that the use of snap is highly discouraged due to its reliance on AppArmor for sandboxing, which is not present on Fedora.
#Please only use Snap for Anbox and nothing else. FlatHub and RPMFusion exist.
#We clone a third party repo with patches for kernel >=5.7 for now. You can track the issue at https://github.com/anbox/anbox-modules/pull/76
#sudo dnf -y install snapd dkms
#sudo ln -s /var/lib/snapd/snap /snap
#sudo service snapd start
#wget https://raw.githubusercontent.com/tommytran732/Fedora-Workstation-Setup/main/selinux/my-gatekeeperd.te
#wget https://raw.githubusercontent.com/tommytran732/Fedora-Workstation-Setup/main/selinux/my-ndroidsettings.te
#wget https://raw.githubusercontent.com/tommytran732/Fedora-Workstation-Setup/main/selinux/my-servicemanager.te
#checkmodule -M -m -o my-gatekeeperd.mod my-gatekeeperd.te
#checkmodule -M -m -o my-ndroidsettings.mod my-ndroidsettings.te
#checkmodule -M -m -o my-servicemanager.mod my-servicemanager.te
#semodule_package -o my-gatekeeperd.pp -m my-gatekeeperd.mod
#semodule_package -o my-ndroidsettings.pp -m my-ndroidsettings.mod
#semodule_package -o my-servicemanager.pp -m my-servicemanager.mod
#sudo semodule -i my-gatekeeperd.pp
#sudo semodule -i my-ndroidsettings.pp
#sudo semodule -i my-servicemanager.pp
#sudo snap install --devmode --beta anbox
#git clone https://github.com/choff/anbox-modules.git
#cd /home/${USER}/anbox-modules
#sudo cp anbox.conf /etc/modules-load.d/
#sudo cp 99-anbox.rules /lib/udev/rules.d/
#sudo cp -rT ashmem /usr/src/anbox-ashmem-1
#sudo cp -rT binder /usr/src/anbox-binder-1
#cd /home/${USER}
#sudo openssl req -new -x509 \
# -newkey rsa:4096 -keyout /root/mok.priv \
# -outform DER -out /root/mok.der \
# -nodes -days 36500 -subj "/CN=DKMS Automatic Module Signer"
#sudo sed -i 's^# sign_tool="/etc/dkms/sign_helper.sh"^sign_tool="/etc/dkms/sign_helper.sh"^g' /etc/dkms/framework.conf
#sudo dkms add anbox-ashmem/1
#sudo dkms add anbox-binder/1
#sudo firewall-cmd --add-masquerade --permanent
#sudo firewall-cmd --reload
#Setup BTRFS layout and Timeshift
sudo mkdir /btrfs_pool
sudo mount -o subvolid=5 /dev/mapper/${PARTITIONID} /btrfs_pool
@ -285,10 +177,16 @@ wifi.scan-rand-mac-address=yes
[connection]
wifi.cloned-mac-address=random
ethernet.cloned-mac-address=random
connection.stable-id=${CONNECTION}/${BOOT}
EOF
#Disable transient hostname
sudo bash -c 'cat > /etc/NetworkManager/conf.d/00-macrandomize.conf' <<-'EOF'
[main]
hostname-mode=none
EOF
sudo systemctl restart NetworkManager
sudo hostnamectl hostname "localhost"
#Last step, import key to MOK
output "Just to avoid confusion, we are importing Akmods's key"