What is your development environment?
from vrek@programming.dev to programming@programming.dev on 15 Dec 2025 12:40
https://programming.dev/post/42412301
from vrek@programming.dev to programming@programming.dev on 15 Dec 2025 12:40
https://programming.dev/post/42412301
What os? What ide? What plug-ins?
#programming
threaded - newest
Flexible, but Linux/macos predominantly. Jetbrains (CLion/RustRover). No specific plugins, JB IDEs are pretty good out of the box.
From jb I only have used pycharm but it was pretty good.
I had a few high-powered previously Windows machines lying around, so now Ubuntu LTS + Codium are my daily drivers
Hmmm…ill have to do some research as I don’t know most of those
Arch is a linux distribution
Hyperland tiles the windows (so they fill up the screen instead of floating)
Helix is a text editor
Kitty is a terminal / console
LibreWolf is a Firefox version
Helix is the only part that really answers your question. helix-editor.com
That’s what I use too.
I have the same setup as u except I use kde plasma bc hyprland is scary. Happy updating.
Linux, emacs.
Not to start the infamous war but why Emacs and not vim/neovim?
I find vim way of editing text uncomfortable and how it lacks flexibility in general when compared to emacs (One can make vim from emacs not viceversa). Also I like that emacs is a gui application.
Ah makes sense, I’ve always preferred vim but never got good with the motions
Oh you’re opening a big can of worms here
Specifically, the Team17 kind that shoot at each other.
Holy hand grenade of Antioch!
Real programmers use ed!
Doom Emacs on Arch with Plasma.
Windows + Visual Studio :(
😂
That’s what I mostly use too
I share this pain :(
Unfortunately, the alternatives are really lacking. JetBrains Rider REALLY feels underbaked. No deal-breaking issues, but lots of little low-impact ones, and lots of design decisions that go against common conventions, for no apparent reason. The “Visual Studio Mode” doesn’t really help.
On top of that, I’ve had several issues with RUNNING Rider, on account of being on Bazzite, an immutable distro. It was fine on Mint, but Mint had its own troubles with my NVidia card.
Visual Studio also feels really urderbaked IMO. I had my issues with navigation, UI and Vim mode. Debugger experience with Edit and Continue was pretty amazing though.
Glad I am not the only one :)
Do you find avelonia good to use? I’ve been taking interest in learning dotnet, but I typically have only needed to make CLI stuff in the past.
I try so hard to move away from this but I seem to always end up crawling back because something is missing or broken. DotRush is hopeful, though (assuming C#)
I use codium. It’s basically VS code without all the proprietary and spooky telemetry. Works well as vscode
Linux, Plasma, VSCodium with the clang. cmake, and Qt extensions
MacOS and Panic Nova
Linux + IntelliJ
I also use VsCode because I like its text editing better.
Windows with PythonWin (like IDLE) for most stuff, VSCode for vibe coding, even though I haven’t explored it much. I still need to figure out how to get local coding models running so I can compare them to whatever online AI comes with VS.
Plus a Mac with TextMate.
Private: Arch, sway, nvim with too many to remembet plugins in foot
Work: Windows to Google Cloud Workstation, JetBrains
using your private setup 🚀 I couldn’t imagine using your work setup though 😅
Linux/Sublime Text/Konsole
Fedora Kinoite with VSCodium (Flatpak), both for work and my own stuff.
Also a few toolboxes with different compiler versions for some older projects.
I mostly do .NET and PHP stuff.
Which VSCodium extensions are you using for .NET?
C# by muhammad-sammy.
Doesn’t have the fancy project manager that the Microsoft one has but since I’m used to the dotnet CLI, I don’t mind that much.
Thanks! I write a lot of .NET for work and have been sticking with VSCode for the official extensions. Good to know there are some alternatives because I would much rather use Codium.
For work, a Mac and vscode. I don’t love vscode but it’s what everyone uses.
Well, some of them develop on windows with like notepad++ and it’s kind of a nightmare. There’s no ci/cd, linting, or testing, so whenever I check out someone else’s branch it’s full of red squiggles.
My personal is pop!_os Linux where I’m also using vscode because I’m too cheap to pay for pycharm.
Work: RustRover on MacOS Personal: RustRover on Bazzite
Mainly language support plugins: Python, .env, mermaid
Kate on Debian.
Too many people using VSCode. At work on Windows I was using it at work (on Windows) but got disgusted with myself and switched to Kate. On Linux I tried VSCodium but the Flatpak was soooo slow, bloated, and crashy… I’m just sticking with Kate on every OS.
Languages: Julia, Python, JavaScript, PHP
When I’m pairing with someone who uses VSCode it’s usually painful how slow they are about finding and opening files. And so much screen space is taken up by stuff that is not code. It’s extra frustrating because even VSCode has built-in solutions for all of this, but lots of people don’t seem to understand how to use it efficiently.
At work, windows with jet brains products. Then docker with Ubuntu server.
At home its popos with vim. Sometimes docker, sometimes not.
VSCode (on windows) with Remote Development via SSH extension to Ubuntu or RHEL depending on the task
Kate, LSP, Linux.
Linux Mint. No IDE – I just use xed (a fork of gedit) + gnome-terminal, both of which ship with the distro. Only plugin I use regularly for xed is “Code Comment” which lets you comment/uncomment blocks of code quickly.
I work for a company whose product is built on dotnet. I worked in Windows for a long time but with the shitshow that is 11, I switched to Mac at my last hardware refresh. Linux isn’t an option here yet, but we host in Linux, so I hope it will be an option eventually.
Rider, the only extension I wouldn’t want to live without is IdeaVim.
Arch Linux (BTW) is my main/dev OS, but also Windows 10 VM for certain projects.
For simple scripting in any language: VSCodium
PyCharm, Android Studio for projects in specific languages.
For other full projects: VSCodium
As for testing/deploying projects, I have a QEMU dev VM that’s connected to my IDEs using shared folders running basic Arch with fresh install of KDE Plasma.
Plugins mainly consist of QoL features, linting for certain languages in VSCodium, themes, etc.
I occasionally use Jetbrains products as well (e.g. maintaining Kotlin projects).
Arch with Niri, LazyVim in Ghostty.
So how do you like niri and is it stable enough to be a daily driver? Also what kind of screen do you have for it to be useful? I have a feeling that it’s extra useful on wide screens but when it comes to ones which are fairly high it’s less useful, is my assumption correct?
Not OP, but I’ve been using Niri as my daily driver for almost two years (since v0.1.2). The stability and polish have really impressed me. In addition to the scrolling workflow it has some especially nice features for screen sharing & capturing, like key binds to quickly switch which window you are sharing, and customizable rules to block certain windows when showing your whole desktop.
I do use a 40" ultrawide. Looking for options for getting the most out of an ultrawide was how I got into scrolling window managers.
I only occasionally use my 13" laptop display. I still like scrolling because I like spatial navigation. Even if windows end up mostly or entirely off the screen I still think about my windows in terms of whether they’re left, right, up, or down from where I’m currently looking.
I don’t like traditional tiling as much because I find squishing every window to be fully in view to be awkward; and with e.g. i3-style wms if I want to stash a window out of view, like in a tab that’s a separate metaphor I have to keep track of, with another axis where windows might be. Scrolling consistently uses on spatial metaphor, placing all windows on one 2D plane with one coordinate system.
I’ve also used Niri for quite a while now, mainly on a laptop without external screens, but sometimes with a 34" wide and curved screen as well. I find it just works for the way I think, I guess? Niri has been rock solid for me too. Can’t remember ever having a problem with it.
I run Manjaro, and use neovim for my development. I’ve got a slew of plugins for everything from language servers to database to things like integration with
tmuxand specialty motions.I’ve tried many development environments, but so far I keep coming back to nvim.
I’ve been a fan for about 5 years at this point, and I use it for PHP+js+html at my day job and Rust for personal projects, but also any other language that comes up. Delightful to have one editor that can do basically everything and do it with consistent shortcuts, that I can even run on my phone with a folding keyboard.
Arch, i3, IntelliJ, VSCode when I’m not in Java.
For work it’s Fedora + Home Manager because the remote admin software doesn’t support NixOS. Thankfully I’ve been able to define my dev environment almost fully in a Home Manager config that I can use at work and at home.
I use lots of Neovim plugins. Beyond the basic LSP and completion plugins, some of my indispensables are:
What is Home Manager?
Home Manager is a Nix tool for managing configuration for a single user, usually on a Linux or MacOS system, or possibly WSL. You configure installed programs, program configuration (such as dot files), and a number of other things, and you get a reproducible environment that’s easy to apply to multiple machines, or to roll back configuration, etc. I find it helpful for having a clear record of how everything is set up. It’s the sort of thing that people sometimes use GNU Stow or Ansible for, but it’s much more powerful.
A Home Manager configuration is very similar to a NixOS configuration, except that NixOS configures the entire system instead of just configuring user level stuff. (The lines do blur in Nix because unlike traditional package managers where packages are installed at the system level, using Nix packages can be installed at the system, user, project, or shell session level.) Home Manager is often paired with NixOS. Or on Macs Home Manager is often paired with nix-darwin. As I mentioned, the Home Manager portion of my config is portable to OSes other than NixOS. In my case I’m sharing it in another Linux distro, but you can also use Home Manager to share configurations between Linux, MacOS, and WSL.
Work: Windows + Rider/WebStorm/etc (I used the IdeaVim plugin before but found there were too many rough edges)
Home: Debian or OpenBSD + vi or Pluma. I deliberately keep it simple. A terminal, an editor Ctrl+Z, make, fg, that kind of thing. I’m tired of fighting IDEs to get out of my way. Let me type!
neovim, neovim, neovim
Emacs clients in alacritty terminals on GNU Guix. I am used to vi-keybindings so I use evil-mode.
At work:
I’m a:
So I have a lot of machines
Machine 1
Machine 2
Machine 3:
Machine 4:
Also:
Future:
FWIW I tried the Helix mode in Zed, and it was missing lots of Helix bindings that I rely on.
Helldivers 2 and Arc Raiders both work fine on Linux. PUBG does not.
Marathon is unlikely to work since Destiny also doesn’t work.
areweanticheatyet.com
www.protondb.com
Arch + i3wm/sway + Tmux + Neovim
Ditto, pretty much.
NixOS, fish, tmux, Helix, jj
Linux
Distrobox container
Code OSS
clangd (always have to change compile commands path because $workspacefolder variable varies per machine even on the same project, it will just choose a subfolder sometimes)
nrfconnect suite (it has some extra checks for .dts files and a nice GUI)
embedded flash plugins/programs like jlink, Stmcubeprogrammer, etc…
Serial Studio
Logic 2 / Sigrok pulseview
Windows 10 with all dev work done in Ubuntu using WSL. Using vscode with the wsl extension.
Before I migrated to Linux I used to do this until I got tired of windows killing WSL without any warning
At work window 11 - powershell - coder - Debian - tmux - nvim
At home (nixos|arch) > tmux > nvim > most used aside of standard LSP and co, neogit, mini.files, trouble
Win 11, WSL Ubuntu, VSCode (into WSL), Git Graph, Rust stuff, typescript stuff
All dev is in WSL. Windows native for games and Firefox and chat apps
Varies a bit with job, but by far the most in the last 15 years:
Linux (Debian), Emacs, tiling window manager (i3/sway/stumpwm), also gollum wiki + org-mode for writing docs. For small quick edits, I use vim.
I use Arch in a VM, or (preferred) Guix package manager for tools that require newer versions of software.
On the job, I write mostly C++/Python/Go/Rust, at home more Rust, Python, and the Lisps.
Work (frequently some kind of embedded) uses also e.g. Ubuntu, OpenSuSE Leap, Gnome, eclipse, and so on.
What do you use rust for?
At work:
At home:
A messy bedroom.
It varies a bit, but
OS: Win11
IDE: Jetbrains IDEs (Rider, intellij, Webstorm) with a side of notepad++ and vscode, primarily for notes, Snippets and misc file types
Shell: PowerShell 7
Git: builtin for jetbrains tools and otherwise my own custom PowerShell wrapper on git cli
Arch Linux, hyprland/quickshell
Kitty/konsole
VSCodium (+ a very few plugins) / Kate
Debian, awesome wm.
For work I use IntelliJ
For personal projects in Rust wezterm + Neovim + mix of different plugins
Macos M1 Pro, Tmux + zsh, Neovim Full stack developer, not gaming
Linux (Debian) with neovim. Telescope and Treesitter and the big plugins I use but I use a bunch of other smaller ones as well.
At my last job I did a bunch of Rust, this job I do mostly Go.
I usually licence my work under GPL if it’s a large project, or Beerware if it’s something smaller (or if it’s for internal use in one of my societies).
Any coursework I do, however, gets licenced under BSD-3-clause. For this, GPL would be too restrictive and Beerware would be too informal, and BSD-3-clause is a nice middle-ground (as far as I’m concerned).
Lmde7, nvchad set up with some linters and autocompletion.
Arch -> i3 -> terminator -> tmux -> nvim.
Nvim is IDE and vim for quick edits.
LXC/incus and podman containers
Usually use Debian for server administration but have recently been using fedora and rocky Linux and other rpm based distros for their easier use of podman configurations (quadlets). I don’t really recommend using fedora as a server (unless it’s in an incus container) but I got into it as CentOS was deprecating and the podman systemd setup was catching on at the time and fedora was handling it the best at the time.
Dropped out of GitHub for the most part and getting acclimated with codeberg and forgejo.
Use librewolf for browsing and firefox-developer-edition with many profiles for testing and development. Qutebrowser for reading documentation.
why i3 and tmux? resume?
For clean separation and keyboard use.
I don’t know if i3 is the best tiling manager but it’s the one I use and I like it. The reason I like using the tiling manager with tmux is that I never have to use the mouse. I have a different environment in different each window.
super+1 is main tmux development area.
super+2 might be remote server tmux area.
super+3 might be development browser views
super+4 might be my Qutebrowser with documentation texts.
super+5 is note taking apps.
super+6 libreWolf for regular browsing, etc.
And I can have multiple things going on in each window but all I have to do is press super+f to make a tmux session (or whatever app) full screen. For instance in super+1, I might have one tmux, session for local development and one for the incus server I’ll working in.
In tmux I have over 10 different sessions going on. So I can quickly go to any number of apps I’m working on or to my utils session where I do most of my cpu checks. One session is just for browsers I keep open so I can keep track of them easily and/or kill them quickly with Ctrl+c. This has the added benefit of always keeping my tabs saved when I open them back up.
In my tmux app sessions lies nvim which is a great ide. I keep one tab window open for git doings. One for backend nvin instance. And one for frontend nvim instance. Then one open for the server and other terminal related stuff. Another for database.
Just makes organization easier.
OS: Debian (Trixie)
DE: KDE Plasma
I use vim for light edits. Currently using VSCodium, but am slowly trying out Kate. I use codeberg as Version Control, and Konsole as the terminal.
I also have notepadqq (a native alternative to notepad++), but prefer vim and am also trying to switch to Kate.
Windows 11
Notepad (new)
Co-pilot
ChatGPT Agent to prompt copilot for me.
(This is a joke)
You laugh, at my last job for certain stuff I had to program in windows 10 and word.
They didn’t have source control so they did manual code reviews using the “track changes” feature in word.
The code reviews were pointless though as I was the only one who knew the language it was written in (g-code with proprietary additions by the system vendor)
Windows:
KATE + RemedyBG
Linux:
KATE + Seer
Debian at home, Rocky Linux at work
VSCodium or Godot depending on what I’m working on.
Whatever language support via LSP is available for VSCodium, Prettier, I’ll have to check the rest. Nothing that drastically changes the experience. Basically whatever does auto formatting, code completion(without using “AI”), and error highlighting.
Are your projects in c#/dotnet?
Mostly python, shell, and GDscript these days.
I did C#/.NET stuff for a few years for $dayjob, but that was all on windows with visual studio
I see, do you think C#/dotnet is still going to be relevant? It seems like they keep getting better behind the scene and have matured to be more than just windows java. I have fallen off programming and am looking to give myself a project to get back. I was thinking of learning dotnet and using avelonia to make some guis.
I think C#/dotnet will be relevant on windows for a long time. Personally I’m done with that platform though. Dotnet being free and open source software is great though. There are some fantastic cross platform projects out there written in it, such as Jellyfin.
One reason why I am taking some interest, I primarily use Linux. Tho it does seem like its mostly MS that pays for the development and I do wonder if they might pull the plug and just focus on Windows. I wouldn’t want to start a project I can’t continue or focus on developing skills that are get tied back to a proprietary platform or something.
KDE Neon, with Icons-Only task manager and global menu in a top bar. I have shortcuts for moving between activities and custom one for “show in all/show only in current activity” with a KWin script. Window rules for everything to open in the correct activity. Neon is not super stable but it’s nice and fun to get the latest KDE stuff.
IDE is Neovim and Rider (Jetbrains)
Neovim config is kickstart.nvim + autosave, noice-ui, commentary, luasnip and harpoon.
Rider has Nyan progress bar, key promoter X, Ideavim and gittoolbox. I want to move to Neovim but debugger experience is very good in Rider. ctrl+p and alt+tab, Navigation is a bit too slow for me.
Also bash, it’s big part of my development environment since I really like using the terminal and making alias and functions for everything. I have “clipboard filepath - > js code generator - > clipboard” stuff for example and it’s nice to just type
gen -tsto convert C# class to TS interface ready to paste. Play/pause media withp, navigate to project and start itname [all, start, cs].refto fuzzy find a git branch and switch to it. Log how many hours I worked withlogtimeetc. I hate bash as a language but as a tool to interact with the computer I love deeply because you can automate a stupid amount of stuff.Also, no mouse, just trackpad for when I’m forced to use it which is not that often even though I’m in webdev (vimium plugin for browsers MVP there).
Bazzite and Kinote though I use distrobox and k8s alot for messing with other distros/apps. Vscodium and neovim. Vscodium is loaded up with nearly anything IaC or kubernetes related and Continue for some AI stuff (pointed to local and mistrial). Also heavy opinionated stuff for Python like black, etc (I want my ide to yell at me to make better code). Some GitHub and git lab add-ons too. Nvim is just as is.
Gentoo, Neovim.
I should switch to Helix, if I ever find the time.
OS: Ubuntu IDE: IntelliJ for Java/Kotlin, VSCode for Scala, sometimes Helix for particular files
OS: Arch DM: Niri Terminal: Kitty Editor: Helix
At work my OS on my workstation is Windows 11. In an average month I use C#, C++, Python, and Javascript. I usually have at least one instance of VS code and VS pro open. I also use Rider because we use plug-ins for one project. Everything is pretty default except the layout I use.
At home my dev PC is rynning on Kubuntu and I use VS code as an IDE. I use whatever language fits the team/project. When I can choose I mainly use C# or Rust. After using C# at school and your first job outside of school, you get really fast at expressing yourself in C#.
For me my keyboard is an import because I want a consistent feel wherever I am. So for typing I use the same clicky switches on my coding keyboards with keycaps that have the same shape and profile.
Windows ME. Notepad.
Linux, KDevelop, C++
Windows, Visual Studio, Telerik (why yes I’m forced to use this for work…)
I got started in dev work recently and have gotten used to this setup, I kinda want to learn vscode and host it on my server or something but I’m not really sure what kind of projects I can work on for myself, also not sure learning another IDE while learning in general is a great idea.
OS: W11
IDE: Rider, Webstorm, VSCode and for legacy apps Visual Studio
Shell: Powershell w/ OhMyPosh, I find Powershell a hassle to use but I set it up once after seeing a colleague use it and kept it
I would like to point out that there are quite some Linux devs in the replies. I feel like I don’t belong here.
It’s a programming community, you’re programming, you’re fine.
no. you’re trash.