So, I find I need more time in the day. Between sleeping, food
preparation, and work, I just don't have enough time to get productive
things done most days. I think the plan for this evening is to go to
the gym and attempt to maintain some semblance of not being a horribly
out of shape software engineer. If that does go forward, and I end up
installing Arch Linux on my laptop like I've been meaning to for weeks
it'll probably be at least tomorrow before I have my Dev environment
set up enough to get any actual work done. C'est la Vie.
Actually, just so I remember exactly what I'll need to set up for a
reasonable installation of Arch later, I'm going to flesh out exactly
what it is I need going on my system for Happiness to Flourish.
In roughly the order that I'll need it, here goes:
Base Linux System - Arch - Whoosh. you know the drill. Basic Unix base.
Let's Desktop it up a bit - Wouldn't be much of a desktop without
graphics or sound, so X.org and ALSA here.I need a graphics driver as
well, so depending on how much like RMS I'm feeling like I'll go open
source with nouveau or I'll just use an nVidia one. Also due to
regular admin access needed whilst keeping myself a stripped down
permissions account I create a personal account and install sudo here,
add myself to the wheel, sound, video, disk and any other funtimey
groups, and so forth.
What about the actual Desktop? - Getting to that, gimme a minute. Now
that I've got the base I'll go for Fluxbox. Much as me and Gnome had a
good thing going for a while, I never quite liked it as much as I
could have and when I tried out Crunchbang Linux it gave me a chance
to have some fun with Fluxbox. It's lightweight, ridiculously insanely
customizable, and fast as a pimped out gaming computer attempting to
play Crysis.
Okay, Jeff, now you've got a basic system that doesn't do anything in
particular. How about all the usual functions that people need before
a computer feels like a computer?
Well, if you insist. Here you go.
Browser - Firefox, then Google Chrome. Firefox is reasonable, comes
with 8 bajillion and a half plugins (Even if I only really use
firebug) and everyone has it. Chrome is blazing fast and has built in
developer tools, which makes me full of smiles and joy.
Picture Viewer - You don't think of this one till you realize you
can't open a picture. I usually go for Feh, it's small, lightweight,
and can do backgrounds too.
Media Player - VLC. Come on, it's got you covered on Codecs and can
easily be run from the command line. That clinches it.
Office Suite - Much as I hate everything that Sun touches pretty much,
I tend to go with OpenOffice just for the familiarity aspect of it.
It's offset by the "I rarely if ever use Office Suites" thankfully,
and prefer to store everything as plain text or HTML as much as I can.
Anyone that can advise me on a better Office Suite, preferably
lightweight, I'd be glad to hear it.
System Monitor - Conky! Because we love Conky!
Okay, fair number of "Computer User Apps" .. But Dev environment? Let's go!
Vim - The one text editor to rule them all. Screw emacs, gedit, pico,
nano, and whatever else you're going to th row at me. There is only
one and it is Vim. No exceptions. Also, no Gvim, I run it from the
command line and that's how I liekz it. (Also, my .vimrc file is very
important and has to at the very least turn my tabs into spaces for me
and change 8 space to 4)
Gcc, G++, etc - Compilers, for when you need to do something in C or C++.
Ruby, Perl, PHP, mod_perl,mod_php,mod_ruby - Interpreters, for when I
want to use languages that don't make me weep. (PHP is technically in
the weeping category, but oh well)
Apache - Need to have somewhere to test my web stuff, and a local
Apache server is therefore essential. This also includes setting up a
couple of virtual hosts in my Home directory corresponding to
different sites, since I'm wholly uninterested in having to shove
stuff in the web root directory.
Git - This is more a wishful thinking thing. I'm pretty bad about
using Source Control on my own personal projects, but oh well. I'm
more experienced with Subversion or Perforce, but experience !=
Enjoyment and I rather prefer the way Git seems to handle it, so I'm
really going to try to get in the habit of using Git to do my stuff.
I think that just about wraps it up. We'll see if I've forgotten
anything when I start using my laptop and go Graaaaah Why is this not
on here!?!? In the meantime, you now have all the tools needed to
develop like me. Which means absolutely nothing because every
Developer should have their own setup going on and in the end this
just lists a couple things. But it's a decent enough reminder for me
later when I'm trying to remember what I need to set up, so it's a
win-win there.
In the Meantime, Adios!