Linux Mint (Ubuntu) Node.js Hacker Setup
This guide is for a Node.js focused development environment for developers.
Advice, suggestions, pull requests, and comments can be filed on Github as issues.
If you are on a budget (e.g. $400-500), then use the following setup for a fast environment:
- $300-500 Lenovo Laptop (e.g. $200-$300 Lenovo B570 with i3-2330M (i3, not Celeron) processor (please BIOS flash first in order to whitelist the Bluetooth/Wireless card below)
- $45-100 mSATA SSD (replaces standard hard drive in the laptop) or 2.5” Solid State Drive (“SSD”)
- Already included (free) to $8 Atheros AR5B22 Bluetooth 4.0 and Wireless-N mini PCI-E card combo (replaces standard card in the Lenovo B570 laptop and is whitelisted via BIOS flash)
- $26 Kinivo BTH220 Bluetooth Stereo Headphones or RF-MAB2 (if you can find a good deal)
- $13 Patriot Memory Supersonic Boost XT USB 3.0 8GB Flash Drive
- $70 Crucial 8GB Laptop Memory Kit (4GBx2)
The instructions below install a complete tech stack including, but not limited to:
- Linux Mint 15 Cinnamon for the OS (based on Ubuntu 13.04 Raring Ringtail)
- Redshift for screen color temperature adjustment
- Microsoft core-fonts (e.g. Arial) to support Google Chrome with standard fonts
- Inconsolata monospaced font (set as default)
- Clementine music player (listen to Spotify and radio streams from DI.FM and Sky.fm easily)
- vim, zsh, and oh-my-zsh with several plugins and modified Lambda theme (with ACPI battery plugin)
- sshuttle for SSH tunneling (quick and simple VPN alternative) (also check out Prove for easy Two-Factor Authentication (“TFA”) SSH tunneling with sshuttle)
- TLP (and other tools) for laptop power management (improves battery life/power usage)
- Git Extras for quick git commands (watch screencast) (added by oh-my-zsh git-extras plugin)
- Git aliases for quick git aliases (added by oh-my-zsh git plugin)
- Node.JS for server, MongoDB for database, and Redis for sessions
- cpulimit for limiting processes to only consume specific CPU percentages
- Variety for automatic wallpaper changing
- UFW firewall enabled by default (blocks incoming, allows outgoing)
- Google Public DNS sets default DNS servers to Google’s
- Clam AntiVirus for anti-virus protection and scanning (not scheduled by default)
- CUPS-PDF printer that allows you to print directly to PDF.
- lm-sensors for Linux hardware monitoring (e.g. run
sensorsfrom command line to get temperature readings)
You could also run these instructions inside a VirtualBox instance for evaluation.
Download and install Linux Mint 15 Cinnamon 64-bit (use the torrent and remove from seeding once finished downloading).
Log in, load a new terminal process (CTRL+SHIFT+T), and install the environment’s setup:
wget https://raw.github.com/niftylettuce/linux-mint-ubuntu-nodejs-hacker-setup/master/install.sh -O - | sh
ENTERon prompts when needed (unfortunately add-apt-repository does not support
-yflag and environment variable
FORCE_ADD_APT_REPOSITORY=forcedoesn’t work; you have to hit
ENTERa few times).
Change default shell to ZSH:
chsh -s `which zsh`
- Generate passwords easily with DuckDuckGo’s random password plugin
- Optimize your Solid State Drive for running Linux.
- Change the latitude/longitude for
gtk-redshiftin Startup Applications to match yours.
If running a laptop with Intel HD Graphics (e.g. Lenovo B570), then consider adding the following kernel modules to your Grub config:
sudo apt-get install grub-efi-amd64 sudo vim /etc/default/grub
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" +# Use semaphores for inter-ring sync: `i915.semaphores=1` +# Activate RC6 mode of Intel GPU: `i915.i915_enable=rc6=1` +# Activate PCIe Active State Power Management: `pcie_aspm=force` +# Use panel (LVDS/eDP) downclocking for power savings: `i915.lvds_downclock=1` +# Enable frame buffer compression for power savings `i915.i915_enable_fbc=1` +GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.semaphores=1 i915.i915_enable_rc6=1 pcie_aspm=force i915.lvds_downclock=1 i915.i915_enable_fbc=1"
More info on i915 kernel module is available by using:
For example, if you have a Haswell processor, you might want to try adding
If you mod everything correctly, you can get 4-5+ hours of battery life (lowering your screen brightness helps as well).
firstname.lastname@example.org | Github | Twitter | Updates | RSS/XML Feed