Skip to main content

Goodbye Windows, Adobe; Hello Linux

·10 mins· loading · loading ·
Linux Windows Adobe
Race Dorsey
Author
Race Dorsey
Table of Contents

Thinking about leaving Windows or Adobe in the dust? Here’s my experience leaving Windows and Adobe for Linux.

TLDR- No regrets.

Background
#

In April 2023 I read an update that Windows 10 would reach end of support in October 2025. This seemed to get in the news more in December 2024 when Microsoft kept this planned date and there had been growing backlash over Copilot and Recall.

I had been on Windows since Windows ‘95. so I had been using Windows for just about three decades. In more recent years I have set up some linux devices and cloud servers so I haven’t been a complete stranger to linux, but my main workstation has always been windows.

Similarly, I have been using Adobe for approximately the past 20 years. I used Photoshop extensively for personal projects and used it for some paid contract work in the past. With Photoshop I created batch scripts for projects to use conditional logic for various steps like extracting, rotating, and resizing. I also released publications with InDesign and more recently did contract work converting InDesign files into HTML for usage within a web application. I also built my first website in Dreamweaver when I was in college, and made a short film in Adobe Premiere.

Part of why I’ve been stuck on Windows for so long is because I had a perpetual license for an Adobe Creative Suite. I wasn’t paying Adobe’s monthly subscription costs and was able to get a return on the perpetual license–I had no time pressure to leave Windows.

Windows Frustrations
#

While not an exhaustive list, here are some of my bigger frustrations

Adobe
#

My perpetual license for Adobe CS5 is nearly 14 years old at this point and hasn’t been getting updates in that time. My version of InDesign has failed to be compatible with newer .indd files but could read the compatible .idml files. My Photoshop version continued to work well most of the time but occasionally files given to me with newer gradients weren’t backwards compatible so some layers wouldn’t render properly. I don’t expect the software to continue to be supported for 14 years, but I didn’t want to spend a monthly subscription to use these tools for something I was doing largely as a hobby.

Windows OS
#

The more I got into programming the more I struggled with Windows. Getting some programming languages and software onto my computer became a huge ordeal. For instance, this blog is written in Hugo and I wanted to contribute to Hugo, but in order to do this I needed to install a C compiler in order use the Go language. While I was able to do this, it took more work than should’ve really been necessary. Similarly for a discord bot I built, I wanted to make a docker container for it, but at the time Docker Desktop couldn’t be installed on my Windows 10 Pro set-up, so I needed to install the Windows Subsystem for Linux (WSL) and install docker that way. It worked, but it was extra steps. I could go on with other complications, but many of the things I did for programming had extra steps whereas the documentation would make things look so easy to do on Linux.

And looking forward, I didn’t want Windows 11’s Copilot on my PC, nor did I want to pay for a subscription for my Operating System.

The Move to Linux
#

In January I made the switch. I had backed up all of my files to my NAS (network attached storage) and then I wiped the drive and got to work. This post isn’t intended to be a technical piece so I’ll spare all the details, but for the most part things went smoothly. I had decided up front to do:

  • full disk encryption as part of my privacy-focused mindset.
  • BTRFS filesystem. Being able to make snapshots of my /root files gave me peace of mind about screwing things up, and I also like some of the other benefits such as atomic writes. I do use my workstation for some database-focused applications and while I haven’t yet fully tested things, I do take comfort that I can exempt specific files/directories from the copy-on-write if it becomes a performance issue.
  • Grub Bootloader. I liked the integration of btrfs snapshots with the grub bootloader to allow me to boot into a snapshot if needed.

Arch Linux
#

Additionally, I needed to pick a Linux distribution. I went against everyone’s advice and I did the deep dive into Arch Linux for my first workstation Linux distribution. My friends tried to steer me away as well, but my move to Linux was something I had been thinking about on and off again for over a year. I had spent lots of time researching various distributions and their philosophies, and Arch resonated with me the most–being able to set-up my workstation the way I like it while still being able to easily install things via their package manager and the Arch User Repository (AUR).

The archinstall script was pretty capable for a basic system configuration but there still a bit of extra work post-install to get things set-up and working. I do agree that choosing a more beginner friendly Linux distribution, like Mint, would be the better starting point for most people, but I also think Arch Linux can be fine for Linux beginners if they are willing to read the arch docs, are familiar with computers generally, and don’t mind setting things up more manually if it means their computer is set up just how they like it. That’s why I just went straight to Arch since I had researched it enough that I knew Arch is where I wanted to be eventually anyway.

My setup
#

I shared some of my setup choices already, but here is what I am currently using:

  • Desktop Environment: Hyprland. Hyprland is a tiled window manager meaning that it dynamically/programmatically tiles your windows for you. I was intrigued by this since I already had been using Windows Power Toys which has Workspaces, and ‘FancyZones’ which allow you to snap windows to a predefined zone. Hyprland takes this to the next level by managing the workspaces and zones automatically and allows you to use keyboard shortcuts to easily navigate workspaces, move windows from one monitor to the next, make the window float, move the window to another workspace, and so on. Despite using Windows for the past few decades, adjusting to hyprland took only a week and has really changed the flow of my work for the better.
  • File Browser: Dolphin (KDE). The other desktop environment I was looking at was KDE Plasma, so the Dolphin file browser was an obvious choice being from the KDE ecosystem. I might change this in the future but so far I am really liking it. I like how easy it was to add items to my context menu when I right click, and KDE even lets you share these configuration files. For instance I created a context menu option to open up a folder/item in VS Codium which is now available for free in the KDE store or at codeberg–a new git forge I am trying. Beyond that, Dolphin just offers common sense features that make it easy to navigate like being able to name favorite places and easily toggle hidden files.
  • Development Environment: I previously used VS Code on Windows, and I have now switched to VS Codium which removes the telemetry/tracking added into VS Code. I’ve seen some people recommend more keyboard centric options like neovim+tmux, but VS Codium fills my needs pretty well.
  • Terminal emulator: I’m not strongly tied to this one, but kitty was the option that hyprland was expecting, and that’s what I have initially gone for.
  • Status Bar: I am using waybar as a taskbar for some programs to be pinned to, and to monitor my system resources/etc.

In the future I may make a post sharing more details about some of my set-up, such as my specific hyprland/waybar configuration, or how I’m managing my system snapshots.

Things I still need to explore
#

  • Adobe Replacements: I have downloaded GIMP and briefly used it but I am needing to explore it more as a Photoshop replacement. I also will want to look for an InDesign replacement. The good news is that since I have already been reliant on .idml files for several years when I’ve needed to use InDesign, so I’ve already tested compatibility somewhat and should be able to find an alternative to use for my purposes. Both Photoshop/InDesign aren’t as important to me as they used to be, but I still imagine needing a replacement from time to time.
  • Itunes Replacement: I used itunes for 20 years and have a lot of music and playlists in the library. I imagine a future post may be about a project of managing the itunes library .xml file to extract my playlists and update the file location references. I have already done the extracting, but haven’t gotten around to exploring how to fully move over everything to another platform and what platform I might like. I don’t necessarily need a home server solution like jellyfin, but that was one direction I was considering.
  • XnConvert Replacement: I used to use this extensively for Windows to do batch image operations. While it is technically available on Arch as an AUR package, I’m wanting to explore using a terminal based approach and have tentatively started using ImageMagick.
  • OneNote Replacement: This likely will be a future post. I have something I’ve been working on for this problem, but this is another example of me using proprietary software for a long time and now needing to free my data from it. There are a few options to choose from, like Obsidian (proprietary) and logseq, but I am taking a different route.

I’m sure there are other things I need to explore, but these are some of the bigger ones that stick out as things that I used to use a lot.

Obligatory Gaming section
#

I’ll preface this by saying I am not an avid gamer anymore. I used to be, but have spent much of my free time focused on programming/data-science over the past several years.

That said, I have installed steam on Linux. Initially I was scared that only 10% of my games were available for Linux, but then realized I needed to turn on Steam’s Settings -> Compatibility option to enable Proton. I have been making use of ProtonDB to check my game compatibility which shows my library compatibility for ~140 games:

webp
My library’s linux compatibility via ProtonDB: 86% plat+gold, 96% plat+gold+silver

The main games I play (Dark Souls) are all platinum or gold currently, and I have also tried some lighter co-op games. So far I haven’t had any major issues and I was actually surprised by how easy it was to set up steam and play games on Linux.

It seems ever since the release of the steam deck there have been more and more good news for gaming on linux, and now I can add my voice to the choir.

1 Month in
#

At this point, I’m one month into using Linux as my full daily driver. I have all my user data restored from my NAS, my development environment is more streamlined than ever, and I’m finding new ways to improve my workflow almost daily. It’s been great.

My only regret is that I didn’t make this change sooner.

Seriously. While setting up Arch Linux took time, that investment was worth it for the control and understanding it gave me (and for anyone who wants a less hands-on and more beginner-focused experience look towards Mint or other beginner-focused distros). I wish I had made this change back in 2023 when I first heard about the end of Windows 10 support - it would have saved me from the frustrating workarounds and compromises I dealt with while trying to build a development environment on Windows. For anyone considering a similar move, especially developers: don’t wait as long as I did.