Moving Graphene, adding setup script.

This commit is contained in:
Bradley Shellnut 2021-06-17 12:36:43 -07:00
parent 2803ad6152
commit 59d8caad23
5 changed files with 396 additions and 159 deletions

5
environment/README.md Normal file
View file

@ -0,0 +1,5 @@
# Environment Setup
## Linux
For Linux you can reference the files throughout the repo for detailed information or run the [SetupLinux.sh](./SetupLinux.sh) script in this directory.

View file

@ -6,4 +6,4 @@
## GrapheneOS
- Install: [Link](../master/linux/GrapheneOS-Install.md)
- Install: [Link](../master/android/GrapheneOS-Install.md)

217
environment/SetupLinux.sh Normal file
View file

@ -0,0 +1,217 @@
#!/bin/bash
set -ex
# Add dell drivers for focal fossa
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
EOF'
sudo apt update -q
# Install general utilities
sudo apt install git curl xclip htop openssh-server sshfs vim neofetch file gnome-tweaks
sudo apt autoremove
# Setup Development tools
## Add build essentials
sudo apt install build-essential -y
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
# Install SDK Man
curl -s "https://get.sdkman.io" | bash
# Install ZSH
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/agkozak/zsh-z $ZSH_CUSTOM/plugins/zsh-z
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Install Linux Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# Add Homebrew to your PATH in /home/bshellnu/.profile:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/bshellnu/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
# Run `brew help` to get started
sudo apt-get install build-essential
brew install gcc
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
# Install Casks
brew install node
brew install postgresql
brew install hudochenkov/sshpass/sshpass
# Install NPM Utilities
npm install -g npm-check-updates
npm install -g tldr
npm install --global trash-cli
# Install Battery Life Improvements https://support.system76.com/articles/battery/
sudo apt install tlp tlp-rdw --no-install-recommends
# Install trackpad gestures
mkdir trackpad-gestures
cd trackpad-gestures
sudo gpasswd -a $USER input
sudo apt-get install libinput-tools xdotool
git clone https://github.com/bulletmark/libinput-gestures.git
cd libinput-gestures
sudo make install
sudo ./libinput-gestures-setup install
libinput-gestures-setup autostart
libinput-gestures-setup start
cd ..
## Install UI tool
flatpak install flathub com.gitlab.cunidev.Gestures
# Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# CLIs
npm install gatsby-cli -g
# sudo apt install snapd
# sudo snap install --classic heroku
npm install @sanity/cli -g
# Install fonts
sudo apt install fonts-firacode fonts-open-sans -y -q
# Install Applications
## Coding
flatpak install flathub io.dbeaver.DBeaverCommunity
## Browser
sudo apt install apt-transport-https curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser
## Chat
sudo flatpak install discord -y
## Multimedia
sudo apt install -y gimp
flatpak install flathub com.plexamp.Plexamp
## Mail
sudo apt-get install evolution
## Social
flatpak install flathub uk.co.ibboard.cawbird
flatpak install flathub com.github.bleakgrey.tootle
flatpak install flathub org.signal.Signal
## Others
flatpak install flathub com.anydesk.Anydesk
flatpak install flathub com.bitwarden.desktop
flatpak install flathub org.filezillaproject.Filezilla
flatpak install flathub com.getpostman.Postman
flatpak install flathub org.qbittorrent.qBittorrent
flatpak install flathub org.standardnotes.standardnotes
# Yubico
flatpak install flathub com.yubico.yubioath
sudo apt update && sudo apt install -y gnupg2 gnupg-agent scdaemon pcscd
# Sublime Text
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
# VSCode Extensions
## Auto Complete
code --install-extension formulahendry.auto-close-tag
code --install-extension formulahendry.auto-rename-tag
## Debuggers
code --install-extension msjsdiag.debugger-for-chrome
## Formaters
code --install-extension aaron-bond.better-comments
code --install-extension tombonnike.vscode-status-bar-format-toggle
code --install-extension esbenp.prettier-vscode
## Icons
code --install-extension vscode-icons-team.vscode-icons
## Linters
code --install-extension streetsidesoftware.code-spell-checker
code --install-extension dbaeumer.vscode-eslint
## Other
code --install-extension CoenraadS.bracket-pair-colorizer-2
code --install-extension naumovs.color-highlight
code --install-extension donjayamanne.githistory
code --install-extension wix.vscode-import-cost
code --install-extension Orta.vscode-jest
code --install-extension christian-kohler.npm-intellisense
code --install-extension techer.open-in-browser
code --install-extension christian-kohler.path-intellisense
code --install-extension 2gua.rainbow-brackets
code --install-extension siegebell.scope-info
code --install-extension ardenivanov.svelte-intellisense
## Programming Languages
code --install-extension PeterJausovec.vscode-docker
code --install-extension mikestead.dotenv
code --install-extension Prisma.vscode-graphql
code --install-extension Prisma.prisma
code --install-extension mechatroner.rainbow-csv
code --install-extension mrmlnc.vscode-scss
code --install-extension svelte.svelte-vscode
code --install-extension jpoissonnier.vscode-styled-components
code --install-extension redhat.vscode-yaml
## Snippets
code --install-extension dsznajder.es7-react-js-snippets
code --install-extension kumar-harsh.graphql-for-vscode
code --install-extension fivethree.vscode-svelte-snippets
## Themes
code --install-extension teabyii.ayu
code --install-extension wesbos.theme-cobalt2
code --install-extension Loader be5invis.vscode-custom-css
code --install-extension RobbOwen.synthwave-vscode
# Gotta reboot now:
sudo apt update -qq && sudo apt upgrade -y && sudo apt autoremove -y
echo $'\n'$"Ready for REBOOT"

View file

@ -1,6 +1,7 @@
# Setup Dell XPS 13 Ubuntu
# Setup Dell XPS 13 PopOS/Ubuntu
## Install Dell Drivers
```
sudo sh -c 'cat > /etc/apt/sources.list.d/focal-dell.list << EOF
deb http://dell.archive.canonical.com/updates/ focal-dell public
@ -17,16 +18,12 @@ deb http://dell.archive.canonical.com/updates/ focal-somerville-melisa public
EOF'
```
Bash Script from: https://github.com/jules-ch/Ubuntu20-Setup-XPS13/blob/master/setup.sh
Clean setup of PopOS resources:
```
#!/bin/bash
set -ex
# Ensure repositories are enabled
sudo add-apt-repository universe
sudo add-apt-repository multiverse
sudo add-apt-repository restricted
# Add dell drivers for focal fossa
sudo sh -c 'cat > /etc/apt/sources.list.d/focal-dell.list << EOF
@ -35,194 +32,212 @@ deb 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 update -q
# Install general utilities
sudo apt install git htop lame net-tools flatpak audacity \
openssh-server sshfs simplescreenrecorder nano \
vlc gthumb gnome-tweaks ubuntu-restricted-extras thunderbird \
ffmpeg ufw \
gnome-tweak-tool spell synaptic -y -qq
sudo apt install git curl xclip htop openssh-server sshfs vim neofetch file gnome-tweaks
# Install drivers
sudo apt install oem-somerville-melisa-meta libfprint-2-tod1-goodix oem-somerville-meta tlp-config -y
# Install fusuma for handling gestures
sudo gpasswd -a $USER input
sudo apt install libinput-tools xdotool ruby -y -qq
sudo gem install --silent fusuma
# Install Howdy for facial recognition
while true; do
read -p "Facial recognition with Howdy (y/n)?" choice
case "$choice" in
y|Y )
echo "Installing Howdy"
sudo add-apt-repository ppa:boltgolt/howdy -y > /dev/null 2>&1
sudo apt update -qq
sudo apt install howdy -y; break;;
n|N )
echo "Skipping Install of Howdy"; break;;
* ) echo "invalid";;
esac
done
# Remove packages:
sudo apt remove rhythmbox -y -q
# Add Flatpak support:
sudo apt install gnome-software-plugin-flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install Icon Theme
[[ -d /tmp/tela-icon-theme ]] && rm -rf /tmp/tela-icon-theme
git clone https://github.com/vinceliuice/Tela-icon-theme.git /tmp/tela-icon-theme > /dev/null 2>&1
/tmp/tela-icon-theme/install.sh -a
gsettings set org.gnome.desktop.interface icon-theme 'Tela-grey-dark'
# Add Plata-theme
sudo add-apt-repository ppa:tista/plata-theme -y > /dev/null 2>&1
sudo apt update -qq && sudo apt install plata-theme -y
gsettings set org.gnome.desktop.interface gtk-theme "Plata-Noir"
gsettings set org.gnome.desktop.wm.preferences theme "Plata-Noir"
# Enable Shell Theme
sudo apt install gnome-shell-extensions -y
gnome-extensions enable user-theme@gnome-shell-extensions.gcampax.github.com
gsettings set org.gnome.shell.extensions.user-theme name "Plata-Noir"
# Install fonts
sudo apt install fonts-firacode fonts-open-sans -y -qq
gsettings set org.gnome.desktop.interface font-name 'Open Sans 12'
gsettings set org.gnome.desktop.interface monospace-font-name 'Fira Code 13'
sudo apt autoremove
# Setup Development tools
## Update python essentials
sudo apt install python3 python3-pip python-is-python3 -y
sudo python3 -m pip install -U pip setuptools wheel
python3 -m pip install --user black
## Add build essentials
sudo apt install build-essential -y
## Add Java JDK LTS
sudo apt install openjdk-11-jdk -y
sudo apt install \
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common -y -q
gnupg \
lsb-release
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/packages.microsoft.gpg
sudo install -o root -g root -m 644 /tmp/packages.microsoft.gpg /usr/share/keyrings/
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
# Install SDK Man
curl -s "https://get.sdkman.io" | bash
# Install ZSH
sudo apt install zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone https://github.com/agkozak/zsh-z $ZSH_CUSTOM/plugins/zsh-z
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable" > /dev/null 2>&1
sudo apt update -qq && sudo apt install docker-ce docker-ce-cli docker-compose containerd.io code -y
# Install Linux Brew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# Add Homebrew to your PATH in /home/bshellnu/.profile:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/bshellnu/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
# Run `brew help` to get started
sudo apt-get install build-essential
brew install gcc
## Post installation for docker
test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile
sudo groupadd -f docker
sudo usermod -aG docker $USER
# Install Casks
brew install node
brew install postgresql
brew install hudochenkov/sshpass/sshpass
## Install Go
wget https://golang.org/dl/go1.16.linux-amd64.tar.gz -O /tmp/go1.16.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf /tmp/go1.16.linux-amd64.tar.gz
# Install NPM Utilities
npm install -g npm-check-updates
npm install -g tldr
npm install --global trash-cli
if ! grep -qF "export PATH=\$PATH:/usr/local/go/bin" /etc/profile; then
sudo sh -c 'echo "export PATH=\$PATH:/usr/local/go/bin" >> /etc/profile'
fi
# Install Battery Life Improvements https://support.system76.com/articles/battery/
sudo apt install tlp tlp-rdw --no-install-recommends
# Install trackpad gestures
mkdir trackpad-gestures
cd trackpad-gestures
sudo gpasswd -a $USER input
sudo apt-get install libinput-tools xdotool
git clone https://github.com/bulletmark/libinput-gestures.git
cd libinput-gestures
sudo make install
sudo ./libinput-gestures-setup install
libinput-gestures-setup autostart
libinput-gestures-setup start
cd ..
## Install UI tool
flatpak install flathub com.gitlab.cunidev.Gestures
## Post installation for code (sensible defaults)
# Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
code --install-extension ms-python.python
code --install-extension visualstudioexptteam.vscodeintellicode
code --install-extension eamodio.gitlens
code --install-extension ms-azuretools.vscode-docker
# CLIs
npm install gatsby-cli -g
# sudo apt install snapd
# sudo snap install --classic heroku
npm install @sanity/cli -g
sudo flatpak install postman -y
# Install fonts
sudo apt install fonts-firacode fonts-open-sans -y -q
# Node Install
# Install Applications
echo "Installing Node 14 JS LTS"
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update -qq && sudo apt-get install -y yarn
## Coding
flatpak install flathub io.dbeaver.DBeaverCommunity
# Setup GNOME material shell (Need node for compilation)
git clone https://github.com/PapyElGringo/material-shell.git ~/material-shell || true
make -C ~/material-shell/ install
# Setup Android Studio for Mobile Development
while true; do
read -p "Mobile development (Android) (y/n)?" choice
case "$choice" in
y|Y )
sudo dpkg --add-architecture i386 && sudo apt update -qq
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
wget https://redirector.gvt1.com/edgedl/android/studio/ide-zips/4.1.2.0/android-studio-ide-201.7042882-linux.tar.gz -O /tmp/android-studio-ide-201.7042882-linux.tar.gz
sudo tar -xzf /tmp/android-studio-ide-201.7042882-linux.tar.gz -C /opt
sudo sh -c 'cat > /usr/share/applications/jetbrains-studio.desktop << EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=Android Studio
Icon=/opt/android-studio/bin/studio.svg
Exec="/opt/android-studio/bin/studio.sh" nosplash %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-studio
EOF'
sudo chmod 644 /usr/share/applications/jetbrains-studio.desktop; break;;
n|N )
echo "Skipping Install of Android SDKs"; break;;
* ) echo "invalid";;
esac
done
## Browser
sudo apt install apt-transport-https curl
sudo curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg arch=amd64] https://brave-browser-apt-release.s3.brave.com/ stable main"|sudo tee /etc/apt/sources.list.d/brave-browser-release.list
sudo apt update
sudo apt install brave-browser
## Chat
sudo flatpak install discord -y
## Multimedia
sudo apt install -y gimp
sudo flatpak install spotify -y
flatpak install flathub com.plexamp.Plexamp
## Mail
sudo apt-get install evolution
## Social
flatpak install flathub uk.co.ibboard.cawbird
flatpak install flathub com.github.bleakgrey.tootle
flatpak install flathub org.signal.Signal
## Others
flatpak install flathub com.anydesk.Anydesk
flatpak install flathub com.bitwarden.desktop
flatpak install flathub org.filezillaproject.Filezilla
flatpak install flathub com.getpostman.Postman
flatpak install flathub org.qbittorrent.qBittorrent
flatpak install flathub org.standardnotes.standardnotes
# Yubico
flatpak install flathub com.yubico.yubioath
sudo apt update && sudo apt install -y gnupg2 gnupg-agent scdaemon pcscd
# Sublime Text
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
# VSCode Extensions
## Auto Complete
code --install-extension formulahendry.auto-close-tag
code --install-extension formulahendry.auto-rename-tag
## Debuggers
code --install-extension msjsdiag.debugger-for-chrome
## Formaters
code --install-extension aaron-bond.better-comments
code --install-extension tombonnike.vscode-status-bar-format-toggle
code --install-extension esbenp.prettier-vscode
## Icons
code --install-extension vscode-icons-team.vscode-icons
## Linters
code --install-extension streetsidesoftware.code-spell-checker
code --install-extension dbaeumer.vscode-eslint
## Other
code --install-extension CoenraadS.bracket-pair-colorizer-2
code --install-extension naumovs.color-highlight
code --install-extension donjayamanne.githistory
code --install-extension wix.vscode-import-cost
code --install-extension Orta.vscode-jest
code --install-extension christian-kohler.npm-intellisense
code --install-extension techer.open-in-browser
code --install-extension christian-kohler.path-intellisense
code --install-extension 2gua.rainbow-brackets
code --install-extension siegebell.scope-info
code --install-extension ardenivanov.svelte-intellisense
## Programming Languages
code --install-extension PeterJausovec.vscode-docker
code --install-extension mikestead.dotenv
code --install-extension Prisma.vscode-graphql
code --install-extension Prisma.prisma
code --install-extension mechatroner.rainbow-csv
code --install-extension mrmlnc.vscode-scss
code --install-extension svelte.svelte-vscode
code --install-extension jpoissonnier.vscode-styled-components
code --install-extension redhat.vscode-yaml
## Snippets
code --install-extension dsznajder.es7-react-js-snippets
code --install-extension kumar-harsh.graphql-for-vscode
code --install-extension fivethree.vscode-svelte-snippets
## Themes
code --install-extension teabyii.ayu
code --install-extension wesbos.theme-cobalt2
code --install-extension Loader be5invis.vscode-custom-css
code --install-extension RobbOwen.synthwave-vscode
# Gotta reboot now:
sudo apt update -qq && sudo apt upgrade -y && sudo apt autoremove -y
echo $'\n'$"Ready for REBOOT"
```
```
Reference bash script here: https://github.com/jules-ch/Ubuntu20-Setup-XPS13/blob/master/setup.sh