mirror of
https://github.com/BradNut/computer-setup-info
synced 2025-09-08 17:40:23 +00:00
228 lines
7.4 KiB
Markdown
228 lines
7.4 KiB
Markdown
|
|
# Setup Dell XPS 13 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
|
||
|
|
# 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'
|
||
|
|
```
|
||
|
|
|
||
|
|
Bash Script from: https://github.com/jules-ch/Ubuntu20-Setup-XPS13/blob/master/setup.sh
|
||
|
|
```
|
||
|
|
#!/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
|
||
|
|
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
|
||
|
|
|
||
|
|
# 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
|
||
|
|
|
||
|
|
# 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'
|
||
|
|
|
||
|
|
# 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 \
|
||
|
|
apt-transport-https \
|
||
|
|
ca-certificates \
|
||
|
|
curl \
|
||
|
|
gnupg-agent \
|
||
|
|
software-properties-common -y -q
|
||
|
|
|
||
|
|
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'
|
||
|
|
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
## Post installation for docker
|
||
|
|
|
||
|
|
sudo groupadd -f docker
|
||
|
|
sudo usermod -aG docker $USER
|
||
|
|
|
||
|
|
## 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
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
## Post installation for code (sensible defaults)
|
||
|
|
|
||
|
|
code --install-extension ms-python.python
|
||
|
|
code --install-extension visualstudioexptteam.vscodeintellicode
|
||
|
|
code --install-extension eamodio.gitlens
|
||
|
|
code --install-extension ms-azuretools.vscode-docker
|
||
|
|
|
||
|
|
sudo flatpak install postman -y
|
||
|
|
|
||
|
|
# Node Install
|
||
|
|
|
||
|
|
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
|
||
|
|
|
||
|
|
|
||
|
|
# 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
|
||
|
|
|
||
|
|
## Chat
|
||
|
|
sudo flatpak install discord -y
|
||
|
|
|
||
|
|
## Multimedia
|
||
|
|
sudo apt install -y gimp
|
||
|
|
sudo flatpak install spotify -y
|
||
|
|
|
||
|
|
# Gotta reboot now:
|
||
|
|
sudo apt update -qq && sudo apt upgrade -y && sudo apt autoremove -y
|
||
|
|
|
||
|
|
echo $'\n'$"Ready for REBOOT"
|
||
|
|
```
|