Pantheon
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.
Prerequisites
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 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:
root #
eselect repository enable elementary
root #
emerge --sync elementary
Method 2. 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
Profile changes can be non trivial. Please ensure the profile version, like 23.0 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:
OpenRC
When using OpenRC, select:
root #
eselect profile set default/linux/amd64/23.0/desktop/gnome
systemd
systemd users will need the GNOME profile with systemd on the end:
root #
eselect profile set default/linux/amd64/23.0/desktop/gnome/systemd
Installation
Emerge
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:
root #
emerge --ask pantheon-base/pantheon-shell
Then, for example, emerge Audience and Pantheon terminal:
root #
emerge --ask media-video/audience x11-terms/pantheon-terminal
package.use
Ensure that X
and -gnome
USE flag is included in the system's global USE flags. It is also possible to remove the requirement of webkit-gtk by setting gnome-online-accounts
Keywording
Those that wish to test the latest version of Pantheon then add the ~arch (unstable) keyword in order to allow the installation of the latest version of Pantheon 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, arch testers are always welcomed to help with this.)
It is wise to provide Portage with only the explicit instructions Patheon 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
Removal
Unmerge
root #
emerge --ask --depclean --verbose pantheon-base/pantheon-shell
Troubleshooting
Reporting issues
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.