I'd go for Mint. The only system that never disappointed me and always just worked. Second place would go to Debian "stable", old (== problems with Wifi) but rock solid.
I love cinnamon so that's a big plus on Mint but I didn't love being stuck on an old version of Ubuntu and all the associated core packages/drivers. I had some hardware issues that were fixed by using a more recent version (now on Fedora). I'm by no means a seasoned Linux veteran though so just explaining that YMMV.
Ask HN: What is the best Linux distro for a development laptop?
51–60 of 329 posts
Re: Ask HN: What is the best Linux distro for a development laptop?
#52It's a matter of tools. All distro's are basically very similar but come with different desktops and package managers. I spent many years jumping around Debian and its derivatives but then I found Arch and it just felt right. I love the package manager and the fact I can control what I have installed. With a 9 cell Thinkpad battery and some cleaver settings I can last all day. I have to admit that these days I tend t…
I would recommend having root FS on ZFS or other filesystem with snapshots. Take a snapshot before or after running a full system update with pacman.
Another aspect I dislike about Arch is that package binaries get removed very soon - it's not an option to not keep it constantly up to date.
That said, it's still my favorite distro.
Re: Ask HN: What is the best Linux distro for a development laptop?
#53I would not recommend Ubuntu or Debian, mostly because dealing with old packages can be the reason you waste great amount of times.
I'm writing this on Arch Linux. My oldest files (that I created) are from 2008, but I think I've been using Arch Linux longer than that. Before that I was mostly using Gentoo - basically since it got some popularity, so very early. I'd recommend Gentoo, if you don't mind compiling. I do, so that's why I don't use it.
Other than Alpine (which is the base for many Docker images) those OSs, so you want to use something else there, but all of them have the great benefit of being minimalist and do a relatively low amount of customization, meaning that software works how to author intended.
On RedHat/CentOS/Fedora, SuSE, Debian, Ubuntu, as great as these systems might be you tend to have many, many specifics, potentially making it a bit annoying when you want your software to work somewhere else. At least that's my experience. They are an option if you are sure to exclusively use those, but other than with Fedora, which I wouldn't recommend on the server you end up with fairly old software.
You might also want to take a look on one of the BSDs. They are really great for whatever you are doing, but their major caveat is desktop hardware support. You might be lucky or not. If you try TrueOS, a for desktop "distribution" of FreeBSD you might be lucky. Oh and doing Android development on there isn't the most pleasant. For everything else it actually has a lot of benefits. For example dtrace being a first class citizen means that debugging is so much easier, especially when it's something you didn't run in debugging mode.
All of them support virtualization and allow for battery management.
I'd make a list of distros/OSs that look interesting and _use_ any of them for at least 3 months. Don't make the mistake of essentially just trying how their installer is. After all you want to have an OS where you are productive and not run the installer. ;)
Oh and one more thing: Don't listen to hypes regarding OSs. What works for you is in my experience and incredibly personal choice. If it doesn't work for you (which you will know after 3 months) kick things of your hard disk. Don't waste your time on trying to run a system just because everyone else uses it. There just is too many people that only try the top ten linux distros, which are all really similar, because they think that one of them has to fit and that the others all all bad. That's certainly not the case. There is successful developers and companies (plural there) running any of the top 100. Look often you read about OpenBSD here and how it is only on spot 86 on distrowatch.
A better measure is how old it is and whether it is still actively developed. If it is older than ten years and there is developers working on it there probably is a good reason for them investing their time.
Re: Ask HN: What is the best Linux distro for a development laptop?
#54I have been using Linux since the late 90s and tried most of the bigger ones for development over the years. In my practical experience distros which use aptitude are far easier to work with than distros with yum (awful, how can people use that?) or other package managers I tried. Stuff just works. I myself use Ubuntu; I have not reinstalled my laptop for years, I just run dist-upgrade and it works well on both clien…
Arch (Or any rolling release) isn't just about cutting edge. OS upgrades tend to break stuff depending on your usage (something compiled against the specific kernel version). Updating your computer every few days means you can avoid it entirely.
The preposition of always up to date would be great if that wouldn't mean that your PC doesn't work properly most of the time due to some new bug or incompatibility.
We've run Arch on embedded PCs (arm) due to out of the box docker support, but after updating a year later we've literally were unable to deploy Docker containers. There was a bug in the kernel, and no amount of hacking, upgrading or downgrading made it work.
Luckily we had a sdcard snapshot a year old.
I suggest Ubuntu or Debian, they got good docs, good support and generally a positive community.
As far as windows managers go - pick what you like. Gnome looks slick, xbuntu is my go-to for Chromebooks and default isn't too bad.
A lot of devs in our company go for tiling desktop managers - i3, awm....
Re: Ask HN: What is the best Linux distro for a development laptop?
#55Earlier quoted context omitted.
How many servers? How are you managing the updates? Are you using it for any 'production' code?
Definitely interested in an answer here, too. If the rolling release ain't bad enough, the focus on bleeding-edge would ordinarily make Arch the absolute least desirable production server OS imaginable. I certainly don't have that kind of courage :)
You want your servers running old and verified software.
Re: Ask HN: What is the best Linux distro for a development laptop?
#56It's a matter of tools. All distro's are basically very similar but come with different desktops and package managers. I spent many years jumping around Debian and its derivatives but then I found Arch and it just felt right. I love the package manager and the fact I can control what I have installed. With a 9 cell Thinkpad battery and some cleaver settings I can last all day. I have to admit that these days I tend t…
Having recently broken my Arch Linux unbootable (needed USB stick rescue to fix) by not upgrading quite everything (needed some libs for new packages), I think it's a bit fragile. I would recommend having root FS on ZFS or other filesystem with snapshots. Take a snapshot before or after running a full system update with pacman. Another aspect I dislike about Arch is that package binaries get removed very soon - it's…
From that perspective, what works in Arch's favor is that fixing it is usually more straightforward than other distros. I remember spending a saturday afternoon trying to uninstall the proprietary ATI graphics driver from an Ubuntu machine - only to find out (after much googling) that you need to set a very obscure, barely documented environment variable before the attempt.
With Arch, the benefit of installing it manually is that fixing the system works pretty much the same - you just skip a couple of steps (partitioning etc).
Also, I found the Arch and Gentoo Wikis to be very useful for those attempts, regardless of the distro I actually tried to repair.
On a related note: On Arch, I stopped breaking things through updates after I subscribed to their main news feed (https://www.archlinux.org/feeds/news/) - pretty much every breaking change is announced and explained properly there.
Re: Ask HN: What is the best Linux distro for a development laptop?
#57I'm a CS student and I had this exact question a year earlier. I tried ubuntu as everyone suggests for a begginer, then switched to deepin and then over to elementaryOS. Sure I'm never going back to windows but ubuntu never seems to work out of the box. The next station in this Linux journey is to dual boot Mint and Arch. Mint for when I wanna get things done and Arch for learning and customising linux.
Once you are past the initial installation (give it a few hours) you can get things done with Arch quite easily as well.
Re: Ask HN: What is the best Linux distro for a development laptop?
#58It's a matter of tools. All distro's are basically very similar but come with different desktops and package managers. I spent many years jumping around Debian and its derivatives but then I found Arch and it just felt right. I love the package manager and the fact I can control what I have installed. With a 9 cell Thinkpad battery and some cleaver settings I can last all day. I have to admit that these days I tend t…
When it comes to tooling, I found the packaging strategy of Arch to be pretty invaluable, too: - Pacman is a great package manager (esp. when compared to e.g. ´yum´). - The Arch User Repository ( https://aur.archlinux.org/ ) has a large list of additional packages maintained by the community. - The PKGBUILD format used by the AUR is easy to read and essentially just generates Pacman packages you can install alongside…
Re: Ask HN: What is the best Linux distro for a development laptop?
#59Regarding your important points: - All modern distros can run virtualized systems. You just need to install your favorite virtualization software (VirtualBox, qemu, VMWare, etc.). - No distros have good battery management, at least not really on par with Windows, and certainly not on par with macOS. This is just the unfortunate state of affairs with the Linux kernel. Some of it is due to lack of focus on improving th…
Gentoo's "compile everything" approach doesn't seem like such a bad proposition up front, but it really turns out to be the PITA. Since it's a rolling distro packages get updated often and if you haven't updated you're system in couple weeks and you happen to have couple of heavy packages installed (chromium, firefox, octave, openoffice, kernel) upgrading your system may take up to 10hrs on a average 2015 machine. Si…
Most users will probably never need to do this, but I find it invaluable.
I maintain my own patches for dozens of packages in order to fix quirks/WONTFIX bugs, add features that upstream refuse to touch, remove intrusive/unwanted features that piss me off, etc, and being able to do this without also having to maintain my own deb/rpm/ makes it much less painful.
It's also nice for applying emergency security fixes without waiting for your distro to pick them up.
Re: Ask HN: What is the best Linux distro for a development laptop?
#60Earlier quoted context omitted.
When it comes to tooling, I found the packaging strategy of Arch to be pretty invaluable, too: - Pacman is a great package manager (esp. when compared to e.g. ´yum´). - The Arch User Repository ( https://aur.archlinux.org/ ) has a large list of additional packages maintained by the community. - The PKGBUILD format used by the AUR is easy to read and essentially just generates Pacman packages you can install alongside…
Can you honestly say you remember the exact pacman syntax of how to perform a system upgrade or how to install a package? :-) For me the UX was a problem, even if technically the package management is good.
´sudo pacman -Syy´ to update the package db
´sudo pacman -Suy´ to update all packages
´sudo pacman -S package´ to install/update a specific pakage
´sudo pacman -U package.pkg.tar.xz´ to install a package from a local file (useful if you're using makepkg)
Those are usually enough to maintain my system. I'll have to hit the wiki for the various query options though. But if the CLI side of pacman bothers you, I'd suggest defining aliases in your shell's RC. I track my dotfiles using git and share them on all my machines, and this method works quite well for me...