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)