Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: f6d41b4b1d1f
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: aad81ec8cd15
Choose a head ref

Commits on Oct 23, 2019

  1. Copy the full SHA
    2544b1b View commit details
  2. todoman: 3.6.0 -> 3.7.0

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/todoman/versions
    r-ryantm committed Oct 23, 2019
    Copy the full SHA
    4e8c77b View commit details

Commits on Oct 26, 2019

  1. Copy the full SHA
    b0095d7 View commit details

Commits on Oct 29, 2019

  1. Copy the full SHA
    ef8d146 View commit details

Commits on Oct 30, 2019

  1. Copy the full SHA
    1105cec View commit details
  2. Merge pull request #71799 from marsam/init-node-13_x

    nodejs-13_x: init at 13.0.0
    marsam authored Oct 30, 2019
    Copy the full SHA
    4ac9b7a View commit details
  3. Merge pull request #72041 from bobvanderlinden/pr-ngrok-2.3.35

    ngrok-2: 2.3.29 -> 2.3.35
    marsam authored Oct 30, 2019
    Copy the full SHA
    9089cbd View commit details
  4. Merge pull request #71867 from r-ryantm/auto-update/todoman

    todoman: 3.6.0 -> 3.7.0
    marsam authored Oct 30, 2019
    Copy the full SHA
    66b7ad1 View commit details
  5. diffoscope: add dependency on python pyxattr package

    To be able to diffoscope 2 directories
    raboof committed Oct 30, 2019
    Copy the full SHA
    ea2c7ea View commit details
  6. umoci: 0.4.4

    zokrezyl authored and ehmry committed Oct 30, 2019
    Copy the full SHA
    f23870a View commit details
  7. Merge pull request #72239 from raboof/diffoscope-xattrs

    diffoscope: add dependency on python xattr package
    marsam authored Oct 30, 2019
    Copy the full SHA
    f76c836 View commit details
  8. nixpkgs manual: various improvements in introduction

    - rename to preface to be inline with NixOS manual
    - refer to other manuals
    - use https
    - change example channel to 19.09
    FRidh committed Oct 30, 2019
    Copy the full SHA
    8ee7740 View commit details
  9. nixos manual: reduce toc depth

    to reduce the amount of information presented.
    FRidh committed Oct 30, 2019
    Copy the full SHA
    227dff4 View commit details
  10. Copy the full SHA
    d727754 View commit details
  11. nixos manual: have a toc for each part and chapter

    to be inline with the Nixpkgs manual. This makes navigating to
    particular sections easier.
    FRidh committed Oct 30, 2019
    Copy the full SHA
    70bb2e4 View commit details
  12. Copy the full SHA
    91a7140 View commit details
  13. Merge pull request #72264 from thefloweringash/sensu-go-update

    sensu-go: 5.11.0 -> 5.14.1
    lsix authored Oct 30, 2019
    Copy the full SHA
    1d5c717 View commit details
  14. Merge pull request #72283 from urkud/fix-pinentry-sway

    nixos/gnupg: fix pinentry in sway (fix a typo in 3c39093)
    globin authored Oct 30, 2019
    Copy the full SHA
    a861855 View commit details
  15. Copy the full SHA
    ddbf4c1 View commit details
  16. Copy the full SHA
    680f623 View commit details
  17. Copy the full SHA
    6f7b4b9 View commit details
  18. Copy the full SHA
    acfc517 View commit details
  19. Copy the full SHA
    aad81ec View commit details
Showing with 2,278 additions and 736 deletions.
  1. +0 −9 doc/builders/fetchers.xml
  2. +44 −0 doc/builders/packages/citrix.xml
  3. +24 −0 doc/builders/packages/dlib.xml
  4. +72 −0 doc/builders/packages/eclipse.xml
  5. +17 −0 doc/builders/packages/elm.xml
  6. +17 −17 doc/{ → builders}/packages/emacs.xml
  7. +57 −0 doc/builders/packages/ibus.xml
  8. 0 doc/{ → builders}/packages/index.xml
  9. +5 −5 doc/{ → builders}/packages/kakoune.xml
  10. +85 −0 doc/builders/packages/linux.xml
  11. +1 −1 doc/{ → builders}/packages/locales.xml
  12. +25 −0 doc/builders/packages/nginx.xml
  13. +9 −0 doc/builders/packages/opengl.xml
  14. +25 −0 doc/builders/packages/shell-helpers.xml
  15. +131 −0 doc/builders/packages/steam.xml
  16. +1 −1 doc/{ → builders}/packages/unfree.xml
  17. +85 −0 doc/builders/packages/weechat.xml
  18. +34 −0 doc/builders/packages/xorg.xml
  19. +0 −2 doc/builders/special.xml
  20. +0 −2 doc/builders/trivial-builders.xml
  21. 0 doc/{ → contributing}/coding-conventions.xml
  22. 0 doc/{ → contributing}/contributing-to-documentation.xml
  23. 0 doc/{ → contributing}/quick-start.xml
  24. 0 doc/{ → contributing}/reviewing-contributions.xml
  25. 0 doc/{ → contributing}/submitting-changes.xml
  26. +15 −15 doc/manual.xml
  27. +0 −44 doc/packages/citrix.xml
  28. +0 −24 doc/packages/dlib.xml
  29. +0 −72 doc/packages/eclipse.xml
  30. +0 −17 doc/packages/elm.xml
  31. +0 −57 doc/packages/ibus.xml
  32. +0 −85 doc/packages/linux.xml
  33. +0 −25 doc/packages/nginx.xml
  34. +0 −9 doc/packages/opengl.xml
  35. +0 −25 doc/packages/shell-helpers.xml
  36. +0 −131 doc/packages/steam.xml
  37. +0 −85 doc/packages/weechat.xml
  38. +0 −34 doc/packages/xorg.xml
  39. +12 −11 doc/{introduction.chapter.md → preface.chapter.md}
  40. 0 doc/{ → stdenv}/cross-compilation.xml
  41. 0 doc/{ → stdenv}/meta.xml
  42. 0 doc/{ → stdenv}/multiple-output.xml
  43. 0 doc/{ → stdenv}/platform-notes.xml
  44. 0 doc/{ → stdenv}/stdenv.xml
  45. 0 doc/{ → using}/configuration.xml
  46. 0 doc/{ → using}/overlays.xml
  47. +0 −6 doc/{ → using}/overrides.xml
  48. +6 −0 maintainers/maintainer-list.nix
  49. +1 −2 nixos/doc/manual/default.nix
  50. +1 −26 nixos/doc/manual/manual.xml
  51. +37 −0 nixos/doc/manual/preface.xml
  52. +1 −1 nixos/modules/programs/gnupg.nix
  53. +2 −2 pkgs/applications/office/todoman/default.nix
  54. +23 −0 pkgs/applications/virtualization/umoci/default.nix
  55. +17 −0 pkgs/development/node-packages/composition-v13.nix
  56. +16 −0 pkgs/development/node-packages/default-v13.nix
  57. +1 −0 pkgs/development/node-packages/generate.sh
  58. +3 −0 pkgs/development/node-packages/node-packages-v13.json
  59. +1,451 −0 pkgs/development/node-packages/node-packages-v13.nix
  60. 0 pkgs/development/web/nodejs/{disable-libatomic-darwin.patch → disable-libatomic-darwin-12_x.patch}
  61. +11 −0 pkgs/development/web/nodejs/disable-libatomic-darwin-13_x.patch
  62. +1 −1 pkgs/development/web/nodejs/v12.nix
  63. +12 −0 pkgs/development/web/nodejs/v13.nix
  64. +8 −6 pkgs/servers/monitoring/sensu-go/default.nix
  65. +1 −1 pkgs/tools/misc/diffoscope/default.nix
  66. +0 −3 pkgs/tools/networking/ngrok-2/default.nix
  67. +15 −15 pkgs/tools/networking/ngrok-2/versions.json
  68. +12 −2 pkgs/top-level/all-packages.nix
9 changes: 0 additions & 9 deletions doc/builders/fetchers.xml
Original file line number Diff line number Diff line change
@@ -3,15 +3,12 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="chap-pkgs-fetchers">
<title>Fetchers</title>

<para>
When using Nix, you will frequently need to download source code and other files from the internet. Nixpkgs comes with a few helper functions that allow you to fetch fixed-output derivations in a structured way.
</para>

<para>
The two fetcher primitives are <function>fetchurl</function> and <function>fetchzip</function>. Both of these have two required arguments, a URL and a hash. The hash is typically <literal>sha256</literal>, although many more hash algorithms are supported. Nixpkgs contributors are currently recommended to use <literal>sha256</literal>. This hash will be used by Nix to identify your source. A typical usage of fetchurl is provided below.
</para>

<programlisting><![CDATA[
{ stdenv, fetchurl }:
@@ -23,19 +20,15 @@ stdenv.mkDerivation {
};
}
]]></programlisting>

<para>
The main difference between <function>fetchurl</function> and <function>fetchzip</function> is in how they store the contents. <function>fetchurl</function> will store the unaltered contents of the URL within the Nix store. <function>fetchzip</function> on the other hand will decompress the archive for you, making files and directories directly accessible in the future. <function>fetchzip</function> can only be used with archives. Despite the name, <function>fetchzip</function> is not limited to .zip files and can also be used with any tarball.
</para>

<para>
<function>fetchpatch</function> works very similarly to <function>fetchurl</function> with the same arguments expected. It expects patch files as a source and and performs normalization on them before computing the checksum. For example it will remove comments or other unstable parts that are sometimes added by version control systems and can change over time.
</para>

<para>
Other fetcher functions allow you to add source code directly from a VCS such as subversion or git. These are mostly straightforward names based on the name of the command used with the VCS system. Because they give you a working repository, they act most like <function>fetchzip</function>.
</para>

<variablelist>
<varlistentry>
<term>
@@ -88,11 +81,9 @@ stdenv.mkDerivation {
</listitem>
</varlistentry>
</variablelist>

<para>
A number of fetcher functions wrap part of <function>fetchurl</function> and <function>fetchzip</function>. They are mainly convenience functions intended for commonly used destinations of source code in Nixpkgs. These wrapper fetchers are listed below.
</para>

<variablelist>
<varlistentry>
<term>
44 changes: 44 additions & 0 deletions doc/builders/packages/citrix.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-citrix">
<title>Citrix Workspace</title>

<para>
<note>
<para>
Please note that the <literal>citrix_receiver</literal> package has been deprecated since its development was <link xlink:href="https://docs.citrix.com/en-us/citrix-workspace-app.html">discontinued by upstream</link> and has been replaced by <link xlink:href="https://www.citrix.com/products/workspace-app/">the citrix workspace app</link>.
</para>
</note>
<link xlink:href="https://www.citrix.com/products/receiver/">Citrix Receiver</link> and <link xlink:href="https://www.citrix.com/products/workspace-app/">Citrix Workspace App</link> are a remote desktop viewers which provide access to <link xlink:href="https://www.citrix.com/products/xenapp-xendesktop/">XenDesktop</link> installations.
</para>

<section xml:id="sec-citrix-base">
<title>Basic usage</title>

<para>
The tarball archive needs to be downloaded manually as the license agreements of the vendor for <link xlink:href="https://www.citrix.com/downloads/citrix-receiver/">Citrix Receiver</link> or <link xlink:href="https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html">Citrix Workspace</link> need to be accepted first. Then run <command>nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz</command>. With the archive available in the store the package can be built and installed with Nix.
</para>

<warning>
<title>Caution with <command>nix-shell</command> installs</title>
<para>
It's recommended to install <literal>Citrix Receiver</literal> and/or <literal>Citrix Workspace</literal> using <literal>nix-env -i</literal> or globally to ensure that the <literal>.desktop</literal> files are installed properly into <literal>$XDG_CONFIG_DIRS</literal>. Otherwise it won't be possible to open <literal>.ica</literal> files automatically from the browser to start a Citrix connection.
</para>
</warning>
</section>

<section xml:id="sec-citrix-custom-certs">
<title>Custom certificates</title>

<para>
The <literal>Citrix Workspace App</literal> in <literal>nixpkgs</literal> trust several certificates <link xlink:href="https://curl.haxx.se/docs/caextract.html">from the Mozilla database</link> by default. However several companies using Citrix might require their own corporate certificate. On distros with imperative packaging these certs can be stored easily in <link xlink:href="https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/"><literal>$ICAROOT</literal></link>, however this directory is a store path in <literal>nixpkgs</literal>. In order to work around this issue the package provides a simple mechanism to add custom certificates without rebuilding the entire package using <literal>symlinkJoin</literal>:
<programlisting>
<![CDATA[with import <nixpkgs> { config.allowUnfree = true; };
let extraCerts = [ ./custom-cert-1.pem ./custom-cert-2.pem /* ... */ ]; in
citrix_workspace.override {
inherit extraCerts;
}]]>
</programlisting>
</para>
</section>
</section>
24 changes: 24 additions & 0 deletions doc/builders/packages/dlib.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="dlib">
<title>DLib</title>

<para>
<link xlink:href="http://dlib.net/">DLib</link> is a modern, C++-based toolkit which provides several machine learning algorithms.
</para>

<section xml:id="compiling-without-avx-support">
<title>Compiling without AVX support</title>

<para>
Especially older CPUs don't support <link xlink:href="https://en.wikipedia.org/wiki/Advanced_Vector_Extensions">AVX</link> (<abbrev>Advanced Vector Extensions</abbrev>) instructions that are used by DLib to optimize their algorithms.
</para>

<para>
On the affected hardware errors like <literal>Illegal instruction</literal> will occur. In those cases AVX support needs to be disabled:
<programlisting>self: super: {
dlib = super.dlib.override { avxSupport = false; };
}</programlisting>
</para>
</section>
</section>
72 changes: 72 additions & 0 deletions doc/builders/packages/eclipse.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-eclipse">
<title>Eclipse</title>

<para>
The Nix expressions related to the Eclipse platform and IDE are in <link xlink:href="https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/eclipse"><filename>pkgs/applications/editors/eclipse</filename></link>.
</para>

<para>
Nixpkgs provides a number of packages that will install Eclipse in its various forms. These range from the bare-bones Eclipse Platform to the more fully featured Eclipse SDK or Scala-IDE packages and multiple version are often available. It is possible to list available Eclipse packages by issuing the command:
<screen>
<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses --description
</screen>
Once an Eclipse variant is installed it can be run using the <command>eclipse</command> command, as expected. From within Eclipse it is then possible to install plugins in the usual manner by either manually specifying an Eclipse update site or by installing the Marketplace Client plugin and using it to discover and install other plugins. This installation method provides an Eclipse installation that closely resemble a manually installed Eclipse.
</para>

<para>
If you prefer to install plugins in a more declarative manner then Nixpkgs also offer a number of Eclipse plugins that can be installed in an <emphasis>Eclipse environment</emphasis>. This type of environment is created using the function <varname>eclipseWithPlugins</varname> found inside the <varname>nixpkgs.eclipses</varname> attribute set. This function takes as argument <literal>{ eclipse, plugins ? [], jvmArgs ? [] }</literal> where <varname>eclipse</varname> is a one of the Eclipse packages described above, <varname>plugins</varname> is a list of plugin derivations, and <varname>jvmArgs</varname> is a list of arguments given to the JVM running the Eclipse. For example, say you wish to install the latest Eclipse Platform with the popular Eclipse Color Theme plugin and also allow Eclipse to use more RAM. You could then add
<screen>
packageOverrides = pkgs: {
myEclipse = with pkgs.eclipses; eclipseWithPlugins {
eclipse = eclipse-platform;
jvmArgs = [ "-Xmx2048m" ];
plugins = [ plugins.color-theme ];
};
}
</screen>
to your Nixpkgs configuration (<filename>~/.config/nixpkgs/config.nix</filename>) and install it by running <command>nix-env -f '&lt;nixpkgs&gt;' -iA myEclipse</command> and afterward run Eclipse as usual. It is possible to find out which plugins are available for installation using <varname>eclipseWithPlugins</varname> by running
<screen>
<prompt>$ </prompt>nix-env -f '&lt;nixpkgs&gt;' -qaP -A eclipses.plugins --description
</screen>
</para>

<para>
If there is a need to install plugins that are not available in Nixpkgs then it may be possible to define these plugins outside Nixpkgs using the <varname>buildEclipseUpdateSite</varname> and <varname>buildEclipsePlugin</varname> functions found in the <varname>nixpkgs.eclipses.plugins</varname> attribute set. Use the <varname>buildEclipseUpdateSite</varname> function to install a plugin distributed as an Eclipse update site. This function takes <literal>{ name, src }</literal> as argument where <literal>src</literal> indicates the Eclipse update site archive. All Eclipse features and plugins within the downloaded update site will be installed. When an update site archive is not available then the <varname>buildEclipsePlugin</varname> function can be used to install a plugin that consists of a pair of feature and plugin JARs. This function takes an argument <literal>{ name, srcFeature, srcPlugin }</literal> where <literal>srcFeature</literal> and <literal>srcPlugin</literal> are the feature and plugin JARs, respectively.
</para>

<para>
Expanding the previous example with two plugins using the above functions we have
<screen>
packageOverrides = pkgs: {
myEclipse = with pkgs.eclipses; eclipseWithPlugins {
eclipse = eclipse-platform;
jvmArgs = [ "-Xmx2048m" ];
plugins = [
plugins.color-theme
(plugins.buildEclipsePlugin {
name = "myplugin1-1.0";
srcFeature = fetchurl {
url = "http://…/features/myplugin1.jar";
sha256 = "123…";
};
srcPlugin = fetchurl {
url = "http://…/plugins/myplugin1.jar";
sha256 = "123…";
};
});
(plugins.buildEclipseUpdateSite {
name = "myplugin2-1.0";
src = fetchurl {
stripRoot = false;
url = "http://…/myplugin2.zip";
sha256 = "123…";
};
});
];
};
}
</screen>
</para>
</section>
17 changes: 17 additions & 0 deletions doc/builders/packages/elm.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-elm">
<title>Elm</title>

<para>
To start a development environment do <command>nix-shell -p elmPackages.elm elmPackages.elm-format</command>
</para>

<para>
To update Elm compiler, see <filename>nixpkgs/pkgs/development/compilers/elm/README.md</filename>.
</para>

<para>
To package Elm applications, <link xlink:href="https://github.com/hercules-ci/elm2nix#elm2nix">read about elm2nix</link>.
</para>
</section>
34 changes: 17 additions & 17 deletions doc/packages/emacs.xml → doc/builders/packages/emacs.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-emacs">
<title>Emacs</title>
<title>Emacs</title>

<section xml:id="sec-emacs-config">
<title>Configuring Emacs</title>
<section xml:id="sec-emacs-config">
<title>Configuring Emacs</title>

<para>
The Emacs package comes with some extra helpers to make it easier to configure. <varname>emacsWithPackages</varname> allows you to manage packages from ELPA. This means that you will not have to install that packages from within Emacs. For instance, if you wanted to use <literal>company</literal>, <literal>counsel</literal>, <literal>flycheck</literal>, <literal>ivy</literal>, <literal>magit</literal>, <literal>projectile</literal>, and <literal>use-package</literal> you could use this as a <filename>~/.config/nixpkgs/config.nix</filename> override:
</para>
<para>
The Emacs package comes with some extra helpers to make it easier to configure. <varname>emacsWithPackages</varname> allows you to manage packages from ELPA. This means that you will not have to install that packages from within Emacs. For instance, if you wanted to use <literal>company</literal>, <literal>counsel</literal>, <literal>flycheck</literal>, <literal>ivy</literal>, <literal>magit</literal>, <literal>projectile</literal>, and <literal>use-package</literal> you could use this as a <filename>~/.config/nixpkgs/config.nix</filename> override:
</para>

<screen>
{
@@ -26,9 +26,9 @@
}
</screen>

<para>
You can install it like any other packages via <command>nix-env -iA myEmacs</command>. However, this will only install those packages. It will not <literal>configure</literal> them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provide a <filename>default.el</filename> file in <filename>/share/emacs/site-start/</filename>. Emacs knows to load this file automatically when it starts.
</para>
<para>
You can install it like any other packages via <command>nix-env -iA myEmacs</command>. However, this will only install those packages. It will not <literal>configure</literal> them for us. To do this, we need to provide a configuration file. Luckily, it is possible to do this from within Nix! By modifying the above example, we can make Emacs load a custom config file. The key is to create a package that provide a <filename>default.el</filename> file in <filename>/share/emacs/site-start/</filename>. Emacs knows to load this file automatically when it starts.
</para>

<screen>
{
@@ -108,13 +108,13 @@ cp ${myEmacsConfig} $out/share/emacs/site-lisp/default.el
}
</screen>

<para>
This provides a fairly full Emacs start file. It will load in addition to the user's presonal config. You can always disable it by passing <command>-q</command> to the Emacs command.
</para>
<para>
This provides a fairly full Emacs start file. It will load in addition to the user's presonal config. You can always disable it by passing <command>-q</command> to the Emacs command.
</para>

<para>
Sometimes <varname>emacsWithPackages</varname> is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in <filename>pkgs/top-level/emacs-packages.nix</filename>). But you can't control this priorities when some package is installed as a dependency. You can override it on per-package-basis, providing all the required dependencies manually - but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package you can use <varname>overrideScope'</varname>.
</para>
<para>
Sometimes <varname>emacsWithPackages</varname> is not enough, as this package set has some priorities imposed on packages (with the lowest priority assigned to Melpa Unstable, and the highest for packages manually defined in <filename>pkgs/top-level/emacs-packages.nix</filename>). But you can't control this priorities when some package is installed as a dependency. You can override it on per-package-basis, providing all the required dependencies manually - but it's tedious and there is always a possibility that an unwanted dependency will sneak in through some other package. To completely override such a package you can use <varname>overrideScope'</varname>.
</para>

<screen>
overrides = self: super: rec {
@@ -127,5 +127,5 @@ overrides = self: super: rec {
dante
])
</screen>
</section>
</section>
</section>
</section>
57 changes: 57 additions & 0 deletions doc/builders/packages/ibus.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-ibus-typing-booster">
<title>ibus-engines.typing-booster</title>

<para>
This package is an ibus-based completion method to speed up typing.
</para>

<section xml:id="sec-ibus-typing-booster-activate">
<title>Activating the engine</title>

<para>
IBus needs to be configured accordingly to activate <literal>typing-booster</literal>. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the <link xlink:href="https://mike-fabian.github.io/ibus-typing-booster/documentation.html">upstream docs</link>.
</para>

<para>
On NixOS you need to explicitly enable <literal>ibus</literal> with given engines before customizing your desktop to use <literal>typing-booster</literal>. This can be achieved using the <literal>ibus</literal> module:
<programlisting>{ pkgs, ... }: {
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
};
}</programlisting>
</para>
</section>

<section xml:id="sec-ibus-typing-booster-customize-hunspell">
<title>Using custom hunspell dictionaries</title>

<para>
The IBus engine is based on <literal>hunspell</literal> to support completion in many languages. By default the dictionaries <literal>de-de</literal>, <literal>en-us</literal>, <literal>fr-moderne</literal> <literal>es-es</literal>, <literal>it-it</literal>, <literal>sv-se</literal> and <literal>sv-fi</literal> are in use. To add another dictionary, the package can be overridden like this:
<programlisting>ibus-engines.typing-booster.override {
langs = [ "de-at" "en-gb" ];
}</programlisting>
</para>

<para>
<emphasis>Note: each language passed to <literal>langs</literal> must be an attribute name in <literal>pkgs.hunspellDicts</literal>.</emphasis>
</para>
</section>

<section xml:id="sec-ibus-typing-booster-emoji-picker">
<title>Built-in emoji picker</title>

<para>
The <literal>ibus-engines.typing-booster</literal> package contains a program named <literal>emoji-picker</literal>. To display all emojis correctly, a special font such as <literal>noto-fonts-emoji</literal> is needed:
</para>

<para>
On NixOS it can be installed using the following expression:
<programlisting>{ pkgs, ... }: {
fonts.fonts = with pkgs; [ noto-fonts-emoji ];
}</programlisting>
</para>
</section>
</section>
File renamed without changes.
10 changes: 5 additions & 5 deletions doc/packages/kakoune.xml → doc/builders/packages/kakoune.xml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="sec-kakoune">
<title>Kakoune</title>
<title>Kakoune</title>

<para>
Kakoune can be built to autoload plugins:
<para>
Kakoune can be built to autoload plugins:
<programlisting>(kakoune.override {
configure = {
plugins = with pkgs.kakounePlugins; [ parinfer-rust ];
};
})</programlisting>
</para>
</section>
</para>
</section>
Loading