SlimOS How To – A Minimal Debian Desktop with Minimal Fuss (Part 1)

I have been using an Ubuntu desktop for the last few years doing the version upgrades and having no issues to speak of with it. But I also started to notice that the system was being a bit slow with larger applications like Firefox and others. Recently I have been moving back to my roots in terms of using terminal apps over pretty GUI versions. So I decided to take on the challenge of doing my once every two years complete reinstall of my home desktop with a slant on minimalism and cleanness.

I looked at various “distributions” like Crunch Bang, Dream Linux, Arch Linux, and countless others.  Yet it is somewhat of a stretch to call most of them distributions since just bundling and branding or Debian based packages. So I decided to just go to the source and roll my own. This is by far the best option for a clean minimal desktop with only what you need and will use on it.

Let me first describe my idea of “cleanness” in a desktop install. I will be using Debian 6.0.1 as the base for my system. I have chosen this over Ubuntu for the ease of doing a very minimal clean install free of Gnome, KDE, etc. My install will be using awesome window manager, which is a very lightweight tiling window manager that uses lua. If you prefer something more familiar to the average user please look at Openbox, Fluxbox, or similar to maintain the minimalist approach.

First let’s install the base system using the Debian small CD iso image (consult Debian site for other architectures):

debian-6.0.1a-amd64-businesscard.iso – AMD 64bit

debian-6.0.1a-i386-businesscard.iso – i386 (32bit)

For easiest results I use a spare USB drive I can format and use unetbootin to load the ISO image on the drive. Once it is loaded on the drive I boot from it. You may need to hit a key like ESC to choose what device to boot from depending on your hardware and BIOS configuration. You can also use a CD and burn the ISO image onto it.

When I run the install I select a separate /home dir and to encrypt using LVM (optional but good for security). Towards the end of the install you will be prompted to select broad groups of install sets. De-select all but “Standard system utilities” and complete the install. You may also want to select “Secure Shell Server” if you will be using SSH to connect to your desktop (always nice to have).

Now in my case I wanted to install awesome and get the basic desktop going. If your hardware includes a Nvidia graphics card use this howto to install the kernel.

Install sudo and add your user to the /etc/sudoers file:

(as root) apt-get install sudo vim

vim /etc/sudoers

# Change username to your user and add below line to file

username ALL=(ALL) ALL

Now let’s add contrib, non-free and Debian multimedia to our APT sources.list file.

Open /etc/apt/sources.list using vim or other txt editor and add contrib and non-free after main in the file so the lines read

deb squeeze main contrib non-free

Also add the line for Debian Multimedia:

deb squeeze main non-free

Once done update your apt repo cache by running:

sudo apt-get update

First install the multimedia repo key:

sudo apt-get install debian-multimedia-keyring

Select yes when prompted to add the key.

Install SLiM (optional) if you prefer a graphical login manager. Along with awesome and its extras.

sudo apt-get install slim awesome awesome-extra

Now you can reboot (if installed Nvidia driver be sure to) or just run slim to get the graphical login and enter using your username which should launch awesome. Once loaded you may want to read up on the awesome man page for keyboard shortcuts.

If you right-click on the desktop or left-click on “A” in top left corner you will get a basic menu. Choose open terminal and we can install other wanted/needed packages for your new desktop.

You can pick and choose what packages to install but I will give you a basic rundown of ones I installed to make me able to work efficiently while still being minimal.

  • feh – image viewer
  • wicd – network configuration tool
  • moc – music on console command line music player
  • uzbl – lightweight web browser framework
  • conky – desktop system information display
  • vlc – video player
  • pidgin – IRC and IM client
  • gedit – text editor (choose your favorite)


sudo apt-get install feh wicd moc uzbl conky vlc pidgin gedit

The Arch Linux wiki has nice page of lightweight applications for many needs. Once you have the above packages you can use uzbl to download and install Firefox or Chrome.

In command prompt:

uzbl --uri=

Download the file, it will be saved in your /home/username directory.


dpkg -i google-chrome-stable_current_YOURARCH.deb

It will give error that some packages are not installed. This is to be expected.

To remedy the missing dependencies run:

sudo apt-get install -f

Then run the above command to install Chrome browser.

Install any other packages you may want. In Part 2 I will discuss pimping out your awesome desktop.