summary refs log tree commit diff
diff options
context:
space:
mode:
authorpennae <github@quasiparticle.net>2023-01-03 09:12:23 +0100
committerpennae <github@quasiparticle.net>2023-01-10 10:31:59 +0100
commit03c72f224cc721b359c5477aeef4bcfa185477bd (patch)
treef23468f9e647c5bacb73dd4c36296dee177b7ea8
parentda6641a57a7bd33a59c6c00d2f82c9344ca15d2f (diff)
downloadnixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.tar
nixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.tar.gz
nixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.tar.bz2
nixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.tar.lz
nixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.tar.xz
nixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.tar.zst
nixpkgs-03c72f224cc721b359c5477aeef4bcfa185477bd.zip
nixos/pantheon: convert manual chapter to MD
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.md74
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.xml227
3 files changed, 214 insertions, 89 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.md b/nixos/modules/services/x11/desktop-managers/pantheon.md
new file mode 100644
index 00000000000..1c14ede8474
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.md
@@ -0,0 +1,74 @@
+# Pantheon Desktop {#chap-pantheon}
+
+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.
+
+## Enabling Pantheon {#sec-pantheon-enable}
+
+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
+```
+services.xserver.desktopManager.pantheon.enable = true;
+```
+This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set
+```
+services.xserver.displayManager.lightdm.greeters.pantheon.enable = false;
+services.xserver.displayManager.lightdm.enable = false;
+```
+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
+```
+services.pantheon.apps.enable = false;
+```
+You can also use [](#opt-environment.pantheon.excludePackages) to remove any other app (like `elementary-mail`).
+
+## Wingpanel and Switchboard plugins {#sec-pantheon-wingpanel-switchboard}
+
+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:
+
+  - [](#opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators)
+  - [](#opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs)
+
+to configure the programs with plugs or indicators.
+
+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:
+```
+wingpanel-with-indicators.override {
+  indicators = [
+    pkgs.some-special-indicator
+  ];
+};
+
+switchboard-with-plugs.override {
+  plugs = [
+    pkgs.some-special-plug
+  ];
+};
+```
+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:
+```
+wingpanel-with-indicators.override {
+  useDefaultIndicators = false;
+  indicators = specialListOfIndicators;
+};
+
+switchboard-with-plugs.override {
+  useDefaultPlugs = false;
+  plugs = specialListOfPlugs;
+};
+```
+this could be most useful for testing a particular plug-in in isolation.
+
+## FAQ {#sec-pantheon-faq}
+
+[I have switched from a different desktop and Pantheon’s theming looks messed up.]{#sec-pantheon-faq-messed-up-theme}
+  : 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.
+
+[I cannot enable both GNOME and Pantheon.]{#sec-pantheon-faq-gnome-and-pantheon}
+  : This is a known [issue](https://github.com/NixOS/nixpkgs/issues/64611) and there is no known workaround.
+
+[Does AppCenter work, or is it available?]{#sec-pantheon-faq-appcenter}
+  : 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).
+
+    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:
+
+    ```ShellSession
+    $ flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
+    ```
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 5c0203224e1..25d5d861294 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -17,6 +17,8 @@ in
 {
 
   meta = {
+    # Don't edit the docbook xml directly, edit the md and generate it:
+    # `pandoc pantheon.md -t docbook --top-level-division=chapter --extract-media=media -f markdown-smart --lua-filter ../../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua --lua-filter ../../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua > pantheon.xml`
     doc = ./pantheon.xml;
     maintainers = teams.pantheon.members;
   };
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml
index 72ce0edbef5..27ed5977ff0 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.xml
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml
@@ -1,53 +1,76 @@
-<chapter xmlns="http://docbook.org/ns/docbook"
-         xmlns:xlink="http://www.w3.org/1999/xlink"
-         xml:id="chap-pantheon">
- <title>Pantheon Desktop</title>
- <para>
-  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.
- </para>
- <section xml:id="sec-pantheon-enable">
-  <title>Enabling Pantheon</title>
-
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-pantheon">
+  <title>Pantheon Desktop</title>
   <para>
-   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
-<programlisting>
+    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.
+  </para>
+  <section xml:id="sec-pantheon-enable">
+    <title>Enabling Pantheon</title>
+    <para>
+      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
+    </para>
+    <programlisting>
 services.xserver.desktopManager.pantheon.enable = true;
 </programlisting>
-   This automatically enables LightDM and Pantheon's LightDM greeter. If you'd like to disable this, set
-<programlisting>
+    <para>
+      This automatically enables LightDM and Pantheon's LightDM greeter.
+      If you'd like to disable this, set
+    </para>
+    <programlisting>
 services.xserver.displayManager.lightdm.greeters.pantheon.enable = false;
 services.xserver.displayManager.lightdm.enable = false;
 </programlisting>
-   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
-<programlisting>
+    <para>
+      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
+    </para>
+    <programlisting>
 services.pantheon.apps.enable = false;
 </programlisting>
-   You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <literal>elementary-mail</literal>).
-  </para>
- </section>
- <section xml:id="sec-pantheon-wingpanel-switchboard">
-  <title>Wingpanel and Switchboard plugins</title>
-
-  <para>
-   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:
-   <itemizedlist>
-    <listitem>
-     <para>
-      <xref linkend="opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators"/>
-     </para>
-    </listitem>
-    <listitem>
-     <para>
-      <xref linkend="opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs"/>
-     </para>
-    </listitem>
-   </itemizedlist>
-   to configure the programs with plugs or indicators.
-  </para>
-
-  <para>
-   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:
-<programlisting>
+    <para>
+      You can also use
+      <xref linkend="opt-environment.pantheon.excludePackages"></xref>
+      to remove any other app (like <literal>elementary-mail</literal>).
+    </para>
+  </section>
+  <section xml:id="sec-pantheon-wingpanel-switchboard">
+    <title>Wingpanel and Switchboard plugins</title>
+    <para>
+      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:
+    </para>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          <xref linkend="opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators"></xref>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <xref linkend="opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs"></xref>
+        </para>
+      </listitem>
+    </itemizedlist>
+    <para>
+      to configure the programs with plugs or indicators.
+    </para>
+    <para>
+      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:
+    </para>
+    <programlisting>
 wingpanel-with-indicators.override {
   indicators = [
     pkgs.some-special-indicator
@@ -60,8 +83,14 @@ switchboard-with-plugs.override {
   ];
 };
 </programlisting>
-   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:
-<programlisting>
+    <para>
+      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:
+    </para>
+    <programlisting>
 wingpanel-with-indicators.override {
   useDefaultIndicators = false;
   indicators = specialListOfIndicators;
@@ -72,49 +101,69 @@ switchboard-with-plugs.override {
   plugs = specialListOfPlugs;
 };
 </programlisting>
-   this could be most useful for testing a particular plug-in in isolation.
-  </para>
- </section>
- <section xml:id="sec-pantheon-faq">
-  <title>FAQ</title>
-
-  <variablelist>
-   <varlistentry xml:id="sec-pantheon-faq-messed-up-theme">
-    <term>
-     I have switched from a different desktop and Pantheon’s theming looks messed up.
-    </term>
-    <listitem>
-     <para>
-      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.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry xml:id="sec-pantheon-faq-gnome-and-pantheon">
-    <term>
-     I cannot enable both GNOME and Pantheon.
-    </term>
-    <listitem>
-     <para>
-      This is a known <link xlink:href="https://github.com/NixOS/nixpkgs/issues/64611">issue</link> and there is no known workaround.
-     </para>
-    </listitem>
-   </varlistentry>
-   <varlistentry xml:id="sec-pantheon-faq-appcenter">
-    <term>
-     Does AppCenter work, or is it available?
-    </term>
-    <listitem>
-     <para>
-      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>.
-     </para>
-     <para>
-      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:
-     </para>
-<screen>
-<prompt>$ </prompt>flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
-</screen>
-    </listitem>
-   </varlistentry>
-  </variablelist>
- </section>
+    <para>
+      this could be most useful for testing a particular plug-in in
+      isolation.
+    </para>
+  </section>
+  <section xml:id="sec-pantheon-faq">
+    <title>FAQ</title>
+    <variablelist>
+      <varlistentry>
+        <term>
+          <anchor xml:id="sec-pantheon-faq-messed-up-theme" />I have
+          switched from a different desktop and Pantheon’s theming looks
+          messed up.
+        </term>
+        <listitem>
+          <para>
+            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.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <anchor xml:id="sec-pantheon-faq-gnome-and-pantheon" />I
+          cannot enable both GNOME and Pantheon.
+        </term>
+        <listitem>
+          <para>
+            This is a known
+            <link xlink:href="https://github.com/NixOS/nixpkgs/issues/64611">issue</link>
+            and there is no known workaround.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
+          <anchor xml:id="sec-pantheon-faq-appcenter" />Does AppCenter
+          work, or is it available?
+        </term>
+        <listitem>
+          <para>
+            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>.
+          </para>
+          <para>
+            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:
+          </para>
+          <programlisting>
+$ flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
+</programlisting>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+  </section>
 </chapter>