Home / Reference / Cinnamon Tutorials

Part II. Building Cinnamon

Debian-based systems

Add APT sources repositories

Open /etc/apt/sources.list. For each deb line, add the same line with deb replaced with deb-src. For instance, here’s how it should look like in Linux Mint 18:

deb http://packages.linuxmint.com sara main upstream import
deb-src http://packages.linuxmint.com sara main upstream import

deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe multiverse

deb http://extras.ubuntu.com/ubuntu xenial main
deb-src http://extras.ubuntu.com/ubuntu xenial main

Get build dependencies

Then we install the packages needed to compile the cinnamon stack. Run the following in a terminal (as root):

apt-get update
apt-get install dpkg-dev
sudo apt-get build-dep cinnamon cinnamon-control-center cinnamon-desktop cinnamon-menus cinnamon-screensaver cinnamon-session cinnamon-settings-daemon cinnamon-translations cjs muffin nemo

Now get the latest git code for everything. Run (not as root):

git clone git://github.com/linuxmint/cinnamon.git
git clone git://github.com/linuxmint/cinnamon-control-center.git
git clone git://github.com/linuxmint/cinnamon-desktop.git
git clone git://github.com/linuxmint/cinnamon-menus.git
git clone git://github.com/linuxmint/cinnamon-screensaver.git
git clone git://github.com/linuxmint/cinnamon-session.git
git clone git://github.com/linuxmint/cinnamon-settings-daemon.git
git clone git://github.com/linuxmint/cinnamon-translations.git
git clone git://github.com/linuxmint/cjs.git
git clone git://github.com/linuxmint/muffin.git
git clone git://github.com/linuxmint/nemo.git

Compile and install the stack

Build and install in the following order. Some packages are required to be installed prior to building later packages. See below for how to build and install.

cinnamon-translations
cinnamon-desktop
cinnamon-menus
**INSTALL PRECEDING PACKAGES**
cinnamon-session
cinnamon-settings-daemon
cinnamon-screensaver
cjs
**INSTALL PRECEDING PACKAGES**
cinnamon-control-center
muffin
**INSTALL PRECEDING PACKAGES**
cinnamon
nemo
**INSTALL PRECEDING PACKAGES**

To build a package:

cd *package-name*
dpkg-buildpackage
cd ..

To install a package:

sudo dpkg -i *packages produced*

Optional: Compiling from stable branch

The instructions above compile the Cinnamon stack from their “master” branch, which isn’t always stable. To compile from the stable branch, instead of the usual building procedure, you need to to the following (for all packages):

cd *package-name*
git checkout stable
dpkg-buildpackage
cd ..