···11+# Pantheon Desktop {#chap-pantheon}
22+33+Pantheon is the desktop environment created for the elementary OS distribution. It is written from scratch in Vala, utilizing GNOME technologies with GTK and Granite.
44+55+## Enabling Pantheon {#sec-pantheon-enable}
66+77+All of Pantheon is working in NixOS and the applications should be available, aside from a few [exceptions](https://github.com/NixOS/nixpkgs/issues/58161). To enable Pantheon, set
88+```
99+services.xserver.desktopManager.pantheon.enable = true;
1010+```
1111+This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set
1212+```
1313+services.xserver.displayManager.lightdm.greeters.pantheon.enable = false;
1414+services.xserver.displayManager.lightdm.enable = false;
1515+```
1616+but please be aware using Pantheon without LightDM as a display manager will break screenlocking from the UI. The NixOS module for Pantheon installs all of Pantheon's default applications. If you'd like to not install Pantheon's apps, set
1717+```
1818+services.pantheon.apps.enable = false;
1919+```
2020+You can also use [](#opt-environment.pantheon.excludePackages) to remove any other app (like `elementary-mail`).
2121+2222+## Wingpanel and Switchboard plugins {#sec-pantheon-wingpanel-switchboard}
2323+2424+Wingpanel and Switchboard work differently than they do in other distributions, as far as using plugins. You cannot install a plugin globally (like with {option}`environment.systemPackages`) to start using it. You should instead be using the following options:
2525+2626+ - [](#opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators)
2727+ - [](#opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs)
2828+2929+to configure the programs with plugs or indicators.
3030+3131+The difference in NixOS is both these programs are patched to load plugins from a directory that is the value of an environment variable. All of which is controlled in Nix. If you need to configure the particular packages manually you can override the packages like:
3232+```
3333+wingpanel-with-indicators.override {
3434+ indicators = [
3535+ pkgs.some-special-indicator
3636+ ];
3737+};
3838+3939+switchboard-with-plugs.override {
4040+ plugs = [
4141+ pkgs.some-special-plug
4242+ ];
4343+};
4444+```
4545+please note that, like how the NixOS options describe these as extra plugins, this would only add to the default plugins included with the programs. If for some reason you'd like to configure which plugins to use exactly, both packages have an argument for this:
4646+```
4747+wingpanel-with-indicators.override {
4848+ useDefaultIndicators = false;
4949+ indicators = specialListOfIndicators;
5050+};
5151+5252+switchboard-with-plugs.override {
5353+ useDefaultPlugs = false;
5454+ plugs = specialListOfPlugs;
5555+};
5656+```
5757+this could be most useful for testing a particular plug-in in isolation.
5858+5959+## FAQ {#sec-pantheon-faq}
6060+6161+[I have switched from a different desktop and Pantheon’s theming looks messed up.]{#sec-pantheon-faq-messed-up-theme}
6262+ : Open Switchboard and go to: Administration → About → Restore Default Settings → Restore Settings. This will reset any dconf settings to their Pantheon defaults. Note this could reset certain GNOME specific preferences if that desktop was used prior.
6363+6464+[I cannot enable both GNOME and Pantheon.]{#sec-pantheon-faq-gnome-and-pantheon}
6565+ : This is a known [issue](https://github.com/NixOS/nixpkgs/issues/64611) and there is no known workaround.
6666+6767+[Does AppCenter work, or is it available?]{#sec-pantheon-faq-appcenter}
6868+ : AppCenter has been available since 20.03. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. However, due to missing appstream metadata, the Packagekit backend does not function currently. See this [issue](https://github.com/NixOS/nixpkgs/issues/15932).
6969+7070+ If you are using Pantheon, AppCenter should be installed by default if you have [Flatpak support](#module-services-flatpak) enabled. If you also wish to add the `appcenter` Flatpak remote:
7171+7272+ ```ShellSession
7373+ $ flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
7474+ ```
···11-<chapter xmlns="http://docbook.org/ns/docbook"
22- xmlns:xlink="http://www.w3.org/1999/xlink"
33- xml:id="chap-pantheon">
44- <title>Pantheon Desktop</title>
55- <para>
66- Pantheon is the desktop environment created for the elementary OS distribution. It is written from scratch in Vala, utilizing GNOME technologies with GTK and Granite.
77- </para>
88- <section xml:id="sec-pantheon-enable">
99- <title>Enabling Pantheon</title>
1010-11+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-pantheon">
22+ <title>Pantheon Desktop</title>
113 <para>
1212- All of Pantheon is working in NixOS and the applications should be available, aside from a few <link xlink:href="https://github.com/NixOS/nixpkgs/issues/58161">exceptions</link>. To enable Pantheon, set
1313-<programlisting>
44+ Pantheon is the desktop environment created for the elementary OS
55+ distribution. It is written from scratch in Vala, utilizing GNOME
66+ technologies with GTK and Granite.
77+ </para>
88+ <section xml:id="sec-pantheon-enable">
99+ <title>Enabling Pantheon</title>
1010+ <para>
1111+ All of Pantheon is working in NixOS and the applications should be
1212+ available, aside from a few
1313+ <link xlink:href="https://github.com/NixOS/nixpkgs/issues/58161">exceptions</link>.
1414+ To enable Pantheon, set
1515+ </para>
1616+ <programlisting>
1417services.xserver.desktopManager.pantheon.enable = true;
1518</programlisting>
1616- This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set
1717-<programlisting>
1919+ <para>
2020+ This automatically enables LightDM and Pantheon's LightDM greeter.
2121+ If you'd like to disable this, set
2222+ </para>
2323+ <programlisting>
1824services.xserver.displayManager.lightdm.greeters.pantheon.enable = false;
1925services.xserver.displayManager.lightdm.enable = false;
2026</programlisting>
2121- but please be aware using Pantheon without LightDM as a display manager will break screenlocking from the UI. The NixOS module for Pantheon installs all of Pantheon's default applications. If you'd like to not install Pantheon's apps, set
2222-<programlisting>
2727+ <para>
2828+ but please be aware using Pantheon without LightDM as a display
2929+ manager will break screenlocking from the UI. The NixOS module for
3030+ Pantheon installs all of Pantheon's default applications. If you'd
3131+ like to not install Pantheon's apps, set
3232+ </para>
3333+ <programlisting>
2334services.pantheon.apps.enable = false;
2435</programlisting>
2525- You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <literal>elementary-mail</literal>).
2626- </para>
2727- </section>
2828- <section xml:id="sec-pantheon-wingpanel-switchboard">
2929- <title>Wingpanel and Switchboard plugins</title>
3030-3131- <para>
3232- Wingpanel and Switchboard work differently than they do in other distributions, as far as using plugins. You cannot install a plugin globally (like with <option>environment.systemPackages</option>) to start using it. You should instead be using the following options:
3333- <itemizedlist>
3434- <listitem>
3535- <para>
3636- <xref linkend="opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators"/>
3737- </para>
3838- </listitem>
3939- <listitem>
4040- <para>
4141- <xref linkend="opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs"/>
4242- </para>
4343- </listitem>
4444- </itemizedlist>
4545- to configure the programs with plugs or indicators.
4646- </para>
4747-4848- <para>
4949- The difference in NixOS is both these programs are patched to load plugins from a directory that is the value of an environment variable. All of which is controlled in Nix. If you need to configure the particular packages manually you can override the packages like:
5050-<programlisting>
3636+ <para>
3737+ You can also use
3838+ <xref linkend="opt-environment.pantheon.excludePackages"></xref>
3939+ to remove any other app (like <literal>elementary-mail</literal>).
4040+ </para>
4141+ </section>
4242+ <section xml:id="sec-pantheon-wingpanel-switchboard">
4343+ <title>Wingpanel and Switchboard plugins</title>
4444+ <para>
4545+ Wingpanel and Switchboard work differently than they do in other
4646+ distributions, as far as using plugins. You cannot install a
4747+ plugin globally (like with
4848+ <option>environment.systemPackages</option>) to start using it.
4949+ You should instead be using the following options:
5050+ </para>
5151+ <itemizedlist spacing="compact">
5252+ <listitem>
5353+ <para>
5454+ <xref linkend="opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators"></xref>
5555+ </para>
5656+ </listitem>
5757+ <listitem>
5858+ <para>
5959+ <xref linkend="opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs"></xref>
6060+ </para>
6161+ </listitem>
6262+ </itemizedlist>
6363+ <para>
6464+ to configure the programs with plugs or indicators.
6565+ </para>
6666+ <para>
6767+ The difference in NixOS is both these programs are patched to load
6868+ plugins from a directory that is the value of an environment
6969+ variable. All of which is controlled in Nix. If you need to
7070+ configure the particular packages manually you can override the
7171+ packages like:
7272+ </para>
7373+ <programlisting>
5174wingpanel-with-indicators.override {
5275 indicators = [
5376 pkgs.some-special-indicator
···6083 ];
6184};
6285</programlisting>
6363- please note that, like how the NixOS options describe these as extra plugins, this would only add to the default plugins included with the programs. If for some reason you'd like to configure which plugins to use exactly, both packages have an argument for this:
6464-<programlisting>
8686+ <para>
8787+ please note that, like how the NixOS options describe these as
8888+ extra plugins, this would only add to the default plugins included
8989+ with the programs. If for some reason you'd like to configure
9090+ which plugins to use exactly, both packages have an argument for
9191+ this:
9292+ </para>
9393+ <programlisting>
6594wingpanel-with-indicators.override {
6695 useDefaultIndicators = false;
6796 indicators = specialListOfIndicators;
···72101 plugs = specialListOfPlugs;
73102};
74103</programlisting>
7575- this could be most useful for testing a particular plug-in in isolation.
7676- </para>
7777- </section>
7878- <section xml:id="sec-pantheon-faq">
7979- <title>FAQ</title>
8080-8181- <variablelist>
8282- <varlistentry xml:id="sec-pantheon-faq-messed-up-theme">
8383- <term>
8484- I have switched from a different desktop and Pantheon’s theming looks messed up.
8585- </term>
8686- <listitem>
8787- <para>
8888- Open Switchboard and go to: Administration → About → Restore Default Settings → Restore Settings. This will reset any dconf settings to their Pantheon defaults. Note this could reset certain GNOME specific preferences if that desktop was used prior.
8989- </para>
9090- </listitem>
9191- </varlistentry>
9292- <varlistentry xml:id="sec-pantheon-faq-gnome-and-pantheon">
9393- <term>
9494- I cannot enable both GNOME and Pantheon.
9595- </term>
9696- <listitem>
9797- <para>
9898- This is a known <link xlink:href="https://github.com/NixOS/nixpkgs/issues/64611">issue</link> and there is no known workaround.
9999- </para>
100100- </listitem>
101101- </varlistentry>
102102- <varlistentry xml:id="sec-pantheon-faq-appcenter">
103103- <term>
104104- Does AppCenter work, or is it available?
105105- </term>
106106- <listitem>
107107- <para>
108108- AppCenter has been available since 20.03. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. However, due to missing appstream metadata, the Packagekit backend does not function currently. See this <link xlink:href="https://github.com/NixOS/nixpkgs/issues/15932">issue</link>.
109109- </para>
110110- <para>
111111- If you are using Pantheon, AppCenter should be installed by default if you have <link linkend="module-services-flatpak">Flatpak support</link> enabled. If you also wish to add the <literal>appcenter</literal> Flatpak remote:
112112- </para>
113113-<screen>
114114-<prompt>$ </prompt>flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
115115-</screen>
116116- </listitem>
117117- </varlistentry>
118118- </variablelist>
119119- </section>
104104+ <para>
105105+ this could be most useful for testing a particular plug-in in
106106+ isolation.
107107+ </para>
108108+ </section>
109109+ <section xml:id="sec-pantheon-faq">
110110+ <title>FAQ</title>
111111+ <variablelist>
112112+ <varlistentry>
113113+ <term>
114114+ <anchor xml:id="sec-pantheon-faq-messed-up-theme" />I have
115115+ switched from a different desktop and Pantheon’s theming looks
116116+ messed up.
117117+ </term>
118118+ <listitem>
119119+ <para>
120120+ Open Switchboard and go to: Administration → About → Restore
121121+ Default Settings → Restore Settings. This will reset any
122122+ dconf settings to their Pantheon defaults. Note this could
123123+ reset certain GNOME specific preferences if that desktop was
124124+ used prior.
125125+ </para>
126126+ </listitem>
127127+ </varlistentry>
128128+ <varlistentry>
129129+ <term>
130130+ <anchor xml:id="sec-pantheon-faq-gnome-and-pantheon" />I
131131+ cannot enable both GNOME and Pantheon.
132132+ </term>
133133+ <listitem>
134134+ <para>
135135+ This is a known
136136+ <link xlink:href="https://github.com/NixOS/nixpkgs/issues/64611">issue</link>
137137+ and there is no known workaround.
138138+ </para>
139139+ </listitem>
140140+ </varlistentry>
141141+ <varlistentry>
142142+ <term>
143143+ <anchor xml:id="sec-pantheon-faq-appcenter" />Does AppCenter
144144+ work, or is it available?
145145+ </term>
146146+ <listitem>
147147+ <para>
148148+ AppCenter has been available since 20.03. Starting from
149149+ 21.11, the Flatpak backend should work so you can install
150150+ some Flatpak applications using it. However, due to missing
151151+ appstream metadata, the Packagekit backend does not function
152152+ currently. See this
153153+ <link xlink:href="https://github.com/NixOS/nixpkgs/issues/15932">issue</link>.
154154+ </para>
155155+ <para>
156156+ If you are using Pantheon, AppCenter should be installed by
157157+ default if you have
158158+ <link linkend="module-services-flatpak">Flatpak
159159+ support</link> enabled. If you also wish to add the
160160+ <literal>appcenter</literal> Flatpak remote:
161161+ </para>
162162+ <programlisting>
163163+$ flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
164164+</programlisting>
165165+ </listitem>
166166+ </varlistentry>
167167+ </variablelist>
168168+ </section>
120169</chapter>