Last active
November 29, 2023 17:01
-
-
Save bdombro/77640867e3386922ef3edac0df7bda3a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo timeshift --create --scripted --comments "Fresh install" &> /dev/null # first snapshot works but reports error | |
echo "*******Install Foundation*******" | |
sudo cp -rf /etc /etc.orig | |
# Allow sudo password prompts and sessions to last forever | |
print "\nDefaults env_reset,timestamp_timeout=-1,passwd_timeout=0\n" | sudo tee -a /etc/sudoers | |
# Set suspend to always suspend-then-hibernate | |
sudo ln -s /usr/lib/systemd/system/systemd-suspend-then-hibernate.service /etc/systemd/system/systemd-suspend.service | |
# setup packagers | |
sudo pacman-mirrors --country United_States | |
sudo pacman -Sy --noconfirm | |
sudo pacman -S --noconfirm --needed vim git rust base-devel lsof jq mercurial | |
sudo pacman -R --noconfirm manjaro-gnome-tour manjaro-hello | |
sudo rm /usr/share/applications/manjaro-documentation.desktop | |
cd /opt && sudo git clone https://aur.archlinux.org/yay-git.git && sudo chown -R `whoami`:`whoami` ./yay-git && cd yay-git && makepkg --noconfirm --needed -si && cd ~ | |
yay -S --noconfirm --needed debtap | |
curl https://raw.githubusercontent.com/srevinsaju/zap/main/install.sh | sudo bash -s | |
sudo ln -s /var/lib/snapd/snap /snap | |
# Enable bluetooth on start | |
sudo sed -i 's/#AutoEnable=false/AutoEnable=true/' /etc/bluetooth/main.conf | |
# Add modules to grub | |
sudo grub-install --recheck --no-rs-codes --modules="btrfs zstd part_gpt part_msdos" | |
sudo update-grub | |
# Enable user home encryption features (doesnt actually encrypt anything, just enables the features) | |
sudo modprobe ecryptfs | |
if [ $(grep pam_ecryptfs /etc/pam.d/system-auth | wc -l) = "0" ]; then | |
sudo sed -i '/^auth\s*\[default=die\]\s*pam_faillock.so\s*authfail/a auth [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet\nauth required pam_ecryptfs.so unwrap' /etc/pam.d/system-auth | |
sudo sed -i '/^-password\s*\[success=1\s*default=ignore\]\s*pam_systemd_home.so/i password optional pam_ecryptfs.so' /etc/pam.d/system-auth | |
sudo sed -i '/^session\s*required\s*pam_unix.so/a session [success=1 default=ignore] pam_succeed_if.so service = systemd-user quiet\nsession optional pam_ecryptfs.so unwrap' /etc/pam.d/system-auth | |
fi | |
# Gnome settings | |
gsettings set org.gnome.system.location enabled true | |
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize' | |
# Save Chrome gesture extension | |
wget https://github.com/koseduhemak/touchpadswipe/files/2875483/src.zip | |
unzip src.zip; rm src.zip src.pem; mv src.crx ~/Downloads/chrome-gestures-extension.crx | |
# sign boot partition for efi secure boot | |
# TODO: tried sbctl but didn't work and BROKE bitlocker | |
# yay -S sbctl | |
# echo "*******Dell Fingerprint*******" | |
# sudo sh -c 'cat > /etc/apt/sources.list.d/focal-dell.list << EOF | |
# deb http://dell.archive.canonical.com/updates/ focal-dell public | |
# # deb-src http://dell.archive.canonical.com/updates/ focal-dell public | |
# deb http://dell.archive.canonical.com/updates/ focal-oem public | |
# # deb-src http://dell.archive.canonical.com/updates/ focal-oem public | |
# deb http://dell.archive.canonical.com/updates/ focal-somerville public | |
# # deb-src http://dell.archive.canonical.com/updates/ focal-somerville public | |
# deb http://dell.archive.canonical.com/updates/ focal-somerville-melisa public | |
# # deb-src http://dell.archive.canonical.com/updates focal-somerville-melisa public | |
# EOF' | |
# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F9FDA6BED73CDC22 | |
# sudo apt update -qq | |
# sudo apt install oem-somerville-melisa-meta libfprint-2-tod1-goodix oem-somerville-meta tlp-config -y | |
# sudo pam-auth-update | |
echo "*******docker*******" | |
sudo pacman -S --noconfirm --needed docker | |
echo "*******1Password*******" | |
sudo snap install 1password | |
echo "*******VS Code*******" | |
sudo snap install --classic code | |
echo "*******1Password*******" | |
sudo snap install postman | |
echo "*******Slack*******" | |
sudo snap install --classic slack | |
echo "*******Sublime*******" | |
sudo snap install --classic sublime-text | |
# echo "*******Chromium*******" | |
# Install brave (below) instead of Chromium bc it supports chrome extension store | |
# sudo snap install chromium | |
# yay -S --noconfirm chromium | |
echo "*******Brave*******" | |
yay -S --noconfirm brave-browser | |
echo "*******Obsidian*******" | |
flatpak install -y md.obsidian.Obsidian flathub | |
echo "*******Impression -- an ISO usb writer tool*******" | |
flatpak install -y flathub io.gitlab.adhami3310.Impression | |
echo "*******Gnome Web*******" | |
yay -S --noconfirm epiphany-browser | |
# Tip: Web can easily install web apps to Gnome | |
# Tip: FB MEssenger: Add custom JS to FB Messenger web app from codepile.net/pile/5NepjG9j | |
# Tip: MS To Do: Add https://login.live.com to "Manage additional urls" for login to work | |
# Tip: MS To Do: dark css: https://www.codepile.net/pile/AaMbQ09P | |
echo "*******Spotify*******" | |
# sudo snap install spotify | |
# Spotify app is buggy -- use natifier instead | |
echo "*******NVM*******" | |
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash | |
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" | |
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm | |
nvm install 16 | |
npm i --global tsc yarn pnpm nativefier | |
echo "*******Nextcloud*******" | |
yay -S --noconfirm --needed nextcloud-client | |
echo "*******GH CLI**********" | |
sudo pacman -S github-cli | |
# echo *******Anbox******* | |
# sudo snap install --devmode --beta anbox-installer | |
# sudo apt install linux-headers-generic android-tools-adb | |
# sudo modprobe ashmem_linux | |
# sudo modprobe binder_linux | |
# wget https://raw.githubusercontent.com/geeks-r-us/anbox-playstore-installer/master/install-playstore.sh | |
echo "*******Cleanup********" | |
sudo cp -rf /etc /etc.snap1 | |
sudo rm -rf /tmp/* | |
sudo timeshift --create --comments "Post setup.sh" | |
echo " | |
Done! Your next steps: | |
- create a user using https://gist.github.com/bdombro/abd441b8c52bddb0083a3292a5679ff5 | |
- enable gestures in chromium browsers by by dragging chrome-gestures-extension.crx to extensions | |
- enable fingerprints in user settings | |
- configure zsh --> `p10k configure` | |
" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment