Two years ago, I installed Ubuntu on my school/dev laptop to force myself to learn computer fundamentals and powerful tools. So far it proved a rea...
For further actions, you may consider blocking this person and/or reporting abuse
The best choice for developers is a rolling-release distro. I use Manjaro which is based on ArchLinux and I could not change anymore.
Distros like Mint & Ubuntu are definitely not for developers as they're based on Debian and have only few updates.
For example, as a Golang developer on Ubuntu, I would have to install the SDK by myself and I could not use apt.
Why do you think a rolling-release distro is the best? My personal hunch would be to have a stable environment that mostly just works, which is why I'm currently running Ubuntu 18.04 LTS on my dev laptop. I don't want to spend time fixing stuff when an update breaks things.
I've been using Arch for a year now. I can say that kernel updates every week, and it haven't even broken once. I previously used Ubuntu too, had much more headaches with it.:)
Mint & Ubuntu are stable distros and thus more suitable for non-tech people like my parents. It's like Windows or MacOs. A new release every 6 months is OK for most people, but IMO not for devs.
I'm with you on this and have been using Gentoo for as long as I can remember. Rolling release distros don't require you to install or reinstall the whole system when new version is released. I just don't feel like doing complete installs every few months or so. Also, rolling release distros are as stable as you make them since you are usualy given an option to install stable, or bleeding edge packages.
Which flavor do you use? I tried using the KDE (used KDE3 and KDE4 myself back in the days) and I found it too bloated, and I cannot stand Gnome 3. Maybe you have some tricks up your sleeve to share!
I've been using xfce for some months and as I found it too "austere" I switched to deepin which is a very elegant desktop.
Now I'm giving another try to i3 which is just awesome but has a longer learning curve.
I'll give xfce a shot. I don't need much on the Desktop Environment side, as long as it's got tileable windows and a non-obtuse way of managing windows, I guess I can work it out.
I've mostly used Ubuntu so far. Going to university and working as a dev (intership and/or part time), I don't want to worry about breaking my stuff or if I can ship my code. This is a mainstream distro, but I like how stable and reliable it is. I'm in a phase of customising it a lot. I use timeshift to back me up.
Sadly I cannot say the same 😥 Fresh installed Ubuntu 19.04 on a dedicated drive to dual boot, and after first update I cannot boot it reliably because of the dreaded
a start job is running for hold until boot process finishes up
message. It won't boot 50% of the times and after trying a couple of guides I couldn't solve it, so called it a fail at 3 AM. Today I'm in fact looking for alternativesTry i3wm, It's awesome.
A coworker use Manjaro and I'm very curious about it. I've been using Ubuntu for the last 4 months and so far, everything has been good (except android phone emulation).
Gentoo. I was a distrohopper for about ten years, switching every six months or so, until 2014 when I hopped to Gentoo. Have not looked back once as a main daily driver.
Its' a really a meta-distro, and is absolutely overkill for a standard desktop configuration. Where it shines in customization. I was able to pare it down to run on a Pi, and I love that I can compile all my packages without, e.g. Bluetooth support if I want, and it absolutely excels at juggling developer toolchains. I can have multiple slotted versions of Python or Ruby or even GCC and switch symlinks around with a single command. I love knowing that all my applications are built linked to the same exact system libraries, because I built it all myself. Portage is the best package manager I have ever used.
It also taught me so much more about my computer and about Linux, the most I'd learned since I started with Ubuntu back in '05. After getting comfortable with that, the differences between other distros were largely surface-level, and my Linux knowledge didn't progress much. Gentoo was a whole new thing all over again, and now I have a much greater understanding of more of my OS, quite helpful when troubleshooting. I even hand-roll my own kernel config now and don't even think about it.
Not that I troubleshoot terribly often. Gentoo kind of gets a rap for being a breakable mess that you'll spend a crazy amount of time fixing instead of getting work done
. I have not found this to be the case. In five years, I've had two major system snafus, and both were entirely my fault. I changed a setting I didn't fully understand. Gentoo has never, not once, died on me without my help.
The downside, of course, is that you're compiling everything yourself, which is largely a waste of time. I do feel guilty about the excess ecological footprint, and if I do decide to hop ship, that will be the driving factor.
Gentoo is sort of special distribution that is intended for people with masochistic tendencies and is perfect for developers. My current install has been working perfectly for around 10 years now. I have even started using it on embedded systems like ClearFog and when you get used to cross compilation quirks(hell), you get a perfect 200Mb distro which can easily be moulded to meet your requirements. I am biased since I'm a big fan of Gentoo but I must admit, there were times I just wanted to do this:
Totally with you on cross-compilation. The Pi project was...non-trivial. But it worked, eventually ;)
I still have nightmares about
qemu
though.I don't use it so much, not needed unless you want to run arm binaries on x86. I used to do a chroot and run/compile in qemu emulation but that was dreadfully slow. Now I just cross compile and do the following before I run arm 32bit binary on my 64bit x86.
I also have Gentoo induced nightmares, you're not alone ;)
Oh yeah, and when you ignore emerge sync and forget about updates for more than a year...then it's more like this:
Hah, my record is like two months and even that was a little annoying. At that point I'd probably just start from scratch, it'd likely be a comparable time commitment...
Really Gentoo has that rap? -being a breakable mess that you'll spend a crazy amount of time fixing- I've used for years and I wold say that it even gets boring, nothing breaks and I would even argue that if you want work done is great; you install it once avery 5+ years, the distrohop bug hits, you spend 6 months trying other distros just to find them missing "something" and getting back to Gentoo for other 5+ years.
With other distros I spend way too much time uninstalling things and cleaning them from things I don't want/use.
With Gentoo you start naked (is part of my the process, don't ask me why), and to install everything is just copying your curated clean world file and # emerge --sync && emerge -vauDN world and go to sleep, next day you are done.
Also once you are happy with your system you just backup /etc and your /home and your configuring process is just copying.
And people complai about compile times and I get it if you are trying SW but if you already know what you want compiletimes are irrelevant; avery 2 days I look for updates 10mins before bed if is a small update I leave it for the next day; if is big I just let it compile while I sleep, next morning is done. People complain like you have to be on front on the screen reading the compile output with a notepad taking notes.
Other thing people complain is the "hard" install; the handbook tells you what to do step by step, and also tells you what every step do and why; is not hard is just more involved. And also unlike most distros you can install it from your current distro or from any live distro, while watching a movie, playing, working, etc. So who cares if it takes you a lot of times because is your first time, nowdays takes me a week sometimes, because I start one day make a few steps and get bored or busy and take a note on the step I left and get back to it a few days later and just chroot on my half done install and work from there. No preassure, you just keep working on you current distro meanwhile.
So just want work done?, maybe try installing Gentoo 1 time every 5+ years (more if you don't get the distrohop bug) and do it while you keep working and using your PC normally.
It's a criticism I hear but I'm with you - it's the most boring distro I've used! When I sit down at my computer I usually want to get something done. Gentoo's perfect for getting the hell out of my way and providing all the tools i need.
I run it more or less like you do - just set it to go overnight for anything more than a few packages. I also set
PORTAGE_NICENESS
low so it's not hogging resources. My old laptop definitely had more of a problem with things likellvm
andboost
, but I got new hardware last year and compile times are fine. My hangup is more about energy consumption - my processor runs hotter for longer than it would with a binary distro, so the fans spin up for longer, and I've gotta decide how much I care about that. If I'm not running an overnight emerge, I generally power down my workstation at night.Agreed on the install, too, the handbook could not be easier to use. Installing Gentoo is an exercise in careful reading skills, nothing else. You don't need to know much of anything at all to get started. The chroot install is amazing, too - but couldn't you do that with a number of different systems? I've only tried it with Gentoo but it seems like a process that could be used more generally.
Hilariously relatable. I've tried a few times to cut the cord and use a "real, serious" distro but I always come running back home :)
I guess you could do the after install of other distros with chroot but the install itself I don't thinks so, you need their installer, even Arch need their own install scripts, I think that the fact that Gentoo/Funtoo has no installer at all make possible to install from scratch without any special sauce.
And as a PSA, for years I had problem estimating install/compile times, for Gentoo, and I found genlop, I don't know if every Gentoo user knows about it and I was the only fool that didn't but in any case. It tells you your historical compile times of every package you have installed and also has a database with times of programs you haven't in a similar CPU. Even a ETA of the package you are currently compiling. And it took me just about 8 yrs to find it out :)
Wow, first I've heard of this! Thanks so much, that's a great idea, installing it tonight.
Isn't every major system snafu one's own fault? :-))
You'd hope, but not exactly. Fedora, arch, and mint all broke on me on random updates in ways I couldn't figure out how to fix when I hadn't changed anything. Debian never did, to its credit.
Agreed. I was partly joking. I do acknowledge the fact that many distros can break, especially after updates. But many of my own mishaps have occurred because of my own foolishness or impatience :)
Arch Linux .
Basically because of two key points: AUR and Arch Wiki
AUR is the Arch User Repository, basically, any software that you may need was already created and it's maintained by another user.
Arch Wiki: Probably the most complete wiki on Linux on the internet. It has a subject for all sorts of problems that you may face, extremely detailed and very well maintained.
Arch wiki is just insanely useful. Even if not using Arch, it is still valuable.
Started with Ubuntu, moved on to Kali, then Arch, tried deepin, Manjaro, bodhi, and parrot. Decided to make my own. Best decision i've ever made. Thinking about making it a public distro with a release schedule but I need a name. Suggestions welcome. If you're not into building your own, parrot is a nice multi use Debian based rolling distro.
Submit your distro on DistroWatch
Excellent idea. Will do, as soon as I get a gcc bug worked out
Fedora because each release has rather up-to-date softwares and mostly because it is the "desktop version" of CentOS/RHEL (and I used to work with a lot of those).
Like Ubuntu it provides various Desktop Environment versions called spins which is nice.
It uses rpm packages which I find more convenient than deb packages specially when it comes to making your own packages!
The Fedora project even provides an infrastructure you can use to make your own packages and have a repo for that : copr
They also provides "Third party repositories" that includes chrome, steam, nvidia drivers...
I briefly used Fedora recently and I liked it. For some reasons, I had to reinstall my distro and went back to Ubuntu because I needed to fall back on my feet rather quickly. I might reinstall it before the beggining of next semester. I really liked the rpm packages and how there isn't ppa. Because let's be honest, Ubuntu ppa can sometimes be a pain in the rear.
Solus Linux.
Awesome team, not based on any other distro, great default DE.
Runs fast and on everything I've tried so far.
Big fan of Solus! There are a few smaller reasons I'm not using it right now, but I definitely keep my eye on it. I think the biggest kicker was they didn't have a more recent version of NodeJS at the time that I left. I'd be curious if they've got a more recent version now though.
Their DE is fantastic.
You could install nvm (node version manager) and get every node version you need.
github.com/nvm-sh/nvm
Oooh! Nifty! Definitely going to be adding this to the list of things that I use. Would really help at work lol
also add direnv and have it automatically change node version depending on which directory you are in.
Really useful :D
Never heard of that, will have a look at it.
ElememtaryOS
Debian based, light weight, easy to use.
Similar to Mint Mate but w/ very cleandesign aesthetics like OSX.
A few standard features you'd expect in Debian are disabled by default but easy to re-enable if you're familiar w/ linux.
pretty sure elementaryOS is based on Ubuntu LTS
en.wikipedia.org/wiki/Elementary_OS
My mistake
The major distinguishing difference of Elementary is that it doesn't rely on traditional Debian-based shells (ex Gnome, LXDE, KDE). It uses its own named Pantheon. IMO, Pantheon is awesome.
macos, because it just works. :troll:
Seriously, I've hopped from distro to distro from the late or mid-90s to the mid-2000s. I really liked Suse in 99-2000 or so. I first got started with Red Hat, a long time ago. I used Mint and Ubuntu quite a bit. A lot of Debian, too.
But right now, I am using macos and while I love the idea of going back to Linux, it just has a massive cost in lost productivity to move (same for any OS, not because it's Linux), buying or finding equivalent software, etc.
Love to read that thread so far :)
I wish I discovered Linux earlier, I'm a fan of DIY. I've considered switching to macOS and if I'm ever offered the choice, I think I won't be able to switch.
yeah, moving from an OS to another, no matter the origin and destination has a massive cost. Not saying it's not possible, but it shouldn't be underestimated.
Sacrilege
Fedora because it's a distro for developers, neither too bleeding edge thus more stable nor too retarded.
But looking forward to use nixos, tried it inside a vm and so far I'm not disappointed, the only thing that holds me back now is my fedora install script
ArchLinux can also be a good alternative.
I like linux mint because "it just works". I have been using the xfce version at work since it is light weight and pretty fast. With mint I can just install and get to work with no trouble. The bundled tools have everything I need to be productive and now have to think about "ah crap, gotta install this to get xyz to work". Really that's all I want from linux: it working, the environment/tools, and bash.
Mint has a special place in my heart since it's the first distro I learned with Ubuntu. I used to install Mint on my parents old computers so they could have a second life. Works great!
Arch Linux
One of the first distros I used was Gentoo, and I absolutely loved it. Getting the choices for what is installed and what features you have means you don't have to deal with someone else's decisions. That was back in highschool for me. Since then, I've discovered Arch and have used that for all my Linux needs since.
The correct one for whatever use case the system it's going on happens to be for.
For personal systems that I can afford to spend lots of time on updates and have no need to worry about legacy software: Gentoo.
Put simply, I'm more than willing to deal with building the system by hand if it means that the distribution makes zero assumptions about things it really shouldn't care about (like how exactly I have my storage stack put together).
For personal systems that I need to minimize the overhead of updates for and have no need to worry about legacy software: Alpine.
Really security focused, easy to manage, and makes fewer assumptions about how the underlying system is set up than most other distros (though the installer's inflexibility is irritating). Essentially, I don't have to go out of my way to secure an Alpine system, unlike most other distros.
For everything else: Debian.
In essence, Debian is simply the distro I dislike the least other than Gentoo and Alpine. This is less about what they do than what everybody else is doing that I don't like.
Debian stable
Ive been using Debian for a few months now, and so far its literally been the most rock solid Linux distro I've ever used.
While its software isn't bleeding edge, neither is my hardware. Since installing, I've literally had more problems with games consoles than my PC.
As a dev, being able to work without worrying about things breaking every update, is for me at least, well worth the tradeoff of not having the newest and shiniest versions of things, if it means having much more stability overall, and me actually getting work done.
I have tried many, from mandrake / red hat era to slakware / ubuntu / linux mint to fedora. Most of these distros needed fresh install with every new version release and to me that was a HEADACHE.
When I came to know about rolling release distros, I settled on archlinux and have been using it since 2011/12.
I am not a developer.
Ubuntu is good... for about a couple months. Eventually one realises that ubuntu violates several principles of oss, and then there was the anouncement that canonical was going to close the doors to community additions. Time to move away from that. Think of ubuntu as a very hot but ultimately toxic relationship.
Then I got hooked by fedora, magnificent distro, much less violations to oss philosophy, bleeding edge updates. Think of fedora as the relationship with whom you do crazy stuff, but eventually you want to settle down and be with someone more stable. Along came opensuse, so far, this is the best distro I've used, I use it in all my servers, it's stable, fun, secure, but also can do crazy bleeding edge stuff too (tumbleweed). Try it out, you won't regret.
Pop_OS, it was made by system 76, and based on ubuntu
in my experience this has been very stable and extremely easy to set up
I think arch Linux is most suited for devs
Bleeding edge and constant update might be something that slows how you ship software. So far, I'm on the fence of defaulting to Arch for dev. it is for advised and advanced users.
i disagree, arch is the only distro that has given me zero problems so far and i have been using it for better part of the year. i think being a developer you need access to newer tools and arch provides that, however i understand that some developers might want to be on the side of stability and i think the AUR has them covered, and it isn't too hard to package a piece of software you want.
Ubuntu is my top choice too. Great features and you can shop stuff quite easily
Fedora for reasons summarized here
My beautiful Linux development environment
Deepu K Sasidharan ・ Jun 16 ・ 6 min read
As always, amazing article. I might go back to Fedora before the next semester. Getting rid of Ubuntu's ppa is nice.
WSL2 - it should make my life at work a whole lot easier (we have no choice but to use Windows as the host OS)
Out of curiosity do you have to use Docker and if so, how's the experience with it and WSL2?
CentOS for servers, Linux Mint for workstation stuff.
I haven't used Mint in years. I wonder how it is today. As for CentOS, never tried it.
We had a new employee and he chose Debian. I seriously haven't considered this option before, but now I want to try it. Arch linux is great, the wiki is a very good reference whatever distro you use.
Pop-os, Ubuntu but better driver integration imo.