- Arch Linux (btw.)
- hyprland
- helix
- kitty
- LibreWolf (for research)
post
Windows + Visual Studio :(
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.
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
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.
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.
- NixOS
- Hyprland (pending migration to Niri)
- Emacs (eglot)
I occasionally use Jetbrains products as well (e.g. maintaining Kotlin projects).
Flexible, but Linux/macos predominantly. Jetbrains (CLion/RustRover). No specific plugins, JB IDEs are pretty good out of the box.
Arch + i3wm/sway + Tmux + Neovim
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 tmux and 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 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.
- NixOS + Home Manager
- Niri
- Kitty
- Neovim, via Neovide
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:
- Leap for in-buffer navigation & remote text copying
- Oil for file management
- Fugitive + Git Signs + gv.vim + diffview.nvim for git integration
- nvim-surround to add/change/remove delimiters
- vim-auto-save
- kitty-scrollback
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.
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.
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.
MacOS and Panic Nova
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.
At work, windows with jet brains products. Then docker with Ubuntu server.
At home its popos with vim. Sometimes docker, sometimes not.
Linux + IntelliJ
I also use VsCode because I like its text editing better.
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
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.
Dotnet being free and open source software is great though.
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.
such as Jellyfin. TIL
Emacs clients in alacritty terminals on GNU Guix. I am used to vi-keybindings so I use evil-mode.
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
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.
I'm a:
- Gamer
- Full stack web dev
- Android/iOS/MacOS/Windows Dev
So I have a lot of machines
Machine 1
- Purpose: MacOS/iOS app builder/publisher
- Usage: 100% work
- Location: Work
- OS: Modified MacOS Sequoia
- Sequoia to avoid the glass interface disaster that Apple released
- Uses custom window manager built in hammerspoon because fuck macos's window management
- Modified firmware so Caps + IJKJ = Arrows
- Shell: ZSH
- IDE: VSCode
Machine 2
- Purpose: Personal computer
- Usage: 90% games / 10% work
- Location: Home
- OS: Modified Windows 11
- All the ads and AI bloat is removed but it requires increasing maintenance to maintain
- Shell: ZSH through WSL Ubuntu
- IDE: VSCode
Machine 3:
- Purpose: do everything on the go
- Usage: 50% games / 50% work
- Location: Wherever
- OS: Modified Windows 11
- All the ads and AI bloat is removed but it requires increasing maintenance to maintain
- Shell: ZSH through WSL Ubuntu
- IDE: VSCode
Machine 4:
- Purpose: Disposable environments to test new things
- Usage: 100% work
- Location: Work
- OS: Kubuntu 25.10 (Current plasma version is great so far)
- Shell: ZSH
- IDE: VSCode
Also:
- Android Tablets
- Android Phones
- iPads
- iPhones
Future:
- Helix
- I want to learn Helix's keyboard workflow
- Helix's lack of extensions has held me back.
- Helix has been working on extensions for a while though and I'll re-evaluate it once it does and the community builds the needed extensions
- Zed has some helix commands, so I may switch to that from vscode to get helix commands + extensions.
- OSs
- I want to reduce my windows 11 maintenance
- Held back by anti-cheat games (PUBG, then Helldivers 2, and will try Arc Raiders these holidays, potentially Marathon next year)
- I'll experiment with KDE / Cosmic / Niri in 2026.
- If no anti-cheat games have captured my attention in 2027, I'll switch another one of my personal machines to Linux
Helldivers 2, and will try Arc Raider
Helldivers 2 and Arc Raiders both work fine on Linux. PUBG does not.
potentially Marathon next year
Marathon is unlikely to work since Destiny also doesn't work.
FWIW I tried the Helix mode in Zed, and it was missing lots of Helix bindings that I rely on.
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.
VSCode (on windows) with Remote Development via SSH extension to Ubuntu or RHEL depending on the task
- OS:
- Arch Linux or OpenBSD, depending in how I feel
- Editor:
- Micro on Linux
- mg(1) on OpenBSD
- Plug-ins:
- Micro has support for a few linters, which is all I really need
- mg(1), meanwhile, doesn't even have syntax highlighting
- Terminal:
- Kitty on Linux
- XTerm on OpenBSD
- Shell:
- Zsh on Linux
- ksh on OpenBSD
- Version Control:
- Git is the only realistic option (though Mercurial and Fossil are nice)
- Code Hosting:
- Usually Codeberg
- I also have sourcehut
- My Formula Student team uses GitLab
- My university and another society use GitHub 🤮
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).
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
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.
OS: Ubuntu IDE: IntelliJ for Java/Kotlin, VSCode for Scala, sometimes Helix for particular files
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.
Debian, awesome wm.
For work I use IntelliJ
For personal projects in Rust wezterm + Neovim + mix of different plugins
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.
Windows 10 with all dev work done in Ubuntu using WSL. Using vscode with the wsl extension.
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.
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!
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.
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
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.
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
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 -ts to convert C# class to TS interface ready to paste. Play/pause media with p, navigate to project and start it name [all, start, cs]. ref to fuzzy find a git branch and switch to it. Log how many hours I worked with logtime etc. 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).
I had a few high-powered previously Windows machines lying around, so now Ubuntu LTS + Codium are my daily drivers
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 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.
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.
all 98 comments