Warning
This guide is very specific to my preferences! It’s primary purpose is for my future reference.
Note
My machine uses an NVIDIA graphics card.
Before that, backup!
This section is a checklist before you uninstall the existing arch linux system. This list is meant to be exhaustive, not all are necessarily updated manually.
- Backup
zsh
and related config files -~/.zshrc
,~/.zsh_plugins.txt
,~/.config/starship.toml
- Backup
alacritty
config files,~/.alacritty.toml
and imports mentioned in that file, maybe like~/.config/alacritty/nord.toml
.
Guide
Flash Image
Download the image from Endeavour OS. Use Rufus to create a bootable USB drive.
Configure OS install
Boot into USB drive using NVIDIA option in the boot manager.
After you boot into the USB drive, during the installer configuration, prefer offline install. Choose btrfs
partition on full disk install. No swap, single partition for OS (and bootloader EFI partition ofcourse). Also choose systemd-boot
for init.
Now after reboot, you should be in the installed OS.
Refresh Arch Linux Keyring
And use Endeavour OS tools to rank mirrors, update system packages to latest (preferably at the end of the guide)
Install Linux LTS kernel
By default, since Endeavour OS follows a rolling release cycle, it comes with the latest stable Linux Kernel (i.e. linux
and linux-headers
packages). Preferably keep both this and the LTE kernels. To install LTE Kernel,
and reboot into LTS kernel, by choosing the option in bootmanager after reboot.
Install NVIDIA Drivers
Enable Early KMS loading of NVIDIA modules using dracut
. Just add a new file, say nvidia.conf
with content as,
force_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "
Info
Endeavour OS uses dracut - more details on this can be found at https://discovery.endeavouros.com/installation/dracut/2022/12/
Use nvidia-inst
package. It’ll take care of most things, including rebuilding the initramfs
file (can be done manually too via. sudo reinstall-kernels
).
After reboot, verify the the nvidia_drm.modeset=1
kernel modesetting is enabled using the command,
which should now return Y
, and not N
anymore.
Info
More info at https://wiki.archlinux.org/title/NVIDIA/
Also, you can check nvidia-smi
to see if Xorg
is using the NVIDIA card for display graphics. (assuming you login to X11 and not Wayland).
Final touches…
Plasma
- In Settings → Window Management → Virtual Desktops, add more desktops.
- In Settings → Keyboard → Shortcuts
- KWin → Toggle Grid View → Add
Meta+Backtick
- KWin → Window to Next Desktop → Add
Meta+Tab
- Add new application → Alacritty → for new terminal → set
Alt+Tab
- KWin → Toggle Grid View → Add
- Move Plasma Taskbar to the left edge
- Right click on Plasma Taskbar → ‘Configure Icons-Only taskbar’ → ‘Behavior’ → ‘Show only tasks’ → disable ‘From current desktop’
- In Settings → Window Management → Task Switcher
- Filter windows by → Virtual Desktops → must be set to ‘All other desktops’
IntelliJ IDEA
- In settings
- Appearance → Use custom font →
Noto Sans Medium
, Size 11 - Apperance → UI options → ‘Use smaller indents in trees’
- New UI → Enable ‘Compact Mode’, ‘Show main menu in a separate toolbar’
- Editor → General → Mouse Control → Enable ‘Change font size with Ctrl+Mouse Wheel in’ → All editors
- Editor → Font →
NotoSansM NFM
, Size: 13, Line height: 1.1
- Appearance → Use custom font →
- In plugins,
- One Dark Theme (use ‘One Dark Vivid’)
- Rainbow Brackets
- CSV Editor
- Atom Material Icons
- Developer Tools
- Gerry Themes
Others
- Setup Git: git-setup
- Install packages (some are from AUR)
- Google Chrome:
google-chrome
- Visual Studio Code:
visual-studio-code-bin
- Neovim:
neovim
- IntelliJ IDEA:
intellij-idea-community-edition
- exa: better
ls
written in rust - bat: better
cat
written in rust - dust: better
du
written in rust - ripgrep: better
grep
written in rust - fd: better
find
written in rust - procs: better
procs
written in rust - tealdeer: better
tldr
written in rust - bottom: inspired by
gtop
,gotop
, andhtop
and written in rust - zoxide: better
cd
written in rust - broot: explore large directories, written in rust
- skim: Skim is a command-line fuzzy finder. It can be used as a general filter (like
grep
) or as an interactive interface for invoking commands. - tokei: Tokei is a program that displays statistics about your code. Tokei will show the number of files, total lines within those files and code, comments, and blanks grouped by language.
- alacritty: Terminal emulator, replaces Konsole.
- lazygit
- Google Chrome: