Last active
July 30, 2021 17:01
-
-
Save sandrocarval/841333600c6055d99077bfeecad9ec59 to your computer and use it in GitHub Desktop.
PopOS 20.04 setup
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
# First, upgrade what you have | |
sudo apt update && sudo apt upgrade -y | |
# Base stuff | |
sudo apt install curl wget net-tools apt-transport-https software-properties-common gnupg fonts-roboto fonts-roboto-slab fonts-inter fonts-hack fonts-firacode gnome-tweaks code -y | |
# Dev stuff | |
sudo apt install build-essential git libbz2-dev zlib1g-dev libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev libffi-dev libbz2-dev dirmngr gpg automake autoconf libreadline-dev libncurses-dev libssl-dev libyaml-dev libxslt-dev libffi-dev libtool unixodbc-dev jq python3-pip -y | |
# Node LTS (latest = 14.x) + Yarn | |
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - | |
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 install nodejs yarn -y | |
# AdoptOpenJDK LTS (Java 11) | |
wget https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | |
gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --import public | |
gpg --no-default-keyring --keyring ./adoptopenjdk-keyring.gpg --export --output adoptopenjdk-archive-keyring.gpg | |
rm adoptopenjdk-keyring.gpg | |
sudo mv adoptopenjdk-archive-keyring.gpg /usr/share/keyrings | |
echo "deb [signed-by=/usr/share/keyrings/adoptopenjdk-archive-keyring.gpg] https://adoptopenjdk.jfrog.io/adoptopenjdk/deb focal main" | sudo tee /etc/apt/sources.list.d/adoptopenjdk.list | |
sudo apt-get update && sudo apt-get install adoptopenjdk-11-hotspot -y | |
# Maven 3.8.1 | |
wget https://downloads.apache.org/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz -P /tmp | |
sudo tar xf /tmp/apache-maven-3.8.1-bin.tar.gz -C /opt | |
sudo ln -s /opt/apache-maven-3.8.1 /opt/maven | |
# Setup Java-related env variables | |
sudo tee -a /etc/profile.d/java.sh <<-EOF | |
export JAVA_HOME=/usr/lib/jvm/adoptopenjdk-11-hotspot-amd64 | |
export M2_HOME=/opt/maven | |
export MAVEN_HOME=/opt/maven | |
export PATH=${M2_HOME}/bin:${PATH} | |
EOF | |
sudo chmod +x /etc/profile.d/java.sh | |
# Git | |
git config --global color.ui true | |
git config --global user.name "YOUR NAME" | |
git config --global user.email "YOUR EMAIL" | |
ssh-keygen -b 4096 | |
# Font setup | |
mkdir -p ~/.config/fontconfig/ | |
tee -a ~/.config/fontconfig/fonts.conf <<-EOF | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<alias binding="same"> | |
<family>Helvetica</family> | |
<prefer> | |
<family>Liberation Sans</family> | |
</prefer> | |
</alias> | |
<alias binding="same"> | |
<family>system-ui</family> | |
<prefer> | |
<family>Roboto</family> | |
</prefer> | |
</alias> | |
<alias binding="same"> | |
<family>sans</family> | |
<prefer> | |
<family>Roboto</family> | |
</prefer> | |
</alias> | |
<alias binding="same"> | |
<family>sans-serif</family> | |
<prefer> | |
<family>Roboto</family> | |
</prefer> | |
</alias> | |
<alias binding="same"> | |
<family>serif</family> | |
<prefer> | |
<family>Roboto Slab</family> | |
</prefer> | |
</alias> | |
<alias binding="same"> | |
<family>monospace</family> | |
<prefer> | |
<family>Hack</family> | |
</prefer> | |
</alias> | |
<match target="font"> | |
<edit name="antialias" mode="assign"> | |
<bool>true</bool> | |
</edit> | |
<edit name="autohint" mode="assign"> | |
<bool>false</bool> | |
</edit> | |
<edit name="hinting" mode="assign"> | |
<bool>true</bool> | |
</edit> | |
<edit name="hintstyle" mode="assign"> | |
<const>hintslight</const> | |
</edit> | |
<edit name="lcdfilter" mode="assign"> | |
<const>lcddefault</const> | |
</edit> | |
<edit name="rgba" mode="assign"> | |
<const>rgb</const> | |
</edit> | |
</match> | |
</fontconfig> | |
EOF | |
fc-cache -f -v | |
# Comment out the "modifier_map Mod3 { Scroll_Lock };" line | |
sudo vi /usr/share/X11/xkb/symbols/br | |
# Audio improvements | |
mkdir -p ~/.config/pulse/ | |
tee -a ~/.config/pulse/daemon.conf <<-EOF | |
deferred-volume-safety-margin-usec = 1 | |
default-sample-format = float32le | |
default-sample-channels = 2 | |
default-channel-map = front-left,front-right | |
default-fragments = 2 | |
default-fragment-size-msec = 125 | |
resample-method = soxr-vhq | |
remixing-produce-lfe = no | |
high-priority = yes | |
nice-level = -11 | |
realtime-scheduling = yes | |
realtime-priority = 9 | |
rlimit-rtprio = 9 | |
daemonize = no | |
EOF | |
# Increase max_user_watches | |
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf | |
sudo sysctl -p | |
# And reboot! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment