Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2021-06-08 06:12:17 +00:00 committed by GitHub
commit 611b09aa2d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
19 changed files with 2418 additions and 1765 deletions

View file

@ -8,7 +8,7 @@
</para>
<xi:include href="functions/library.xml" />
<xi:include href="functions/generators.xml" />
<xi:include href="functions/debug.xml" />
<xi:include href="functions/prefer-remote-fetch.xml" />
<xi:include href="functions/debug.section.xml" />
<xi:include href="functions/prefer-remote-fetch.section.xml" />
<xi:include href="functions/nix-gitignore.section.xml" />
</chapter>

View file

@ -0,0 +1,5 @@
# Debugging Nix Expressions {#sec-debug}
Nix is a unityped, dynamic language, this means every value can potentially appear anywhere. Since it is also non-strict, evaluation order and what ultimately is evaluated might surprise you. Therefore it is important to be able to debug nix expressions.
In the `lib/debug.nix` file you will find a number of functions that help (pretty-)printing values while evaluation is running. You can even specify how deep these values should be printed recursively, and transform them on the fly. Please consult the docstrings in `lib/debug.nix` for usage information.

View file

@ -1,14 +0,0 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
xml:id="sec-debug">
<title>Debugging Nix Expressions</title>
<para>
Nix is a unityped, dynamic language, this means every value can potentially appear anywhere. Since it is also non-strict, evaluation order and what ultimately is evaluated might surprise you. Therefore it is important to be able to debug nix expressions.
</para>
<para>
In the <literal>lib/debug.nix</literal> file you will find a number of functions that help (pretty-)printing values while evaluation is runnnig. You can even specify how deep these values should be printed recursively, and transform them on the fly. Please consult the docstrings in <literal>lib/debug.nix</literal> for usage information.
</para>
</section>

View file

@ -0,0 +1,17 @@
# prefer-remote-fetch overlay {#sec-prefer-remote-fetch}
`prefer-remote-fetch` is an overlay that download sources on remote builder. This is useful when the evaluating machine has a slow upload while the builder can fetch faster directly from the source. To use it, put the following snippet as a new overlay:
```nix
self: super:
(super.prefer-remote-fetch self super)
```
A full configuration example for that sets the overlay up for your own account, could look like this
```ShellSession
$ mkdir ~/.config/nixpkgs/overlays/
$ cat > ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix <<EOF
self: super: super.prefer-remote-fetch self super
EOF
```

View file

@ -1,21 +0,0 @@
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/xinclude"
xml:id="sec-prefer-remote-fetch">
<title>prefer-remote-fetch overlay</title>
<para>
<function>prefer-remote-fetch</function> is an overlay that download sources on remote builder. This is useful when the evaluating machine has a slow upload while the builder can fetch faster directly from the source. To use it, put the following snippet as a new overlay:
<programlisting>
self: super:
(super.prefer-remote-fetch self super)
</programlisting>
A full configuration example for that sets the overlay up for your own account, could look like this
<screen>
<prompt>$ </prompt>mkdir ~/.config/nixpkgs/overlays/
<prompt>$ </prompt>cat &gt; ~/.config/nixpkgs/overlays/prefer-remote-fetch.nix &lt;&lt;EOF
self: super: super.prefer-remote-fetch self super
EOF
</screen>
</para>
</section>

View file

@ -0,0 +1,80 @@
# Abstractions {#sec-module-abstractions}
If you find yourself repeating yourself over and over, its time to abstract. Take, for instance, this Apache HTTP Server configuration:
```nix
{
services.httpd.virtualHosts =
{ "blog.example.org" = {
documentRoot = "/webroot/blog.example.org";
adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
enablePHP = true;
};
"wiki.example.org" = {
documentRoot = "/webroot/wiki.example.org";
adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
enablePHP = true;
};
};
}
```
It defines two virtual hosts with nearly identical configuration; the only difference is the document root directories. To prevent this duplication, we can use a `let`:
```nix
let
commonConfig =
{ adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
};
in
{
services.httpd.virtualHosts =
{ "blog.example.org" = (commonConfig // { documentRoot = "/webroot/blog.example.org"; });
"wiki.example.org" = (commonConfig // { documentRoot = "/webroot/wiki.example.com"; });
};
}
```
The `let commonConfig = ...` defines a variable named `commonConfig`. The `//` operator merges two attribute sets, so the configuration of the second virtual host is the set `commonConfig` extended with the document root option.
You can write a `let` wherever an expression is allowed. Thus, you also could have written:
```nix
{
services.httpd.virtualHosts =
let commonConfig = ...; in
{ "blog.example.org" = (commonConfig // { ... })
"wiki.example.org" = (commonConfig // { ... })
};
}
```
but not `{ let commonConfig = ...; in ...; }` since attributes (as opposed to attribute values) are not expressions.
**Functions** provide another method of abstraction. For instance, suppose that we want to generate lots of different virtual hosts, all with identical configuration except for the document root. This can be done as follows:
```nix
{
services.httpd.virtualHosts =
let
makeVirtualHost = webroot:
{ documentRoot = webroot;
adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
};
in
{ "example.org" = (makeVirtualHost "/webroot/example.org");
"example.com" = (makeVirtualHost "/webroot/example.com");
"example.gov" = (makeVirtualHost "/webroot/example.gov");
"example.nl" = (makeVirtualHost "/webroot/example.nl");
};
}
```
Here, `makeVirtualHost` is a function that takes a single argument `webroot` and returns the configuration for a virtual host. That function is then called for several names to produce the list of virtual host configurations.

View file

@ -1,101 +0,0 @@
<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-module-abstractions">
<title>Abstractions</title>
<para>
If you find yourself repeating yourself over and over, its time to
abstract. Take, for instance, this Apache HTTP Server configuration:
<programlisting>
{
<xref linkend="opt-services.httpd.virtualHosts"/> =
{ "blog.example.org" = {
documentRoot = "/webroot/blog.example.org";
adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
enablePHP = true;
};
"wiki.example.org" = {
documentRoot = "/webroot/wiki.example.org";
adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
enablePHP = true;
};
};
}
</programlisting>
It defines two virtual hosts with nearly identical configuration; the only
difference is the document root directories. To prevent this
duplication, we can use a <literal>let</literal>:
<programlisting>
let
commonConfig =
{ adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
};
in
{
<xref linkend="opt-services.httpd.virtualHosts"/> =
{ "blog.example.org" = (commonConfig // { documentRoot = "/webroot/blog.example.org"; });
"wiki.example.org" = (commonConfig // { documentRoot = "/webroot/wiki.example.com"; });
};
}
</programlisting>
The <literal>let commonConfig = <replaceable>...</replaceable></literal>
defines a variable named <literal>commonConfig</literal>. The
<literal>//</literal> operator merges two attribute sets, so the
configuration of the second virtual host is the set
<literal>commonConfig</literal> extended with the document root option.
</para>
<para>
You can write a <literal>let</literal> wherever an expression is allowed.
Thus, you also could have written:
<programlisting>
{
<xref linkend="opt-services.httpd.virtualHosts"/> =
let commonConfig = <replaceable>...</replaceable>; in
{ "blog.example.org" = (commonConfig // { <replaceable>...</replaceable> })
"wiki.example.org" = (commonConfig // { <replaceable>...</replaceable> })
};
}
</programlisting>
but not <literal>{ let commonConfig = <replaceable>...</replaceable>; in
<replaceable>...</replaceable>; }</literal> since attributes (as opposed to
attribute values) are not expressions.
</para>
<para>
<emphasis>Functions</emphasis> provide another method of abstraction. For
instance, suppose that we want to generate lots of different virtual hosts,
all with identical configuration except for the document root. This can be done
as follows:
<programlisting>
{
<xref linkend="opt-services.httpd.virtualHosts"/> =
let
makeVirtualHost = webroot:
{ documentRoot = webroot;
adminAddr = "alice@example.org";
forceSSL = true;
enableACME = true;
};
in
{ "example.org" = (makeVirtualHost "/webroot/example.org");
"example.com" = (makeVirtualHost "/webroot/example.com");
"example.gov" = (makeVirtualHost "/webroot/example.gov");
"example.nl" = (makeVirtualHost "/webroot/example.nl");
};
}
</programlisting>
Here, <varname>makeVirtualHost</varname> is a function that takes a single
argument <literal>webroot</literal> and returns the configuration for a virtual
host. That function is then called for several names to produce the list of
virtual host configurations.
</para>
</section>

View file

@ -19,7 +19,7 @@ xlink:href="https://nixos.org/nix/manual/#chap-writing-nix-expressions">Nix
constructs useful in NixOS configuration files.
</para>
<xi:include href="config-file.xml" />
<xi:include href="abstractions.xml" />
<xi:include href="../from_md/configuration/abstractions.section.xml" />
<xi:include href="modularity.xml" />
<xi:include href="summary.xml" />
</chapter>

View file

@ -0,0 +1,101 @@
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-module-abstractions">
<title>Abstractions</title>
<para>
If you find yourself repeating yourself over and over, its time to
abstract. Take, for instance, this Apache HTTP Server configuration:
</para>
<programlisting language="bash">
{
services.httpd.virtualHosts =
{ &quot;blog.example.org&quot; = {
documentRoot = &quot;/webroot/blog.example.org&quot;;
adminAddr = &quot;alice@example.org&quot;;
forceSSL = true;
enableACME = true;
enablePHP = true;
};
&quot;wiki.example.org&quot; = {
documentRoot = &quot;/webroot/wiki.example.org&quot;;
adminAddr = &quot;alice@example.org&quot;;
forceSSL = true;
enableACME = true;
enablePHP = true;
};
};
}
</programlisting>
<para>
It defines two virtual hosts with nearly identical configuration;
the only difference is the document root directories. To prevent
this duplication, we can use a <literal>let</literal>:
</para>
<programlisting language="bash">
let
commonConfig =
{ adminAddr = &quot;alice@example.org&quot;;
forceSSL = true;
enableACME = true;
};
in
{
services.httpd.virtualHosts =
{ &quot;blog.example.org&quot; = (commonConfig // { documentRoot = &quot;/webroot/blog.example.org&quot;; });
&quot;wiki.example.org&quot; = (commonConfig // { documentRoot = &quot;/webroot/wiki.example.com&quot;; });
};
}
</programlisting>
<para>
The <literal>let commonConfig = ...</literal> defines a variable
named <literal>commonConfig</literal>. The <literal>//</literal>
operator merges two attribute sets, so the configuration of the
second virtual host is the set <literal>commonConfig</literal>
extended with the document root option.
</para>
<para>
You can write a <literal>let</literal> wherever an expression is
allowed. Thus, you also could have written:
</para>
<programlisting language="bash">
{
services.httpd.virtualHosts =
let commonConfig = ...; in
{ &quot;blog.example.org&quot; = (commonConfig // { ... })
&quot;wiki.example.org&quot; = (commonConfig // { ... })
};
}
</programlisting>
<para>
but not <literal>{ let commonConfig = ...; in ...; }</literal> since
attributes (as opposed to attribute values) are not expressions.
</para>
<para>
<emphasis role="strong">Functions</emphasis> provide another method
of abstraction. For instance, suppose that we want to generate lots
of different virtual hosts, all with identical configuration except
for the document root. This can be done as follows:
</para>
<programlisting language="bash">
{
services.httpd.virtualHosts =
let
makeVirtualHost = webroot:
{ documentRoot = webroot;
adminAddr = &quot;alice@example.org&quot;;
forceSSL = true;
enableACME = true;
};
in
{ &quot;example.org&quot; = (makeVirtualHost &quot;/webroot/example.org&quot;);
&quot;example.com&quot; = (makeVirtualHost &quot;/webroot/example.com&quot;);
&quot;example.gov&quot; = (makeVirtualHost &quot;/webroot/example.gov&quot;);
&quot;example.nl&quot; = (makeVirtualHost &quot;/webroot/example.nl&quot;);
};
}
</programlisting>
<para>
Here, <literal>makeVirtualHost</literal> is a function that takes a
single argument <literal>webroot</literal> and returns the
configuration for a virtual host. That function is then called for
several names to produce the list of virtual host configurations.
</para>
</section>

View file

@ -238,10 +238,10 @@
elpaBuild {
pname = "auctex";
ename = "auctex";
version = "13.0.11";
version = "13.0.12";
src = fetchurl {
url = "https://elpa.gnu.org/packages/auctex-13.0.11.tar";
sha256 = "0sy4f1n38q58vyzw5l0f80ci3j99rb25gbwj0frl0pglfmgzl44k";
url = "https://elpa.gnu.org/packages/auctex-13.0.12.tar";
sha256 = "0fx3l6yyq63mlnapxiqpdhi5l314r3aj63404nly6hcdvc28g9nm";
};
packageRequires = [ emacs ];
meta = {
@ -636,6 +636,21 @@
license = lib.licenses.free;
};
}) {};
consult = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "consult";
ename = "consult";
version = "0.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/consult-0.8.tar";
sha256 = "0vkq8dsj6k3gsdhiyg6ccv49fqgjw6f0db4wjsvm5zbkadjvlm86";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/consult.html";
license = lib.licenses.free;
};
}) {};
context-coloring = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "context-coloring";
@ -816,6 +831,21 @@
license = lib.licenses.free;
};
}) {};
devdocs = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "devdocs";
ename = "devdocs";
version = "0.1";
src = fetchurl {
url = "https://elpa.gnu.org/packages/devdocs-0.1.tar";
sha256 = "1ps2jpp1ckq9839l63p6npqrf85b8zb5akwvjvv7fkm8nvspdkil";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/devdocs.html";
license = lib.licenses.free;
};
}) {};
dict-tree = callPackage ({ elpaBuild, fetchurl, heap, lib, tNFA, trie }:
elpaBuild {
pname = "dict-tree";
@ -906,16 +936,16 @@
license = lib.licenses.free;
};
}) {};
dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
dismal = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "dismal";
ename = "dismal";
version = "1.5";
version = "1.5.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/dismal-1.5.tar";
sha256 = "1vhs6w6c2klsrfjpw8vr5c4gwiw83ppdjhsn2la0fvkm60jmc476";
url = "https://elpa.gnu.org/packages/dismal-1.5.2.tar";
sha256 = "0pl5cnziilm4ps1xzh1fa8irazn7vcp9nsxnxcvjqbkflpcpq5c7";
};
packageRequires = [ cl-lib ];
packageRequires = [ cl-lib emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/dismal.html";
license = lib.licenses.free;
@ -985,10 +1015,10 @@
elpaBuild {
pname = "ebdb";
ename = "ebdb";
version = "0.6.22";
version = "0.6.23";
src = fetchurl {
url = "https://elpa.gnu.org/packages/ebdb-0.6.22.tar";
sha256 = "0dljl21n6508c7ash7l6zgxhpn2wdfzga0va63d4k9nwnqmkvsgz";
url = "https://elpa.gnu.org/packages/ebdb-0.6.23.tar";
sha256 = "0j3jvy9s606qjqcmcjzgck3dp8bhpgly2g00wnswzcgk4makdzld";
};
packageRequires = [ cl-lib emacs seq ];
meta = {
@ -1045,10 +1075,10 @@
elpaBuild {
pname = "eev";
ename = "eev";
version = "20210512";
version = "20210607";
src = fetchurl {
url = "https://elpa.gnu.org/packages/eev-20210512.tar";
sha256 = "0dj49lpqv5vsx02h8mla8cmv5cr5f2qbz74f9dn8q4adpzxsajin";
url = "https://elpa.gnu.org/packages/eev-20210607.tar";
sha256 = "0avd58m8630s4d3ys9g84csscdmf2y1swwwkgzjkrrq8q0j5yd3l";
};
packageRequires = [ emacs ];
meta = {
@ -1241,10 +1271,10 @@
elpaBuild {
pname = "excorporate";
ename = "excorporate";
version = "0.9.6";
version = "1.0.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/excorporate-0.9.6.tar";
sha256 = "0ljav8g1npg0a36x1xxpfs2gvk622fh3si95s3w2vmwa27ynirzj";
url = "https://elpa.gnu.org/packages/excorporate-1.0.0.tar";
sha256 = "1g0wc2kp15ra323b4rxvdh58q9c4h7m20grw6a0cs53m7l9xi62f";
};
packageRequires = [
cl-lib
@ -1742,10 +1772,10 @@
elpaBuild {
pname = "isearch-mb";
ename = "isearch-mb";
version = "0.2";
version = "0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/isearch-mb-0.2.tar";
sha256 = "1mfjppv33cb5f5f6cc1486msxjxfjnnkryc1yax43k6fgzjr0j4h";
url = "https://elpa.gnu.org/packages/isearch-mb-0.3.tar";
sha256 = "01yq1skc6rm9yp80vz2fhh9lbkdb9nhf57h424mrkycdky2w50mx";
};
packageRequires = [ emacs ];
meta = {
@ -1987,10 +2017,10 @@
elpaBuild {
pname = "leaf";
ename = "leaf";
version = "4.4.4";
version = "4.4.8";
src = fetchurl {
url = "https://elpa.gnu.org/packages/leaf-4.4.4.tar";
sha256 = "1npg06zmy21kg2qsqgfm03l7vjib697i96awypcdb0hw5mvmc1a1";
url = "https://elpa.gnu.org/packages/leaf-4.4.8.tar";
sha256 = "0h0ksmgrhn29ci6z8y54dbbzcqlvfs1ra0kmf226gz0dqzk45vb3";
};
packageRequires = [ emacs ];
meta = {
@ -2118,6 +2148,21 @@
license = lib.licenses.free;
};
}) {};
marginalia = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "marginalia";
ename = "marginalia";
version = "0.6";
src = fetchurl {
url = "https://elpa.gnu.org/packages/marginalia-0.6.tar";
sha256 = "05pwaz9643shxnv63l6r9m2c0qf1nc1hy6jiqw01bkvvgg8g4jag";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/marginalia.html";
license = lib.licenses.free;
};
}) {};
markchars = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "markchars";
@ -2276,10 +2321,10 @@
elpaBuild {
pname = "modus-themes";
ename = "modus-themes";
version = "1.3.2";
version = "1.4.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/modus-themes-1.3.2.tar";
sha256 = "085zi3ckf4s1kjskqb04b78rgrhbdhrrp74yksb5w0hl58bd8rsc";
url = "https://elpa.gnu.org/packages/modus-themes-1.4.0.tar";
sha256 = "0ssckl06jk08vaq4g7sxpzvc3ybm339fzbn9qw21w82v1l60rzpm";
};
packageRequires = [ emacs ];
meta = {
@ -2784,10 +2829,10 @@
elpaBuild {
pname = "posframe";
ename = "posframe";
version = "1.0.2";
version = "1.0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/posframe-1.0.2.tar";
sha256 = "19a1dkjyw9m74aamyqrsvzrdwshngqpmjzdngx6v5nifvcilrlnk";
url = "https://elpa.gnu.org/packages/posframe-1.0.3.tar";
sha256 = "0c3lnrydsysv8j25brgc0cckf1hz54yhkginncmw81y1ia43rqmx";
};
packageRequires = [ emacs ];
meta = {
@ -2844,10 +2889,10 @@
elpaBuild {
pname = "pyim";
ename = "pyim";
version = "3.7.6";
version = "3.7.9";
src = fetchurl {
url = "https://elpa.gnu.org/packages/pyim-3.7.6.tar";
sha256 = "1crimmvyppjmds9shfvxy9j5zi3mk133bv5av0fgicm7ddkivksr";
url = "https://elpa.gnu.org/packages/pyim-3.7.9.tar";
sha256 = "00ff1izdwcy53dcwpdn18wwndnw2jsw4bhg8gkqaa60xm468xzkl";
};
packageRequires = [ async emacs xr ];
meta = {
@ -3340,10 +3385,10 @@
elpaBuild {
pname = "shell-command-plus";
ename = "shell-command+";
version = "2.1.0";
version = "2.2.0";
src = fetchurl {
url = "https://elpa.gnu.org/packages/shell-command+-2.1.0.tar";
sha256 = "1jyrnv89989bi03m5h8dj0cllsw3rvyxkiyfrh9v6gpxjwfy8lmq";
url = "https://elpa.gnu.org/packages/shell-command+-2.2.0.tar";
sha256 = "1ms2xk7xfgd3ngwm90hnmlxwpvyb167bislc2wr3ilfrirbbw476";
};
packageRequires = [ emacs ];
meta = {
@ -3734,10 +3779,10 @@
elpaBuild {
pname = "tramp";
ename = "tramp";
version = "2.5.0.4";
version = "2.5.0.5";
src = fetchurl {
url = "https://elpa.gnu.org/packages/tramp-2.5.0.4.tar";
sha256 = "0yk4ckk45gkjp24nfywz49j8pazq33m6pga3lirb5h6zc8an5z24";
url = "https://elpa.gnu.org/packages/tramp-2.5.0.5.tar";
sha256 = "1dclxffynfacvwi2scpda35sxjb42603yyf2p0477qa9b0i4xha0";
};
packageRequires = [ emacs ];
meta = {
@ -3779,10 +3824,10 @@
elpaBuild {
pname = "transient";
ename = "transient";
version = "0.3.2";
version = "0.3.4";
src = fetchurl {
url = "https://elpa.gnu.org/packages/transient-0.3.2.tar";
sha256 = "10zqa245dn6z689z7ap6nx6q9s95whzgybpwl2slpmnawxix2q6i";
url = "https://elpa.gnu.org/packages/transient-0.3.4.tar";
sha256 = "1m71w52cr8f9wm6lybfa003w408lkrl6q9whs53hpp3pl5phhfvb";
};
packageRequires = [ emacs ];
meta = {
@ -3970,10 +4015,10 @@
elpaBuild {
pname = "vertico";
ename = "vertico";
version = "0.10";
version = "0.11";
src = fetchurl {
url = "https://elpa.gnu.org/packages/vertico-0.10.tar";
sha256 = "07bzhxgp3k6q4wl9ijhx4vg8diinn782xhr8axn790a5vj199j78";
url = "https://elpa.gnu.org/packages/vertico-0.11.tar";
sha256 = "0hzwddkac85i449173az8crlksj9ivrqf969r81kbr45ksgr1ij6";
};
packageRequires = [ emacs ];
meta = {
@ -4093,10 +4138,10 @@
elpaBuild {
pname = "webfeeder";
ename = "webfeeder";
version = "1.1.1";
version = "1.1.2";
src = fetchurl {
url = "https://elpa.gnu.org/packages/webfeeder-1.1.1.tar";
sha256 = "09caj12hfdfhlbcsmjyhw728w1f7yq13hdslh793yvfqv83ipvc4";
url = "https://elpa.gnu.org/packages/webfeeder-1.1.2.tar";
sha256 = "1l128q424qsq9jv2wk8cv4zli71rk34q5kgwa9axdz0d27p9l6v4";
};
packageRequires = [ emacs ];
meta = {

View file

@ -8,7 +8,7 @@ To update the list of packages from MELPA,
2. Check for evaluation errors:
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaStablePackages
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../../ -A emacs.pkgs.melpaPackages
3. Run `git commit -m "melpa-packages: $(date -Idate)" recipes-archive-melpa.json`
3. Run `git commit -m "melpa-packages $(date -Idate)" recipes-archive-melpa.json`
## Update from overlay

View file

@ -4,10 +4,10 @@
elpaBuild {
pname = "org";
ename = "org";
version = "20210519";
version = "20210607";
src = fetchurl {
url = "https://orgmode.org/elpa/org-20210519.tar";
sha256 = "14vchfg69wai1yxv1fzvjk185gnfr7d9qrdijf0qmbbr5znci8rf";
url = "https://orgmode.org/elpa/org-20210607.tar";
sha256 = "178z9bnzcdaymnwxf0kkw1yzlzkj5dmdjjwdklc9qb9iv6rckfji";
};
packageRequires = [];
meta = {
@ -19,10 +19,10 @@
elpaBuild {
pname = "org-plus-contrib";
ename = "org-plus-contrib";
version = "20210519";
version = "20210607";
src = fetchurl {
url = "https://orgmode.org/elpa/org-plus-contrib-20210519.tar";
sha256 = "0g765fsc7ssn779xnhjzrxy1sz5b019h7dk1q26yk2w6i540ybfl";
url = "https://orgmode.org/elpa/org-plus-contrib-20210607.tar";
sha256 = "03liivgfcmp0lh6p57bh2gyn85n3sc4p91y374kq8kzc7fzrgzyr";
};
packageRequires = [];
meta = {

View file

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "i3-balance-workspace";
version = "1.8.3";
version = "1.8.4";
src = fetchPypi {
inherit pname version;
sha256 = "1gndzrwff8gfdqjjxv4zf2h2k0x7y97w1c3mrjpihz8xd0hbnk4d";
sha256 = "bb220eb373e290312b0aafe3d7b1cc1cca34c93189a4fca5bee93ef39aafbe3d";
};
propagatedBuildInputs = [ i3ipc ];

View file

@ -4,6 +4,7 @@
, version
, src
, buildInputs ? [ ]
, nativeBuildInputs ? [ ]
, beamDeps ? [ ]
, propagatedBuildInputs ? [ ]
, postPatch ? ""
@ -23,7 +24,7 @@ let
pkg = self: stdenv.mkDerivation (attrs // {
name = "${name}-${version}";
inherit version src buildInputs;
inherit version src;
MIX_ENV = mixEnv;
MIX_DEBUG = if enableDebugInfo then 1 else 0;
@ -37,7 +38,8 @@ let
addToSearchPath ERL_LIBS "$1/lib/erlang/lib"
'';
nativeBuildInputs = [ elixir hex ];
buildInputs = buildInputs ++ [ ];
nativeBuildInputs = nativeBuildInputs ++ [ elixir hex ];
propagatedBuildInputs = propagatedBuildInputs ++ beamDeps;
buildPhase = attrs.buildPhase or ''

View file

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "clojure";
version = "1.10.3.849";
version = "1.10.3.855";
src = fetchurl {
# https://clojure.org/releases/tools
url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
sha256 = "sha256-0bHb6FsCZP1LdxY21+hz6lF+ka9N0yoIHUWVd+zc7wg=";
sha256 = "sha256-y2PuOBRq5kZlTpPV8NwkWhspQKlNxwjl+k/Drwixk4Q=";
};
nativeBuildInputs = [

View file

@ -1,18 +1,17 @@
{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator
, pkg-config, cairo
}:
{ stdenv, lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config, cairo }:
buildDunePackage rec {
pname = "cairo2";
version = "0.6.1";
useDune2 = true;
version = "0.6.2";
src = fetchurl {
url = "https://github.com/Chris00/ocaml-cairo/releases/download/${version}/cairo2-${version}.tbz";
sha256 = "1ik4qf4b9443sliq2z7x9acd40rmzvyzjh3bh98wvjklxbb84a9i";
sha256 = "sha256-a7P1kiVmIwT6Fhtwxs29ffgO4iexsulxUoc9cnJmEK4=";
};
minimalOCamlVersion = "4.02";
useDune2 = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cairo dune-configurator ];
@ -20,7 +19,7 @@ buildDunePackage rec {
# https://github.com/Chris00/ocaml-cairo/issues/19
|| lib.versionAtLeast ocaml.version "4.10");
meta = {
meta = with lib; {
homepage = "https://github.com/Chris00/ocaml-cairo";
description = "Binding to Cairo, a 2D Vector Graphics Library";
longDescription = ''
@ -29,7 +28,7 @@ buildDunePackage rec {
the X Window System, Quartz, Win32, image buffers, PostScript, PDF,
and SVG file output.
'';
license = lib.licenses.lgpl3;
maintainers = with lib.maintainers; [ jirkamarsik vbgl ];
license = licenses.lgpl3;
maintainers = with maintainers; [ jirkamarsik vbgl ];
};
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "earthly";
version = "0.5.14";
version = "0.5.15";
src = fetchFromGitHub {
owner = "earthly";
repo = "earthly";
rev = "v${version}";
sha256 = "sha256-XB3zfbcuEgkqQ7DGnyUJj3K+qUH2DNv3n1/0mlocqfM=";
sha256 = "sha256-3hiiCcCgbWxSfG8XCcoKdNJsQoP2L2G4g4zFQkFtzQI=";
};
vendorSha256 = "sha256-q3dDV0eop2NxXHFrlppWsZrO2Hz1q5xhs1DnB6PvG9g=";

View file

@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
pname = "steam-runtime";
# from https://repo.steampowered.com/steamrt-images-scout/snapshots/
version = "0.20210317.0";
version = "0.20210527.0";
src = fetchurl {
url = "https://repo.steampowered.com/steamrt-images-scout/snapshots/${version}/steam-runtime.tar.xz";
sha256 = "061z2r33n2017prmhdxm82cly3qp3bma2q70pqs57adl65yvg7vw";
sha256 = "1880d1byn265w0vy5p98d8w8virnbywj707ydybj7rixhid2gzdc";
name = "scout-runtime-${version}.tar.gz";
};