Pop OS How To Install
Pop OS How To Install
_OS
20.04 (Apps, Settings, and Tweaks)
Please feel free to raise any comments or issues on the website’s Github repository.
Pull requests are very much appreciated.
In the following I will go through my post installation steps, i.e. which settings I choose and
which apps I install and use.
Basic Steps
Go through welcome screen and create user account
Change the mirror for getting updates, set locales, get rid of unnecessary languages
Open “language” in “region settings”, do not update these, but first remove the unnecessary
ones. Then reopen “languages” and update these.
Switching Graphics in Pop!_OS is easy: either use the provided extension and restart or run
I use a Thunderbolt Dock (DELL TB16) with three monitors, which is great but also a bit
tricky to set up (see Dell TB16 Archwiki). I noticed that sometimes I just need to plug the
USB-C cable in and out a couple of times to make it work (there seems to be a loose
contact). Anyways, for me the most important step is to check in
“Settings-Privacy-Thunderbolt”, whether the Thunderbolt dock works, so I can rearrange my
three monitors in “monitor settings”. I then save this as default for “gdm”:
I mount my luks encrypted backup storage drive using nautilus and use rsync to copy over
my files and important configuration scripts:
export BACKUP=/media/$USER/UUIDOFBACKUPDRIVE/@home/$USER/
sudo rsync -avuP $BACKUP/Bilder ~/
sudo rsync -avuP $BACKUP/Dokumente ~/
sudo rsync -avuP $BACKUP/Downloads ~/
sudo rsync -avuP $BACKUP/dynare ~/
sudo rsync -avuP $BACKUP/Images ~/
sudo rsync -avuP $BACKUP/Musik ~/
sudo rsync -avuP $BACKUP/Schreibtisch ~/
sudo rsync -avuP $BACKUP/SofortUpload ~/
sudo rsync -avuP $BACKUP/Videos ~/
sudo rsync -avuP $BACKUP/Vorlagen ~/
sudo rsync -avuP $BACKUP/Work ~/
sudo rsync -avuP $BACKUP/.config/Nextcloud ~/.config/
sudo rsync -avuP $BACKUP/.gitkraken ~/
sudo rsync -avuP $BACKUP/.gnupg ~/
sudo rsync -avuP $BACKUP/.local/share/applications ~/.local/share/
sudo rsync -avuP $BACKUP/.matlab ~/
sudo rsync -avuP $BACKUP/.ssh ~/
sudo rsync -avuP $BACKUP/wiwi ~/
sudo rsync -avuP $BACKUP/.dynare ~/
sudo rsync -avuP $BACKUP/.gitconfig ~/
I use Firefox and like to keep my bookmarks and extensions in sync. Particularly, I use
Bitwarden for all my passwords.
SSH keys
Otherwise, I restore my .ssh folder from my backup. Either way, afterwards, one needs to
add the file containing your key, usually id_rsa, to the ssh-agent:
Don’t forget to add your public keys to GitHub, Gitlab, Servers, etc.
Btrfs Async Discard Support Looks To Be Ready For Linux 5.6; however, I am mostly on the
5.4 kernel, so I make sure that discard is not set in either my fstab or crypttab files, and also
enable the fstrim.timer systemd service:
Also, there is some debate whether tlp on btrfs is a good choice or should be deactivated. In
any case, my laptops have sufficient battery power, so I remove it:
Make sure that OpenPGP and PIV are enabled on both Yubikeys as shown above.
Let’s set up the Yubikeys as second-factor for everything related to sudo using the
common-auth pam.d module:
pamu2fcfg > ~/u2f_keys # When your device begins flashing, touch the metal contact to
confirm the association.
pamu2fcfg -n >> ~/u2f_keys # Do the same with your backup device
sudo mv ~/u2f_keys /etc/u2f_keys
# Make this required for common-auth
echo "auth required pam_u2f.so nouserok authfile=/etc/u2f_keys cue" | sudo
tee -a /etc/pam.d/common-auth
# Before you close the terminal, open a new one and check whether you can do `sudo echo
test`
Let’s set up the Yubikeys as second-factor to unlock the luks partitions. If you have brand
new keys, then create a new key on them:
export LUKSDRIVE=/dev/nvme0n1p4
#insert first yubikey
sudo yubikey-luks-enroll -d $LUKSDRIVE -s 7 # first yubikey
#insert second yubikey
sudo yubikey-luks-enroll -d $LUKSDRIVE -s 8 # second yubikey
export CRYPTKEY="luks,keyscript=/usr/share/yubikey-luks/ykluks-keyscript"
sudo sed -i "s|luks|$CRYPTKEY|" /etc/crypttab
cat /etc/crypttab #check whether this looks okay
sudo update-initramfs -u
Let’s use the private GPG key on the Yubikey (a tutorial on how to put it there is taken from
Heise or YubiKey-Guide). My public key is given in a file called
/home/$USER/.gnupg/public.asc:
Auto-login
Now, as I have a fully encrypted luks system and am the sole user of my computer, I can
turn on automatic login in the settings, and afterwards disable the keyring manager by
setting a blank password on the login keyring.
Open seahorse, right-click on login, change password, input an empty password. Lastly,
select autologin in gnome settings.
Apps
Snap support
System utilities
arandr
Caffeine
A little helper in case my laptop needs to stay up