Merge staging into staging-next

This commit is contained in:
Frederik Rietdijk 2018-09-02 12:12:00 +02:00
commit 68a6c04783
225 changed files with 18608 additions and 9161 deletions

View file

@ -30,7 +30,7 @@
<section xml:id="sec-cross-packaging">
<title>Packaging in a cross-friendly manner</title>
<section>
<section xml:id="sec-cross-platform-parameters">
<title>Platform parameters</title>
<para>
@ -219,7 +219,7 @@
</variablelist>
</section>
<section>
<section xml:id="sec-cross-specifying-dependencies">
<title>Specifying Dependencies</title>
<para>
@ -304,7 +304,7 @@
</note>
</section>
<section>
<section xml:id="sec-cross-cookbook">
<title>Cross packaging cookbook</title>
<para>
@ -317,7 +317,7 @@
</para>
<qandaset>
<qandaentry>
<qandaentry xml:id="cross-qa-build-c-program-in-build-environment">
<question>
<para>
What if my package's build system needs to build a C program to be run
@ -331,7 +331,7 @@
</para>
</answer>
</qandaentry>
<qandaentry>
<qandaentry xml:id="cross-qa-fails-to-find-ar">
<question>
<para>
My package fails to find <command>ar</command>.
@ -347,7 +347,7 @@
</para>
</answer>
</qandaentry>
<qandaentry>
<qandaentry xml:id="cross-testsuite-runs-host-code">
<question>
<para>
My package's testsuite needs to run host platform code.

View file

@ -8,7 +8,7 @@
under attribute <varname>texlive</varname>.
</para>
<section>
<section xml:id="sec-language-texlive-users-guide">
<title>User's guide</title>
<itemizedlist>
@ -68,7 +68,7 @@ nix-repl> texlive.collection-&lt;TAB>
</itemizedlist>
</section>
<section>
<section xml:id="sec-language-texlive-known-problems">
<title>Known problems</title>
<itemizedlist>

View file

@ -6,7 +6,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-multiple-output">
<title>Multiple-output packages</title>
<section>
<section xml:id="sec-multiple-outputs-introduction">
<title>Introduction</title>
<para>
@ -38,7 +38,7 @@
</para>
</note>
</section>
<section>
<section xml:id="sec-multiple-outputs-installing">
<title>Installing a split package</title>
<para>
@ -84,7 +84,7 @@
</listitem>
</itemizedlist>
</section>
<section>
<section xml:id="sec-multiple-outputs-using-split-packages">
<title>Using a split package</title>
<para>
@ -102,7 +102,7 @@
also added. (See <xref linkend="multiple-output-file-type-groups" />.)
</para>
</section>
<section>
<section xml:id="sec-multiple-outputs-">
<title>Writing a split derivation</title>
<para>
@ -283,7 +283,7 @@
</variablelist>
</section>
<section>
<section xml:id="sec-multiple-outputs-caveats">
<title>Common caveats</title>
<itemizedlist>

View file

@ -181,7 +181,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
</section>
<!--============================================================-->
<!--
<section>
<section xml:id="sec-package-notes-gnome">
<title>Gnome</title>
<para>* Expression is auto-generated</para>
<para>* How to update</para>
@ -189,7 +189,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
-->
<!--============================================================-->
<!--
<section>
<section xml:id="sec-package-notes-gcc">
<title>GCC</title>
<para></para>
</section>

View file

@ -2,7 +2,7 @@
<article xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Nixpkgs Release Notes</title>
<section>
<section xml:id="release-notes-0.14">
<title>Release 0.14 (June 4, 2012)</title>
<para>
@ -17,7 +17,7 @@
packages by numerous contributors. For details, see the commit logs.
</para>
</section>
<section>
<section xml:id="release-notes-0.13">
<title>Release 0.13 (February 5, 2010)</title>
<para>
@ -51,7 +51,7 @@
</itemizedlist>
</para>
</section>
<section>
<section xml:id="release-notes-0.12">
<title>Release 0.12 (April 24, 2009)</title>
<para>
@ -145,7 +145,7 @@
<literal>nix-dev</literal> mailing list.
</para>
</section>
<section>
<section xml:id="release-notes-0.11">
<title>Release 0.11 (September 11, 2007)</title>
<para>
@ -344,7 +344,7 @@ export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</prog
Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
</para>
</section>
<section>
<section xml:id="release-notes-0.10">
<title>Release 0.10 (October 12, 2006)</title>
<note>
@ -547,7 +547,7 @@ stdenv.mkDerivation {
Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek.
</para>
</section>
<section>
<section xml:id="release-notes-0.9">
<title>Release 0.9 (January 31, 2006)</title>
<para>
@ -676,7 +676,7 @@ stdenv.mkDerivation {
Martin Bravenboer, Rob Vermaas and Roy van den Broek.
</para>
</section>
<section>
<section xml:id="release-notes-0.8">
<title>Release 0.8 (April 11, 2005)</title>
<para>
@ -700,7 +700,7 @@ stdenv.mkDerivation {
</itemizedlist>
</para>
</section>
<section>
<section xml:id="release-notes-0.7">
<title>Release 0.7 (March 14, 2005)</title>
<itemizedlist>

View file

@ -56,7 +56,7 @@
meant as examples. Their usage is optional and the reviewer is free to adapt
them to their liking.
</para>
<section>
<section xml:id="reviewing-contributions-package-updates">
<title>Package updates</title>
<para>
@ -208,7 +208,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</listitem>
</itemizedlist>
<example>
<example xml:id="reviewing-contributions-sample-package-update">
<title>Sample template for a package update review</title>
<screen>
##### Reviewed points
@ -226,7 +226,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</screen>
</example>
</section>
<section>
<section xml:id="reviewing-contributions-new-packages">
<title>New packages</title>
<para>
@ -320,7 +320,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</listitem>
</itemizedlist>
<example>
<example xml:id="reviewing-contributions-sample-new-package">
<title>Sample template for a new package review</title>
<screen>
##### Reviewed points
@ -346,7 +346,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</screen>
</example>
</section>
<section>
<section xml:id="reviewing-contributions-module-updates">
<title>Module updates</title>
<para>
@ -443,7 +443,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</listitem>
</itemizedlist>
<example>
<example xml:id="reviewing-contributions-sample-module-update">
<title>Sample template for a module update review</title>
<screen>
##### Reviewed points
@ -464,7 +464,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</screen>
</example>
</section>
<section>
<section xml:id="reviewing-contributions-new-modules">
<title>New modules</title>
<para>
@ -542,7 +542,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</listitem>
</itemizedlist>
<example>
<example xml:id="reviewing-contributions-sample-new-module">
<title>Sample template for a new module review</title>
<screen>
##### Reviewed points
@ -564,7 +564,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
</screen>
</example>
</section>
<section>
<section xml:id="reviewing-contributions-other-submissions">
<title>Other submissions</title>
<para>
@ -585,7 +585,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
pull requests fitting this category.
</para>
</section>
<section>
<section xml:id="reviewing-contributions--merging-pull-requests">
<title>Merging pull-requests</title>
<para>

View file

@ -212,7 +212,7 @@ genericBuild
platforms relative to the new derivation's, and whether they are propagated.
The platform distinctions are motivated by cross compilation; see
<xref linkend="chap-cross"/> for exactly what each platform means.
<footnote>
<footnote xml:id="footnote-stdenv-ignored-build-platform">
<para>
The build platform is ignored because it is a mere implementation detail
of the package satisfying the dependency: As a general programming
@ -233,7 +233,7 @@ genericBuild
out only for dependencies whose host platform matches the new derivation's
build platformi.e. which run on the platform where the new derivation
will be built.
<footnote>
<footnote xml:id="footnote-stdenv-native-dependencies-in-path">
<para>
Currently, that means for native builds all dependencies are put on the
<envar>PATH</envar>. But in the future that may not be the case for sake
@ -280,7 +280,7 @@ genericBuild
<link xlink:href="https://en.wikipedia.org/wiki/Natural_deduction">Natural
Deduction</link> using the inference rules. This probably seems a bit
obtuse, but so is the bash code that actually implements it!
<footnote>
<footnote xml:id="footnote-stdenv-find-inputs-location">
<para>
The <function>findInputs</function> function, currently residing in
<filename>pkgs/stdenv/generic/setup.sh</filename>, implements the
@ -1112,7 +1112,7 @@ passthru = {
By default, the configure phase applies some special hackery to all
files called <filename>ltmain.sh</filename> before running the configure
script in order to improve the purity of Libtool-based packages
<footnote>
<footnote xml:id="footnote-stdenv-sys-lib-search-path">
<para>
It clears the
<varname>sys_lib_<replaceable>*</replaceable>search_path</varname>
@ -1151,7 +1151,7 @@ passthru = {
or a subset to control exactly which platform flags are passed.
Compilers and other tools should use this to also pass the target
platform, for example.
<footnote>
<footnote xml:id="footnote-stdenv-build-time-guessing-impurity">
<para>
Eventually these will be passed when in native builds too, to improve
determinism: build-time guessing, as is done today, is a risk of
@ -1732,7 +1732,7 @@ set debug-file-directory ~/.nix-profile/lib/debug
Controls whether the installCheck phase is executed. By default it is
skipped, but if <varname>doInstallCheck</varname> is set to true, the
installCheck phase is usually executed. Thus you should set
<programlisting>doInstallCheck = true;</programlisting>
<programlisting>doInstallCheck = true;</programlisting>
in the derivation to enable install checks. The exception is cross
compilation. Cross compiled builds never run tests, no matter how
<varname>doInstallCheck</varname> is set, as the newly-built program
@ -2213,7 +2213,7 @@ addEnvHooks "$hostOffset" myBashFunction
<command>clang</command> is to be used. Secondly, this helps packages
not get confused when cross-compiling, in which case multiple Bintools
Wrappers may simultaneously be in use.
<footnote>
<footnote xml:id="footnote-stdenv-per-platform-wrapper">
<para>
Each wrapper targets a single platform, so if binaries for multiple
platforms are needed, the underlying binaries must be wrapped multiple

View file

@ -2,7 +2,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xml:id="chap-submitting-changes">
<title>Submitting changes</title>
<section>
<section xml:id="submitting-changes-making-patches">
<title>Making patches</title>
<itemizedlist>
@ -205,7 +205,7 @@ Additional information.
</listitem>
</itemizedlist>
</section>
<section>
<section xml:id="submitting-changes-submitting-changes">
<title>Submitting changes</title>
<itemizedlist>
@ -253,7 +253,7 @@ Additional information.
</listitem>
</itemizedlist>
</section>
<section>
<section xml:id="submitting-changes-pull-request-template">
<title>Pull Request Template</title>
<para>
@ -269,7 +269,7 @@ Additional information.
below:
</para>
<section>
<section xml:id="submitting-changes-tested-with-sandbox">
<title>Tested using sandboxing</title>
<para>
@ -322,7 +322,7 @@ Additional information.
</para>
</section>
<section>
<section xml:id="submitting-changes-platform-diversity">
<title>Built on platform(s)</title>
<para>
@ -334,7 +334,7 @@ Additional information.
</para>
</section>
<section>
<section xml:id="submitting-changes-nixos-tests">
<title>Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)</title>
<para>
@ -350,7 +350,7 @@ Additional information.
</para>
</section>
<section>
<section xml:id="submitting-changes-tested-compilation">
<title>Tested compilation of all pkgs that depend on this change using <command>nox-review</command></title>
<para>
@ -373,7 +373,7 @@ Additional information.
</para>
</section>
<section>
<section xml:id="submitting-changes-tested-execution">
<title>Tested execution of all binary files (usually in <filename>./result/bin/</filename>)</title>
<para>
@ -387,8 +387,8 @@ Additional information.
</para>
</section>
<section>
<title>Meets nixpkgs contribution standards</title>
<section xml:id="submitting-changes-contribution-standards">
<title>Meets Nixpkgs contribution standards</title>
<para>
The last checkbox is fits
@ -402,7 +402,7 @@ Additional information.
</para>
</section>
</section>
<section>
<section xml:id="submitting-changes-hotfixing-pull-requests">
<title>Hotfixing pull requests</title>
<itemizedlist>
@ -430,7 +430,7 @@ Additional information.
</listitem>
</itemizedlist>
</section>
<section>
<section xml:id="submitting-changes-commit-policy">
<title>Commit policy</title>
<itemizedlist>
@ -456,7 +456,7 @@ Additional information.
</listitem>
</itemizedlist>
<section>
<section xml:id="submitting-changes-master-branch">
<title>Master branch</title>
<itemizedlist>
@ -468,7 +468,7 @@ Additional information.
</itemizedlist>
</section>
<section>
<section xml:id="submitting-changes-staging-branch">
<title>Staging branch</title>
<itemizedlist>
@ -493,7 +493,7 @@ Additional information.
</itemizedlist>
</section>
<section>
<section xml:id="submitting-changes-stable-release-branches">
<title>Stable release branches</title>
<itemizedlist>

View file

@ -1570,6 +1570,11 @@
github = "grburst";
name = "Julius Elias";
};
greydot = {
email = "lanablack@amok.cc";
github = "greydot";
name = "Lana Black";
};
gridaphobe = {
email = "eric@seidel.io";
github = "gridaphobe";

View file

@ -11,7 +11,7 @@ manual-combined.xml: generated *.xml
.PHONY: format
format:
find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
find ../../ -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
xmlformat --config-file "../xmlformat.conf" -i {}
.PHONY: fix-misc-xml

View file

@ -66,14 +66,15 @@ nixpkgs.config.packageOverrides = pkgs:
sets the kernels TCP keepalive time to 120 seconds. To see the available
parameters, run <command>sysctl -a</command>.
</para>
<section>
<section xml:id="sec-linux-config-customizing">
<title>Customize your kernel</title>
<para>
The first step before compiling the kernel is to generate an appropriate
<literal>.config</literal> configuration. Either you pass your own config via
the <literal>configfile</literal> setting of <literal>linuxManualConfig</literal>:
<screen><![CDATA[
<literal>.config</literal> configuration. Either you pass your own config
via the <literal>configfile</literal> setting of
<literal>linuxManualConfig</literal>:
<screen><![CDATA[
custom-kernel = super.linuxManualConfig {
inherit (super) stdenv hostPlatform;
inherit (linux_4_9) src;
@ -117,7 +118,7 @@ You can edit the config with this snippet (by default <command>make menuconfig</
]]></screen>
</para>
</section>
<section>
<section xml:id="sec-linux-config-developing-modules">
<title>Developing kernel modules</title>
<para>

View file

@ -74,7 +74,7 @@ The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc
argument is for: it contains the complete, merged system configuration. That
is, <varname>config</varname> is the result of combining the configurations
returned by every module
<footnote>
<footnote xml:id="footnote-nix-is-lazy">
<para>
If youre wondering how its possible that the (indirect)
<emphasis>result</emphasis> of a function is passed as an

View file

@ -20,7 +20,7 @@
NixOS module system.
</para>
<section>
<section xml:id="sec-assertions-warnings">
<title>Warnings</title>
<para>
@ -44,7 +44,7 @@
</programlisting>
</section>
<section>
<section xml:id="sec-assertions-assertions">
<title>Assertions</title>
<para>

View file

@ -11,7 +11,7 @@
value definitions.
</para>
<section>
<section xml:id="sec-option-types-basic">
<title>Basic Types</title>
<para>
@ -196,7 +196,7 @@
</variablelist>
</section>
<section>
<section xml:id="sec-option-types-value">
<title>Value Types</title>
<para>
@ -257,7 +257,7 @@
</variablelist>
</section>
<section>
<section xml:id="sec-option-types-composed">
<title>Composed Types</title>
<para>
@ -483,7 +483,7 @@ config.mod.two = { foo = 2; bar = "two"; };</screen>
</example>
</section>
<section>
<section xml:id="sec-option-types-extending">
<title>Extending types</title>
<para>
@ -543,14 +543,14 @@ nixThings = mkOption {
</variablelist>
</section>
<section>
<section xml:id="sec-option-types-custom">
<title>Custom Types</title>
<para>
Custom types can be created with the <literal>mkOptionType</literal>
function. As type creation includes some more complex topics such as
submodule handling, it is recommended to get familiar with
<filename
<filename
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/types.nix">types.nix</filename>
code before creating a new type.
</para>

View file

@ -10,7 +10,7 @@
sources and presenting it in an accessible style would be a worthy
contribution to the project.
</para>
<section>
<section xml:id="sec-writing-docs-building-the-manual">
<title>Building the Manual</title>
<para>
@ -42,7 +42,7 @@
<filename>./result/share/doc/nixos/index.html</filename>.
</para>
</section>
<section>
<section xml:id="sec-writing-docs-editing-docbook-xml">
<title>Editing DocBook XML</title>
<para>
@ -76,7 +76,7 @@
Issue</link> and someone will handle the conversion to XML for you.
</para>
</section>
<section>
<section xml:id="sec-writing-docs-creating-a-topic">
<title>Creating a Topic</title>
<para>
@ -128,7 +128,7 @@
</itemizedlist>
</para>
</section>
<section>
<section xml:id="sec-writing-docs-adding-a-topic">
<title>Adding a Topic to the Book</title>
<para>

View file

@ -0,0 +1,47 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-installing-behind-proxy">
<title>Installing behind a proxy</title>
<para>
To install NixOS behind a proxy, do the following before running
<literal>nixos-install</literal>.
</para>
<orderedlist numeration="arabic">
<listitem>
<para>
Update proxy configuration in
<literal>/mnt/etc/nixos/configuration.nix</literal> to keep the
internet accessible after reboot.
</para>
<programlisting>
networking.proxy.default = &quot;http://user:password@proxy:port/&quot;;
networking.proxy.noProxy = &quot;127.0.0.1,localhost,internal.domain&quot;;
</programlisting>
</listitem>
<listitem>
<para>
Setup the proxy environment variables in the shell where you are
running <literal>nixos-install</literal>.
</para>
<programlisting>
# proxy_url=&quot;http://user:password@proxy:port/&quot;
# export http_proxy=&quot;$proxy_url&quot;
# export HTTP_PROXY=&quot;$proxy_url&quot;
# export https_proxy=&quot;$proxy_url&quot;
# export HTTPS_PROXY=&quot;$proxy_url&quot;
</programlisting>
</listitem>
</orderedlist>
<note>
<para>
If you are switching networks with different proxy configurations, use the
<literal>nesting.clone</literal> option in
<literal>configuration.nix</literal> to switch proxies at runtime.
Refer to <xref linkend="ch-options" /> for more information.
</para>
</note>
</section>

View file

@ -443,4 +443,5 @@ $ nix-env -i w3m</screen>
<xi:include href="installing-pxe.xml" />
<xi:include href="installing-virtualbox-guest.xml" />
<xi:include href="installing-from-other-distro.xml" />
<xi:include href="installing-behind-a-proxy.xml" />
</chapter>

View file

@ -109,7 +109,7 @@ nixos https://nixos.org/channels/nixos-unstable
so in that case you will not be able to go back to your original channel.
</para>
</warning>
<section>
<section xml:id="sec-upgrading-automatic">
<title>Automatic Upgrades</title>
<para>

View file

@ -8,7 +8,7 @@
<subtitle>Version <xi:include href="./generated/version" parse="text" />
</subtitle>
</info>
<preface>
<preface xml:id="preface">
<title>Preface</title>
<para>
This manual describes how to install, use and extend NixOS, a Linux

View file

@ -15,7 +15,7 @@
<xsl:template match="/expr/list">
<appendix>
<appendix xml:id="appendix-configuration-options">
<title>Configuration Options</title>
<variablelist xml:id="configuration-variable-list">
<xsl:for-each select="attrs">

View file

@ -91,7 +91,7 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
<para>
When enabled the <literal>iproute2</literal> will copy the files expected
by ip route (e.g., <filename>rt_tables</filename>) in
<filename>/run/iproute2</filename>. This allows to write aliases for
<filename>/etc/iproute2</filename>. This allows to write aliases for
routing tables for instance.
</para>
</listitem>
@ -521,6 +521,13 @@ inherit (pkgs.nixos {
all user units for each authenticated user.
</para>
</listitem>
<listitem>
<para>
The default display manager is now LightDM.
To use SLiM set <literal>services.xserver.displayManager.slim.enable</literal>
to <literal>true</literal>.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -4,20 +4,29 @@ with lib;
let
cfg = config.networking.iproute2;
confDir = "/run/iproute2";
in
{
options.networking.iproute2.enable = mkEnableOption "copy IP route configuration files";
config = mkMerge [
({ nixpkgs.config.iproute2.confDir = confDir; })
(mkIf cfg.enable {
system.activationScripts.iproute2 = ''
cp -R ${pkgs.iproute}/etc/iproute2 ${confDir}
chmod -R 664 ${confDir}
chmod +x ${confDir}
options.networking.iproute2 = {
enable = mkEnableOption "copy IP route configuration files";
rttablesExtraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Verbatim lines to add to /etc/iproute2/rt_tables
'';
})
];
};
};
config = mkIf cfg.enable {
environment.etc."iproute2/bpf_pinning" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/bpf_pinning"; };
environment.etc."iproute2/ematch_map" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/ematch_map"; };
environment.etc."iproute2/group" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/group"; };
environment.etc."iproute2/nl_protos" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/nl_protos"; };
environment.etc."iproute2/rt_dsfield" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_dsfield"; };
environment.etc."iproute2/rt_protos" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_protos"; };
environment.etc."iproute2/rt_realms" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_realms"; };
environment.etc."iproute2/rt_scopes" = { mode = "0644"; text = fileContents "${pkgs.iproute}/etc/iproute2/rt_scopes"; };
environment.etc."iproute2/rt_tables" = { mode = "0644"; text = (fileContents "${pkgs.iproute}/etc/iproute2/rt_tables")
+ (optionalString (cfg.rttablesExtraConfig != "") "\n\n${cfg.rttablesExtraConfig}"); };
};
}

View file

@ -13,7 +13,7 @@ let
pkgs.attr
pkgs.bashInteractive # bash with ncurses support
pkgs.bzip2
pkgs.coreutils
pkgs.coreutils-full
pkgs.cpio
pkgs.curl
pkgs.diffutils

View file

@ -23,7 +23,7 @@
bridge.</para></listitem>
</itemizedlist>
<section><title>IBus</title>
<section xml:id="module-services-input-methods-ibus"><title>IBus</title>
<para>IBus is an Intelligent Input Bus. It provides full featured and user
friendly input method user interface.</para>
@ -82,7 +82,7 @@ ibus.engines = with pkgs.ibus-engines; [ table table-others ];
</simplesect>
</section>
<section><title>Fcitx</title>
<section xml:id="module-services-input-methods-fcitx"><title>Fcitx</title>
<para>Fcitx is an input method framework with extension support. It has three
built-in Input Method Engine, Pinyin, QuWei and Table-based input
@ -122,7 +122,7 @@ i18n.inputMethod = {
</itemizedlist>
</section>
<section><title>Nabi</title>
<section xml:id="module-services-input-methods-nabi"><title>Nabi</title>
<para>Nabi is an easy to use Korean X input method. It allows you to enter
phonetic Korean characters (hangul) and pictographic Korean characters
@ -136,7 +136,7 @@ i18n.inputMethod = {
</programlisting>
</section>
<section><title>Uim</title>
<section xml:id="module-services-input-methods-uim"><title>Uim</title>
<para>Uim (short for "universal input method") is a multilingual input method
framework. Applications can use it through so-called bridges.</para>

View file

@ -233,7 +233,7 @@ let
"
# Make our own efi program, we can't rely on "grub-install" since it seems to
# probe for devices, even with --skip-fs-probe.
${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/bootx64.efi -p /EFI/boot -O x86_64-efi \
${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/${if targetArch == "x64" then "bootx64" else "bootx32"}.efi -p /EFI/boot -O ${if targetArch == "x64" then "x86_64" else "i386"}-efi \
$MODULES
cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/

View file

@ -574,6 +574,10 @@ $bootLoaderConfig
# networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password\@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Select internationalisation properties.
# i18n = {
# consoleFont = "Lat2-Terminus16";

View file

@ -10,7 +10,7 @@
to manage your <link xlink:href="https://www.zsh.org/">ZSH</link> configuration
including completion scripts for several CLI tools or custom prompt themes.</para>
<section><title>Basic usage</title>
<section xml:id="module-programs-oh-my-zsh-usage"><title>Basic usage</title>
<para>The module uses the <literal>oh-my-zsh</literal> package with all available features. The
initial setup using Nix expressions is fairly similar to the configuration format
of <literal>oh-my-zsh</literal>.
@ -32,7 +32,7 @@ For a detailed explanation of these arguments please refer to the
configuration and writes it into your <literal>/etc/zshrc</literal>.
</para></section>
<section><title>Custom additions</title>
<section xml:id="module-programs-oh-my-zsh-additions"><title>Custom additions</title>
<para>Sometimes third-party or custom scripts such as a modified theme may be needed.
<literal>oh-my-zsh</literal> provides the
@ -48,7 +48,7 @@ environment variable for this which points to a directory with additional script
</programlisting>
</para></section>
<section><title>Custom environments</title>
<section xml:id="module-programs-oh-my-zsh-environments"><title>Custom environments</title>
<para>There are several extensions for <literal>oh-my-zsh</literal> packaged in <literal>nixpkgs</literal>.
One of them is <link xlink:href="https://github.com/spwhitt/nix-zsh-completions">nix-zsh-completions</link>
@ -77,7 +77,7 @@ as it requires an immutable store path while <literal>custom</literal> shall rem
will be thrown if both <literal>custom</literal> and <literal>customPkgs</literal> are set.</emphasis>
</para></section>
<section><title>Package your own customizations</title>
<section xml:id="module-programs-oh-my-zsh-packaging-customizations"><title>Package your own customizations</title>
<para>If third-party customizations (e.g. new themes) are supposed to be added to <literal>oh-my-zsh</literal>
there are several pitfalls to keep in mind:</para>

View file

@ -11,7 +11,7 @@ retrieval and renewal using the ACME protocol. This is currently only
implemented by and for Let's Encrypt. The alternative ACME client
<literal>simp_le</literal> is used under the hood.</para>
<section><title>Prerequisites</title>
<section xml:id="module-security-acme-prerequisites"><title>Prerequisites</title>
<para>You need to have a running HTTP server for verification. The server must
have a webroot defined that can serve
@ -41,7 +41,7 @@ http {
</section>
<section><title>Configuring</title>
<section xml:id="module-security-acme-configuring"><title>Configuring</title>
<para>To enable ACME certificate retrieval &amp; renewal for a certificate for
<literal>foo.example.com</literal>, add the following in your
@ -66,7 +66,7 @@ options for the <link linkend="opt-security.acme.certs">security.acme</link> mod
</section>
<section><title>Using ACME certificates in Nginx</title>
<section xml:id="module-security-acme-nginx"><title>Using ACME certificates in Nginx</title>
<para>NixOS supports fetching ACME certificates for you by setting
<literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;</literal> in a virtualHost config. We
first create self-signed placeholder certificates in place of the

View file

@ -17,7 +17,7 @@
<para>FoundationDB (or "FDB") is an open source, distributed, transactional
key-value store.</para>
<section><title>Configuring and basic setup</title>
<section xml:id="module-services-foundationdb-configuring"><title>Configuring and basic setup</title>
<para>To enable FoundationDB, add the following to your
<filename>configuration.nix</filename>:
@ -133,7 +133,7 @@ corresponding <option>services.foundationdb.logDir</option> as well.</para>
</section>
<section><title>Scaling processes and backup agents</title>
<section xml:id="module-services-foundationdb-scaling"><title>Scaling processes and backup agents</title>
<para>Scaling the number of server processes is quite easy; simply specify
<option>services.foundationdb.serverProcesses</option> to be the number of
@ -151,7 +151,7 @@ available backup processes.</para>
</section>
<section><title>Clustering</title>
<section xml:id="module-services-foundationdb-clustering"><title>Clustering</title>
<para>FoundationDB on NixOS works similarly to other Linux systems, so this
section will be brief. Please refer to the full FoundationDB documentation for
@ -221,7 +221,7 @@ informing all client processes to do the same.</para>
</section>
<section><title>Client connectivity</title>
<section xml:id="module-services-foundationdb-connectivity"><title>Client connectivity</title>
<para>By default, all clients must use the current
<command>fdb.cluster</command> file to access a given FoundationDB cluster.
@ -232,7 +232,7 @@ to a new node in order to connect, if it is not part of the cluster.</para>
</section>
<section><title>Client authorization and TLS</title>
<section xml:id="module-services-foundationdb-authorization"><title>Client authorization and TLS</title>
<para>By default, any user who can connect to a FoundationDB process with the
correct cluster configuration can access anything. FoundationDB uses a
@ -270,7 +270,7 @@ on.</para>
</section>
<section><title>Backups and Disaster Recovery</title>
<section xml:id="module-services-foundationdb-disaster-recovery"><title>Backups and Disaster Recovery</title>
<para>The usual rules for doing FoundationDB backups apply on NixOS as written
in the FoundationDB manual. However, one important difference is the security
@ -316,7 +316,7 @@ $ sudo -u foundationdb fdbbackup status -t default
</section>
<section><title>Known limitations</title>
<section xml:id="module-services-foundationdb-limitations"><title>Known limitations</title>
<para>The FoundationDB setup for NixOS should currently be considered beta.
FoundationDB is not new software, but the NixOS compilation and integration has
@ -333,7 +333,7 @@ only undergone fairly basic testing of all the available functionality.</para>
</section>
<section><title>Options</title>
<section xml:id="module-services-foundationdb-options"><title>Options</title>
<para>NixOS's FoundationDB module allows you to configure all of the most
relevant configuration options for <command>fdbmonitor</command>, matching it
@ -343,7 +343,7 @@ also read the FoundationDB documentation as well.</para>
</section>
<section><title>Full documentation</title>
<section xml:id="module-services-foundationdb-full-docs"><title>Full documentation</title>
<para>FoundationDB is a complex piece of software, and requires careful
administration to properly use. Full documentation for administration can be

View file

@ -17,7 +17,7 @@
<para>PostgreSQL is an advanced, free relational database.<!-- MORE --></para>
<section><title>Configuring</title>
<section xml:id="module-services-postgres-configuring"><title>Configuring</title>
<para>To enable PostgreSQL, add the following to your
<filename>configuration.nix</filename>:
@ -60,14 +60,14 @@ alice=>
</section>
<section><title>Upgrading</title>
<section xml:id="module-services-postgres-upgrading"><title>Upgrading</title>
<para>FIXME: document dump/upgrade/load cycle.</para>
</section>
<section><title>Options</title>
<section xml:id="module-services-postgres-options"><title>Options</title>
<para>A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>.</para>

View file

@ -39,7 +39,7 @@
starting the Emacs daemon.
</para>
<section>
<section xml:id="module-services-emacs-installing">
<title>Installing <application>Emacs</application></title>
<para>
@ -49,7 +49,7 @@
can be enabled.
</para>
<section>
<section xml:id="module-services-emacs-releases">
<title>The Different Releases of Emacs</title>
<para>
@ -100,7 +100,7 @@
</para>
</section>
<section>
<section xml:id="module-services-emacs-adding-packages">
<title>Adding Packages to Emacs</title>
<para>
Emacs includes an entire ecosystem of functionality beyond
@ -339,7 +339,7 @@ https://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides
</para>
</section>
<section>
<section xml:id="module-services-emacs-advanced">
<title>Advanced Emacs Configuration</title>
<para>
@ -380,7 +380,7 @@ in [...]
</section>
</section>
<section>
<section xml:id="module-services-emacs-running">
<title>Running Emacs as a Service</title>
<para>
<productname>NixOS</productname> provides an optional
@ -396,7 +396,7 @@ in [...]
<filename>modules/services/editors/emacs.nix</filename>
</para>
<section>
<section xml:id="module-services-emacs-enabling">
<title>Enabling the Service</title>
<para>
@ -438,7 +438,7 @@ $ systemctl --user start emacs.service # to start the Emacs daemon
</section>
<section>
<section xml:id="module-services-emacs-starting-client">
<title>Starting the client</title>
<para>
Ensure that the emacs server is enabled, either by customizing
@ -457,7 +457,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
</para>
</section>
<section>
<section xml:id="module-services-emacs-editor-variable">
<title>Configuring the <varname>EDITOR</varname> variable</title>
<!--<title><command>emacsclient</command> as the Default Editor</title>-->
@ -487,7 +487,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
</para>
</section>
<section>
<section xml:id="module-services-emacs-per-user">
<title>Per-User Enabling of the Service</title>
<para>
@ -515,7 +515,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
</section>
</section>
<section>
<section xml:id="module-services-emacs-configuring">
<title>Configuring Emacs</title>
<para>
@ -548,7 +548,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
server-switch-hook, server-done-hook?
-->
<section>
<section xml:id="module-services-emacs-major-mode">
<title>A Major Mode for Nix Expressions</title>
<para>
@ -558,7 +558,7 @@ emacsclient --create-frame --tty # opens a new frame on the current terminal
</para>
</section>
<section>
<section xml:id="module-services-emacs-man-pages">
<title>Accessing man pages</title>
<para>
You can use <function>woman</function> to get completion of all

View file

@ -8,7 +8,7 @@
<para>Gitlab is a feature-rich git hosting service.</para>
<section><title>Prerequisites</title>
<section xml:id="module-services-gitlab-prerequisites"><title>Prerequisites</title>
<para>The gitlab service exposes only an Unix socket at
<literal>/run/gitlab/gitlab-workhorse.socket</literal>. You need to configure a
@ -35,7 +35,7 @@ webserver to proxy HTTP requests to the socket.</para>
</section>
<section><title>Configuring</title>
<section xml:id="module-services-gitlab-configuring"><title>Configuring</title>
<para>Gitlab depends on both PostgreSQL and Redis and will automatically enable
both services. In the case of PostgreSQL, a database and a role will be created.
@ -119,7 +119,7 @@ options for the <link linkend="opt-services.gitlab.enable">services.gitlab</link
</section>
<section><title>Maintenance</title>
<section xml:id="module-services-gitlab-maintenance"><title>Maintenance</title>
<para>You can run Gitlab's rake tasks with <literal>gitlab-rake</literal>
which will be available on the system when gitlab is enabled. You will

View file

@ -16,7 +16,7 @@
<link xlink:href="https://taskwarrior.org/docs/#taskd"/>
</para>
<section>
<section xml:id="module-services-taskserver-configuration">
<title>Configuration</title>
<para>
@ -48,7 +48,7 @@
</para>
</section>
<section>
<section xml:id="module-services-taskserver-nixos-taskserver-tool">
<title>The nixos-taskserver tool</title>
<para>
@ -78,7 +78,7 @@
<option>--help</option> switch.
</para>
</section>
<section>
<section xml:id="module-services-taskserver-declarative-ca-management">
<title>Declarative/automatic CA management</title>
<para>
@ -131,7 +131,7 @@ $ ssh server nixos-taskserver user export my-company alice | sh
<command>task sync</command> after that stage.
</para>
</section>
<section>
<section xml:id="module-services-taskserver-manual-ca-management">
<title>Manual CA management</title>
<para>

View file

@ -8,7 +8,7 @@
<para>Prometheus exporters provide metrics for the <link xlink:href="https://prometheus.io">prometheus monitoring system</link>.</para>
<section><title>Configuration</title>
<section xml:id="module-services-prometheus-exporters-configuration"><title>Configuration</title>
<para>One of the most common exporters is the <link xlink:href="https://github.com/prometheus/node_exporter">node exporter</link>, it provides hardware and OS metrics from the host it's running on. The exporter could be configured as follows:
<programlisting>
services.promtheus.exporters.node = {
@ -33,7 +33,7 @@ For more information about configuration see <literal>man configuration.nix</lit
search through the <link xlink:href="https://nixos.org/nixos/options.html#prometheus.exporters">available options</link>.
</para>
</section>
<section><title>Adding a new exporter</title>
<section xml:id="module-services-prometheus-exporters-new-exporter"><title>Adding a new exporter</title>
<para>To add a new exporter, it has to be packaged first (see <literal>nixpkgs/pkgs/servers/monitoring/prometheus/</literal> for examples), then a module can be added. The postfix exporter is used in this example:</para>
<itemizedlist>
<listitem>

View file

@ -44,6 +44,7 @@ let
systemd.services.${variant} = {
description = "BIRD Internet Routing Daemon (${descr})";
wantedBy = [ "multi-user.target" ];
reloadIfChanged = true;
serviceConfig = {
Type = "forking";
Restart = "on-failure";

View file

@ -14,7 +14,7 @@
upstream is trustworthy).
</para>
<sect1><title>Basic configuration</title>
<sect1 xml:id="sec-dnscrypt-proxy-configuration"><title>Basic configuration</title>
<para>
To enable the client proxy, set
@ -31,7 +31,7 @@
</sect1>
<sect1><title>As a forwarder for another DNS client</title>
<sect1 xml:id="sec-dnscrypt-proxy-forwarder"><title>As a forwarder for another DNS client</title>
<para>
To run the DNSCrypt proxy client as a forwarder for another
@ -42,7 +42,7 @@
</programlisting>
</para>
<sect2><title>dnsmasq</title>
<sect2 xml:id="sec-dnscrypt-proxy-forwarder-dsnmasq"><title>dnsmasq</title>
<para>
<programlisting>
{
@ -53,7 +53,7 @@
</para>
</sect2>
<sect2><title>unbound</title>
<sect2 xml:id="sec-dnscrypt-proxy-forwarder-unbound"><title>unbound</title>
<para>
<programlisting>
{

View file

@ -289,7 +289,7 @@ in {
source = mkOption {
type = types.path;
description = ''
A script.
Path to the hook script.
'';
};
@ -297,12 +297,28 @@ in {
type = types.enum (attrNames dispatcherTypesSubdirMap);
default = "basic";
description = ''
Dispatcher hook type. Only basic hooks are currently available.
Dispatcher hook type. Look up the hooks described at
<link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.html">https://developer.gnome.org/NetworkManager/stable/NetworkManager.html</link>
and choose the type depending on the output folder.
You should then filter the event type (e.g., "up"/"down") from within your script.
'';
};
};
});
default = [];
example = literalExample ''
[ {
source = pkgs.writeText "upHook" '''
if [ "$2" != "up" ]; then
logger "exit: event $2 != up"
fi
# coreutils and iproute are in PATH too
logger "Device $DEVICE_IFACE coming up"
''';
type = "basic";
} ]'';
description = ''
A list of scripts which will be executed in response to network events.
'';
@ -418,6 +434,7 @@ in {
++ lib.imap1 (i: s: {
inherit (s) source;
target = "NetworkManager/dispatcher.d/${dispatcherTypesSubdirMap.${s.type}}03userscript${lib.fixedWidthNumber 4 i}";
mode = "0544";
}) cfg.dispatcherScripts
++ optional (dynamicHostsEnabled)
{ target = "NetworkManager/dnsmasq.d/dyndns.conf";
@ -475,6 +492,14 @@ in {
};
};
systemd.services."NetworkManager-dispatcher" = {
wantedBy = [ "network.target" ];
restartTriggers = [ configFile ];
# useful binaries for user-specified hooks
path = [ pkgs.iproute pkgs.utillinux pkgs.coreutils ];
};
# Turn off NixOS' network management
networking = {
useDHCP = false;

View file

@ -142,6 +142,7 @@ in
${getLib pkgs.attr}/lib/libattr*.so* mr,
${getLib pkgs.lz4}/lib/liblz4*.so* mr,
${getLib pkgs.libkrb5}/lib/lib*.so* mr,
${getLib pkgs.keyutils}/lib/libkeyutils*.so* mr,
@{PROC}/sys/kernel/random/uuid r,
@{PROC}/sys/vm/overcommit_memory r,

View file

@ -15,7 +15,7 @@
</para>
<section>
<section xml:id="module-services-matomo-database-setup">
<title>Database Setup</title>
<para>
@ -51,7 +51,7 @@
</section>
<section>
<section xml:id="module-services-matomo-backups">
<title>Backup</title>
<para>
You only need to take backups of your MySQL database and the
@ -62,7 +62,7 @@
</section>
<section>
<section xml:id="module-services-matomo-issues">
<title>Issues</title>
<itemizedlist>
<listitem>
@ -83,7 +83,7 @@
</section>
<section>
<section xml:id="module-services-matomo-other-web-servers">
<title>Using other Web Servers than nginx</title>
<para>

View file

@ -130,7 +130,7 @@ with lib;
};
sslTrustedCertificate = mkOption {
type = types.path;
type = types.nullOr types.path;
default = null;
example = "/var/root.cert";
description = "Path to root SSL certificate for stapling and client certificates.";

View file

@ -33,10 +33,10 @@ let
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
[org.gnome.desktop.background]
picture-uri='${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png'
picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png'
[org.gnome.desktop.screensaver]
picture-uri='${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png'
picture-uri='${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png'
${cfg.extraGSettingsOverrides}
EOF
@ -132,6 +132,7 @@ in {
fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell-fonts ];
services.xserver.displayManager.gdm.enable = mkDefault true;
services.xserver.displayManager.extraSessionFilePackages = [ pkgs.gnome3.gnome-session ];
services.xserver.displayManager.sessionCommands = ''
@ -161,6 +162,8 @@ in {
# TODO: Create nautilus-with-extensions package
environment.variables.NAUTILUS_EXTENSION_DIR = "${config.system.path}/lib/nautilus/extensions-3.0";
services.xserver.updateDbusEnvironment = true;
environment.variables.GIO_EXTRA_MODULES = [ "${lib.getLib pkgs.gnome3.dconf}/lib/gio/modules"
"${pkgs.gnome3.glib-networking.out}/lib/gio/modules"
"${pkgs.gnome3.gvfs}/lib/gio/modules" ];

View file

@ -41,12 +41,28 @@ in
config = mkIf cfg.enable {
services.xserver.displayManager.slim = {
services.xserver.displayManager.lightdm = {
enable = true;
autoLogin = true;
defaultUser = cfg.user;
autoLogin = {
enable = true;
user = cfg.user;
};
};
# lightdm by default doesn't allow auto login for root, which is
# required by some nixos tests. Override it here.
security.pam.services.lightdm-autologin.text = lib.mkForce ''
auth requisite pam_nologin.so
auth required pam_succeed_if.so quiet
auth required pam_permit.so
account include lightdm
password include lightdm
session include lightdm
'';
};
}

View file

@ -27,6 +27,15 @@ let
Xft.hintstyle: hintslight
'';
mkCases = session:
concatStrings (
mapAttrsToList (name: starts: ''
(${name})
${concatMapStringsSep "\n " (n: n.start) starts}
;;
'') (lib.groupBy (n: n.name) session)
);
# file provided by services.xserver.displayManager.session.wrapper
xsessionWrapper = pkgs.writeScript "xsession-wrapper"
''
@ -139,21 +148,13 @@ let
# Start the window manager.
case "$windowManager" in
${concatMapStrings (s: ''
(${s.name})
${s.start}
;;
'') wm}
${mkCases wm}
(*) echo "$0: Window manager '$windowManager' not found.";;
esac
# Start the desktop manager.
case "$desktopManager" in
${concatMapStrings (s: ''
(${s.name})
${s.start}
;;
'') dm}
${mkCases dm}
(*) echo "$0: Desktop manager '$desktopManager' not found.";;
esac

View file

@ -87,7 +87,7 @@ in
}
];
services.xserver.displayManager.slim.enable = false;
services.xserver.displayManager.lightdm.enable = false;
users.users.gdm =
{ name = "gdm";

View file

@ -115,7 +115,7 @@ in
background = mkOption {
type = types.str;
default = "${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png";
default = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png";
description = ''
The background image or color to use.
'';
@ -191,8 +191,6 @@ in
}
];
services.xserver.displayManager.slim.enable = false;
services.xserver.displayManager.job = {
logToFile = true;

View file

@ -206,8 +206,6 @@ in
}
];
services.xserver.displayManager.slim.enable = false;
services.xserver.displayManager.job = {
logToFile = true;

View file

@ -49,7 +49,7 @@ in
enable = mkOption {
type = types.bool;
default = config.services.xserver.enable;
default = false;
description = ''
Whether to enable SLiM as the display manager.
'';

View file

@ -205,7 +205,7 @@ in {
})
];
services.udev.packages = [ pkgs.libinput ];
services.udev.packages = [ pkgs.libinput.out ];
services.xserver.config =
''

View file

@ -535,6 +535,15 @@ in
config = mkIf cfg.enable {
services.xserver.displayManager.lightdm.enable =
let dmconf = cfg.displayManager;
default = !( dmconf.auto.enable
|| dmconf.gdm.enable
|| dmconf.sddm.enable
|| dmconf.slim.enable
|| dmconf.xpra.enable );
in mkIf (default) true;
hardware.opengl.enable = mkDefault true;
services.xserver.videoDrivers = mkIf (cfg.videoDriver != null) [ cfg.videoDriver ];

View file

@ -162,6 +162,13 @@ in
description = ''
Additional configurations to build based on the current
configuration which then has a lower priority.
To switch to a cloned configuration (e.g. <literal>child-1</literal>)
at runtime, run
<programlisting>
# sudo /run/current-system/fine-tune/child-1/bin/switch-to-configuration test
</programlisting>
'';
};

View file

@ -38,6 +38,8 @@ let
in
pkgs.writeText "grub-config.xml" (builtins.toXML
{ splashImage = f cfg.splashImage;
splashMode = f cfg.splashMode;
backgroundColor = f cfg.backgroundColor;
grub = f grub;
grubTarget = f (grub.grubTarget or "");
shell = "${pkgs.runtimeShell}";
@ -80,6 +82,8 @@ let
"--output" "$out"
] ++ (optional (cfg.fontSize!=null) "--size ${toString cfg.fontSize}")))
);
defaultSplash = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bootloader.png";
in
{
@ -328,6 +332,31 @@ in
'';
};
backgroundColor = mkOption {
type = types.nullOr types.string;
example = "#7EBAE4";
default = null;
description = ''
Background color to be used for GRUB to fill the areas the image isn't filling.
<note><para>
This options has no effect for GRUB 1.
</para></note>
'';
};
splashMode = mkOption {
type = types.enum [ "normal" "stretch" ];
default = "stretch";
description = ''
Whether to stretch the image or show the image in the top-left corner unstretched.
<note><para>
This options has no effect for GRUB 1.
</para></note>
'';
};
font = mkOption {
type = types.nullOr types.path;
default = "${realGrub}/share/grub/unicode.pf2";
@ -531,9 +560,14 @@ in
sha256 = "14kqdx2lfqvh40h6fjjzqgff1mwk74dmbjvmqphi6azzra7z8d59";
}
# GRUB 1.97 doesn't support gzipped XPMs.
else "${pkgs.nixos-artwork.wallpapers.gnome-dark}/share/artwork/gnome/Gnome_Dark.png");
else defaultSplash);
}
(mkIf (cfg.splashImage == defaultSplash) {
boot.loader.grub.backgroundColor = mkDefault "#2F302F";
boot.loader.grub.splashMode = mkDefault "normal";
})
(mkIf cfg.enable {
boot.loader.grub.devices = optional (cfg.device != "") cfg.device;

View file

@ -51,6 +51,8 @@ my $extraEntries = get("extraEntries");
my $extraEntriesBeforeNixOS = get("extraEntriesBeforeNixOS") eq "true";
my $extraInitrd = get("extraInitrd");
my $splashImage = get("splashImage");
my $splashMode = get("splashMode");
my $backgroundColor = get("backgroundColor");
my $configurationLimit = int(get("configurationLimit"));
my $copyKernels = get("copyKernels") eq "true";
my $timeout = int(get("timeout"));
@ -307,10 +309,15 @@ else {
if ($suffix eq ".jpg") {
$suffix = ".jpeg";
}
if ($backgroundColor) {
$conf .= "
background_color '$backgroundColor'
";
}
copy $splashImage, "$bootPath/background$suffix" or die "cannot copy $splashImage to $bootPath\n";
$conf .= "
insmod " . substr($suffix, 1) . "
if background_image " . $grubBoot->path . "/background$suffix; then
if background_image --mode '$splashMode' " . $grubBoot->path . "/background$suffix; then
set color_normal=white/black
set color_highlight=black/white
else

View file

@ -263,6 +263,13 @@ checkFS() {
return 0
fi
# Device might be already mounted manually
# e.g. NBD-device or the host filesystem of the file which contains encrypted root fs
if mount | grep -q "^$device on "; then
echo "skip checking already mounted $device"
return 0
fi
# Optionally, skip fsck on journaling filesystems. This option is
# a hack - it's mostly because e2fsck on ext3 takes much longer to
# recover the journal than the ext3 implementation in the kernel

View file

@ -473,7 +473,12 @@ let
# Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
ip link set "${n}" up
# We try to bring up the logical VLAN interface. If the master
# interface the logical interface is dependent upon is not up yet we will
# fail to immediately bring up the logical interface. The resulting logical
# interface will brought up later when the master interface is up.
ip link set "${n}" up || true
'';
postStop = ''
ip link delete "${n}" || true

View file

@ -249,7 +249,7 @@ in rec {
tests.beegfs = callTest tests/beegfs.nix {};
tests.bittorrent = callTest tests/bittorrent.nix {};
tests.bind = callTest tests/bind.nix {};
tests.blivet = callTest tests/blivet.nix {};
#tests.blivet = callTest tests/blivet.nix {}; # broken since 2017-07024
tests.boot = callSubTests tests/boot.nix {};
tests.boot-stage1 = callTest tests/boot-stage1.nix {};
tests.borgbackup = callTest tests/borgbackup.nix {};
@ -422,6 +422,7 @@ in rec {
tests.yabar = callTest tests/yabar.nix {};
tests.zookeeper = callTest tests/zookeeper.nix {};
tests.morty = callTest tests/morty.nix { };
tests.bcachefs = callTest tests/bcachefs.nix { };
/* Build a bunch of typical closures so that Hydra can keep track of
the evolution of closure sizes. */

38
nixos/tests/bcachefs.nix Normal file
View file

@ -0,0 +1,38 @@
import ./make-test.nix ({ pkgs, ... }: {
name = "bcachefs";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ chiiruno ];
machine = { pkgs, ... }: {
virtualisation.emptyDiskImages = [ 4096 ];
networking.hostId = "deadbeef";
boot.supportedFilesystems = [ "bcachefs" ];
environment.systemPackages = with pkgs; [ parted ];
};
testScript = ''
$machine->succeed("modprobe bcachefs");
$machine->succeed("bcachefs version");
$machine->succeed("ls /dev");
$machine->succeed(
"mkdir /tmp/mnt",
"udevadm settle",
"parted --script /dev/vdb mklabel msdos",
"parted --script /dev/vdb -- mkpart primary 1024M -1s",
"udevadm settle",
# Due to #32279, we cannot use encryption for this test yet
# "echo password | bcachefs format --encrypted /dev/vdb1",
# "echo password | bcachefs unlock /dev/vdb1",
"bcachefs format /dev/vdb1",
"mount -t bcachefs /dev/vdb1 /tmp/mnt",
"udevadm settle",
"bcachefs fs usage /tmp/mnt",
"umount /tmp/mnt",
"udevadm settle"
);
'';
})

View file

@ -10,6 +10,8 @@ import ./make-test.nix ({ pkgs, ... }:
machine = { pkgs, ... }: {
imports = [ ./common/x11.nix ];
services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work
# common/x11.nix enables the auto display manager (lightdm)
services.xserver.displayManager.gdm.enable = false;
environment.gnome3.excludePackages = pkgs.gnome3.optionalPackages;
services.flatpak.enable = true;
environment.systemPackages = with pkgs; [ gnupg gnome-desktop-testing ostree python2 ];

View file

@ -11,7 +11,6 @@ import ./make-test.nix ({ pkgs, ...} : {
services.xserver.enable = true;
services.xserver.displayManager.slim.enable = false;
services.xserver.displayManager.gdm = {
enable = true;
autoLogin = {

View file

@ -11,6 +11,7 @@ import ./make-test.nix ({ pkgs, ...} : {
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = false;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.displayManager.lightdm.autoLogin.enable = true;
services.xserver.displayManager.lightdm.autoLogin.user = "alice";

View file

@ -233,13 +233,16 @@ let
[ sudo
libxml2.bin
libxslt.bin
desktop-file-utils
docbook5
docbook_xsl_ns
unionfs-fuse
ntp
nixos-artwork.wallpapers.gnome-dark
nixos-artwork.wallpapers.simple-dark-gray-bottom
perlPackages.XMLLibXML
perlPackages.ListCompare
shared-mime-info
texinfo
xorg.lndir
# add curl so that rather than seeing the test attempt to download

View file

@ -17,10 +17,11 @@ buildRustPackage rec {
cargoBuildFlags = ["--features cli"];
meta = {
meta = with stdenv.lib; {
description = "Ethereum function call encoding (ABI) utility";
homepage = https://github.com/ethcore/ethabi/;
maintainers = [stdenv.lib.maintainers.dbrock];
maintainers = [ maintainers.dbrock ];
license = licenses.gpl3;
inherit version;
};
}

View file

@ -15,10 +15,11 @@ buildRustPackage rec {
cargoSha256 = "14x8pbjgkz0g724lnvd9mi2alqd6fipjljw6xsraf9gqwijn1kn0";
meta = {
meta = with stdenv.lib; {
description = "Directly run Ethereum bytecode";
homepage = https://github.com/dapphub/ethrun/;
maintainers = [stdenv.lib.maintainers.dbrock];
maintainers = [ maintainers.dbrock ];
license = licenses.gpl3;
broken = true; # mark temporary as broken
inherit version;
};

View file

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
phones. With dfu-util you are able to download firmware to your device or
upload firmware from it.
'';
homepage = http://dfu-util.gnumonks.org/;
homepage = http://dfu-util.sourceforge.net;
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = [ ];

View file

@ -29,10 +29,10 @@ stdenv.mkDerivation rec {
sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
'';
meta = {
meta = with stdenv.lib; {
homepage = http://www.libusb.info;
description = "User-space USB library";
platforms = stdenv.lib.platforms.unix;
maintainers = [ ];
platforms = platforms.unix;
license = licenses.lgpl21;
};
}

View file

@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
TAL-Filter-2 TAL-NoiseMaker TAL-Reverb TAL-Reverb-2 TAL-Reverb-3
TAL-Vocoder-2 TheFunction ThePilgrim Vex Wolpertinger
'';
license = with licenses; [ gpl2 gpl3 gpl2Plus lgpl3 mit ];
maintainers = [ maintainers.goibhniu ];
platforms = [ "x86_64-linux" ];
};

View file

@ -56,7 +56,7 @@ in stdenv.mkDerivation rec {
enableParallelBuilding = true;
postInstall = ''
${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
glib-compile-schemas "$out"/share/glib-2.0/schemas
'';
patches = [ ./0001-Remove-post-install-script-that-hardcodes-paths.patch ];

View file

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
name = "kid3-${version}";
version = "3.6.1";
version = "3.6.2";
src = fetchurl {
url = "mirror://sourceforge/project/kid3/kid3/${version}/${name}.tar.gz";
sha256 = "1bbnd6jgahdiqmsbw6c3x4h517m50db592fnq1w0v4k5aaav4i26";
sha256 = "19yq39fqj19g98cxd4cdgv0f935ckfw0c43cxaxbf27x5f5dj0yz";
};
buildInputs = with stdenv.lib;

View file

@ -1,4 +1,4 @@
{ fetchurl, pythonPackages }:
{ lib, fetchurl, pythonPackages }:
pythonPackages.buildPythonApplication rec {
pname = "lastfmsubmitd";
@ -15,6 +15,7 @@ pythonPackages.buildPythonApplication rec {
meta = {
homepage = https://www.red-bean.com/decklin/lastfmsubmitd/;
license = lib.licenses.mit;
description = "An last.fm audio scrobbler and daemon";
};
}

View file

@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, chromaprint, fetchpatch, fftw, flac, faad2, mp4v2
{ stdenv, fetchFromGitHub, makeWrapper, chromaprint, fetchpatch
, fftw, flac, faad2, glibcLocales, mp4v2
, libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
, pkgconfig, portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite
, taglib, upower, vampSDK
@ -15,8 +16,10 @@ stdenv.mkDerivation rec {
sha256 = "1fm8lkbnxka4haidf6yr8mb3r6vaxmc97hhrp8pcx0fvq2mnzvy2";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
chromaprint fftw flac faad2 mp4v2 libid3tag libmad libopus libshout libsndfile
chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile
libusb1 libvorbis pkgconfig portaudio portmidi protobuf qt4
rubberband scons sqlite taglib upower vampSDK
];
@ -42,6 +45,11 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
fixupPhase = ''
wrapProgram $out/bin/mixxx \
--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive;
'';
meta = with stdenv.lib; {
homepage = https://mixxx.org;
description = "Digital DJ mixing software";

View file

@ -1,16 +1,16 @@
{ fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, libav, curl }:
{ fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, ffmpeg, curl }:
stdenv.mkDerivation rec {
name = "pianobar-2016.06.02";
name = "pianobar-2018.06.22";
src = fetchurl {
url = "http://6xq.net/projects/pianobar/${name}.tar.bz2";
sha256 = "0n9544bfsdp04xqcjm4nhfvp357dx0c3gpys0rjkq09nzv8b1vy6";
sha256 = "1hnlif62vsxgh8j9mcibxwj4gybpgqc11ba729kflpvvi9qmfqwl";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
libao json_c libgcrypt libav curl
libao json_c libgcrypt ffmpeg curl
];
makeFlags="PREFIX=$(out)";

View file

@ -43,13 +43,13 @@ let
];
in stdenv.mkDerivation rec {
name = "pulseeffects-${version}";
version = "4.3.3";
version = "4.3.4";
src = fetchFromGitHub {
owner = "wwmm";
repo = "pulseeffects";
rev = "v${version}";
sha256 = "1krfxvwqimfcsv7f2l722ivzz0qdf5h0pmb702mg65qb160zn065";
sha256 = "0gyyqxfmmp6hbwc10i48sxrgdxansm3vsbwgc6rh89clxwcnfiml";
};
nativeBuildInputs = [

View file

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "WYSIWYG PostScript annotator";
homepage = http://http://flpsed.org/flpsed.html;
homepage = http://flpsed.org/flpsed.html;
license = licenses.gpl3;
platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ fuuzetsu ];

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
{ stdenv, fetchurl, fetchpatch, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
, qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
, qjson, qca2, txt2tags, openssl, darwin, pkgconfig
, withGrass ? true, grass, IOKit, ApplicationServices
@ -37,6 +37,14 @@ stdenv.mkDerivation rec {
sha256 = "00b3a2hfn3i7bdx7x96vz2nj0976vpkhid4ss7n8c33fdvw3k82a";
};
patches = [
# https://github.com/qgis/QGIS/pull/7765
(fetchpatch {
url = "https://github.com/qgis/QGIS/commit/6b61ef361a77f057dc29eb07463007bd9012b253.patch";
sha256 = "1xibcahm18n7nxff1xvwwzjf505hvhiw5dk12is7aclv49h0rdf7";
})
];
# CMAKE_FIND_FRAMEWORK=never stops the installer choosing system
# installed frameworks
# QGIS_MACAPP_BUNDLE=0 stops the installer copying the Qt binaries into the

View file

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance";
homepage = http://code.google.co/p/grafx2/;
homepage = http://pulkomandy.tk/projects/GrafX2;
license = stdenv.lib.licenses.gpl2;
platforms = [ "x86_64-linux" "i686-linux" ];
maintainers = [ stdenv.lib.maintainers.zoomulator ];

View file

@ -39,12 +39,11 @@ stdenv.mkDerivation rec {
#doCheck = false;
meta = {
meta = with stdenv.lib; {
description = "A 3D editor with support for procedural editing";
homepage = http://www.k-3d.org/;
platforms = with stdenv.lib.platforms;
linux;
maintainers = with stdenv.lib.maintainers;
[raskin];
platforms = platforms.linux;
maintainers = [ maintainers.raskin ];
license = licenses.gpl2;
};
}

View file

@ -1,4 +1,4 @@
{ mkDerivation, lib, fetchurl, cmake, extra-cmake-modules
{ mkDerivation, lib, stdenv, fetchurl, cmake, extra-cmake-modules
, karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons
, kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
, kio, kcrash
@ -23,10 +23,10 @@ mkDerivation rec {
karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
ki18n kitemmodels kitemviews kwindowsystem kio kcrash
boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib
openjpeg opencolorio vc poppler_qt5 curl ilmbase
openjpeg opencolorio poppler_qt5 curl ilmbase
qtmultimedia qtx11extras
python3
];
] ++ lib.optional (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) vc;
NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ];

View file

@ -2,17 +2,22 @@
stdenv.mkDerivation rec {
version = "2017-01-12";
version = "2018-08-15";
name = "pbrt-v3-${version}";
src = fetchFromGitHub {
rev = "35b6da3429526f2026fe5e5ebaf36d593e113028";
rev = "86b5821308088deea70b207bc8c22219d0103d65";
owner = "mmp";
repo = "pbrt-v3";
sha256 = "10lvbph13p6ilzqb8sgrvn9gg1zmi8wpy3hhjbqp8dnsa4x0mhj7";
sha256 = "0f7ivsczba6zfk5f0bba1js6dcwf6w6jrkiby147qp1sx5k35cv8";
fetchSubmodules = true;
};
patches = [
# https://github.com/mmp/pbrt-v3/issues/196
./openexr-cmake-3.12.patch
];
buildInputs = [ git flex bison cmake zlib ];
meta = with stdenv.lib; {

View file

@ -0,0 +1,26 @@
diff -ur a/src/ext/openexr/CMakeLists.txt b/src/ext/openexr/CMakeLists.txt
--- a/src/ext/openexr/CMakeLists.txt 1970-01-01 09:00:01.000000000 +0900
+++ b/src/ext/openexr/CMakeLists.txt 2018-08-31 21:44:56.490714484 +0900
@@ -26,22 +26,4 @@
${CMAKE_CURRENT_BINARY_DIR}/IlmBase/config
)
-add_custom_target(CopyIlmBaseLibs
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/Half/$<CONFIGURATION>
- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$<CONFIGURATION>
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/IlmThread/$<CONFIGURATION>
- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$<CONFIGURATION>
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/Iex/$<CONFIGURATION>
- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$<CONFIGURATION>
- COMMAND ${CMAKE_COMMAND} -E copy_directory
- ${CMAKE_CURRENT_BINARY_DIR}/IlmBase/Imath/$<CONFIGURATION>
- ${CMAKE_CURRENT_BINARY_DIR}/OpenEXR/IlmImf/$<CONFIGURATION>
-)
-add_dependencies(CopyIlmBaseLibs Iex Imath IlmThread Half)
-
add_subdirectory(OpenEXR OpenEXR)
-add_dependencies(b44ExpLogTable CopyIlmBaseLibs)
-add_dependencies(dwaLookups CopyIlmBaseLibs)

View file

@ -0,0 +1,43 @@
{ stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools, qtx11extras, poppler_qt5 }:
stdenv.mkDerivation rec {
name = "qcomicbook-${version}";
version = "0.9.1";
src = fetchFromGitHub {
owner = "stolowski";
repo = "QComicBook";
rev = version;
sha256 = "1b769lp6gfwds4jb2g7ymhdm9c06zg57zpyz3zpdb40w07zfsjzv";
};
nativeBuildInputs = [
cmake pkgconfig
];
buildInputs = [
qtbase qttools qtx11extras poppler_qt5
];
postInstall = ''
substituteInPlace $out/share/applications/*.desktop \
--replace "Exec=qcomicbook" "Exec=$out/bin/qcomicbook"
'';
meta = with stdenv.lib; {
homepage = https://github.com/stolowski/QComicBook;
description = "Comic book reader in Qt5";
license = licenses.gpl2;
longDescription = ''
QComicBook is a viewer for PDF files and comic book archives containing
jpeg/png/xpm/gif/bmp images, which aims at convenience and simplicity.
Features include: automatic unpacking of archive files, full-screen mode, continuous
scrolling mode, double-pages viewing, manga mode, thumbnails view, page scaling,
mouse or keyboard navigation etc.
'';
platforms = platforms.linux;
maintainers = with maintainers; [ greydot ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, libarcus, stb }:
{ stdenv, fetchFromGitHub, fetchpatch, cmake, libarcus, stb }:
stdenv.mkDerivation rec {
name = "curaengine-${version}";
@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "083jmhzmb60rmqw0fhbnlxyblzkmpn3k6zc75xq90x5g3h60wib4";
};
patches = [
# Fixed upstream, but not yet released
(fetchpatch {
url = "https://github.com/Ultimaker/CuraEngine/commit/5aad55bf67e52ce5bdb27a3925af8a4cab441b38.patch";
sha256 = "1hxbslzhkvdg8p33mvlbrpw62gwfqpsdbfca6yhdng9hifl86j3f";
})
];
nativeBuildInputs = [ cmake ];
buildInputs = [ libarcus stb ];

View file

@ -34,9 +34,10 @@ stdenv.mkDerivation rec {
# RCC: Error in 'Resources/application.qrc': Cannot find file 'translations/gc_fr.qm'
enableParallelBuilding = false;
meta = {
meta = with stdenv.lib; {
description = "Performance software for cyclists, runners and triathletes";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.ocharles ];
platforms = platforms.linux;
maintainers = [ maintainers.ocharles ];
license = licenses.gpl3;
};
}

View file

@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
qmakeFlags = [ "CONFIG+=zim_support" ];
meta = {
meta = with stdenv.lib; {
homepage = http://goldendict.org/;
description = "A feature-rich dictionary lookup program";
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ gebner astsmtl ];
platforms = platforms.linux;
maintainers = with maintainers; [ gebner astsmtl ];
license = licenses.gpl3Plus;
};
}

View file

@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
libgphoto2 fuse glib libtool
];
meta = {
meta = with stdenv.lib; {
description = "Fuse FS to mount a digital camera";
maintainers = [
stdenv.lib.maintainers.raskin
];
platforms = stdenv.lib.platforms.linux;
homepage = http://www.gphoto.org/;
maintainers = [ maintainers.raskin ];
platforms = platforms.linux;
license = with licenses; [ lgpl2 gpl2 ];
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "gpsprune-${version}";
version = "19";
version = "19.1";
src = fetchurl {
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
sha256 = "0n08fg55zgpfg1f6lq0n3ngi0n8af1r0rhmbnpik5mjng4m9g3x5";
sha256 = "1drw30z21sdzjc2mcm13yqb5aipvcxmslb2yn6xs3b6b2mx3h2zy";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -14,8 +14,9 @@ stdenv.mkDerivation {
libglade GConf pcre libappindicator-gtk2
];
meta = {
meta = with stdenv.lib; {
description = "GUI for XNEUR keyboard layout switcher";
platforms = stdenv.lib.platforms.linux;
platforms = platforms.linux;
license = with licenses; [ gpl2 gpl3 ];
};
}

View file

@ -20,6 +20,7 @@ in mkDerivation rec {
meta = with lib; {
homepage = http://www.krename.net;
description = "A powerful batch renamer for KDE";
license = licenses.gpl2;
inherit (kconfig.meta) platforms;
maintainers = with maintainers; [ peterhoeg ];
};

View file

@ -22,9 +22,10 @@ buildGoPackage rec {
sha256 = "0zp51g9i8rw6acs4vnrxclbxa5z1v0a0m1xx27szszp0rphcczkx";
};
meta = {
meta = with stdenv.lib; {
description = "Simple stock tracker implemented in go";
homepage = https://github.com/mop-tracker/mop;
platforms = stdenv.lib.platforms.all;
license = licenses.mit;
platforms = platforms.all;
};
}

View file

@ -18,13 +18,13 @@ assert speechdSupport -> speechd != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "navit-${version}";
version = "0.5.1";
version = "0.5.3";
src = fetchFromGitHub {
owner = "navit-gps";
repo = "navit";
rev = "v${version}";
sha256 = "0jf2gjh2sszr5y5c2wvamfj2qggi2y5k3ynb32pak9vhf5xyl5xj";
sha256 = "071drvqzxpxbfh0lf0lra5a97rv8ny40l96n9xl0dx0s8w30j61i";
};
sample_map = fetchurl {
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
# we choose only cmdline and speech-dispatcher speech options.
# espeak builtins is made for non-cmdline OS as winCE
cmakeFlags = [
"-DSAMPLE_MAP=n " "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
"-DSAMPLE_MAP=n " "-DCMAKE_BUILD_TYPE=Release"
"-Dspeech/qt5_espeak=FALSE" "-Dsupport/espeak=FALSE"
];
@ -68,10 +68,11 @@ stdenv.mkDerivation rec {
'';
# TODO: fix upstream?
postFixup = ''
for lib in $(find "$out/lib/navit/" -iname "*.so" ); do
patchelf --set-rpath ${makeLibraryPath buildInputs} $lib
done
libPath = stdenv.lib.makeLibraryPath ([ stdenv.cc.libc ] ++ buildInputs );
postFixup =
''
find "$out/lib" -type f -name "*.so" -exec patchelf --set-rpath $libPath {} \;
wrapProgram $out/bin/navit \
--prefix PATH : ${makeBinPath (
optional xkbdSupport xkbd

View file

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
"$out/lib:${neon}/lib:${libusb.out}/lib:${avahi}/lib:${freeipmi}/lib"
'';
meta = {
meta = with stdenv.lib; {
description = "Network UPS Tools";
longDescription = ''
Network UPS Tools is a collection of programs which provide a common
@ -41,8 +41,9 @@ stdenv.mkDerivation rec {
'';
homepage = http://www.networkupstools.org/;
repositories.git = https://github.com/networkupstools/nut.git;
platforms = with stdenv.lib.platforms; linux;
maintainers = with stdenv.lib.maintainers; [ pierron ];
platforms = platforms.linux;
maintainers = [ maintainers.pierron ];
license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
priority = 10;
};
}

View file

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
buildInputs = [ ncurses gsl ] ++ (with ocamlPackages; [ ocaml camlp4 ]);
meta = {
homepage = http://pessimization.com/software/orpie/;
homepage = https://github.com/pelzlpj/orpie;
description = "A fullscreen RPN calculator for the console";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.all;

View file

@ -31,6 +31,7 @@ pythonPackages.buildPythonApplication rec {
homepage = https://github.com/linuxerwang/pdf-quench;
description = "A visual tool for cropping pdf files";
platforms = platforms.linux;
license = licenses.gpl2;
maintainers = with maintainers; [ flokli ];
};
}

View file

@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
doCheck = false; # no tests
meta = with stdenv.lib; {
homepage = https://gna.org/projects/pdfshuffler/;
homepage = https://sourceforge.net/p/pdfshuffler/wiki/Home;
description = "Merge or split pdf documents and rotate, crop and rearrange their pages";
platforms = platforms.linux;
maintainers = with maintainers; [ mic92 ];

View file

@ -17,7 +17,6 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "A viewer for info files";
homepage = https://alioth.debian.org/projects/pinfo/;
license = licenses.gpl2Plus;
platforms = platforms.unix;
};

View file

@ -28,10 +28,11 @@ stdenv.mkDerivation rec {
cp PosteRazor $out/bin
'';
meta = {
meta = with stdenv.lib; {
homepage = http://posterazor.sourceforge.net/;
description = "Cuts a raster image into pieces which can afterwards be printed out and assembled to a poster";
maintainers = [ stdenv.lib.maintainers.madjar ];
platforms = stdenv.lib.platforms.linux;
maintainers = [ maintainers.madjar ];
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View file

@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
meta = with lib; {
maintainers = with maintainers; [ cstrahan ];
platforms = platforms.darwin;
homepage = https://github.com/julienXX/terminal-notifier;
license = licenses.mit;
platforms = platforms.darwin;
};
}

View file

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A command-line time tracker";
homepage = https://tasktools.org/projects/timewarrior.html;
homepage = https://taskwarrior.org/docs/timewarrior;
license = licenses.mit;
maintainers = with maintainers; [ mrVanDalo ];
platforms = platforms.linux ++ platforms.darwin;

View file

@ -42,7 +42,10 @@ stdenv.mkDerivation rec {
'';
homepage = https://wordnet.princeton.edu/;
license = {
fullName = "WordNet 3.0 license";
url = https://wordnet.princeton.edu/license-and-commercial-use;
};
maintainers = [ ];
platforms = with stdenv.lib.platforms; linux ++ darwin;
};

View file

@ -23,7 +23,10 @@ stdenv.mkDerivation rec {
addToSearchPath PATH .bin
'';
meta = {
platforms = stdenv.lib.platforms.linux;
meta = with stdenv.lib; {
description = "Autoclicker application, which enables you to automatically click the left mousebutton";
homepage = http://xautoclick.sourceforge.net;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -13,9 +13,10 @@ stdenv.mkDerivation {
echo $NIX_LDFLAGS
'';
meta = {
meta = with stdenv.lib; {
description = "A viewer for Microsoft HTML Help files";
homepage = http://xchm.sourceforge.net;
platforms = stdenv.lib.platforms.linux;
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View file

@ -41,11 +41,11 @@ stdenv.mkDerivation {
--set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix}
'';
meta = {
homepage = http://www.foolabs.com/xpdf/;
meta = with stdenv.lib; {
homepage = https://www.xpdfreader.com;
description = "Viewer for Portable Document Format (PDF) files";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.peti ];
license = with licenses; [ gpl2 gpl3 ];
platforms = platforms.unix;
maintainers = [ maintainers.peti ];
};
}

Some files were not shown because too many files have changed in this diff Show more