This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
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 elementary ebuild repository is undergoing rapid development the following instructions are subject to significant changes.
Pantheon currently resides in the elementary ebuild repository. There are three primary methods for installing repositories in Gentoo:
- 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 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.
Layman
When layman is ready to go add the elementary repository:
root #
layman -a elementary
eselect repostiory
eselect repository will create an automatic repos.conf entry. When ready, run:
root #
eselect repository enable elementary
root #
emerge --sync elementary
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:
/etc/portage/repos.conf/elementary.conf
[elementary] location = /usr/local/overlay/elementary sync-type = git sync-uri = https://github.com/pimvullers/elementary.git auto-sync = yes
Profile
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/13.0/desktop/gnome
systemd
systemd users will need to GNOME profile with systemd on the end:
root #
eselect profile set default/linux/amd64/13.0/desktop/gnome/systemd
Keywording
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).
/etc/portage/make.conf
ACCEPT_KEYWORDS="~amd64"
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.
package.accept_keywords
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:
/etc/portage/package.accept_keywords
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
package.use
Ensure that X
USE flag is included in the system's global USE flags.
OpenRC
Other necessary USE flags to install pantheon for the OpenRC init system are as follows:
/etc/portage/package.use
sys-fs/udev gudev sys-auth/consolekit policykit sys-auth/pambase consolekit dev-libs/libxml2 python x11-libs/gdk-pixbuf jpeg
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
Removal
Unmerge
root #
emerge --ask --depclean 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.