top | item 40470490

Ask HN: Best Linux Distro for Development

44 points| 999900000999 | 1 year ago | reply

I'm strongly leaning towards PopOs since I like Debain support, but Ubuntu is turning into Windows ( cloud services, telemetry, etc).

Given the absolute nightmare of Windows Recall, I opted to buy a 8845HS laptop instead. I plan on installing a nice 4TB SSD as well, with about 500 GB for Linux - I make tons of music and this is better supported in Windows.

I really enjoy Manjaro, but I find it's much harder to get working with certain software working.

I'm going to be developing embedded applications, flutter apps, and maybe some Android.

My main concern is speed, what's fast, what's not.

However, I'm also open to smaller niche distos, feel free to pitch your passion project!

56 comments

order
[+] mindcrime|1 year ago|reply
I was a pretty die-hard Red Hat / CentOS / Fedora guy for years. Then I bought a new laptop from System 76 that came preloaded with PopOS. I told myself I'd immediately reformat it and install Fedora or whatever. But then it came in and I was feeling lazy and wanted to get started using it, so I told myself "I'll stick with Pop for a few weeks or whatever, and then I'll switch."

That was like two years ago, maybe two and a half now, and I'm still running PopOS. I really have no complaints. It just works, and the repos have pretty much everything I've ever needed aside from really niche stuff that's never in distro repos.

[+] eddyfromtheblok|1 year ago|reply
And it shouldn't be understated that PopOS has a tiling window manager mode with sensible default keyboard shortcuts. Great no fuss UX for PopOS overall and it's hard not to keep expectations low for Cosmic Epoch
[+] __rito__|1 year ago|reply
I used PopOS for a long time ~1.5 years. There were two main issues:

- My Asus laptop couldn't sleep or hibernate. It would just be fully on, or shut down. This wasted a lot of battery.

- The wifi reception was always too low. I needed to be very close to the router or couldn't establish a meaningful connection. This was not to inconvenient as I use the same desk always.

There were many other minor issues, too.

So, I left PopOS about 8/9 months ago, and jumped to Ubuntu. These problems went away. It works perfectly.

Only problem is they showing me Ubuntu Pro ad on every sudo apt upgrade. Other than that it's really good. Absolutely zero problems or inconvenience. No need to babysit it. I have zero problems with NVIDIA drivers. It is as convenient and worry-free as Windows or MacOS.

I used Linux Mint when I was in college. It is another no-BS, no babysitting needed distro. But it sometimes gave me driver problems which I needed to fix.

I also used Manjaro for a while. It's a good one.

You could use Kubuntu. It is Ubuntu with KDE as the DE. It has really good graphics.

[+] 999900000999|1 year ago|reply
Do you know if the Ubuntu flavors line Ubuntu Studio have the ad like stuff in it ?

I'm leaning towards Mint atm.

[+] skydhash|1 year ago|reply
Linux Mint for the minimum fuss. You can go with XFCE for maximum snapiness. Almost every guide for Ubuntu will work with it, but without the latter's junk.

I work with Debian and i3wm, but that's because I'm familiar with both and my software needs are minimal. Debian is pretty stable, but barebones. Everything you install will work, but you may as well go with Linux Mint Debian Edition if your endgoal is similar.

Fedora and OpenSuse are other candidates for well supported distros, without doing all the work like with Arch Linux.

[+] 999900000999|1 year ago|reply
I ran into an issue with one of my Linux Mint installs I completely broke the desktop.

I really want to develop for raspberry pi as well , which is infinity easier on a Debain Distro.

I'm probably going to use Mint again, but I'll consider other Debain distros.

[+] jmholla|1 year ago|reply
I really like Mint witht he default desktop environment cinnamon, especially if you are running Windows. The layouts and keyboard shortcuts are pretty similar and make it easy to go between the two.
[+] AtlasBarfed|1 year ago|reply
Mint is avoiding snaps and wayland as well, which I think is a good thing.
[+] thezipcreator|1 year ago|reply
I use Debian and it works well for me. (sometimes they can be a bit slow to update things, but if you need things quicker you can use Debian Testing)
[+] toastal|1 year ago|reply
If you are doing development, something like NixOS or Guix will pay dividends. They have a higher learning curve but you can apply those stateless builds to your work as well as the rollback potential for when stuff doesn’t work. You can declare your config once & deploy it on any machine & will sometimes even be warned about config changes that have broke things like PAM for me on other machines. They aren’t generally recommended for beginners since you will need to code to use them, but you have already stated that you can.
[+] ratorx|1 year ago|reply
I don’t think NixOS (or possibly Guix, never used it) provide any significant value-add to development, that you couldn’t get via using nix as a built tool on a separate distro.

The things you mentioned might be useful in their own right, but don’t really seem as critical to development as e.g. being able to install non-Nix library dependencies or deal with legacy software, which is made more difficult by a system like NixOS.

[+] Blackstrat|1 year ago|reply
Personally, I’d give OpenSUSE Tumbleweed a look. I moved from Leap to Tumbleweed last year and have found it very stable. It seems to have a good inventory of development tools.
[+] rramadass|1 year ago|reply
Seconded. I have been a longtime user of OpenSUSE (and plain SuSE from its early days) and highly recommend it. YaST makes configuring and managing the system from a single place a breeze. All tools/apps are easily available and everything is very stable.

My advice is to stick to one distro over a long period of time so one can become familiar and comfortable with it.

[+] chipuni|1 year ago|reply
Elsewhere, you said the you're not into tweaking your OS.

Then I agree with Mindcrime: Try PopOS. It's very easy, it's full-featured, and it makes installing software easy.

[+] spicyusername|1 year ago|reply
Debian or Fedora are both solid options, depending on how fresh you like your packages. I used Fedora for close to a decade without issues.

I'm currently using PopOS, an Ubuntu derivative, and like it. The built-in tiling window manager is a killer feature. I loved using i3, but hated manually fiddling with things like networking configuration. Having a tiling window manager built on top of Gnome is the best of both worlds.

[+] lenkite|1 year ago|reply
Pop!_OS hasn't been released since over 2 years - has development been abandoned ?
[+] pxeger1|1 year ago|reply
I personally can’t stand Debian/Ubuntu because of how opinionated and out-of-date they are. It’s great for stability but if you’re continuously using the OS and want to keep it up-to-date I find there’s less overall breakage with a rolling release distribution. This is why I use Arch. Also if you want to learn about Linux, installing it manually is fun. (But I’d probably go with Manjaro or something otherwise)
[+] enceladus06|1 year ago|reply
Kubuntu 24.04 is great. Currently using 64gb of ram + i7 13700k + 32" 4k lcd, it is enough to run multiple docker containers and runs really snappy with all the animations turned off. Everything worked perfectly out of the box with a z790 chipset.

I use it for webdev and playing with some embeded dev, and anything else that is not gpu-intensive. But 64gb of ddr5 is like $150 these days, very cheap just get that.

[+] 999900000999|1 year ago|reply
I'm buying a laptop and most of them are now soldering in the ram.

I'm very strongly leaning towards Linux Mint. I'm not sure if the Ubuntu flavors have the same advertising as normal Ubuntu.

[+] mattpallissard|1 year ago|reply
Archlinux.

It tries to track mainline as close as possible, as a result it has minimal patches to software. Very vanilla. It can be as light weight or as heavy as you want.

Most important to me is that it's rolling release so you never have to do a major upgrade. I prefer to handle software changes one at a time instead of in big batches.

My laptop installation is from 2015, I've used brtfs send to migrate it to new hardware three times now. I have servers that have been installed for longer. Yeah it's a slightly more involved installation process, but you really only have to do it once.

[+] atiedebee|1 year ago|reply
Don't go for the more niche distro's. The majority of them are based off of another (better supported, more stable) distro with slight changes in configuration that don't matter most of the time.

Linux Mint is probably the only exception I'd make to this rule, because they have been around for long enough and have proven themselves to be stable.

I am not familiar with the Android development ecosystem, so if you are in need of relatively recent packages (<1 year old) the most suitable distros would be rolling release distros like OpenSUSE Tumbleweed and Arch (although that one requires quite a bit of setup).

Stay away from Manjaro and Pop as they have a history of breaking packages, and in the case of Pop not contributing upstream and causing drama.

[+] gradschool|1 year ago|reply
> Stay away from Manjaro and Pop as they have a history of breaking packages

Further to that, if you intend to use valgrind as part of your development workflow, note that valgrind sometimes stops working on Manjaro and languishes that way for months. For complicated but ultimately boring reasons that you can research for yourself, the issue isn't resolved by reverting to a previously working valgrind package. I was on the verge of switching from Manjaro to Arch for that reason but lately it started working again so I'm giving it a reprieve. If I were starting fresh I'd use Arch.

[+] dyingkneepad|1 year ago|reply
> leaning towards PopOs since I like Debain support

So why not just Debian?

Most developers I know use either Debian, Fedora or Arch Linux.

[+] 999900000999|1 year ago|reply
Debain is hard with a capital H.

I'm not too into tweaking my os.

[+] Szpadel|1 year ago|reply
I used Gentoo for many many years, but at work where I didn't had powerful enough CPU I had to compromise and switched to Fedora, when you enable additional repos (eg. rpmsphere) software availability is pretty good, there is also copr so you can use one of community maintained repos.

They are not on the top with compiler optimizations (based on phoronix benchmarks) but are fairly close, probably because they tend to trade security for performance.

If you want things to just work I recommend using one of deb or rpm distributions as you can count that those will have official packages for anything you might need

[+] sandreas|1 year ago|reply
I would either go for Fedora (up-to-date but pretty stable) or NixOS.

NixOS has a very interesting approach of having a (smal set) of config file(s) to setup an entire system as it was. Too me as a developer this is very appealing, because I don't need to care too much about backup up the OS or settings, but only the config files and the files in /home/.

I would also add docker, this helps a lot with development. Oh, and if you need a VM (e.g. Windows) stay away from Virtual Box - just use qemu, which runs the VM up to 300% faster.

[+] canadaduane|1 year ago|reply
I know there are many much smarter devs than me out there, but I dedicated 5 full days over Christmas break last year to NixOS, trying to configure it and use it for development, and I failed.
[+] worldsavior|1 year ago|reply
I think any Linux distro that work out of the box is optimal, so you won't need to fix things right at the start like WiFi driver is incorrect.

In my opinion don't look at Asahi Linux based distros. Too much configurability and sometimes you just want to code. That's including Manjaro Linux since it's almost like Debian only with pacman and with even more bloat.

[+] grudg3|1 year ago|reply
Since no one mentioned it yet, I quite like Endeavour OS the i3 flavour. You get all the Arch goodies with a straightforward installer. And I use nix + yay for package management.
[+] Ingon|1 year ago|reply
For general usage mint or manjaro make a lot of sense (I use manjaro personally). For writing software, nix on top of the above (and integrating with direnv) is really smooth experience, especially after writing a few flakes for your projects.
[+] devKnight|1 year ago|reply
I use pop os do web development, works great. Just really ram hungry, so make sure you have a lot of that, which i'm guessing you will anyway given that you'll be doing mobile development(I assume that its a ram heavy process)