After being in draft for years I am finally publishing this post updated to my current setup(Loki).
I started writing this as a documentation of my setup for self, then i thought its good to share my experience.
Linux has always been my choice of OS at home from early days of my computer usage.
Mandrake Linux was the only distro at that time known to me until I was introduce to Slackware, which has been my distro of Linux for many years. Until 2010 my pc setup was mostly windows/slackware dual-boot and windows at work place for obvious reasons.
This changed when my friends started using MacBook Pro in year 2010, I couldn’t resist myself and went on to install hackintosh on my PC. It took a lot of effort … I mean I had to struggle with lot of iterations for drivers to make things work. Even though I was using iPhone already, this is my first Mac OS experience. The best thing was how my workflow improved with Mac OS. Though now and then stability was an issue with my Hackintosh.
By the end of 2012, I got my new laptop HP EliteBook 2570p, suddenly I have a laptop with 16GB RAM, Intel Core i7 , dual SSD disk etc. I was determined to have best possible setup.
First thing I did was to remove windows 7 on it completely. Initially I considered to go with Hackintosh, after some effort I opted out due to stability issues(Now a days I triple boot into WIN10/Linux on first SSD and Hackinstosh from second ssd on this laptop for my iPad sync). My primary OS is Linux (Elementary OS) unless I specifically need WIN or MacOS.
At this time I started looking out for linux distros other than Ubuntu with good desktop environment and I stumbled upon Elelementary OS, I never looked back since them. If you look at what elementary team have achieved so far, its amazing . There is a saying that “Simplicity Is The Real Beauty” and Elementary OS exactly fits into that saying.
Elementary OS design philosophy is simple and elegant. Only thing I miss coming from Hackintosh is few apps (Sparrow,SourceTree,Evernote,Reeder etc) that i got used to over the period of using hackintosh. Eventually I have found decent/good alternatives, some in default apps of Elementary OS and some in electron based apps.
Due to its simplicity I have been more productive too. I started with Luna –> Freya –> Loki and it just gets better with every release. The current Loki release of 0.4.1 is a massive one.
I have done fresh install for every new release. Also I have tried to use apps(gimp,darktable etc) from appcenter for most of them unlike earlier setups where I tried to use external ppa to get most latest releases of apps.
Over the period of decade I have come to like and use many tools, I do not use everything on daily basis I just love to have them installed and configured to be used when needed.
The following is the effort to document my setup.
Update and Upgrade system
After default installation update and upgrade your system
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Privacy Settings
This is first thing to do for me, enable “Privacy Mode”
Enable PPA support
PPA support is not available by default in Loki, for some good reasons . Though
it is impossible to completely stay away from it for someone like me.
sudo apt install software-properties-common --no-install-recommends
Basic compression tools
sudo apt install rar unrar cabextract lzip lunzip arj unace p7zip-rar p7zip
Media Codecs
As far as my understanding goes Elementary OS default installation comes with required codecs unlike Ubuntu .
Install Elementary Tweak
It is a must for every elementary os user who would like to tweak, I wonder why its not inbuilt.
sudo add-apt-repository ppa:philip.scott/elementary-tweaks
sudo apt update && sudo apt install elementary-tweaks
I love dark theme….I wish it was officially supported. Elementary OS Dev team suggest
against tweaks app ….but then I wanted dark theme.
Also I have added couple of icon themes as follows apart from default. These themes
just extend default theme. They make wingpanel icons look better .
Install Icon theme
sudo add-apt-repository ppa:cybre/elementaryplus
sudo apt update
sudo apt upgrade && sudo apt install elementaryplus
sudo add-apt-repository ppa:elementary-add-team/icons
sudo apt update
sudo apt upgrade && sudo apt install elementary-add-icon-theme
Also few other icon themes that I have installed …..
sudo add-apt-repository ppa:papirus/papirus
sudo apt-get update
sudo apt-get install papirus-icon-theme
I prefer not to install any GTK themes as I love default Elementary GTK Theme
Sometimes tray icons doesnt fit right into existing theme, in such case hardcode-tray can be handy
sudo add-apt-repository ppa:andreas-angerer89/sni-qt-patched
sudo apt update
sudo apt install sni-qt sni-qt:i386 hardcode-tray
Fontmanager
Font Viewer is available with default installation. For who want to use font manager install Font-Manager
sudo apt install font-manager
Dual Monitor Setup ( Not using this in Loki)
I use external monitor at home, after trying out various hacks, found this gem.
sudo apt-add-repository ppa:heathbar/multiplank
sudo apt update
sudo apt install multiplank
Once installed, enable multiplank by issuing the following command:
multiplank -e
And to disable:
multiplank -d
Also I use this for controlling my dual monitors
sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update
sudo apt install brightness-controller
Browsers
Chrome is default browser and Opera, Firefox, Vivaldi when normal is boring.
Google Chrome
Chrome is my default one with lots of chrome apps(feedly,tweedeck etc)
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i ./google-chrome*.deb
sudo apt-get install -f
Opera
I use it for its inbuilt vpn feature plus when ever I dont need chrome . I before Chrome came into existance Opera was my default browser.
Firefox
Install from Appcenter
FeedReader
Lately using Feedly webapp
Dev Setup
Text Editors
Scratch (Default)
Scratch Text editor is the default one in Elementary OS, its a fork of Gedit.
Most of the text editing done on Scratch including this blog post. I have added few
color schemes other than default ones.
Sublime Text 3
Sublime Text has been my default since its launch and now theres official repo
for apt.
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
sudo apt update && sudo apt install sublime-text
VS Code
Now a days exploring VS Code and i started loving it sooner than expected as I used to descpice anything M$
Tools
Slack Client
Slack provides official client for linux
Install torrent client
Transmission from AppCenter
Install JAVA
Java is needed for some of the java based apps that are installed like Enpass or Xmind.
sudo add-apt-repository -y ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Install Node via NVM
Node is required for Firebase-tools that I use to deploy my websites.
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
nvm ls-remote
nvm install 6.11.0
Install LibreOffice Suites
sudo add-apt-repository ppa:libreoffice/ppa
sudo apt updatew
sudo apt install libreoffice-gtk2 libreoffice-gnome libreoffice-writer
Misc Tools
sudo apt install gnome-disk-utility gnome-system-monitor gparted
Graphic Designing
Pencil
Pencil V3 is a complete re-write using Githubs Electron .
Scribus
Install from appcenter
Inkscape
All of my designs are done using Inkscape as of this writing.
sudo add-apt-repository ppa:inkscape.dev/stable
sudo apt-get update
sudo apt-get install inkscape
Gravit Designer
This is the latest addition
GIMP
Installed the default package available from appcenter
Blender3D
Want to learn this some day just for fun. More interested in Motion Graphics. Installed the default package available from appcenter.
Cloud storage
Dropbox
for some reasons official package doenst work as expected on elementary os. There is a workaround for that in the following link
git clone https://github.com/zant95/elementary-dropbox /tmp/elementary-dropbox
bash /tmp/elementary-dropbox/install.sh
sudo apt purge epiphany-browser epiphany-browser-data
Fonts
I go with default faunts that come with elementary os. For text editors I use
Hermit Font which has been my go to font for years now.
Also I use Source Code Pro , which is another great font for texteditor/ide.
ProgrammingFonts is a good place to check
for font you would want to use.
Mono Spaced Fonts for Programmers
Install calibre
Defacto , nothing comes close, though there is a elementary os native app BOOKWORM in developemnt
and it is slick and promising from what ever I have seen so far.
sudo -v && wget -nv -O- https://raw.githubusercontent.com/kovidgoyal/calibre/master/setup/linux-installer.py | sudo python -c "import sys; main=lambda:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main()"
Install Zeal
Was looking for Dash alternative unitl i found this. Theres a nice integration into most of the code editors. The doc set is from DASH itsel. I have nicely integrated into Sublime and Brackets.
sudo add-apt-repository ppa:zeal-developers/ppa
sudo apt-get update
sudo apt-get install zeal
Install redshift
This is a must. Install it from appcenter
Enpass
Enpass is my password manager. I use this because of cloud sync and mobile app. No matter whether I am using my mobile or pc or laptop I always have access to enpass.
Its free for desktop, though mobile edition costs you, check the pricing
Install Git Client
GitKraken I was missing Sourcetree untill I started using this. Its simple and clean UI is impressive. Its usefull for my basic needs of version control(mostly scripts and texts)
WebUpd8 Java PPA
Due to Oracle’s licensing restrictions, Java is no longer included within Ubuntu’s default packages list.
WebUpd8 team has provided a PPA that downloads and packages Java for you.
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Startup Disk Creator
UNetbootin
sudo apt-get install unetbootin
StartUP Disk Creator
sudo apt-get install usb-creator-gtk
WoeUSB (fork of WinUSB)
To create windows usb bootable installation media.
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb
Or install from deb file
http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/w/woeusb/woeusb_2.1.2-1~webupd8~xenial_amd64.deb
sudo dpkg -i woeusb_2.1.2-1~webupd8~xenial_amd64.deb
http://ppa.launchpad.net/nilarimogard/webupd8/ubuntu/pool/main/w/woeusb
gnome-disk-utility
FTP Client
Its obvious , its Filezilla client. Hope to see Trasmit like client on Linux.
sudo apt-get install filezilla
Safe Eyes
A simple utitly that forces you to take breaks
PPA Purge
Some times when PPA installs go bad..this tool helps to restore
sudo apt-get install ppa-purge
Network Tools
Wireshark
sudo add-apt-repository ppa:wireshark-dev/stable
sudo apt-get update
sudo apt-get install wireshark
Nmap 7
Download source code nmap 7 :
wget https://nmap.org/dist/nmap-7.50.tar.bz2
Unzip file and move to folder :
bzip2 -cd nmap-7.50.tar.bz2 | tar xvf -
cd nmap-7.50
Configuration and Install from source code :
./configure
make
sudo make install
Iperf
sudo apt-get install iperf
Documentations && Blogging
Sphinx
Recently I have started consolidating the technical docs I have dumped into my backups for years. I am trying to centralize all the guides and tutorials that I have saved as text files from over the time in my career. I found Sphinxto be suitable, also I am exploring MKDOCS too. I would like to publish this at some point as SysNetLabs . Mainly for myself though might be usefull for others too. Thats the idea.
sudo apt-get install python3-setuptools
sudo easy_install3 pip
sudo pip3 install Sphinx
sudo pip3 install recommonmark
Hugo
I use Hugo for my personal blog at kanthi.in . I have added hugo command to my system startup. Now every time I edit and save my post I have hugo autogenerate for me in the background. With dual monitor setup , this is a good workflow.
"hugo server --buildDrafts --watch --source=/home/king/Workspace/Repos/kanthi.in"
Baobab Disk Uage Analyzer
Its always good to have this tool.
sudo apt-get install baobab
I miss Evernote native client though i manage with chrome app
Variety Wallpaper Changer
Wallpaper plays a very important role for me ;-) . Variety is a wallpaper changer for linux os.
sudo add-apt-repository ppa:peterlevi/ppa
sudo apt-get update
sudo apt-get install variety
National Geo Wallpaper
wget https://launchpad.net/~atareao/+archive/ubuntu/atareao/+files/national-geographic-wallpaper_0.4.3-0extras16.04.0_all.deb
sudo dpkg -i national-geographic-wallpaper_0.4.3-0extras16.04.0_all.deb
Screencast
After trying out various tools I have decided on KAZAM . Its simple and usefull
Peek
Its a simple tool to record your screen and export into multiple formats including gif
Some of the gifs on this blogs are creating using the same.
sudo add-apt-repository ppa:peek-developers/stable
sudo apt update
sudo apt install peek
Mogrify
mogrify -path ../PathToFolder/ -format ico -density 600 -define icon:auto-resize=128,64,48,32,16 *.svg
Caffeine
When you do not want be disturbed by screen saver etc
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine
Screenkey
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install screenkey
Audacious
sudo apt-get install audacious
Minitube
sudo apt-get install minitube
Video Editing:
HandBrake
In the initial days of my iphone usage , handbrake was my saviour.
sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt update
sudo apt install handbrake-gtk
sudo apt install handbrake-cli
- Cinelerra
- Avidemux
- Pitivi
- Shotcut App
- http://ardour.org/
- http://www.cinepaint.org/
E-Mail Client
I used thunderbird in early days and Sparrow on MacOS which google acquired and killed it. I still have Sparrow on my Hackintosh ;-)
On Elementary OS theres default MAIL app which is nothing but fork of Geary , it comes as a native app as part of default installation. I still have issues with auto scaling of the app and a few crashes . Theres nothing else that comes close at the moment :(
Photography
Mobile Photography is one of my hobby. I find it challenging to take good pics using mobile. This started when I got my first iPhone and these days with OnePlus One
Digikam
At the moment I do cloud sync of mobile pics with dropbox and google photos. So digikam is yet to be part of my workflow.
Darktable
Most of work is done on my mobile with Snapseed. I intend
to learn how to use darktable
Music Creation (New to these tools)
So far considering these tools…still exploring
Audacity
LMMS
sudo apt install lmms
Mixx
This is just for kicks. Ocassionally i have used auto mixx feature
sudo add-apt-repository ppa:mixxx/mixxx
sudo apt update
sudo apt install mixxx
Games
The games that I have installed
DevOps Labs Virtualization
KVM
king@konquer:~$ kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
sudo apt install qemu-kvm libvirt-bin bridge-utils virt-manager virtinst virt-viewer
VMware Workstation
Download the binary.
VirtualBox
sudo vim /etc/apt/sources.list.d/virtualbox.list
Add following line
#For Ubuntu 16.04 ("Xenial")
deb http://download.virtualbox.org/virtualbox/debian xenial contrib
Add the keys
wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
sudo apt update
king@konquer:~$ apt-cache policy virtualbox-5.1
virtualbox-5.1:
Installed: (none)
Candidate: 5.1.22-115126~Ubuntu~xenial
Version table:
5.1.22-115126~Ubuntu~xenial 500
500 http://download.virtualbox.org/virtualbox/debian xenial/contrib amd64 Packages
sudo apt install virtualbox-5.1
Vagrant
Download the latest vagrant deb file https://www.vagrantup.com/
wget https://releases.hashicorp.com/vagrant/1.9.5/vagrant_1.9.5_x86_64.deb
sudo dpkg -i vagrant_1.9.5_x86_64.deb
Docker
Follow the official documentation
Ansible
sudo apt-get install software-properties-common
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
GNS3
GNS3 V2 is no longer just for networking guys, with its new architecture gns3
use cases are beyond Cisco and GNS3 VM makes it more flexible, theres also
sudo add-apt-repository ppa:gns3/ppa
sudo apt-get update
sudo apt-get install gns3-gui
If you want IOU support:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gns3-iou
Network Interface Names
Current Ubuntu versions have new naming convention of network interfaces, to get to old ways follow these steps
$ sudo nano /etc/default/grub
Look for “GRUB_CMDLINE_LINUX” and add the following”net.ifnames=0 biosdevname=0“.
From:
GRUB_CMDLINE_LINUX=""
To:
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
Generate a new grub file using the following command.
sudo grub-mkconfig -o /boot/grub/grub.cfg
Appcenter
A sepcial mention about the efforts of the dev with Appcenter. Its still young with great
future. There are already elementary specific tools
Disk Image
Finally I have taken complete disk image of the entire ssd using gnome-disk-utilty. Yet to test its restore
capabilities.
My Wishlist
Eelementary : Wingpanel (More options to customize like auto-hide, slim etc whould be great for small screens)
Better Tray icons
Officcial dark mode
Computer Hardware : I wish to see real bezel less displays on laptop too. At the moment my fav is XPS Developer Edition. Unless something better comes
Mobile Hardware : Been using classic OnePlus One since it lanuched with multiboot. Exploring new roms when ever bored with out disturbing primary rom. Also I have Netrunner as one of the secondary roms…still yet to explore it completely. Having high hopes for next iPhone(8) release.
My Laptop has a 3G sim slot…..not sure how to use it in elementary Linux
Clean up!
As a final step, let’s get rid of packages and software that are not necessary and taking up our precious disk space.
sudo apt-get autoclean
sudo apt-get clean
Further Elementary OS resources
Google plus group
Stack Exchange
https://www.reddit.com/r/elementaryos/