5 ms·
Ask HN: Best Linux Distro for Development
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!
- dyingkneepad 2y ago> 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 2y agoDebain is hard with a capital H. I'm not too into tweaking my os.
- seabass-labrax 2y agoI wouldn't say it's hard - you don't need to tweak anything if you don't want to; one of the features of Debian is that all the packages are configured ready-to-go when you 'apt install' them. For installation, use a tool like Rufus to make a bootable USB drive. Use https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-12.5.0-amd64-kde.iso https://cdimage.debian.org/debian-cd/current-live/amd64/iso-... - KDE is a desktop environment that will feel pretty familiar if you are used to Windows. Rebooting into the USB drive, you can try out KDE, or can go straight to the install process - it takes less than half an hour, even as a beginner, and if you don't understand something, just click next and it'll be fine. There's a graphical partitioning tool included in the installer. If you don't need everything to be FOSS, you can select non-free repositories to make some proprietary software easier to install. These aren't officially part of Debian, though, so remember that you can't get support on the Debian forums/chatrooms/bugtracker for proprietary packages.
- 999900000999 2y agoOne more question, what about PPAs ? As far as I can tell alot of Ubuntu software is restricted to these which won't work on base Debian.
- dyingkneepad 2y agoWhich software do you need from PPA? At the end of the day, stuff in PPAs is just .deb packages, so it may be possible to just install them in Debian. That said, I've never had to use a PPA in my life, the default Debian archive already has basically everything.
- seabass-labrax 2y agoYou can add Ubuntu PPAs and install software from them on Debian. Occasionally, the software won't run because it's expecting different versions of its dependencies, but I'd say this is the exception rather than the rule. It's more likely to be an issue with games or specialised scientific tools, whereas development tools probably won't be fussy about which versions they require. And you can always use Ubuntu inside a container (with Podman or Docker), chroot or virtual machine (libvirt or VirtualBox), or even use an alternative package manager like Nix, Spack or Guix on top of Debian! One final suggestion is to simply look to see if Debian already has a piece of software when people suggest using a PPA. Some developers don't like Debian (for instance because Debian disables tracking code by default) and recommend PPAs when you don't actually need them. P.S. 'PPA' is a Ubuntu term, while Debian tends refer to 'third-party repositories' instead. Luckily, they are exactly the same thing!
- 999900000999 2y agoI'm thinking of Steam in particular, but here's a guide for Debain. https://wiki.debian.org/Steam#Installing_Steam https://wiki.debian.org/Steam#Installing_Steam I think I'm convinced, I'll try Debain and if it doesn't work I can always go back to Mint.
- dyingkneepad 2y ago
- abdullahkhalids 2y agoI have used Debian for over a decade now. Back then, there was a lot of configuration stuff. These days, barely much - at least on my thinkpad. Everything works out of the box, and software defaults are pretty decent. Last time I had to play with the system a bit, was when pipewire was introduced, and I had to create a config for it to nicely connect to my bluetooth earphones. I guess that was 3 years ago.
- nwah1 2y agoI would recommend an immutable OS because transactional updates and rollbacks is a great feature, and the added security is a nice bonus. Some of them are debian-based. You can still get the cosmic desktop of Pop OS in another distro if you really want it.
- 999900000999 2y agoDo you have any suggestions?
- nwah1 2y agoI don't know enough to say which immutable debian spin would be best. For immutable in general, Fedora is probably the most refined. Their GNOME spin is the most well-known and is called Fedora Silverblue. But they also offer KDE, Sway, and others atop their immutable infrastructure. I think you can get basically all major desktop environments. Here is a non-exhaustive list: https://fedoraproject.org/atomic-desktops/ https://fedoraproject.org/atomic-desktops/ The key here is that you would install almost all your applications via flatpak on the home partition, and the system partition would be very locked down except for the system updater tool. When the system is updated, however, you would be able to tag as many snapshots as you like which would be like git branches for your system. Each could have different kernels, system libraries, etc. If a system upgrade goes bad, you would be able to go back to a previous one. The last two will be saved by default, and you can save as many others as you like. Which would all be efficiently stored and de-duplicated via ostree And your userspace would essentially be preserved as you switch between system snapshots, because it is on its own partition.
- 999900000999 2y agoDefinitely looks cool, but it looks like dual booting isn't really supported. https://docs.fedoraproject.org/en-US/fedora-silverblue/installation/ https://docs.fedoraproject.org/en-US/fedora-silverblue/insta... I'm going to think about this, I've had great experience with Linux Mint ( it's still Ubuntu but less junk).
- 2y ago
- Blackstrat 2y agoPersonally, 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 2y agoSeconded. 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.
- tmtvl 2y agoThirded, OpenSUSE has a pretty good partitioner on its installer which makes it easy to set up encryption and snapshots. It even sets up LUKS1 encryption on an encrypted boot partition. And the Open Build Service, while not as big as the AUR, still holds a ton of applications.
- rramadass 2y agoSome more data from https://www.reddit.com/r/openSUSE/comments/147u5c1/is_it_good_to_use_opensuse_as_a_daily_os/ https://www.reddit.com/r/openSUSE/comments/147u5c1/is_it_goo... As for why I believe OpenSUSE is great for daily driving: Tumbleweed always receives the latest packages from upstream development. This means that the distribution is guaranteed to work on the latest hardware and benefit from patches for optimal performance. As an example, Tumbleweed gained the optional x86-64-v3 packages while Arch, Fedora still lack these optimizations. On top of that, it also outperformed other distributions including Arch in various benchmarks. Btrfs with Snapper can be utilized so the system can be rolled back to a working snapshot in case an update breaks anything. Which leads on the further point... Packages are tested through OpenQA before they are distributed, ensuring that updates are stable, and if they pass the extensive QA, it ships automatically. So in most cases, OpenSUSE often gets the latest versions of software hours to days after upstream publishes those changes. On Arch, it took over a month for the maintainer to update GNOME 44. OBS - The Open Build System which is similar to the AUR allows anyone to create and publish packages not found in the official repositories or packman. IMO this is a better approach to COPR or the AUR as they still go through openQA to detect problems with compilation. OpenSUSE is desktop environment agnostic. GNOME, KDE, XFCE, Cinnamon etc are all a priority and receive the same level of development. Other distros have been known to have weird quirky behaviors on certain DEs that doesn't seem to be an issue here. Zypper is probably the most cohesive feature packed package manager out there. It can seamlessly change vendors to a different package source to avoid dependency/system breakages, provides solutions on conflicting packages and much more. OpenSUSE combats software problems in smarter ways than other distributions. They have extensive backports for almost everything from the kernel,X11,firmware,KDE etc all of which is provided officially and not from third party developers like Ubuntu PPAs. This way, the software installed from SUSE directly can be trusted. YaST is an amazing system configuration tool that allows you to administer the installation with a breeze. IMO this is one of the greatest selling points to this distro, and it never disappoints. Security - OpenSUSE is more hardened by default than Arch/Fedora/Ubuntu, meaning it can be trusted and dependent on. If you value security highly, it remains of the best options for security conscious individuals. All in all, OpenSUSE Tumbleweed/MicroOS are the best distributions available in my biased opinion. Combine this with the long track record of SUSE making solid distros, it simply cannot be beaten for desktop use.
- sandreas 2y agoI 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 2y agoI 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.
- devKnight 2y agoI 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)
- enceladus06 2y agoKubuntu 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 2y agoI'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.
- mindcrime 2y agoI 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 2y agoAnd 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
- skydhash 2y agoLinux 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 2y agoI 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.
- AtlasBarfed 2y agoMint is avoiding snaps and wayland as well, which I think is a good thing.
- jmholla 2y agoI 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.
- midnitewarrior 2y agoWindows Recall is a feature you will be able to disable, the justification for your decision is a bit dramatic.
- 999900000999 2y agoI don't want to spend an extra 500$ for a feature I explicitly don't want. None of the other AI features are too appealing to me. I'm hoping they remove this junk from the OS after a few years since I don't see Linux ever maturing in terms of music production or *most* multiplayer gaming. I still need windows for alot of things.
- tintedfireglass 2y agoAny rolling release distro would be fine like opensuse tumbleweed or arch , or something that is almost cutting edge like fedora or Ubuntu.
- NayamAmarshe 2y agoI've been using ZorinOS (https://zorin.com/os https://zorin.com/os) for years and it never disappointed. It's extremely stable, even more than Ubuntu in my experience. It looks modern and fresh and it's one of the "just works" distros.
- chipuni 2y agoElsewhere, 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.
- thezipcreator 2y agoI 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)
- __rito__ 2y agoI 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.
- jdnwnwkwk 2y ago[dead]
- 999900000999 2y agoDo you know if the Ubuntu flavors line Ubuntu Studio have the ad like stuff in it ? I'm leaning towards Mint atm.
- ksec 2y ago>Given the absolute nightmare of Windows Recall, Sorry what is it about Windows Recall?
- sphars 2y agoICYMI: https://arstechnica.com/gadgets/2024/05/microsofts-new-recall-feature-will-record-everything-you-do-on-your-pc/ https://arstechnica.com/gadgets/2024/05/microsofts-new-recal...
- grudg3 2y agoSince 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.
- toastal 2y agoIf 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 2y agoI 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.
- toastal 2y agoThe value add is the whole OS, top-to-bottom is now an expression of its declarative config which the others have you mutate files for config that inevitably go stale. Having used it for a couple years now, it’s hard to express how much more comfortable I am hacking on parts of my system I don’t even understand that well since rollbacks are trivial & patches can be declarative so I can run those upstream fixes or patch things I don’t like without worry. On other distros, had I bothered to compile something for a patch rather than just waiting (or hoping) for it, it wasn’t easy to maintain new updates to that package while maintaining those patches & it was a real hassle to manually compile it. Versus Nixpkgs where I update & if there is a new package version it automatically gets recompiled according to the patches I have declared in my system’s config. These same principles apply to development as well. Once you get the hang of it, you can customize any environment just like your system. It feels weird to value Nix in a development environment & not see it as useful for your system. …It also helps that Nixpkgs has more packages than even the AUR (that said, AUR being self-hosted is great instead of relying on Microsoft which throttles me all the time).
- pxeger1 2y agoI 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)
- Szpadel 2y agoI 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
- atiedebee 2y agoDon'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 2y ago> 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.
- spicyusername 2y agoDebian 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 2y agoPop!_OS hasn't been released since over 2 years - has development been abandoned ?
- spicyusername 2y agoIt has not. PopOS 22.04 receives regular updates and 24.04 is supposed to release in the fall of 2024, with a major new desktop environment written in rust, Cosmic. https://www.reddit.com/r/pop_os/comments/1ah339f/comment/koloih3/ https://www.reddit.com/r/pop_os/comments/1ah339f/comment/kol... https://blog.system76.com/post/cosmic-the-road-to-alpha https://blog.system76.com/post/cosmic-the-road-to-alpha
- Ingon 2y agoFor 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.
- c-hendricks 2y agoAnything that Homebrew works with.
- worldsavior 2y agoI 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.
- sharpshadow 2y agoI really enjoy Kali Linux it's Debian and maintained well.
- mattpallissard 2y agoArchlinux. 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.