After a fresh OS install

6 October 2015 in fedora

In the past few months, I’ve experimented with various Linux distros, before sticking with Fedora-based Korora and Gnome 3 desktop. Korora comes with many pre-installed packages, including vlc, audacity, deluge, gimp, inkscape and git, which is great; still, each time I’m reinstalling my laptop, I spend too much time figuring out which additional applications, packages and libraries I need to install. To facilitate this rather tedious process in the future, I’ve compiled the following list, plus some pointers to useful web resources.

Note: Since Fedora 22, the Dnf is the default package manager, replacing the now-deprecated yum. (Dnf actually stands for Dandified Yum.)

First things first

As always, first step after a fresh install is to update everything.

dnf update

Firefox is the default browser in Korora; I prefer Chrome, which is easy to install.

dnf install google-chrome-stable

Next, I use negativo17’s repos to install Nvidia drivers, Skype and Spotify client.

dnf config-manager --add-repo=http://negativo17.org/repos/fedora-nvidia.repo
dnf config-manager --add-repo=http://negativo17.org/repos/fedora-skype.repo
dnf config-manager --add-repo=http://negativo17.org/repos/fedora-spotify.repo
dnf remove \*nvidia\*
dnf install nvidia-driver
dnf install spotify-client skype

Package groups

Dnf provides many useful package groups; to obtain list of available groups:

dnf group list -v

To get the details of a group:

dnf group info 'Group Name'

To install a group:

dnf group install 'Group Name'

To install the optional packages in the group, add parameter with-optional before the name of the group.

dnf group install with-optional 'Group Name'

Now, let’s look at some specific groups.

dnf group install with-optional 'Development and Creative Workstation'

This is actually a metagroup – a group of groups. Includes C Development Tools and Libraries and X Software Development. Optional groups include Python and PHP.

dnf group install with-optional 'Authoring and Publishing'

Includes texlive, pdftk.

dnf group install with-optional 'Engineering and Scientific'

Includes R, gnuplot, maxima, octave, python-matplotlib, texmaker.

Applications

dnf install amarok asymptote blender dropbox emacs filezilla guake meshlab

There’s an unofficial google drive client called Grive overGrive. Licence ($4.99) is required. For installing zotero, I’m using Sebastiaan Mathôt’s zotero_installer.

Setting up Git

git config --global user.name "Tibor Stanko"
git config --global user.email [email protected]
git config --global credential.helper cache
git config --global push.default simple

Libs

Some additional libraries, mostly for my scientific activities: GLEW, GLFW, Eigen, CGAL, libigl. (See also the libigl tutorial.)

dnf install glew-devel glfw-devel eigen3-devel CGAL-devel
cd ~/Tibb/cplus
git clone --recursive https://github.com/libigl/triangle.git
git clone --recursive https://github.com/libigl/libigl.git
cd libigl/external
git clone --recursive https://github.com/libigl/CoMISo.git

Setting up Matlab

After installing Matlab from iso, I like to do some additional setting up. First, create a symlink to matlab executable in /usr/bin/:

ln -s /usr/local/MATLAB/R2014b/bin/matlab /usr/bin/matlab

Second, we need to tell Gnome about Matlab by creating a .desktop entry:

vim /usr/share/applications/matlab.desktop

Add the following to matlab.desktop:

[Desktop Entry]
Type = Application
Encoding = UTF-8
Name = Matlab2014b
Comment = Matlab:The Tool of Technical Computing
Exec = /usr/local/MATLAB/R2014b/bin/matlab -desktop
Icon = matlab
Categories = Development;Matlab;

BitBucket stuff

use this script to clone all repos at once

Additional desktops

Having an alternative desktop installed might be handy, in case Gnome gives you the jolly Oops! Something has gone wrong.

dnf group install xfce-desktop

Gnome tweaks

When everything’s installed, let’s make some final adjustements using the Gnome Tweak Tool.

  • increase font size
  • add startup applications (guake)

And we’re good to go!