Pantheon is a new lightweight, modular desktop environment primarily written in Vala and GTK. It was originally written for use with Elementary OS, but is in the process of being ported to Gentoo.
Users should be aware that the elementary ebuild repository is undergoing rapid development, thus the following instructions are subject to significant changes.
elementary ebuild repository (overlay)
Pantheon currently resides in the elementary ebuild repository. There are three primary methods for installing repositories in Gentoo:
- The new eselect repository method. app-eselect/eselect-repository must be installed when using this method. See also Eselect/Repository.
- The older layman method. app-portage/layman must be installed when going this route. Proceed to the layman article to install layman, then return and move on the to the next step.
- The manual repos.conf method. A special elementary.conf file must be created in repos.conf, then the repository must be synced using one of the many methods available. Pay a visit to the repos.conf article for more information on how to use this method, then see the associated section below.
Select one of the three methods below.
Method 1. eselect repostiory
eselect repository will create an automatic repos.conf entry. When ready, run:
eselect repository enable elementary
emerge --sync elementary
Method 2. Layman
When layman is ready to go add the elementary repository:
layman -a elementary
Method 3. repos.conf
Create a file in the /etc/portage/repos.conf directory (create the repos.conf directory first if it does not exist) called elementary.conf. Fill the file's contents with the following code:
[elementary] location = /usr/local/overlay/elementary sync-type = git sync-uri = https://github.com/pimvullers/elementary.git auto-sync = yes
Profile changes can be non trivial. Please ensure the profile version, like 17.1 below, does not change without following the corresponding news items. Avoid, for example, changing from an OpenRC profile to a systemd profile, or vice versa, without consulting the appropriate documentation.
Read relevant documentation before performing any profile changes.
Setting a GNOME desktop profile for the system will help prepare the base system for pantheon to be installed:
When using OpenRC, select:
eselect profile set default/linux/amd64/17.1/desktop/gnome
Read the systemd documentation before changing to a systemd profile.
systemd users will need the GNOME profile with systemd on the end:
eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd
Those who have a separate (virtual) machine for testing Elementary CAN add the ~arch (unstable) keyword in order to allow the installation of the latest (and greatest) Elementary package atoms. For now, only the ~amd64 and ~x86 keywords are supported (although in the future and with more testing other architectures may be supported).
This is the 'quick and easy' method for installing Elementary.
If an unstable global keyword was added the following package.accept_keywords section can be skipped.
For those who want try Elementary alongside other desktop environments, it is wise to provide Portage with only the explicit instructions Elementary needs for (dependent) packages that require keywording. Copy the following list in the package.accept_keywords file:
pantheon-base/pantheon mail-client/postler pantheon-base/pantheon-shell gnome-base/gnome-desktop x11-themes/elementary-icon-theme x11-themes/elementary-theme x11-libs/granite dev-libs/folks pantheon-base/marlin dev-util/euclide media-sound/noise app-office/dexter net-libs/gnome-online-accounts app-editors/scratch pantheon-base/switchboard x11-terms/pantheon-terminal app-office/maya dev-db/sqlheavy pantheon-base/plank net-libs/liboauth x11-libs/bamf dev-libs/libgweather media-libs/clutter dev-python/rdflib dev-libs/libgdata x11-libs/pango dev-libs/glib dev-libs/libpeas gnome-base/gsettings-desktop-schemas media-libs/cogl x11-libs/varka pantheon-base/cerbere x11-libs/gtk+ x11-wm/mutter x11-themes/elementary-wallpapers dev-libs/libindicator pantheon-base/slingshot app-dicts/lingo gnome-extra/zeitgeist dev-libs/libzeitgeist dev-libs/libpeas x11-wm/gala dev-libs/gobject-introspection pantheon-base/wingpanel x11-libs/gdk-pixbuf dev-libs/gobject-introspection-common dev-python/isodate gnome-extra/evolution-data-server x11-libs/vte dev-libs/libindicate app-office/ergo dev-lang/vala dev-libs/contractor dev-libs/libdbusmenu net-news/feedler dev-libs/libunity media-video/eidete media-video/audience pantheon-extra/dropoff app-office/footnote pantheon-base/pantheon-print mail-client/geary dev-libs/dee media-video/snap media-libs/clutter-gst media-video/cheese x11-libs/mx dev-util/fix-la-relink-command www-client/midori
X USE flag is included in the system's global USE flags.
Other necessary USE flags to install pantheon for the OpenRC init system are as follows:
sys-fs/udev gudev sys-auth/pambase elogind dev-libs/libxml2 python x11-libs/gdk-pixbuf jpeg
The pantheon meta-package pulls in the necessary packages. This can be done by emerging just the pantheon-base/pantheon-shell meta package and then select the desired elementary applications:
emerge --ask pantheon-base/pantheon-shell
Then, for example, emerge Audience and Pantheon terminal:
emerge --ask media-video/audience x11-terms/pantheon-terminal
emerge --ask --depclean --verbose pantheon-base/pantheon-shell
As mentioned in the beginning, the elementary repository is undergoing rapid development, just like the upstream elementary OS project. This means that things might break, or do not work properly yet. If you discover any issues, or if you want to contribute, just create a new issue on the elementary ebuild repository Github project or contact the maintainer.