I always enjoy looking at other how other people have their workstations set up, from their battlestation to their hacked-together Linux setup, and more detailed looks at what people use. I’ve been pretty much settled on the same setup for a while now, and this post breaks it down.
Hardware
I’ve got an AMD processor and some graphics card. I bought it off-the shelf and to be honest my days of hand-selecting individual components for the PC itself is mostly done. I did select an M2 drive for added speed, and later added a large SATA drive for more storage.
That’s the least interesting part of the hardware for me. The biggest part is the monitor setup - one Dell monitor in landscape and another in portrait to the left. This gives me a normal screen for browsing and standard applications, and a second which is purely for viewing code. Long documents work really well on a portrait orientation and I find it perfect for coding.
I’ve got a Keychron K8 Pro QMK/VIA which I’d anticipated tweaking with QMK, but that’s not proven necessary. Its slinky RGB backlighting and satisfying mechanical action’s enough for me. My other method of input is a Logitech trackball that’s been a stalwart of my setup since I began experiencing RSI from a mouse. I don’t use any of its additional buttons and aside from occasional clogging, it’s great.
I’ve recently bought a Sony WH-1000XM5 headset to replace Airpods Pro which had a load of noise when using noise canceling, ironically. This headset is fine, and comfortable, and does have a good feature where it will connect to both phone and desktop simultaneously.
Other than that, I have a small light above the desk, a deskpad from Ikea which has some cartoon animals on, and a docking station to charge my watch and phone. I’ve also got a Logitech Brio Ultra webcam.
OS
I currently run EndeavorOS which is based on Arch. I settled on Arch varients after a brief foray into NixOS, since I like the simplicity. When I installed Endeavor, I picked the i3 install, which is my preferred window manager.
Why? Because I enjoy having a low-overhead way of creating “workspaces” for various tasks. Workspaces 1-5 are on the left monitor for browsing (workspace 1), messaging (2), terminals (3); workspaces 6-9 are on the right monitor for various code windows. There’s no animation and everything’s lightning-fast and exactly where I put it. I also use the scratchpad for my daily todo list.
Other software
VSCode for coding, with ESLint+Prettier for formatting. The Remote Development extensions from Microsoft come in handy when I’m working on Ruby or C#. DBeaver for database management - the UI is awful but powerful. I’m tracking TablePlus, which used to be my go-to on Mac but the Linux version is still in development. I use GMail in tabbed windows on workspace 2 for email, since I haven’t found a client I actually like. Beeper is my messaging solution, combining iMessage, Signal Facebook Messenger and Slack into one UI.
Notes & Conclusion
I do have a Windows 10 partition which I use sometimes (mainly for gaming), but it is inferior to my Linux setup in every way. If there was a way to use NixOS or something similar to have my configuration as code, I’d use that, but all of the options have various weaknesses, so I tend to keep my configuration lightweight and not worry about wiping it.
There’s not a great deal of new and shiny in this setup. It works, it works fast, and it’s easy to put back together when something fails.