Starting Out With EndeavourOS and Neovim #63
nduartech
announced in
Blog Posts
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
slug: ninjavim
description: Reimagining My Development Setup
published: 2024-07-30
In my late middle school years, my parents gave me a Samsung Chromebook, my first "laptop." Although limited in capability, I soon sought ways to maximize its potential (truthfully, I mainly just wanted to play Minecraft). Which of course led me to Linux. Within a month, I had set up a dual-boot configuration between ChromeOS and Ubuntu. However, Ubuntu's performance on the Chromebook was subpar, often lagging or freezing entirely.
This experience drove me to try Arch Linux. I removed the Ubuntu partitions and, embracing the Arch philosophy, built my OS from the ground up. This process was immensely rewarding, but after moving on from the Chromebook, I did hesitate to revisit Arch as the thought of repeating the installation process was daunting to say the least..
Fast-forward a decade and a half later, years spent oscillating between using Windows and Ubuntu (sometimes in dual-boot, sometimes using only one, until WSL came along and I abandoned Ubuntu for Windows for what I thought was the last time), and now once again I was looking to make a change. The impetus for this desire began with the announcement of Windows Recall earlier this year, which I personally feel is a step in the wrong direction both for AI and the operating system, toward a future where our AI tooling is obtrusive, invasive, and potentially security-nightmare-inducing. I thought I was done with Linux, but with the advent of this new feature I found myself jumping ship.
As always, I began by installing Ubuntu in a new partition/dual-boot setup. Unfortunately, after a month, my experience with the LTS release involved battling with constant bugs (Wayland and Nvidia graphics cards are water and oil, it seems). Disheartened by these issues, I began exploring alternatives.
I considered trying Debian or Fedora, but felt Debian would likely be similar in experience to Ubuntu, and never having used Fedora as a daily driver made it less appealing. And then I remembered my positive experience with Arch, and yet again how intimidating the setup was. One Google search later, and I happily stumbled upon EndeavourOS, all the goodness of Arch without the headache of getting up and running. Wonderful.
From there, I still had a few more choices to make. For my desktop environment, I opted for a window manager rather than a full DE, choosing i3 during the EndeavourOS install process, as I wanted my new development system to be as efficient and as bloat-free as possible. I decided to stick with Xorg, chossing to avoid Wayland till it gets better with Nvidia GPUs. Yet, despite choosing the much older display server, I was still able to achieve what I felt was an aesthetically pleasing while cogent UI. Using picom as my compositor I first changed all windows to have rounded corners; with i3 there are no close or minimize buttons, which in turn makes rounded corners look pretty nice. I also allowed applications to set their own transparency, while adding a blur effect (really only affects the terminal).
Important to note, as I was getting my system up and running, I also decided to commit to something I always wanted to try, but put off for a long time—using Neovim. Inspired mainly by a Primeagen video where he showed off his Neovim workflows, as well as the Neovim series on the Typecraft YouTube channel, I decided to dive into using Neovim regularly, and found myself in a whole new world. My current setup includes 66 plugins (many lazy-loaded), which in turn enable useful features you'd typically find in an IDE or VSCode. It was during this first exploration of Neovim that I picked the theme I use currently: Tokyo Night Storm. Inspired by my Neovim theme, I decided to try to make every part of my OS also use the same colors, setting the same color scheme for i3 and all windows, Thunar (file GUI explorer), browser, Alacritty (my terminal emulator of choice currently), Zellij, and even the TUI spotify library I use, which results in a pleasant, consistent experience.
I didn't stop there, of course. I set up the ly display manager so my login screen is a TUI, used Starship to create an emoji-based shell prompt, setup ble.sh for bash autocompletion, and aider for a terminal chat interface connecting to Groq. The end result is a capable system that meets my specific needs and aesthetic tastes. While it is still technically a dual-boot, I shrunk my Windows partition to the bare minimum, and haven't really booted back into Windows since. I don't see why I would really ever go back.
Beta Was this translation helpful? Give feedback.
All reactions