I’m trying to decide on a linux desktop to install on my home machine. Just wondering what the general consensus is among rust programmers on a linux distro. Which one do you prefer and why?
Arch because Arch Is The Best™. Why even bother asking?
On a more serious note, it depends on your personality/personal preferences. Regardless of what you choose, you should be able to program in rust without issue. Even if your chosen distro doesn’t officially support rust, you can install it with rustup. I (and many others) do this anyways because it makes it easy to manage multiple rust versions, cross compile, and install the latest nightly rust build.
However, if you like messing with new technology (implied by your interest in rust), I recommend a rolling release distro like Debian Unstable (sid), Arch, or Gentoo (in increasing order of difficulty). Things will break more often but you’ll always be running the latest, greatest, and buggiest software.
On the other hand, if you are and want something that Just Works™, go with an Ubuntu variant. They tend to be stable, easy to install, and well supported.
Grew up on Red Hat. When that stopped being free I was using Fedora for a short while before I bounced between a bunch of distros. I’ve settled on Ubuntu and my dad has settled on Mint.
To see which systems are the most popular you can look on the right hand side of http://distrowatch.com/ . Mint has been the majority favorite for a long time with Ubuntu coming in at 4th.
As to why I prefer Ubuntu it’s because as far as the Linux ecosystem online is it’s the most compatible with it’s long term support versions LTS, and many 3rd party apps and drivers being packaged for it with PPAs. Secondly I like how it looks and it gives me no pains and no troubles.
As you may have guessed, your question is a bit of a troll magnet But i’ll try to be as impartial as I can. Still, the following is my opinion and experience, and others may and will probably disagree.
If you have never touched a Linux distro before, I would highly recommend starting with one of the “plug and play” distributions, which strive to give you a complete graphical environment out of the box. In this respect, Mint and the Ubuntu family are arguably those with the best reputation and the most users as of today. Trying to get a distro with as much users as you can is important, because it determines how well tested they are and how easily you will find help on the Web. However, when you’re getting started, be wary of distributions which claim to belong to the “user friendly” category, but are firstly focused on being a testbed for shiny new technology, such as Fedora or Manjaro. These tend to have too many rough edges for beginners without assistance.
Even Mint and Ubuntu do get bad releases from time to time. A good source to evaluate whether you should go with the latest release or try an older one is reviews from http://www.dedoimedo.com/computer_software.html#linux . The guy is quite good at picking traditional pain points of the Linux desktop (printing, Windows file shares, obscure wireless NICs, power management, UEFI…) and checking that they work on every system that he tries. If a distribution passes his obsessive-compulsive QA, it is definitely a good sign as far as beginner friendliness is concerned.
As you will quickly figure out, you need to pick a desktop environment. In this respect, a good first choice is IMO Xfce: it’s stable, easy to get started with, reasonably customizable, and feels quite familiar to seasoned Windows users. In distros which take time to package it well, as both Mint and Ubuntu do, it won’t be extremely unfriendly to beginners by breaking beneath your feet and asking you to fix it (unlike every single KDE release I’ve tried since 4.0), nor will it try to impose a heavily opinionated desktop metaphor revolution on you (unlike GNOME 3.x or Unity), and it still has enough users that you can easily find help when something goes wrong (unlike Cinnamon, MATE, LxQt, Enlightenment, and the myriads of more obscure ones).
Once you get familiar with these and have used them for a while, you may start to feel like your package manager’s software is old. That’s the price to pay for stable releases. Another annoying routine is having to install a new OS release every 6 months or year. Getting tired of this, you will probably want to try out rolling releases, which continuously give you fresh software packages as soon as they build, but perform less QA on them, which can sadly result in more breakage. If you live in a country where Internet is slow or expensive, do keep in mind that these distros will request a lot from your network connection.
On this front, the distro I’ve found most approachable is OpenSUSE Tumbleweed. It gives you the usual comfort of plug and play distros (graphical installer, good default package set and built-in hardware support, and plenty of GUI system configuration tools), and automatically sets up Btrfs file system snapshots so that you can easily rollback bad system updates or silly configuration changes that you accidentally commited yourself. This makes the rolling release experience less rough for beginners and experienced users alike. It is, however, more obscure than the older “hardcore geek” rolling releases distros like Gentoo or Arch, so expect to get less help from others when using it.
Personally I dual boot Debian Sid and Fedora Rawhide. They are both the same and very different. I very rarely have a situation where both are broken so I always have a fairly up-to-date GNOME environment. Arch has been mentioned to me, but I have never gone there. Ubuntu and Mint seem like a bit of a waste when you can just use Debian on which both are based. I have never ventured into SuSE.
I suggest going with the distribution for which you can get help and support quickly. So do not try and go for “the best”, go for the one most of the people you know use.
Any distro with up to date repo should do the work, imho more important is choosen environment: WM, shell, IDE, etc. I personally use Debian Testing, i3wm with zsh and vim.
Debian for Server, Arch for Laptop, and Gentoo for Desktop.
Debian has been leading among Linux distros in so many years. It’s stable, robust and trusty. Arch and Gentoo give you even more control, which presumably is what you want. Also, all these distros have great communities where they have almost no noobs. There are personal preferences. Your company may choose Red Hat family, Ubuntu, OpenSUSE or even BSD, which look more authentic in business.
I started with Slackware back when I needed to get the installation disk images from a BBS. Then tried Red Hat briefly, moved to Debian for a longer time. Then, started a serious distro hopping career
I set up base on Arch Linux, though, and even ended up as a developer for a time. Even when I hop, I usually come back to Arch. Its simplicity and level of “it-just-works” is quite remarkable. I’m also a big fan of boldly breaking things when they need to break, instead of just doing endless backwards compatibility hacks.
All that said, I’m very fond of NixOS right now, and am using it in desktops and servers. Having the ability to define your total configuration in a single text file is unprecedented. The devops world is trying hard to catch up, but they not anywhere near it. The amount of hacks required to have all of posixy GNU Linux working is a bit overwhelming though, but in version 17.03, most things seem to work just fine.
If you’re interested and wanna do Rust there, be sure to check out https://github.com/mozilla/nixpkgs-mozilla/blob/master/rust-overlay.nix
Same here: used Arch for a couple of years, then switched to NixOS. Both are excellent, both seem to “just work” most of the time, and both can get you stuck configuring some small thing just right until 4 o’clock in the morning
I’m on lubuntu but I’ve heavily customized my work environment - I use XMonad as my desktop manager, plus xmobar + yeganesh to supplement that, and alacritty as my terminal.
I’m interested in switching to NixOS, but that will take time.