What are standard things you do after a fresh Linux install?

Now’s my time to shine! I’ve put together a comprehensive list of things to do on my system after a fresh install. Some of these may or may not apply to you as well, but if it helps anyone else, awesome! Cheers!

edit: note this is not a bash script, but could easily be achieved if you didn’t fancy manually adding each command**

Things To Do After Installing EndeavourOS Guide: **(Updated as of 2021.11.07)**

*use sudo pacman -Syu to update system or yay for AUR updates and flatpak update*

Install to get spell checking working system wide (aka working in LibreOffice/Hexchat):

(https://forum.endeavouros.com/t/how-to-enable-spell-check-system-wide/16208/1)

sudo pacman -S hunspell-en_us

Install Pamac (GUI for pacman to install/remove/search packages):

yay -S pamac-aur

Install archlinux-appstream-data-pamac (AUR) for pamac to display applications list on main screen:

(https://forum.endeavouros.com/t/pamac-aur-empty-list-on-start/16129)

yay -S archlinux-appstream-data-pamac

Get bluetooth support:

(https://discovery.endeavouros.com/bluetooth/bluetooth/2021/03/)

**sudo pacman -S --needed bluez bluez-utils pulseaudio-bluetooth**
**sudo systemctl enable --now bluetooth**

**Remove the grub boot theme:**

**(** **https://forum.endeavouros.com/t/how-to-remove-grub-theme-during-boot/15348** **)**

Edit /etc/default/grub

sudo nano /etc/default/grub

Comment out the line:

GRUB_THEME=

Rebuild grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Reboot.

Get older Gnome Extension version to work in Gnome 40+:

gsettings set org.gnome.shell disable-extension-version-validation "true"

Install LTS kernel: (you can also use AKM to install kernels easily, FYI)

sudo pacman -S linux-lts

sudo pacman -S linux-lts-headers

To get NVIDIA proprietary drivers working so dedicated GPU is always ON:

(https://discovery.endeavouros.com/nvidia/nvidia-installer/2021/03/)

^IF drivers aren’t installed, follow this, otherwise skip to next step**

sudo pacman -S nvidia-installer-dkms

START HERE FOR NVIDIA DRIVERS:

(https://discovery.endeavouros.com/nvidia/nvidia-optional-enhancements-and-troubleshooting/2021/03/)

Force nvidia-drm.modeset=1, by adding it to the grub.cfg

sudo nano /etc/default/grub

GRUB_DEFAULT=0

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="EndeavourOS"

**GRUB_CMDLINE_LINUX_DEFAULT="nvidia-drm.modeset=1 quiet loglevel=3 nowatchdog"**

GRUB_CMDLINE_LINUX=""

save the file, ctrl+x, hit Y to save and rebuild the grub.cfg

sudo grub-mkconfig -o /boot/grub/grub.cfg

Force nvidia drivers to load on early boot (helps to prevent black screens before login screen)

sudo nano /etc/mkinitcpio.conf

# vim:set ft=sh

# MODULES

# The following modules are loaded before any boot hooks are

# run. Advanced users may wish to specify all system modules

# in this array. For instance:

# MODULES=(piix ide_disk reiserfs)

**MODULES="nvidia nvidia_modeset nvidia_uvm nvidia_drm"**

save the file, ctrl+x, hit Y to save and rebuild the mkinitcpio.conf

sudo mkinitcpio -P

Reboot and should be good to go!

More on the next page...

Avoid screen tearing:

sudo nano /etc/X11/xorg.conf.d/20-nvidia.conf

Section "Device"

Identifier "Nvidia Card"

Driver "nvidia"

VendorName "NVIDIA Corporation"

Option "NoLogo" "true"

EndSection

Section "Screen"

Identifier "nvidia"

Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Option "TripleBuffer" "on"

Option "AllowIndirectGLXProtocol" "off"

EndSection

save the file, ctrl+x, hit Y to save

Use a hook to make sure you do get kernel images to rebuild on updates:

sudo pacman -S nvidia-hook

Set Nvidia via optimus-manager to select GPU always ON:

(https://discovery.endeavouros.com/nvidia/optimus-manager-for-nvidia/2021/03/)

yay -S optimus-manager

yay -S optimus-manager-qt

Reboot your system

Check optimus manager service (should be running)

systemctl status optimus-manager

If it’s not running, start and enable it:

sudo systemctl enable --now optimus-manager

Use optimus-manager app to select from tray icon>settings>optimus tab> startup mode: NVIDIA

Note: The following only applies if you installed EndeavourOS before the August iso release, otherwise you may ignore this step:
In case pacman.conf is different from the repos, you can copy the latest version (this will enable parallel downloads until pacman gets updated to the newer version on the ISO):

(https://forum.endeavouros.com/t/fresh-install-6-10-21-pacman-conf-no-paralelldownloads/15107)

wget https://raw.githubusercontent.com/endeavouros-team/install-scripts/master/pacman.conf && sudo cp pacman.conf /etc/

Also to check to make sure pacman is using 10 parallel downloads:

sudo nano /etc/pacman.conf

Edit the line “ParallelDownloads = (whatever number is here, default is 5, but 10 works too)

Ctrl X to exit, Y for yes to save, hit ENTER and done.

Install TimeShift:

(https://discovery.endeavouros.com/applications/update-troubles-meet-timeshift/2019/11/)

sudo pacman -Syu

yay -S timeshift

systemctl enable cronie.service

systemctl start cronie.service

Install Gnome Tweaks Tool (if its not already installed)

Gnome Tweaks Font styles:

Interface Text: Ubuntu Regular 10

Document Text: Sans Regular 10

Monospace Text: Hack Regular 12

Legacy Window Titles: Ubuntu Bold 10

Hinting: Slight & Anti-aliasing: Standard (grayscale)

Scaling Factor: 1.00

Install software applications via pacman, yay, or pamac:

sudo pacman -S vivaldi

yay -S vivaldi-snapshot

yay -S bitwarden

sudo pacman -S neofetch

yay -S papirus-folders

yay -S pika-backup

sudo pacman -S papirus-icon-theme

yay -S papirus-folders

papirus-folders -C cyan --theme Papirus-Dark (cmd to change folder icons to Cyan color scheme)

sudo pacman -S yaru-sound-theme (the yaru-git might have already installed this, FYI**)

yay -S yaru-colors-gtk-theme

sudo pacman -S --needed ttf-caladea ttf-carlito ttf-dejavu ttf-liberation ttf-linux-libertine-g noto-fonts adobe-source-code-pro-fonts adobe-source-sans-pro-fonts adobe-source-serif-pro-fonts

yay -S ttf-ms-fonts

yay -S ttf-roboto-slab

yay -S chrome-gnome-shell

sudo pacman -S a52dec faac faad2 flac jasper lame libdca libdv libmad libmpeg2 libtheora libvorbis libxv wavpack x264 xvidcore gstreamer0.10-plugins

sudo pacman -S p7zip p7zip-plugins unrar tar rsync

sudo pacman -S flatpak

sudo pacman -S tilix

sudo pacman -S discord

sudo pacman -S nvidia-settings

sudo pacman -S celluloid

sudo pacman -S fragments

sudo pacman -S transmission-gtk

sudo pacman -S cawbird

sudo pacman -S gnome-podcasts

sudo pacman -S blanket (white noise, fireplace, raining sound app for my dog to chill out too)

sudo pacman -S piper (mouse configuration app)

sudo pacman -S evolution

sudo pacman -S gimp

sudo pacman -S inkscape

sudo pacman -S rawtherapee

sudo pacman -S darktable

sudo pacman -S quodlibet

sudo pacman -S kid3

sudo pacman -S flameshot

sudo pacman -S htop

sudo pacman -S cheese

sudo pacman -S gnome-clocks

sudo pacman -S shotwell

sudo pacman -S gnome-logs

sudo pacman -S gnome-disk-utility

sudo pacman -S deja-dup

sudo pacman -S inxi (if it’s not already installed)

inxi -Fxxxza –no-host (** cmd that helps to show system info, ideal for forum posts**)

sudo pacman -S simplescreenrecorder

sudo pacman -S hexchat

sudo pacman -S gtk-engine-murrine (helps display gtk2 apps like Hexchat a little better**)

sudo pacman -S meld (package diff editor, better than the default Diffuse Merge imo)

sudo pacman -S soundconverter

sudo pacman -S gparted

sudo pacman -S python-defusedxml (might have to install this to get glances to work, its like htop)

sudo pacman -S bandwhich (monitors network traffice via CLI)

sudo pacman -S xorg-xdpyinfo (helps inxi -Ga command to show resolution states in terminal)

yay -S gdm-prime (req. for nvidia optiums, will remove the official gdm-prime package)

yay -S libgdm-prime (req. for nvidia optimus. will remove the official libgdm-prime package)

yay -S popsicle-git (USB writer developed by PopOS, works great under GNOME)

yay -S apostrophe

yay -S tauon-music-box (best music player hands down)

yay -S spotify

yay -S minecraft-launcher

yay -S zoom

yay -S gtg (get things gnome planner/to do list )

yay -S gwe (nvidia drivers/temp/fans app)

sudo pacman -S libreoffice-fresh

For LibreOffice, use yaru icon theme, install from LibreOffice extensions website via Firefox browser (won’t work correctly in a Chromium browser, FYI)

https://extensions.libreoffice.org/en/extensions/show/yaru-icon-theme

flatpak install flathub com.skype.Client

flatpak install flathub com.github.tchx84.Flatseal

flatpak install flathub com.github.Bleuzen.FfaudioConverter

flatpak install flathub org.libretro.RetroArch

flatpak themes:

flatpak remote-ls flathub | grep org.gtk.Gtk3theme (cmd that shows available flatpak themes)

flatpak install flathub org.gtk.Gtk3theme.Yaru

flatpak install flathub org.gtk.Gtk3theme.Yaru-dark

flatpak install flathub org.gtk.Gtk3theme.Yaru-Red-dark

flatpak install flathub org.gtk.Gtk3theme.Yaru-Yellow-dark

flatpak install flathub org.gtk.Gtk3theme.Pop-dark

flatpak install flathub org.gtk.Gtk3theme.Pop

^DO NOT use the stable flatpak theme, it doesn’t work, use option #2, like the 3.22 or whatever^

GNOME Extensions to install: (make sure they are compatible with current Gnome version if possible)

Alphabetical App Grid

~~Always Indicator~~

AppIndicator and KstatusNotifierItem Support

Bluetooth Quick Connect

Disconnect Wifi

GSConnect

Just Perfection

Mpris Indicator Button

Notification Center

OpenWeather

Scrovol

Sound Input & Output Device Chooser

Toggle Mute on Middle-Click

~~Tray Icons: Reloaded (do not enable, only use as a backup as necessary)~~

Tweaks & Extensions in System Menu

Window is Ready – Notification Remover

User Themes

Dash to Dock (once Gnome 40 support is enabled, currently only in AUR)

keyboard modifier (adjust in Gnome Settings>Keyboard>Keyboard Shortcuts):

windows super key + D – hide all normal windows

windows super key + H – hide current window

how to enable VPN on (these cmds are for PopOS, but EnOS should be similar):

https://protonvpn.com/support/linux-vpn-setup/

sudo pacman -S openvpn

sudo pacman -S network-manager-openvpn-gnome (*package not found, so might not be necessary*)

sudo pacman -S resolvconf (if it’s not already installed)

https://account.protonvpn.com/downloads

Download the free UDP US server config files

Use username and password to login, add files via Gnome Settings>Network>VPN

Keep numpad/lock always ON

use gnome tweaks tools>keyboard & mouse> additional layout options>miscellaneous compatibility options> Numeric keypad always enters digits (as in MacOS) AND also set Default numeric keypad keys as well***(this one may or may not be optionally needed)

Install a Firewall:

sudo pacman -S gufw

sudo systemctl start ufw.service

sudo systemctl enable ufw.service (MUST RUN THIS, allows ufw to auto-start on reboots)

sudo ufw allow 1714:1764/udp (port to allow GSConnect to function properly)

sudo ufw allow 1714:1764/tcp (port to allow GSConnect to function properly)

sudo ufw reload

sudo ufw status

sudo systemctl status ufw

sudo ufw status verbose (also checks status of firewall to see if it’s enabled on startup or not)

FIX OpenWeather darkened text (gitlab issue #254) https://gitlab.com/jenslody/gnome-shell-extension-openweather/-/issues/254#note_433112009

Anyway the solution is to add color:white; yourself at two places in ~/.local/share/gnome-shell/extensions/openweather-extension@jenslody.de/stylesheet.css to obtain something like this:

.openweather-current-summarybox,

.openweather-forecast-icon,

.openweather-current-databox-captions,

.openweather-current-databox-values,

.openweather-current-icon,

.openweather-forecast-summary,

.openweather-forecast-temperature{

border-radius: 0px;

padding: 0px;

border: 0px;

color:white;

}

...

.openweather-forecast-day {

font-size: 90%;

spacing: 0;

color:white;

}

Save the file then restart Gnome Shell with ALT+F2 > r > Enter and it's repaired.

******************************

So, if you want to enable the grub so that on boot it selects by default whichever kernel you last used, then please follow these commands:

(https://forum.endeavouros.com/t/what-kernel-do-you-use/16295/31)

sudo nano /etc/default/grub

You have to change two values here. First at the very top look for:

GRUB_DEFAULT=0

And change the value from a 0 to “saved” without the quotes like the following:

GRUB_DEFAULT=saved

Next value to change, look for the following (it’ll be towards the very bottom):

# Uncomment to make GRUB remember the last selection. This requires

# setting 'GRUB_DEFAULT=saved' above.

#GRUB_SAVEDEFAULT=true

Here, get rid of (aka delete) the # before GRUB_SAVEDEFAULT=true

So it looks like the following:

# Uncomment to make GRUB remember the last selection. This requires

# setting 'GRUB_DEFAULT=saved' above.

GRUB_SAVEDEFAULT=true

Now you may hit Ctrl+X, then type Y (for yes) and hit enter to save the file.

Next you have to ‘reload’ grub with the new vaules, so for that use the following:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Once you’ve done that, reboot, select a different kernel that you don’t normally boot from, login real quick, and do another reboot to check to see if the kernel you previously selected is saved from the last boot and then you should be all good to go!

******************************

To enable a keyboard shortcut to center windows (like System Monitor):

Install dconf-editor:

sudo pacman -S dconf-editor

For a keyboard shortcut, there's a dconf key under /org/gnome/desktop/wm/keybindings which is move-to-center and it should be empty. Change that to whatever you want (for instance, I use ['<Super><Control><Shift>Home'] OR ['<Super><Control><Shift>KP_5']).

Also change move window to top left/right or bottom left/right corner of screen:

Move to top right corner: ['<Super><Control><Shift>KP_9'] (move-to-corner-ne)

Move to top left corner: ['<Super><Control><Shift>KP_7'] (move-to-corner-nw)

Move to bottom right corner: ['<Super><Control><Shift>KP_3'] (move-to-corner-se)

Move to bottom left corner: ['<Super><Control><Shift>KP_1'] (move-to-corner-sw)

Keep a window always on top: ['<Super><Control><Shift>Home']

Make Gnome Extensions *possibly work in newer Gnome versions that they don’t yet support. In this example will use the Sound Input/Out Chooser extension:

All you need to do is edit the metadata.json file (eg with Gedit) located in the extension folder (/home/user/.local/share/gnome-shell/extensions/sound-output-device-chooser@kgshank.net) and add "41" at the end of the list of shell versions so that it looks like this:

"shell-version": [

"3.34",

"3.32",

"3.36",

"3.38",

"41"

Install PopOS fonts:

sudo pacman -S ttf-fira-sans

sudo pacman -S ttf-fira-mono

sudo pacman -S ttf-fira-code

PopOS Theme:

yay -S pop-gtk-theme-git

Check for updates without installing them, run the following command, no need for sudo:

checkupdates; yay -Qua

For using YAY and making AUR -git packages show updates effectively:

Use yay -Y --gendb to generate a development package database for *-git packages that were installed without yay. **This command should only be run once.**

Extra steps you may do, but not required:

yay -Syu --devel will then check for development package updates. Use yay -Y --devel --save to make development package updates permanently enabled (yay and yay -Syu will then always check dev packages) (source: https://github.com/Jguer/yay/issues/1593#issuecomment-907507269)

Ideally for the Yaru Theme to work and look the best, you want the git packages:

yay -S yaru-gtk-theme-git

yay -S yaru-gtksourceview-theme-git

yay -S yaru-icon-theme-git

yay -S yaru-gnome-shell-theme-git

yay -S yaru-metacity-theme-git

yay -S yaru-session-git

yay -S yaru-sound-theme-git

yay -S yaru-unity-theme-git

Uniform theme and fonts for Qt apps in GTK environments:

https://discovery.endeavouros.com/applications/uniform-theme-and-fonts-for-qt-apps-in-gtk-environments/2021/05/

sudo pacman -S kvantum-qt5 qt5ct

mkdir ~/.config/environment.d

echo "QT_QPA_PLATFORMTHEME=qt5ct" > ~/.config/environment.d/qt-theme.conf

Finally, consult the wiki page on how to adjust the settings in both kvantum manager and qt5 settings

When using Alt-Tab, you can show either App Icon, Thumbnail Only, or Both (which is the default); adjust the values via dconf-editor:

Browse org > gnome > shell > window-swticher > app-icon-mode and adjust the values accordingly.

Install rebuild-detector to check if any AUR packages need to be rebuilt when for example python updates, you may have to rebuild software from the AUR like Optimus Manager that uses python.

sudo pacman -S rebuild-detector

How to enable SysRq R E I S U B – to safely reboot a frozen computer: Open a terminal--

echo 'kernel.sysrq=1' | sudo tee /etc/sysctl.d/99-reisub.conf

Reboot for the change to take effectively

If you want to disable this functionality, just remove the file created in the first step: (sudo rm /etc/sysctl.d/99-reisub.conf)

Now, when you want to hard-reboot the computer, perform the following key combination:

press and hold the Alt key the entire time. Now, one after another, with about a second in between, press (tap) the following keys: SysRq, R, E, I, S, U, B. Your computer should reboot if everything was done correctly (you can let go of the Alt key now)
3 Likes