I’ve been daily driving Linux for 17 months now (currently on Linux Mint). I have got very comfortable with basic commands and many just works distros (such as Linux Mint, or Pop!_OS) with apt as the package manager. I’ve tried Debian as a distro to try to challenge myself, but have always ran into issues. On my PC, I could never get wifi to work, which made it difficult to install properly. I’ve used it on my daily driver laptop, but ran into some issues. I thought a more advanced distro, that is still stable, would be good overall. However, not getting new software for a long time sounds quite annoying.
I’m wanting to challenge myself to get much better with Linux, partitioning, CLI, CLI tools, understanding the components of my system, trying tiling window managers, etc. I’ve been considering installing Arch the traditional way, on my X220, as a way to force myself to improve. Is this a good way to learn more about Linux and a Linux system in general? I always hear good things about the Arch Wiki. Is there any other tips someone can give me, to sharpen my Linux skills? I was even considering trying out Gentoo on my X220, but the compiling times sound painful. I wouldn’t daily drive Gentoo or Arch, just yet, but I would try to use them as much as possible for general use.
Not a joke:
Write your own device driver.
Preferably for some kind of esoteric hardware that you own but no-one else has, but it’d also be a valuable experience to do it for some commonly used piece of hardware for which good Linux drivers already exist.
For any moderately talented programmer this should be a reasonably difficult exercise, which will teach you very valuable lessons about Linux (and be quite fun at the same time).
Debugging a kernel panic is not what most people consider “fun”. Especially with a non-zero chance of bricking your machine on bare metal if you mess up somewhere. I’ve done driver development for both Windows and Linux in both hobbyist and professional capacities and it’s not a fun experience to say the least.