Skip to content

Instantly share code, notes, and snippets.

@joshmfrankel
Last active May 30, 2017 13:36
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshmfrankel/507c62edbb0c9b01a881 to your computer and use it in GitHub Desktop.
Save joshmfrankel/507c62edbb0c9b01a881 to your computer and use it in GitHub Desktop.
Linux: Install guide
rfkill list all
sudo rfkill list all
lspci
lspci -nnk
lspci
top
lscpi
lspci
lspci -vnn | grep Network
iwconfig
lspci -nn -d 14e4:
sudo dpkg -i *.deb
clear
sudo dpkg -i dkms_2.2.0.3-2ubuntu11_all.deb
sudo dpkg -i bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu8_amd64.deb
sudo apt-get purge bcmwl-kernel-source
sudo apt-get update
sudo update-pciids
lspci -nn -d 14e4:
iwconfig
sudo apt-get update
sudo apt-get upgrade
# Zeal
sudo add-apt-repository ppa:zeal-developers/ppa
sudo apt-get update
sudo apt-get install zeal
echo "- Zeal"
# Guake
sudo apt-get install guake -y
# Use gconf-editor to fix login shell
# VLC
sudo apt-get install vlc browser-plugin-vlc -y
echo "- VLC"
# Spotify
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list
sudo apt-get update
sudo apt-get install spotify-client -y
echo "- Spotify"
wget https://launchpad.net/ubuntu/+archive/primary/+files/libgcrypt11_1.5.3-2ubuntu4.2_amd64.deb
sudo dpkg -i *.deb
# high dpi
sudo nano /usr/share/applications/spotify.desktop
Exec=spotify --force-device-scale-factor=1.5 %U
# Docker
curl -fsSL https://get.docker.com/ | sh
sudo usermod -aG docker <username>
exec su -l $USER
# Simple screen recorder
sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
sudo apt-get update && sudo apt-get install simplescreenrecorder
# Pencil Wireframing
wget http://evoluspencil.googlecode.com/files/evoluspencil_2.0.5_all.deb
sudo dpkg -i evoluspencil_2.0.5_all.deb
# GitKraken
# MeldDiffViewer
# Chromium
# Silentcast
# Psensor
# Diodon (copy paster)
# Redshift
# Workrave
# SimpleScreenRecorder
# PGAdmin III
# Zeal
# Inkscape
# Yakuake
# Dconf
# Unity Tweaks
# Synapse
#################
# General Setup #
#################
# Git configuration
sudo apt-get install -y git
git config --global user.name 'Josh Frankel'
git config --global user.email 'joshmfrankel@gmail.com'
git config --global core.fileMode false
# cURL
sudo apt-get install -y curl
# Postgres
sudo apt-get install -y libpq-dev
sudo apt-get install postgresql postgresql-contrib
sudo su - postgres
createuser -P -s -e lessonly
# Redis
sudo apt-get install build-essential
wget http://download.redis.io/releases/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make
make test
make install
# Default settings
# Port : 6379
# Config file : /etc/redis/6379.conf
# Log file : /var/log/redis_6379.log
# Data dir : /var/lib/redis/6379
# Executable : /usr/local/bin/redis-server
# Cli Executable : /usr/local/bin/redis-cli
# Phantomjs
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar xvjf $PHANTOM_JS.tar.bz2
sudo mv phantom_js /usr/local/share
sudo ln -sf /usr/local/share/PHANTOM_JS/bin/phantomjs /usr/local/bin
# ElasticSearch
sudo apt-get install openjdk-7-jre
wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.2.0/elasticsearch-2.2.0.deb
sudo dpkg -i elasticsearch-2.2.0.deb
sudo update-rc.d elasticsearch defaults
sudo su -
sudo nano /etc/elasticsearch/elasticsearch.yml
http. 9200 set
######################
# RVM, Ruby and Gems #
######################
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
# Load .profile and .bashrc
if [ -r ~/.profile ]; then . ~/.profile; fi
case "$-" in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
# Ruby
rvm install ruby-2.3.1
rvm --default use ruby-2.3.1
# Setup global gemspec and update gems
rvm gemset use global
gem update
# Install necessary gems
gem install bundler
#gem install nokogiri
#gem install heroku --conservative
#gem install pg -v '0.18.1'
gem install activejob -v '4.2.7.1'
# Fix for guard inotify in Linux
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
# Heroku toolbelt
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
heroku login
# Setup gemspec for 4.2.5.1
rvm use ruby-2.2.2@rails4.2.5.1 --create
gem install rails --version=4.2.5.1
######################
# NVM, Node, and NPM #
######################
# Install NVM
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
# Instal node (latest)
nvm install node
# Install NPM packages
npm install -g eslint
npm install -g coffeelint
###########################
# Erlang, Elixir, Phoenix #
###########################
# Erlang OTP 18.3 for Ubuntu 15.04
wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_18.3-1~ubuntu~wily_amd64.deb
sudo dpkg -i esl-erlang_18.3-1~ubuntu~wily_amd64.deb
# Elixir
cd ~/Builds
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make clean test # Should pass
# Add to .profile Path environment variable
export PATH="$PATH:$HOME/Builds/elixir/bin"
# NFSD for vagrant
sudo apt-get install nfs-common nfs-kernel-server
# Mouse Flickering
# I had the same problem. You can fix it manually. Open System Settings > Displays. In the Displays window, you will see an Unknown monitor. Click it and disable it.
# libcrypt fix for spotify
https://launchpad.net/ubuntu/+archive/primary/+files/libgcrypt11_1.5.3-2ubuntu4.2_amd64.deb
# Fix login shell bug with gconf-editor
https://github.com/Guake/guake/issues/524
# Cursor too small for high dpi unity
sudo nano /etc/X11/Xresources/x11-common
Add the following line to the end of the file:
Xcursor*size: 48
Then save your changes. Close and re-open your sessions and your are done.
# Sound fix Add second line
sudo nano /etc/modprobe.d/alsa-base.conf
options snd-hda-intel model=ref
##############################################
# HiDPI Settings #
# https://wiki.archlinux.org/index.php/HiDPI #
##############################################
# Spotify - add to startup entry
Exec=spotify --force-device-scale-factor=2 %U
# End HiDPI #
#############
# Clone repo
git clone git@github.com:lessonly/lesson.ly.git
mkdir -p tmp/cache
# Set hosts file
# Your hosts file maps hostnames to IP addresses
sudo nano /etc/hosts
# Add the following line
127.0.0.1 admin.lessonly.dev api.lessonly.dev dev.lessonly.dev lessonly.dev signup.lessonly.dev
# Git
sudo apt-get install -y git
git config --global user.name 'fill_ME_OUT'
git config --global user.email 'my_USERNAME'
git config --global core.fileMode false
# cURL
sudo apt-get install -y curl
# RVM, Ruby and Gems
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash -s stable
# Ruby
rvm install ruby
rvm --default use ruby-2.2.2
# Setup global gemspec and update gems
rvm gemset use global
gem update
# Install necessary gems
gem install bundler
gem install nokogiri
gem install heroku --conservative
# Setup gemspec for Lesson.ly
rvm use ruby-2.2.2@rails4.2.5.1 --create
gem install rails --version=4.2.5.1
# Install NVM: Node Version Manager
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
# Instal Node 5.0
nvm install 5.0
nvm alias default node
npm install -g eslint
npm install -g coffeelint
# Postgres
sudo apt-get install -y libpq-dev
gem install pg -v '0.18.1'
sudo apt-get install postgresql postgresql-contrib
sudo su - postgres
createuser -P -s -e lessonly
# update config/database.yml at this point to match newly created databases
# Redis
sudo apt-get install build-essential
wget http://download.redis.io/releases/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable
make
make test
make install
# Default settings
# Port : 6379
# Config file : /etc/redis/6379.conf
# Log file : /var/log/redis_6379.log
# Data dir : /var/lib/redis/6379
# Executable : /usr/local/bin/redis-server
# Cli Executable : /usr/local/bin/redis-cli
# Phantomjs
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
tar xvjf $PHANTOM_JS.tar.bz2
sudo mv phantom_js /usr/local/share
sudo ln -sf /usr/local/share/PHANTOM_JS/bin/phantomjs /usr/local/bin
phantomjs --version # To check the version
# ElasticSearch
sudo apt-get install openjdk-7-jre
wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.2.0/elasticsearch-2.2.0.deb
sudo dpkg -i elasticsearch-2.2.0.deb
sudo update-rc.d elasticsearch defaults
sudo nano /etc/elasticsearch/elasticsearch.yml
# some changes
...
node.name: "My First Node"
cluster.name: mycluster1
...
#
sudo service elasticsearch start
# Heroku toolbelt
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
heroku login
# Setup database
bin/rake db:create:all
bin/rake db:refresh
bin/rake log:clear tmp:clear
# Create a quick login account with the password: asdfasdf
bin/rake db:easy_login[your@email.here]
# Sublime Text
sudo add-apt-repository ppa:webupd8team/sublime-text-3
sudo apt-get update
sudo apt-get install sublime-text-installer -y
# Package control (ctrl + `)
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
################
# Package List #
################
* Alignment
* All Autocomplete
* Babel
* BetterCoffeeScript
* BrackHighlighter
* CloseOtherWindows
* CSSComb
* Elixir
* ERB Snippets
* Gist
* GitGutter
* IndentXML
* More Layouts
* PlainTasks
* PackageResourceViewer
* PlainTasks
* SCSS
* SidebarEnhancements
* SqlBeautifier
* SublimeLinter
* SublimeLinter-coffelint
* SublimeLinter-contrib-elixirc
* SublimeLinter-contrib-eslint
* SublimeLinter-contrib-htmllint
* SublimeLinter-contrib-reek
* SublimeLinter-contrib-scss-lint
* SublimeLinter-contrib-stylelint
* SublimeLinter-jsxhint
* SublimeLinter-rubocop
* SublimeLinter-ruby
* Zeal
###################
# Package install #
###################
gem install rubocop
gem install scss-lint
gem install reek
npm install -g eslint
npm install -g coffeelint
###############
# Preferences #
###############
{
"always_show_minimap_viewport": true,
"caret_style": "phase",
"color_scheme": "Packages/User/SublimeLinter/Monokai (SL).tmTheme",
"default_encoding": "UTF-8",
"default_line_ending": "unix",
"ensure_newline_at_eof_on_save": true,
"font_size": 11,
"font_face": "Operator Mono Book",
"highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages":
[
"Vintage"
],
"indent_guide_options":
[
"draw_normal",
"draw_active"
],
"line_padding_bottom": 2,
"line_padding_top": 2,
"rulers":
[
80
],
"tab_size": 2,
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true,
"use_tab_stops": true,
"word_wrap": true
}
###############
# KeyBindings #
###############
[
{ "keys": ["f1"], "command": "zeal_search_selection" },
{ "keys": ["ctrl+shift+alt+d"], "command": "clone_file" },
{ "keys": ["ctrl+shift+alt+a"], "command": "css_comb" }
]
1. Disable Secure Boot and Dell SupportAssist
BIOS > Secure Boot > Disabled
2. Switch RAID to ACHI for PCIe hard drive
BIOS > System Configuration > SATA Operation > switch RAID to ACHI
3. Press 'e' on grub menu during boot and add the following to the end of the line starting with 'linux'
nouveau.modeset=0
Boot to live disk with f10
4. Have USB mouse nearby just in case touchpad breaks. Install should continue smoothly at this point
5. Reboot but press shift to get to the grub menu. Repeat step 3 again
6. After booted, edit /etc/default/grub to not have to repeat step 3 ever again
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0"
sudo update-grub
7. Fix touchpad problem:
lsmod | grep i2c #check what's loaded
echo "blacklist i2c_hid" | sudo tee -a /etc/modprobe.d/blacklist.conf
#apparently just blacklisting isn't good enough, for me it was also hiding in initramfs
sudo depmod -a
sudo update-initramfs -u
reboot
8. Install Nvidia-prime
sudo apt-get purge nvida-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-364 nvidia-prime
sudo service lightdm restart
9. Install Nvidia-prime indicator
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator
prime-indicator
### MORE INFO NEEDED HERE
############################
# END STABLE SETUP PORTION #
############################
# Configuration and Personalization
# Enable Workspaces (Ubuntu only)
Settings -> Appearance -> Behavior -> Enable Workspaces + Auto-hide sidebar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment