Might be trying to move to a linux VM for most of my development at work. More to come in future blog posts about what has gone wrong with my setups during the past few weeks. For now I decided to figure out how hard it would be to get a new setup up and running at home. It was pretty easy so I will be trying this tomorrow at work. I’m using VirtualBox (since it’s quick and easy) and have choosen Arch linux since I want this machine to be small and lightening fast.
Most of the install was painless (I’m used to installing bare bones linux boxes). I did my normal sudo, ssh and git setup immediately and then set to work checking out my home directory:
# First install git sudo pacman -S git # Now init a new repo in ~/ cd git init . # Check any .bash scripts for new ideas that you might want, and then remove them # Now checkout git pull git checkout master # If there are any other conflicts solve them # After edit the main config and add "rebase = true" to the [branch "master"] section # This happens automatically IF my ~/.gitconfig is on the system when you init :) vi .git/config
Installing Vim and Emacs from the package management was easy. I also just installed Java, Maven and Tomcat the normal ways (into ~/opt, my shell startup scripts already handle dealing with them once installed). I use chromium as a browser. The couple of weird things I ran into are detailed below:
# Packages that I've installed while setting up my new system # During install base base-devel grub # System config openssh wget git tk subversion # VirtualBox virtualbox-guest-utils # X11 xorg-server xorg-server-utils xorg-xinit xorg-utils ttf-dejavu xcompmgr transset-df xmonad xmonad-contrib xmobar feh slim archlinux-themes-slim chromium # Terminal xterm tmux # Editors emacs gvim # Custom Installs # AUR Packages freetype2-infinality # Cask curl -fsSkL https://raw.github.com/cask/cask/master/go | python cd .emacs.d cask install # Rbenv git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
I already had my xstartup scripts in
~/.xinitrc. It turns out that now most
display managers will either read
~/.xsession (which is already symlinked in
my configs repo) or will run
~/.xprofile before launching the chosen windows
manager. I reworked my
~/.xinitrc script to source my current
# VirtualBox Guest? if [ -x /usr/bin/VBoxClient-all ]; then /usr/bin/VBoxClient-all fi # Multi Monitors xrandr --output VBOX0 --auto --output VBOX1 --auto --right-of VBOX0 # ENV Variables export PATH="$HOME/.cabal/bin:$HOME/bin:$PATH" # X Settings xrdb -load ~/.Xresources xsetroot -cursor_name left_ptr xmodmap ~/.Xmodmap # No Beep xset b 0 # Hide Mouse Pointer unclutter -idle 2 -jitter 10 & # Background sh ~/.fehbg # Urxvt daemon urxvtd -q -o -f # XCompmgr xcompmgr -n &
I currently have LightDM, LXDM, Slim and GDM installed at home. It seems like Slim is the nicest. Small, easy config file, and looks to be easy to theme. Will create a Blizzard theme at work!
My old xmonad setup worked perfectly. I turned off some xmobar stuff that doesn’t matter (since this is a VM and not a laptop). No more trayer, no more mpd status, no more battery/fan status. My current config is on github.
Turns out that getting pretty fonts is a lot easier than it used to be. I follow arch wiki instructions for Infinality. Installed easy from AUR and looks great with default settings so I’m not even going to mess with it!
# https://aur.archlinux.org/packages/freetype2-infinality/ cd ~/src/aur tar -xzvf ~/Downloads/freetype2-infinality.tar.gz cd freetype2-infinality makepkg -s sudo pacman -U freetype2-infinality-2.4.12-2-x86_64.pkg.tar.xz
Most users seem to prefer urxvt over xterm for many reasons. I used to use it a long time ago as well. This time when I installed it I was not happy with the font rendering at all. Something looked off with character widths. Fortunately there is a AUR version of the build in arch that fixes this!
# https://aur.archlinux.org/packages/rxvt-unicode-patched/ cd ~/src/aur tar -xzvf ~/Downloads/rxvt-unicode-patched.tar.gz cd rxvt-unicode-patched makepkg -s sudo pacman -U rxvt-unicode-patched-9.19-1-x86_64.pkg.tar.xz
Currently however xterm feels faster… so it’s very possible that I ditch urxvt for xterm very soon.