I appreciate the minimalist philosophy, and Arch is on my todo list (it's even got a vm allocated). However, I seemed to have evolved into a more dual-pronged strategy - Full featured Ubuntu desktop, with relatively stripped down Ubuntu/Cent/OpenSUSE servers running in VMs.
For my desktop, I still value 'just works' over minimalism. Things like Spotify just work out of the box. And any software I may want to play with in the future that has to choose which distro to target will most likely target Ubuntu and Fedora first.
Also, the Debian repo is extensive, and the Ubuntu PPA system almost always compensates for when the Debian package is too outdated.
I also like where Ubuntu is going with the UI/UX. At first I hated the idea of the sidebar, but after trying it and realizing it autohides and stays out of your way most of the time, I switched my opinion. And I'm really looking forward to HUD in 12.04. I've been wanting an integrated Gnome-Do/Synapse for a long time now.
Finally, I get my minimalism fix where it's most important - on the servers. I can set up a local dev environment using vm's that mirrors production - database server on one vm, app server on another vm, and Nginx running on the desktop and pointing to the app server vm.
It does annoy me to start up htop on the desktop, and compare the plethora of stuff I see there with what htop on the servers displays. But I just accept it for now.
Compared to that best-of-both-worlds setup, Arch seems like it would require more compromises than is worth the time and effort to deal with it. I still intend to learn it, just because I value things that will help me learn Linux (or any of my primary tools) better. But I don't see fully making the switch to Arch.
I have switched from OS X, to Arch (2 months now full time?), so I'm not exactly coming from your angles, but I will say that every single piece of software I've ever needed has been in the main repos, and if it wasn't there, it was in the AUR.
What's fascinating is that AUR packages get voted up. Packages past a certain threshold get the choice to become a main repository package. Creating and maintaining community packages is a snap with their build system (though I've never done it personally, but understand the mechanism).
On top of that, re-building your kernel, should you ever need to (I did), is dead simple.
So to your main argument of more compromise, I believe it to be false. It's less compromise to me. I feel I have to compromise with an Ubuntu distro that has made all the choices for me (and for a client-services company at least, you'll come to the day where you need to know what those choices were). Now I have the power and ability to make the decisions I want to make, especially following the extensive wiki and super helpful forums (I feel like you could compare the helpful responses there with the type of intelligence that this community possesses).
To your final point, of the "just because I value things that help me learn Linux", this will absolutely help you learn Linux. And once you know it the Arch way, most of the other ways seem completely opaque. The standards of packages in Arch allow you to find all the important bits of all the software you installed. My company uses Arch for our servers as well because we know we can count on the standards and have up to date software that, for us, "just works".
Some time ago I went to reverse way, from Arch to Mint Debian Edition. Just to try out other distro.
Spotify doesn't work for me in Mint. In Arch worked flawlessly. Anyway, YMMV.
Now I'm willing to have time to switch back to Arch and enjoy the minimalist (and speedy) desktop experience and the easy way to use bleeding-edge software in a (almost) safe way.
But all isn't bad in Mint. I like the performance of its kernel with the 200-lines patch scheduler. For any archer: any idea of some AUR kernel with that? Or does it get in mainstream kernel already?
I'm curious how you enjoy working with virtual machines instead of all native?
This is admittedly my first day of not being just a lurker here, so forgive me if I shouldn't ask this here, but what is your setup and environment like?
I've considered running VMs for each client I work on, but am unsure if it'd just be a hassle or not.
As long as your hardware can handle it, it's more than worth it. A few points:
1. I have a rule - never install server software on my base machine. Servers and server frameworks (like Rails, Jetty, PostgreSQL, etc.) are only allowed on server OS's (Ubuntu Server) running in a virtual machine. That keeps a lot of cruft and extraneous processes out of my base install, while also quarantining them into easily clonable virtual machines, should I want to recreate the vm for something. I only break that rule with one thing - I run Nginx on my host OS, and just point it at different vm appservers.
2. It helps separate your work for multiple clients. So you could setup three vm's for client 1 and three for client 2 like so - client1-webserver.vdi, client1-appserver.vdi, client1-dbserver.vdi; client2-webserver.vdi, client2-appserver.vdi, client2-dbserver.vdi.
3. It lets you more accurately simulate the production environment of an n-tier application locally, so your dev environment will be closer to prod than if you ran all these server apps directly on your base machine.
Only caveat is you need the hardware to support this. Enough disk space for multiple ~10GB vm's, enough RAM to hold them in memory, and a CPU with VT-x (and VT-d if possible) and lots of cores. I particularly like Intel's Sandy Bridge chips for this, since every core is hyperthreaded, making it appear to the OS to have twice as many cores as it actually does. Each vm can be assigned one more more core.
That's about it. Try it with Virtual Box and see what you think.
I run Ubuntu as my main OS. Then I have VirtualBox running with couple Windows virtual installs and a couple Linux virtual installs. I give about 5G-10G disk space to each, and about 500M to 800M RAM to each (my work laptop only has 2GB, so I have to be careful). The windows virtual installs are for running different versions of IE and programs like Photoshop. The Linux versions are for running things I don't want to conflict with my main Ubuntu system. For example, I use rvm for Ruby programming, and wanted to try rbenv. However, I heard they don't play well together, so I installed rbenv on one of my virtual Linux installs and was able to experiment right away without worrying about messing up my rvm configuration. Another time, I was learning about certificates and keys, and did not want to screw up my current configuration on Ubuntu, so I was able to experiment on on of my Linux virtual installs instead, with no harm done to my main Ubuntu system. It's very liberating to be able to experiment with these without worrying about affecting your primary system.
Wow. That's fantastic. I'll do that tonight actually. Because ArchLinux is constantly moving so quickly, I'd like to know what I might have to deal with when I run a pacman -Syu.
I think I'm a convert. Now, if I could get OSX to boot in a VM, and dedicate the entire HDD to Arch, that would be perfect. For some reason my Macbook won't boot the 64bit Archboot iso. But I'll wrestle that demon another day, heh.
For my desktop, I still value 'just works' over minimalism. Things like Spotify just work out of the box. And any software I may want to play with in the future that has to choose which distro to target will most likely target Ubuntu and Fedora first.
Also, the Debian repo is extensive, and the Ubuntu PPA system almost always compensates for when the Debian package is too outdated.
I also like where Ubuntu is going with the UI/UX. At first I hated the idea of the sidebar, but after trying it and realizing it autohides and stays out of your way most of the time, I switched my opinion. And I'm really looking forward to HUD in 12.04. I've been wanting an integrated Gnome-Do/Synapse for a long time now.
Finally, I get my minimalism fix where it's most important - on the servers. I can set up a local dev environment using vm's that mirrors production - database server on one vm, app server on another vm, and Nginx running on the desktop and pointing to the app server vm.
It does annoy me to start up htop on the desktop, and compare the plethora of stuff I see there with what htop on the servers displays. But I just accept it for now.
Compared to that best-of-both-worlds setup, Arch seems like it would require more compromises than is worth the time and effort to deal with it. I still intend to learn it, just because I value things that will help me learn Linux (or any of my primary tools) better. But I don't see fully making the switch to Arch.
Thoughts?