Roberto Nogueira
BSd EE, MSd CE
Solution Integrator Experienced - Certified by Ericsson
About
The idea about this project is to create a practical way to reinstall the essential applications in the Linux
in order to restore a real productive Development
environment, targeting the main applications and introducing the Docker Workflow
.
-
Change Language in
All Settings -> Language Support
to English, and in theRegional Formats
set it toEnglish
as well in order to have theDates
also in English format. Set to 22 inSystem Settings -> Appearance -> look -> Launch icon size
. Check Enable Workplaces and Add show desktop icon to the launcher inSystem Settings -> Appearance -> Behaviour
. InAll Settings -> Display
selectBuild-in-Display
inLauncher placement
. -
Disable Laptop
Touchpad
pressingFn -> F3
. -
Install Git and reconfigure.
$ sudo apt-get install git
$ git config --global user.email "enogrob@gmail.com"
$ git config --global user.name "Roberto Nogueira"
$ ssh-keygen && cd ~/.ssh
$ sudo apt-get install xclip
$ cat id_rsa.pub | xclip -sel clip
- Install Golang.
$ sudo snap install --classic go
$ snap list
- Install RVM.
$ dpkg -l | grep -i rubygems
$ sudo apt-get remove --purge rubygems
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ sudo apt-get install curl
$ \curl -sSL https://get.rvm.io | bash
$ source ~/.rvm/scripts/rvm
$ rvm install ruby-2.3.1
$ rvm list
$ rvm use ruby-2.3.1 --default
$ gem install bundler --no-document
Check Run command as a login shell
from Terminal -> Profile Preferences -> Command
.
Select Tab
in Open new terminals
from Terminal -> Preferences
.
- Install Hub and reconfigure. Download attempt(it successful):
$ gunzip hub-linux-amd64-2.3.0-pre10.targz
$ tar -xvf hub-linux-amd64-2.3.0-pre10.tar
$ cd hub-linux-amd64-2.3.0-pre10
$ sudo ./install
$ hub --version
Native compiling:
$ git clone https://github.com/github/hub.git
$ cd hub
$ make install prefix=/usr/local
$ echo alias git='hub' >> .bashrc
You should place this command in your .bash_profile
or other startup script.
eval "$(hub alias -s)"
- Install Caffeine and its indicator.
$ sudo add-apt-repository ppa:caffeine-developers/ppa
$ sudo apt-get update
$ sudo apt-get install caffeine
Run Caffeine
and Caffeine Indicator
from launcher. Include them in Startup Applications
initiated in Dash
, e.g. /usr/bin/caffeine-indicator
shall be included in the Startup Applications
.
- Recover dotfiles files configure Terminal.
$ git clone $ git@github.com:enogrob/enogrob-unix-dotfiles.git
$ cd enogrob-unix-dotfiles
$ cp * ~/enogrob
$ cd ..
$ \rm -rf enogrob-unix-dotfiles
- Install tree.
$ sudo apt-get install tree
$ tree --version
- Install speedtest-cli.
$ sudo apt-get install python-pip
$ pip -V
$ pip install git+https://github.com/sivel/speedtest-cli.git
$ speedtest-cli --version
- Install sdkman.
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
$ sdk version
Install java with sdkman
.
$ sdk install java
java -version
- Install Google Chrome.
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo dpkg -i --force-depends google-chrome-stable_current_amd64.deb
$ sudo apt-get install -f
- Install Google Drive.
$ cd ~/Downloads
$ sudo dpkg -i ./overgrive_3.2.3_all.deb
$ sudo apt-get install -f
- Install Google Driver.
CHROME_DRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`
wget -N http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip -P ~/
unzip ~/chromedriver_linux64.zip -d ~/
rm ~/chromedriver_linux64.zip
sudo mv -f ~/chromedriver /usr/local/bin/chromedriver
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod 0755 /usr/local/bin/chromedriver
- Install Selenium.
$ SELENIUM_STANDALONE_VERSION=3.4.0
$ SELENIUM_SUBDIR=$(echo "$SELENIUM_STANDALONE_VERSION" | cut -d"." -f-2)
$ wget -N http://selenium-release.storage.googleapis.com/$SELENIUM_SUBDIR/selenium-server-standalone-$SELENIUM_STANDALONE_VERSION.jar -P ~/
$ sudo mv -f ~/selenium-server-standalone-$SELENIUM_STANDALONE_VERSION.jar /usr/local/bin/selenium-server-standalone.jar
$ sudo chown root:root /usr/local/bin/selenium-server-standalone.jar
$ sudo chmod 0755 /usr/local/bin/selenium-server-standalone.jar
- Install Dropbox.
$ cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
Next, run the Dropbox daemon from the newly created .dropbox-dist
folder.
$ ~/.dropbox-dist/dropboxd
In the u16.04vm-lab360 just add the symlinks to Dropbox:
$ cd ~/
$ ln -sf /media/psf/Dropbox Dropbox
In the u16.04vm-lab360 just add the symlinks to Google Drive:
$ cd ~/
$ touch 'Google Drive'
$ ln -sf /media/psf/Google\ Drive 'Google Drive'
- Install Google Chrome extensions and reconfigure.
chrome --load-and-launch-app=~/Dropbox/Projects_CHROME
- Install Desktop Wallpaper.
$ git clone git@github.com:enogrob/project-linux-recover.git
$ cd project-linux-recover
$ cd pictures
$ cp * ~/Pictures
Rught click Change Desktop Background
and then select the Wallpaper
in the Picture Folder
.
- Install Heroku CLI.
# replace REPLACE_ME_OS/REPLACE_ME_ARCH with values as noted below
$ wget https://cli-assets.heroku.com/heroku-cli/channels/stable/heroku-cli-linux-x64.tar.gz -O heroku.tar.gz
$ tar -xvzf heroku.tar.gz
$ mkdir -p /usr/local/lib /usr/local/bin
$ mv heroku-cli* /usr/local/lib/heroku
$ ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
$ heroku --version
- Install Nodejs(https://stackoverflow.com/questions/40490614/installing-nodejs-on-linux-ubuntu-16-04/40490843).
$ sudo apt-get install nodejs nodejs-legacy npm
$ node --version
$ npm --version
- Install Postgres with enogrob user.
$ sudo apt install postgresql postgresql-contrib libpq-dev pgadmin3
$ sudo su - postgres
$ createuser enogrob
$ psql
~ \du;
~ ALTER USER "enogrob" WITH SUPERUSER;
~ ALTER USER "enogrob" WITH CREATEDB;
~ ALTER USER "enogrob" WITH CREATEROLE;
~ ALTER USER "enogrob" WITH REPLICATION;
~ ALTER USER "enogrob" WITH BYPASSRLS;
~\du
~\q
$ exit
$ service --status-all | grep postgresql
- Install Postgres with enogrob user.
$ sudo apt install postgresql postgresql-contrib libpq-dev pgadmin3
$ sudo su - postgres
$ createuser enogrob
$ psql
~ \du;
~ ALTER USER "enogrob" WITH SUPERUSER;
~ ALTER USER "enogrob" WITH CREATEDB;
~ ALTER USER "enogrob" WITH CREATEROLE;
~ ALTER USER "enogrob" WITH REPLICATION;
~ ALTER USER "enogrob" WITH BYPASSRLS;
~\du
~\q
$ exit
$ service --status-all | grep postgresql
- Install MySQL with root user.
$ sudo apt-get install mysql-server mysql-client libmysqlclient-dev
$ sudo service mysql status
$ mysql -u root -p
~\q
$ exit
Download MySQL connection and install it:
$ cd $HOME/.RubyMine2018.1/config/jdbc-drivers
$ mv ~/Downloads/mysql-connector-java-5.1.45.jar .
- Install Docker.
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
# sudo groupadd docker
$ sudo usermod -aG docker $USER
$ sudo shutdown -h now
# sudo chmod 666 /var/run/docker.sock
$ docker info
To install Docker Machine run the following commands:
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
$ docker-machine version
To install Docker Compose, run the following commands:
$ sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose
$ docker-compose version
To install Kitematic.
$ cd ~/Downloads
$ unzip Kitematic-0.17.3-Ubuntu.zip
$ sudo dpkg -i ./dist/Kitematic_0.17.3_amd64.deb
$ sudo apt-get install -f
- Install Vim and reconfigure.
sudo apt remove vim-tiny
sudo apt update
sudo apt install vim
Install powerline fonts.
In some distributions, Terminess Powerline
is ignored by default and must be explicitly allowed. A fontconfig file is provided which enables it. Copy this file from the fontconfig directory to your home folder under ~/.config/fontconfig/conf.d
(create it if it doesn't exist) and re-run fc-cache -vf
.
sudo apt-get install fonts-powerline
- Install NVim and reconfigure.
sudo apt-get install python-dev python-pip python3-dev python3-pip
sudo add-apt-repository ppa:neovim-ppa/stable
sudo apt-get update
sudo apt-get install neovim
- Install todotxt-cli and reconfigure.
$ git clone https://github.com/todotxt/todo.txt-cli.git
$ cd todo.txt-cli
$ make
$ sudo make install
$ make test
$ mkdir -p ~/.todo
$ cp -rf /usr/local/etc/todo ~/.todo
Edit ~/.todo/config
in order to color the CONTEXT
and PROJECT
.
In the Parallels vm
it was not needed to install, just to do the symlink:
$ ln -sf /media/psf/Dropbox/todo ~/.todo
- Install Things Today and reconfigure.
$ git clone git@github.com:enogrob/project-things-today.git
$ cd project-things-today
$ sudo bash ./.todayrc_install.sh
$ tag -l $PROJECTS/* > .tags
$ cp .tags ~/Projects
- Install Calibre and reconfigure.
$ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
From the main menu Calibre Library -> Import all calibre data
import to ~/Calibre Library
.
- Install Double Commander and reconfigure.
$ sudo add-apt-repository ppa:alexx2000/doublecmd
$ sudo apt-get updatesudo
$ sudo apt-get install doublecmd-gtk
In order to recover the configuration do a backup copy of the ~/.config/doublecmd
then delete this folder, start the new doublecmd
for the first time , then go to, options->settings
and check User home directory
and "on close" , save the configuration. hit ok
and close Doublecmd
.
then copy the files from the backup directory to the newly created ~/.config/doublecmd
(linux) or ~/Library/Preferences/doublecmd
(Mac) and overwrite. Start Doublecmd
and all is fine.
- Install Atom and reconfigure.
$ sudo snap install atom --classic
Once a new release is out, install updates via command:
$ sudo snap refresh atom
Take Backup:
$ cd ~/.atom
$ zip atom.zip ~/.atom/*.cson ~/.atom/*.coffee ~/.atom/*.less ~/.atom/*.json
$ apm list --installed --bare > atom-bare-packages.txt
$ mv ~/atom-* ~/Projects/project-linux-recover/backups
Recover Backup:
$ apm install `cat atom-bare-packages.txt`
$ unzip -d ~/ atom.zip
- Install Rubymine and reconfigure. Download it and install it accordingly:
$ sudo tar xfz RubyMine-*.tar.gz -C /opt
$ cd /opt/RubyMine-*/bin
$ ./rubymine.sh&
- Install Code and reconfigure. Download it and install it accordingly:
$ sudo apt install software-properties-common apt-transport-https wget
$ wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main"
$ sudo apt update
$ sudo apt install code
- Install Eclipse and reconfigure. Download it and install it accordingly:
$ tar xfz eclipse-inst-linux64.tar.gz
$ cd eclipse-installer
$ ./eclipse-inst
$ cd ~/bin
$ ln -sf /home/enogrob/eclipse/jee-oxygen2/eclipse/eclipse eclipse
- Install Postman and reconfigure. Download it and install it accordingly:
$ sudo tar xfz Postman-*.tar.gz -C /opt
$ cd /opt/Postman-*
$ ./Postman&
- Install Compiz and reconfigure.
Compiz
comes already with Ubuntu. Install from Ubuntu SoftwareCompizConfig Settings Manager
. Set keymaps for - inWindows Manager -> Grid -> Bindings
. CheckCycle Through Multiple Sizes
inResize Actions
tab. Click inWindows Manager
and inPlace Windows
untickedWorkarounds
and inPlacement Mode
selectPlaceacross all outputs
. The Placement ModeSmart
is the key for remembering your desired position.
$ sudo apt-get install compiz
$ sudo apt install ubuntu-unity-desktop
$ sudo dpkg-reconfigure lightdm
$ sudo reboot
- Install Skype and reconfigure. Download it and install it accordingly:
$ sudo dpkg -i ./skypeforlinux-64.deb
$ sudo apt-get install -f
- Install Slack and reconfigure. Download it and install it accordingly:
$ sudo dpkg -i ./slack-desktop-3.0.2-amd64.deb
$ sudo apt-get install -f
-
Install Parcellite and reconfigure. Download and install from the
Ubuntu Software
. Then setup in its preferences, inBehaviour
tab checkUse Copy
,Use Primary(Selection)
andSynchronize clipboards
. -
Install Shutter and reconfigure. Download and install from the
Ubuntu Software
. -
Install Pinta and reconfigure.
$ sudo add-apt-repository ppa:pinta-maintainers/pinta-stable
$ sudo apt-get update
$ sudo apt-get install pinta
- Install Zeal compatible and reconfigure.
$ sudo snap install zeal-casept --classic
- Install Spotify compatible and reconfigure.
$ sudo snap install spotify --classic
- Install neofetch compatible and reconfigure.
$ echo "deb http://dl.bintray.com/dawidd6/neofetch jessie main" | sudo tee -a /etc/apt/sources.list
$ curl "https://bintray.com/user/downloadSubjectPublicKey?username=bintray"| sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install neofetch
- Install Cairo-Dock. It comes with Ubuntu. Install from the Ubuntu Software, or using the following shell command:
sudo apt-get install cairo-dock cairo-dock-plug-ins
- Install and run Parallels Transport Agent and reconfigure.
$ chmod +x ParallelsTransporterAgent-13.2.0-43213-amd64-lin.run
$ sudo ./ParallelsTransporterAgent-13.2.0-43213-amd64-lin.run
/usr/bin/cairo-dock
shall be included in the Startup Applications
.
-
Establish Docker Workflow for development. See
project-ruby-thursday
.