Since it's something that have been asked to me multiple times, I decided to write a small piece on my workspace setup.
Desk setup
My desk is made of a 10€ plank and 15€ desktop stand I bought at the local hardware store. Making it myself allows me for some easy tweaks, like cable holders, under-desk rack space (for my switch and my router), all of that for a pretty cheap price.
I tried standing desks for a while at work but ultimately stopped using them as I only saw inconvenience and lots of noise.
I could not recall which chair I'm currently using, but it's slowly deteriorating, so I may change soon. It had two arm rests (like most chairs), but I decided to remove the right arm rest to have more space to move, or simply to sit however I want.
Hardware
I try my hardest to have linux-compatible peripherals, since it's my main work OS.
Workstation
My workstation is custom-built, running Arch Linux (i3-gaps), and Windows 10.
Full specifications:
- NZXT H500 (white, with window)
- AMD Ryzen R5 2600
- Antec Mercury M240 AIO liquid cooler (light being set to computer health: Green for healthy, red otherwise)
- AMD Radeon RX580 (8GB)
- 32GB DDR4 2666MHz
- 1TB SSD (two SSD of 500GB)
- 2TB HDD (two HDD of 1TB)
- 256GB NVMe SSD (for very heavy games)
- Asus PCE AC55BT network card
Laptop
My main laptop is a Clevo N240GU running Arch Linux (i3-gaps).
Full specifications:
- 14" matte 1080p screen
- Pentium N5000
- 8GB RAM
- 256GB SSD
- 1TB SSHD
Work-provided laptop
I also have a MacBook pro (15", late 2015 edition, the last edition to have some real connectors, like USB or HDMI, before Apple decided to do even more drugs than usual), which was provided by my workplace as I have to do a bit of iOS development for some projects.
Since I've been working remotely for a few months now (thanks to the Covid crysis), it mostly sits around the house, unused.
I try to avoid using it as much as I can, as I find the software environment to be overall very unpleasing and limited, something I didn't encounter on either Linux or Windows.
Monitors
I have three monitors, two of them being salvaged from my school's IT dept. trash.
- AOC 24V2Q (1080p, 24"): My main screen, on which I work and play
- Asus VB191T (1280x1024, 19"): My left screen, on which I mainly display monitoring dashboards / emails
- Asus VW226N (1680x1050, 22"): My right screen, on which I display documentation, browser, and any resource I'm needing to work.
I mostly keep everything in full screen to work, so I don't have any status bar on my windows to allow for a clearer view.
Keyboard and mouse
My current keyboard is a Leopold FC900R with MX black switches. I ordered a YMDK YMD09 with Kailh speed silver switches (pudding) to have at least 9 more shortcuts I can use (mainly for Star Citizen and a few other games).
I had trouble finding a decent mouse, but ultimately decided to settle on a Roccat Kone Pure mouse.
Sound
My current sound system is an old one I kept for a few years and still use today, Logitech z323.
I mainly use my headset, a Sennheiser HD4.50BT, with a replacement cable that's much more solid (mainly due to having a bad habit of pulling the cord).
My microphone's a Bird UM1, which works wonderfully well on both Windows and Linux.
Network peripherals
I have a Synology DS218j NAS with 1TB of RAID1 storage, containing music, photos, and important documents.
I have an old computer I kept around as server (Intel i5-4690k, 8GB RAM, 256GB SSD, two network cards), which allows me to have a small always-on workspace, which periodically backups my NAS and my e-mails.
My current router is a cheap NetGear WNR2000v5 I bought a few years ago to bypass a device-limited firewalled network I was forced to use.
Mobile phone
I own a Sony XPeria XA2+ phone, currently running Sailfish X (version Rokua 3.3.0.16).
SailfishOS has been my daily driver for about 3 years now, and most of my app. needs are met with FOSS apps found on OpenRepos (I almost never make use of the android emulation, as I kept none of the android apps I used to use before).
The only annoying thing about this phone is the USB-C connectivity, which forces me to keep a USB-C cable on my desk and in my bag. Apart from that, it's a great and pretty phone!
Misc.
I keep under hand an iPad 1 to read and a NVIDIA Shield K1 tablet for mobile development.
I also have a pretty big whiteboard I keep on the side, for when I need to prototype something or organize my thoughts.
Besides that, and a bit of clutter, I keep a LGP Lite capture device and my X52 HOTAS on my desktop.
My watch was gifted to be by a work colleague, it's the kickstarter backer edition of a Pebble Time. The leather strap wore out and died, so I replaced it with a metal strap, which holds out quite well, especially in summer.
FOSS rules, I can use this watch with my Sailfish X phone and continue to develop on both, even though the asshats at FitBit decided to kill the pebble project.
I have a SparkMaker (v1, kickstarter edition) resin 3D printer laying around, but since resin is very expensive and since I don't yet have the right curing setup, I'm not really using it right now.
I recently acquired a CR10 v2 PLA/ABS 3D printer, which I've been using for various prints, mostly desktop extensions and cat statues.
Software setup
Linux
I have been using Linux as my primary OS since... around 2012 I guess. I started with Ubuntu, stayed a while on Debian, tried Fedora and a few other distros, but ultimately settled on ArchLinux, for its ability to always be up to date and its AUR.
I recently tried NixOS, but found it unfit for my tastes, especially due to their very lacking and hard to browse documentation. Maybe when NixOS or GNU Guic matures a bit, I may check them out again.
I also keep a Windows 10 instance I use for playing some games (Guild Wars 2, Star Citizen, Assassin's creed) and for a few softwares, like AutoCAD Fusion 360.
Window manager: i3-gaps
I tried a lot of window managers and desktop environments (including KDE, GNOME2, GNOME3, LXDE, XFCE, AwesomeWM, OpenBox, Cinnamon), but ultimately settled on i3-gaps, which allows me to very easily manage my windows and workspaces.
I usually use i3-gaps with luastatus, rofi, feh, picom (for blur), and conky, using sinx as info aggregator to display on conky.
Scripting languages: bash, Lua, Racket
I fiddled with lots of languages, but found my real comfort zone in 3 different approaches.
- Bash, for very minimalistic, command-chaining, scripts.
- Lua, for plugins, and more complex scripts. That's usually when I have to deal with the network or file system.
- Racket, for task automation, slideshows and GUI-enabled scripts. Racket's native GUI SDK allows me to build very basic GUIs for when an
echo
is a bit too restricted, and the racket libraryslideshow-simple
is simply awesome for quick presentations!
Editors: JetBrains suite, Sublime Text 3, Neovim
When I'm working in a "real" project, I constantly make use of the very affordable and powerful JetBrains IDEs, for which I have yet to find a match in terms of features I do use.
Sublime Text 3 is my to-go text editor, to take notes (using the Asciidoc format), take a look at some log files, or edit some small scripts / configuration files.
When in the CLI, I always use Neovim, usually without any configuration or plugin besides the Ayu light theme.
Yes, I do use light themes. ;)
Other softwares
Firefox Quantum (with uBlock origin, uMatrix, Linker extensions): My only browser, for web development and daily driver. I massively use the bookmark manager, the developer tools, and rely a lot on the open extension market, something no other browser have been able to offer me yet.
Another thing I found really lacking in other browsers is animation restriction, since most animations easily make me sick, which is obviously something I'm trying to avoid as much as I can.
I disable smooth scrolling and javascript everywhere, and will close a tab that forces some animation on my face, ignoring my prefers-reduced-motion
request (I'll also remember this website as crap).
I did use Qute for a while as daily driver on my Clevo laptop, but ultimately stopped due to missing the comfort of my bookmark manager.
I'm following the Next project, as the ability to script the browser using Lisp is really appealing to me.
Mozilla Thunderbird (Windows, MacOS), Evolution, aerc (Linux): My e-mail reader softwares. I tried a few other ones, but almost none is capable of properly managing text e-mails (which is kinda mind-boggling, but oh well) and GPG.
VLC: My music player, constantly connected to my NAS using UPnP. If I manage to salvage another sound system, I'm probably gonna setup an ambient sound system using my home server and MPD.
Sublime merge: My GUI git client, which, since release, have been really awesome to use overall.
OBS Studio, Audacity: My desktop recording software and audio recording software, both very simple to use and pretty powerful.
Krita: My drawing and image editing software.
Darktable: My photo editing and exporter software (since I also do a bit of photography as hobby).
KDenLive: My video montage software.
Syncthing: My file synchronization software, which I use on my computers and phones.
Miniflux: My news aggregator and RSS reader, on which I keep track of lots of various blogs I started reading and enjoyed.
Kanboard: My kanban and project management tool.
I am in the process of trying out a small crossbow-based aggregator setup, to see if I move away from miniflux or not.
Per popular request, here's a photo of my desktop!