It's been a few weeks of using and configuring Linux for my work computer and I want to document some of what I've been doing and how it has been affecting how I think about things.
I was initially inspired by @neauoire's
posts about their switch to elementaryOS. That made it feel within reach. I tried it on an office Thinkpad and was surprised how easy the usb-stick based installation was. Elementary seemed well put together, but I realized using it that I have a lot of complaints about how macOS handles shortcuts. I didn't just want those shortcuts replicated. I figured maybe I'd get there over time, customizing and tinkering with it once and a while. (I also didn't totally know what I wanted in terms of shortcuts/set-up, just... something else.)
Adam suggested I look into i3wm, a tiling window manager. I found a fantastic tutorial
on getting started. I think watching this was the point where I realized this was really viable.
I went back and installed ubuntu so I could follow the tutorial exactly. I'd like to switch off ubuntu (maybe to Arch or nixOS) but I'm holding back for now. The nice thing about ubuntu is that when I get stuck doing things on the command line there's usually a totally functional GUI option I can use to. I'd like to move to the command line as much as possible, but it's nice to have an escape hatch in case I don't want to get deep on, say, connecting bluetooth headphones right now.
If there's one thing I've done a lot in my career, it's jumping into technologies I don't understand well and figuring out how to wrestle out what I want from it. It's interesting to try and reflect on what the strategies I use are. One thing I think I've definitely learned is one-thing-at-a-time: that's the idea behind using ubuntu for now. It's enough to get my head around i3wm, I can switch the distro later (it's still a temptation I have to actively resist, though). At the same time, I know I'm motivated by seeing tangible results. So if I want to get the current song displayed on my status bar, I don't feel I need to understand how to do that from scratch. I'll get what looks like the most popular bar (polybar) and find a package and paste a config to get it going. Balancing that mix of getting things I'm excited about running and also going step-by-step is the main meta-task in managing my learning. I think I've definitely developed an intuitive feel for how much I can paste in to feel excited and how much I need to actually understand in order to feel like I still have a handle on the system (compartmentalizing things is also a big part of this, I can have something I don't understand running if I can chunk it as a conceptual unit -- I can always investigate how it works later).
I've been surprised how relatively smoothly this has gone. I think part of it is Linux config is less complicated than I thought, mostly due to people's willingness to share knowledge. But also I've been prepared in various ways. There's using vim, which has gotten me used to a mode of navigation, which i3wm shares. I think that is actually the main draw for me, having this composable system of movement that carries over from vim to the window manager. I also think getting used to npm prepared me better for installing packages (I know the influence goes the other way, but for me it was npm first). I still definitely want to understand more about the mechanics behind packages, and how that system has evolved.
At the same time I've been surprised how radical it feels to extend the customization options I'm used to being able to apply to the web out to other applications. To have nothing on the screen that I "just have to live with". It feels empowering, and it makes more sense to me why some people are as adamant about Linux as they are. It's exciting! But that excitement is tampered by the knowledge that it's definitely a luxury of time and tech that I'm able to get these deep into config. So I don't want to declare it the answer to all things. But I am surprised how exciting of an experience it has turned out to be.
Related to that, an idea I've been thinking about a lot lately as a model of being in the world/influencing others is: paths. Sometimes I think I'm too caught up trying to think of something completely unique to put forward, rather than engaging with others. Maybe a better way to think about it is that I'm helping to tread a path that others have already made. Here I'm following a path of all the work that's gone into Linux and the tools I'm configuring, and also what seems like a new willingness among designer-devs to move off of mac. Sharing my process of moving, and the excitement I'm currently feeling, can help other people decide to make the jump. Then rather than feeling like I should be coming up with something completely new, I just need to make sure the things I'm doing and sharing are treading a path that I think more people should travel on (or even have the option to travel on). I feel good about that with this project so far.