Computer Setup
This is my old reference for how to setup new computers. My new setup uses these Ansible scripts1. See my Ansible blog post2.
Table of Contents
Fedora#
First install RPM Fusion3 to get access to more packages:
su -c 'dnf install --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'
sudo dnf update -y
Then install nonfree codecs:
sudo dnf install gstreamer-plugins-ugly gstreamer-plugins-bad gstreamer-ffmpeg xine-lib-extras-freeworld
Install Microsoft Core Fonts4 then fix font rendering5:
sudo dnf install freetype-freeworld gnome-tweak-tool
Then install these repos for Nvidia drivers, Steam, Adobe Flash, and Skype:
- http://negativo17.org/nvidia-driver/6
- http://negativo17.org/steam/7
- http://negativo17.org/adobe-flash-plugin/8
- http://negativo17.org/skype-and-skype-pidgin-plugin/9
Then open Gnome Tweak Tool and set hinting to “Slight” and antialiasing to “Rgba” and log out and back in.
Now get a bunch of applications including the Fedora equivalent of build-essential10:
sudo dnf install autoconf automake cmake direnv firefox git libtool ninja-build pidgin scons thunderbird valgrind
sudo dnf groupinstall "Development Tools"
Then follow the general Linux instructions
Ubuntu#
sudo apt-get remove overlay-scrollbar liboverlay-scrollbar
Install Gnome:
sudo apt-get install gnome-shell
Remove Unity:
sudo apt-get remove unity* libunity*
Install some useful programs:
sudo apt-get install build-essential direnv git
VirtualBox#
This will make the screen scalable and make clipboard sharing work:
sudo apt-get install virtualbox-guest-x11
Then follow the general Linux instructions
General Linux#
Follow instructions for Fedora or Ubuntu first.
direnv#
This should already be installed from the package manager. Add this as the last thing in ~/.bashrc:
eval "$(direnv hook bash)"
Instant Messengers#
User binary path#
So we can easily access programs that aren’t installed globally:
mkdir ~/bin
echo "export PATH=~/bin:$PATH" >> ~/.bashrc
Messenger for Desktop (Facebook)#
Download Messenger for Desktop12 and make sure to get the beta version since it handles high DPI screens correctly and doesn’t crash as often.
YakYak (Google Hangouts)#
Download YakYak13 and setup a desktop entry:
cd ~/workspace
git clone https://github.com/yakyak/yakyak.git
cd yakyak
npm install # You can ignore the error messages. They are for optional deps
npm run deploy:linux-x64 # or linux-ia32
# Install desktop entry and icon
mkdir -p ~/.local/share/{applications,icons/hicolor/256x256/apps}
ln -s $PWD/dist/yakyak-linux-x64/yakyak ~/bin/yakyak
ln -s $PWD/app/icons/icon@16.png ~/.local/share/icons/hicolor/256x256/apps/yakyak.png
printf "%s\n" \
"[Desktop Entry]" \
"Name=YakYak\nExec=yakyak" \
"Icon=yakyak" \
"Type=Application" \
"Categories=Network;InstantMessaging" \
> ~/.local/share/applications/yakyak.desktop
# Update icon cache
touch ~/.local/share/icons/hicolor
sudo gtk-update-icon-cache
GPG#
Based on instructions from here14.
In ~/.gnupg/gpg.conf change the key server to use HKPS and a better set of key servers:
keyserver hkps://hkps.pool.sks-keyservers.net
keyserver-options ca-cert-file=/home/blong/.gnupg/sks-keyservers.netCA.pem
And make sure to get the CA cert:
cd ~/.gnupg
wget https://sks-keyservers.net/sks-keyservers.netCA.pem
PulseAudio#
PulseAudio uses flat volumes by default (setting application volume to 100% sets system volume to 100%). Since this is terrible and makes no sense15, I disable it too.
Open /etc/pulse/daemon.conf, add this line:
flat-volumes = no
(Or find the commented-out line and change it)
Either restart your computer or run this:
pulseaudio -k
pulseaudio --start
Mac#
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install a bunch of graphical programs:
brew cask install atom cyberduck "Docker for Mac" firefox google-chrome \
java messenger-for-desktop slack spectacle sqlpro-for-mssql swinsian \
yakyak
# TODO: Create a cask for Wunderlist
Install a bunch of CLI programs:
brew install ag direnv git python3
External Mouse#
If using an external mouse, install SteerMouse17 and change the scroll settings from accelerated to linear.
General#
Background#
Download Terraform-blue.jpg18.
https://github.com/brendanlong/brendan-ansible - “GitHub: brendanlong/brendan-ansible”
https://www.brendanlong.com/replacing-computer-setup-with-ansible.html - “Replacing computer setup with Ansible”
http://rpmfusion.org/Configuration - “Making sure you’re not a bot!”
http://corefonts.sourceforge.net/ - “Microsoft’s TrueType core fonts on rpm based systems”
http://worldofgnome.org/how-to-greatly-improve-font-rendering-under-fedora-20/
http://negativo17.org/nvidia-driver/
http://negativo17.org/steam/
http://negativo17.org/adobe-flash-plugin/
http://negativo17.org/skype-and-skype-pidgin-plugin/
http://unix.stackexchange.com/questions/1338/what-is-the-fedora-equivalent-of-the-debian-build-essential-package
http://askubuntu.com/questions/34214/how-do-i-disable-overlay-scrollbars
https://github.com/Aluxian/Messenger-for-Desktop/releases - “Releases · aluxian/Messenger-for-Desktop · GitHub”
https://github.com/yakyak/yakyak - “GitHub - yakyak/yakyak: Desktop chat client for Google Hangouts”
https://we.riseup.net/riseuplabs+paow/openpgp-best-practices
https://www.reddit.com/r/linux/comments/2rjiaa/horrible_decisions_flat_volumes_in_pulseaudio_a/
http://brew.sh/ - “Homebrew — The Missing Package Manager for macOS (or Linux)”
http://plentycom.jp/en/steermouse/ - “SteerMouse”
https://raw.githubusercontent.com/GNOME/gnome-backgrounds/0824a1480a9e0f3cc26ecf90607bc9f9bb19a3b7/nature/Terraform-blue.jpg