I'm still fairly new to Linux. I've used it for about three or four months in virtual machines, tried several distributions including Arch and Fedora, and experimented with desktop customization. I know basic commands such as cd, ls, and cat, but I'm not yet comfortable editing with Vim or Neovim, managing dotfiles, or understanding the differences between terminal emulators like Foot and Kitty. I've also broken installations several times, though reinstalling the virtual machine made recovery easy.
I'm considering using Linux as my main operating system for a while, with desktop customization as my main project. What fundamentals should I learn first for:
1. Customizing or "ricing" a desktop environment
2. Troubleshooting, especially hardware and graphics drivers
3. Understanding and learning the various customization tools
2 Answers
Drivers depend heavily on the hardware and distribution. The easiest path is usually choosing hardware with good Linux support, since proprietary graphics hardware can require extra repositories, packages, or configuration. Before switching permanently, test your actual Wi-Fi, graphics, audio, Bluetooth, suspend, and external-monitor setup from a live environment.
When something fails, gather information instead of guessing: check recent logs, identify the hardware, confirm which driver and kernel are in use, and read the documentation for your distribution. Make backups and keep a simple working configuration so you can undo changes. Customization is fun, but changing the graphics stack or many system components at once makes problems much harder to isolate.
Start by learning how to repair what you break instead of immediately reinstalling. That process teaches you how the system is organized, which changes are safe, and how to prevent the same problem later. Keep testing risky changes in a virtual machine or on a spare installation until you’re comfortable recovering from mistakes.
For customization, first understand the difference between a complete desktop environment and a window manager. A desktop environment includes many components already, while a window manager usually needs separate tools for notifications, launching applications, panels, wallpapers, and other everyday features. For example, a setup might combine Sway with a login manager, notification daemon, and application launcher. Pick one component at a time, read its documentation, and change only a few settings so you know what caused an issue.
Dotfiles are simply user configuration files, often stored in your home directory. Learn how to inspect, back up, and restore them before copying someone else’s configuration. Other people’s dotfiles can be useful references, but they may depend on different software or paths and can be difficult to troubleshoot blindly.

Related Questions
How To Get Your Domain Unblocked From Facebook
How To Find A String In a Directory of Files Using Linux