Manjaro Post Install Guide

July 25, 2018

Manjaro is my distribution that I choose for development environment, works quite well in my old Asus ROG G75VW, before Manjaro used Ubuntu 16.04 that I loved but their packages were somewhat old and I wanted to try Plasma 5 but not with distributions that came from Debian.

The option was clear and easy, Arch was what most suited for me. Previously I had tried Arch but I did not like that I had to spend days configuring my laptop to had everything I need to work. I had never tried Manjaro, I knew it was derivative from Arch but I was not sure that he would work well on my computer.

I tested Manjaro with Plasma 5 and I love it! run pretty fast and smooth, work out of the box, easy Nvidia drivers installation and so on.

By default Manjaro has many many packages that I used to install on Ubuntu after install, no more with Manjaro this saves me lot of time.

So, no more talk. This is my configuration for set a basic Ruby on Rails development environment.

Development

List of tools that I used to install:

OhMyZsh

  sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  

Install Fonts

  cd /tmp
  git clone https://github.com/powerline/fonts.git --depth=1
  cd fonts
  # Install fonts
  ./install.sh
  # clean
  cd ..
  rm -rf fonts
  cd ~
  # Reload font cache
  fc-cache -vf
  # Space Mono for Powerline Regular 14 is my terminal font
  

Install MariaDb

Instructions on Gitlab Snippet

Install rbenv

  cd
  git clone https://github.com/rbenv/rbenv.git ~/.rbenv
  git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
  # Export path environment variable to .zshrc & .bashrc
  rbenv install 2.3.7
  rbenv global 2.3.7
  exec $SHELL
  # Or reopen terminal
  ruby -v
  # Install bundle
  gem install bundler
  # Rehash
  rbenv rehash
  

Problems with Ruby installation

BUILD FAILED (ManjaroLinux 17.1.11 using ruby-build 20180618-9-g00490d3)

  sudo pacman -S base-devel libffi libyaml openssl zlib openssl-1.0
  which gcc
  # /usr/bin/gcc
  PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig CC=/usr/bin/gcc rbenv install 2.3.7
  

If /tmp no space left?

sudo rm -rf /tmp/*

If still fails

  sudo pacman -Ss gcc5
  # community/gcc54 5.4.1-1
  # Install current gcc5 version
  sudo pacman -S gcc54
  # try again wich gcc path in PKG_CONFIG_PATH
  

Sources: Manjaro, Arch.

Configure Git

  git config --global color.ui true
  git config --global user.name "Carlos Gomez"
  git config --global user.email "carlosgomez.deb@gmail.com"
  # copy your .ssh folder or create a new key and add to github and gitlab
  ssh-keygen -t rsa -b 4096 -C "carlosgomez.deb@gmail.com"
  cat ~/.ssh/id_rsa.pub
  # Github
  ssh -T git@github.com
  # Gitlab
  ssh -T git@gitlab.com
  

Rails 5.0.7 retrocompatible with 5.0.0.1

  # Install Rails
  gem install rails -v 5.0.7
  rbenv rehash
  # Check version
  rails -v
  # Rails 5.0.7
  

Gems

  gem install foreman rubocop jekyll github-pages
  # optional if I am working with ecommerce
  gem install spree
  

MeteorJS

curl https://install.meteor.com/ | sh

Redis

  sudo pacman -S redis
  sudo systemctl enable --now redis.service
  # Check if Redis is up
  sudo systemctl status redis.service
  

PostgreSQL

  sudo pacman -S postgresql
  sudo su postgres -l # or sudo -u postgres -i
  initdb --locale $LANG -E UTF8 -D '/var/lib/postgres/data/'
  exit
  sudo systemctl enable --now postgresql.service
  # Check if PostgreSQL is up
  sudo systemctl status postgresql.service
  

Setting up Postgres User

  psql -U postgres
  CREATE USER rasalghul PASSWORD 'toor';
  -- if user exist
  DROP USER rasalghul;
  -- Grant privileges
  ALTER ROLE rasalghul WITH SUPERUSER;
  

Source Configure PostgreSQL

Conclusion

So, with this few steps I have fully functional Distro for web development, in future post I have planned to include some tools that I most use, such code editors, desktop environment tunning for productivity, konsole configurations and addons, etc. keep tuned...


Carlos Gomez 2018