Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk 2017-09-02 11:10:52 +02:00
commit d0dab8a330
341 changed files with 9615 additions and 5193 deletions

View File

@ -23,7 +23,7 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
Examples: Examples:
* nginx: init at 2.0.1 * nginx: init at 2.0.1
* firefox: 3.0 -> 3.1.1 * firefox: 54.0.1 -> 55.0
* nixos/hydra: add bazBaz option * nixos/hydra: add bazBaz option
Dual baz behavior is needed to do foo. Dual baz behavior is needed to do foo.

View File

@ -1 +1 @@
17.09 18.03

View File

@ -365,7 +365,7 @@ splitting up an existing category.</para>
<varlistentry> <varlistentry>
<term>If its a (set of) <emphasis>tool(s)</emphasis>:</term> <term>If its a (set of) <emphasis>tool(s)</emphasis>:</term>
<listitem> <listitem>
<para>(A tool is a relatively small program, especially one intented <para>(A tool is a relatively small program, especially one intended
to be used non-interactively.)</para> to be used non-interactively.)</para>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
@ -456,7 +456,7 @@ splitting up an existing category.</para>
<varlistentry> <varlistentry>
<term>If its a <emphasis>window manager</emphasis>:</term> <term>If its a <emphasis>window manager</emphasis>:</term>
<listitem> <listitem>
<para><filename>applications/window-managers</filename> (e.g. <filename>awesome</filename>, <filename>compiz</filename>, <filename>stumpwm</filename>)</para> <para><filename>applications/window-managers</filename> (e.g. <filename>awesome</filename>, <filename>stumpwm</filename>)</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -608,7 +608,7 @@ evaluate correctly.</para>
</section> </section>
<section xml:id="sec-sources"><title>Fetching Sources</title> <section xml:id="sec-sources"><title>Fetching Sources</title>
<para>There are multiple ways to fetch a package source in nixpkgs. The <para>There are multiple ways to fetch a package source in nixpkgs. The
general guidline is that you should package sources with a high degree of general guideline is that you should package sources with a high degree of
availability. Right now there is only one fetcher which has mirroring availability. Right now there is only one fetcher which has mirroring
support and that is <literal>fetchurl</literal>. Note that you should also support and that is <literal>fetchurl</literal>. Note that you should also
prefer protocols which have a corresponding proxy environment variable. prefer protocols which have a corresponding proxy environment variable.

View File

@ -867,6 +867,62 @@ use the following to get the `scientific` package build with `integer-simple`:
nix-build -A haskell.packages.integer-simple.ghc802.scientific nix-build -A haskell.packages.integer-simple.ghc802.scientific
``` ```
### Quality assurance
The `haskell.lib` library includes a number of functions for checking for
various imperfections in Haskell packages. It's useful to apply these functions
to your own Haskell packages and integrate that in a Continuous Integration
server like [hydra](https://nixos.org/hydra/) to assure your packages maintain a
minimum level of quality. This section discusses some of these functions.
#### buildStrictly
Applying `haskell.lib.buildStrictly` to a Haskell package enables the `-Wall`
and `-Werror` GHC options to turn all warnings into build failures. Additionally
the source of your package is gotten from first invoking `cabal sdist` to ensure
all needed files are listed in the Cabal file.
#### checkUnusedPackages
Applying `haskell.lib.checkUnusedPackages` to a Haskell package invokes
the [packunused](http://hackage.haskell.org/package/packunused) tool on the
package. `packunused` complains when it finds packages listed as build-depends
in the Cabal file which are redundant. For example:
```
$ nix-build -E 'let pkgs = import <nixpkgs> {}; in pkgs.haskell.lib.checkUnusedPackages {} pkgs.haskellPackages.scientific'
these derivations will be built:
/nix/store/3lc51cxj2j57y3zfpq5i69qbzjpvyci1-scientific-0.3.5.1.drv
...
detected package components
~~~~~~~~~~~~~~~~~~~~~~~~~~~
- library
- testsuite(s): test-scientific
- benchmark(s): bench-scientific*
(component names suffixed with '*' are not configured to be built)
library
~~~~~~~
The following package dependencies seem redundant:
- ghc-prim-0.5.0.0
testsuite(test-scientific)
~~~~~~~~~~~~~~~~~~~~~~~~~~
no redundant packages dependencies found
builder for /nix/store/3lc51cxj2j57y3zfpq5i69qbzjpvyci1-scientific-0.3.5.1.drv failed with exit code 1
error: build of /nix/store/3lc51cxj2j57y3zfpq5i69qbzjpvyci1-scientific-0.3.5.1.drv failed
```
As you can see, `packunused` finds out that although the testsuite component has
no redundant dependencies the library component of `scientific-0.3.5.1` depends
on `ghc-prim` which is unused in the library.
## Other resources ## Other resources
- The Youtube video [Nix Loves Haskell](https://www.youtube.com/watch?v=BsBhi_r-OeE) - The Youtube video [Nix Loves Haskell](https://www.youtube.com/watch?v=BsBhi_r-OeE)

View File

@ -590,7 +590,7 @@ By default tests are run because `doCheck = true`. Test dependencies, like
e.g. the test runner, should be added to `buildInputs`. e.g. the test runner, should be added to `buildInputs`.
By default `meta.platforms` is set to the same value By default `meta.platforms` is set to the same value
as the interpreter unless overriden otherwise. as the interpreter unless overridden otherwise.
##### `buildPythonPackage` parameters ##### `buildPythonPackage` parameters

View File

@ -17,7 +17,7 @@ into the `environment.systemPackages` or bring them into scope with
`nix-shell -p rustStable.rustc -p rustStable.cargo`. `nix-shell -p rustStable.rustc -p rustStable.cargo`.
There are also `rustBeta` and `rustNightly` package sets available. There are also `rustBeta` and `rustNightly` package sets available.
These are not updated very regulary. For daily builds use either rustup from These are not updated very regularly. For daily builds use either rustup from
nixpkgs or use the [Rust nightlies overlay](#using-the-rust-nightlies-overlay). nixpkgs or use the [Rust nightlies overlay](#using-the-rust-nightlies-overlay).
## Packaging Rust applications ## Packaging Rust applications

View File

@ -78,7 +78,7 @@ Additional information.
<listitem> <listitem>
<para> <para>
<command>firefox: 3.0 -> 3.1.1</command> <command>firefox: 54.0.1 -> 55.0</command>
</para> </para>
</listitem> </listitem>
@ -223,6 +223,133 @@ Additional information.
</itemizedlist> </itemizedlist>
</section> </section>
<section>
<title>Pull Request Template</title>
<para>
The pull request template helps determine what steps have been made for a
contribution so far, and will help guide maintainers on the status of a
change. The motivation section of the PR should include any extra details
the title does not address and link any existing issues related to the pull
request.
</para>
<para>When a PR is created, it will be pre-populated with some checkboxes detailed below:
</para>
<section>
<title>Tested using sandboxing</title>
<para>
When sandbox builds are enabled, Nix will setup an isolated environment
for each build process. It is used to remove further hidden dependencies
set by the build environment to improve reproducibility. This includes
access to the network during the build outside of
<function>fetch*</function> functions and files outside the Nix store.
Depending on the operating system access to other resources are blocked
as well (ex. inter process communication is isolated on Linux); see <link
xlink:href="https://nixos.org/nix/manual/#description-45">build-use-sandbox</link>
in Nix manual for details.
</para>
<para>
Sandboxing is not enabled by default in Nix due to a small performance
hit on each build. In pull requests for <link
xlink:href="https://github.com/NixOS/nixpkgs/">nixpkgs</link> people
are asked to test builds with sandboxing enabled (see <literal>Tested
using sandboxing</literal> in the pull request template) because
in<link
xlink:href="https://nixos.org/hydra/">https://nixos.org/hydra/</link>
sandboxing is also used.
</para>
<para>
Depending if you use NixOS or other platforms you can use one of the
following methods to enable sandboxing <emphasis role="bold">before</emphasis> building the package:
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">Globally enable sandboxing on NixOS</emphasis>:
add the following to
<filename>configuration.nix</filename>
<screen>nix.useSandbox = true;</screen>
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">Globally enable sandboxing on non-NixOS platforms</emphasis>:
add the following to: <filename>/etc/nix/nix.conf</filename>
<screen>build-use-sandbox = true</screen>
</para>
</listitem>
</itemizedlist>
</para>
</section>
<section>
<title>Built on platform(s)</title>
<para>
Many Nix packages are designed to run on multiple
platforms. As such, it's important to let the maintainer know which
platforms your changes have been tested on. It's not always practical to
test a change on all platforms, and is not required for a pull request to
be merged. Only check the systems you tested the build on in this
section.
</para>
</section>
<section>
<title>Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)</title>
<para>
Packages with automated tests are much more likely to be merged in a
timely fashion because it doesn't require as much manual testing by the
maintainer to verify the functionality of the package. If there are
existing tests for the package, they should be run to verify your changes
do not break the tests. Tests only apply to packages with NixOS modules
defined and can only be run on Linux. For more details on writing and
running tests, see the <link
xlink:href="https://nixos.org/nixos/manual/index.html#sec-nixos-tests">section
in the NixOS manual</link>.
</para>
</section>
<section>
<title>Tested compilation of all pkgs that depend on this change using <command>nox-review</command></title>
<para>
If you are updating a package's version, you can use nox to make sure all
packages that depend on the updated package still compile correctly. This
can be done using the nox utility. The <command>nox-review</command>
utility can look for and build all dependencies either based on
uncommited changes with the <literal>wip</literal> option or specifying a
github pull request number.
</para>
<para>
review uncommitted changes:
<screen>nix-shell -p nox --run nox-review wip</screen>
</para>
<para>
review changes from pull request number 12345:
<screen>nix-shell -p nox --run nox-review pr 12345</screen>
</para>
</section>
<section>
<title>Tested execution of all binary files (usually in <filename>./result/bin/</filename>)</title>
<para>
It's important to test any executables generated by a build when you
change or create a package in nixpkgs. This can be done by looking in
<filename>./result/bin</filename> and running any files in there, or at a
minimum, the main executable for the package. For example, if you make a change
to <package>texlive</package>, you probably would only check the binaries
associated with the change you made rather than testing all of them.
</para>
</section>
<section>
<title>Meets nixpkgs contribution standards</title>
<para>
The last checkbox is fits <link
xlink:href="https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md">CONTRIBUTING.md</link>.
The contributing document has detailed information on standards the Nix
community has for commit messages, reviews, licensing of contributions
you make to the project, etc... Everyone should read and understand the
standards the community has for contributing before submitting a pull
request.
</para>
</section>
</section>
<section> <section>
<title>Hotfixing pull requests</title> <title>Hotfixing pull requests</title>

View File

@ -547,6 +547,7 @@
smironov = "Sergey Mironov <grrwlf@gmail.com>"; smironov = "Sergey Mironov <grrwlf@gmail.com>";
snyh = "Xia Bin <snyh@snyh.org>"; snyh = "Xia Bin <snyh@snyh.org>";
solson = "Scott Olson <scott@solson.me>"; solson = "Scott Olson <scott@solson.me>";
sorpaas = "Wei Tang <hi@that.world>";
spacefrogg = "Michael Raitza <spacefrogg-nixos@meterriblecrew.net>"; spacefrogg = "Michael Raitza <spacefrogg-nixos@meterriblecrew.net>";
spencerjanssen = "Spencer Janssen <spencerjanssen@gmail.com>"; spencerjanssen = "Spencer Janssen <spencerjanssen@gmail.com>";
spinus = "Tomasz Czyż <tomasz.czyz@gmail.com>"; spinus = "Tomasz Czyż <tomasz.czyz@gmail.com>";

View File

@ -17,6 +17,8 @@ rec {
(type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) || (type == "directory" && (baseName == ".git" || baseName == ".svn" || baseName == "CVS" || baseName == ".hg")) ||
# Filter out backup files. # Filter out backup files.
lib.hasSuffix "~" baseName || lib.hasSuffix "~" baseName ||
builtins.match "^.*\.sw[a-z]$" baseName != null ||
# Filter out generates files. # Filter out generates files.
lib.hasSuffix ".o" baseName || lib.hasSuffix ".o" baseName ||
lib.hasSuffix ".so" baseName || lib.hasSuffix ".so" baseName ||

View File

@ -70,6 +70,16 @@ rec {
min = x: y: if x < y then x else y; min = x: y: if x < y then x else y;
max = x: y: if x > y then x else y; max = x: y: if x > y then x else y;
/* Integer modulus
Example:
mod 11 10
=> 1
mod 1 10
=> 1
*/
mod = base: int: base - (int * (builtins.div base int));
/* Reads a JSON file. */ /* Reads a JSON file. */
importJSON = path: importJSON = path:
builtins.fromJSON (builtins.readFile path); builtins.fromJSON (builtins.readFile path);

View File

@ -10,7 +10,7 @@
<title>Release process</title> <title>Release process</title>
<para> <para>
Going through an example of releasing NixOS 15.09: Going through an example of releasing NixOS 17.09:
</para> </para>
<section xml:id="one-month-before-the-beta"> <section xml:id="one-month-before-the-beta">
@ -18,13 +18,13 @@
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem> <listitem>
<para> <para>
Send an email to nix-dev mailinglist as a warning about upcoming beta "feature freeze" in a month. Send an email to the nix-devel mailinglist as a warning about upcoming beta "feature freeze" in a month.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Discuss with Eelco Dolstra and the community (via IRC, ML) about what will reach the deadline. Discuss with Eelco Dolstra and the community (via IRC, ML) about what will reach the deadline.
Any issue or Pull Request targeting the release should have assigned milestone. Any issue or Pull Request targeting the release should be included in the release milestone.
</para> </para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -32,64 +32,6 @@
<section xml:id="at-beta-release-time"> <section xml:id="at-beta-release-time">
<title>At beta release time</title> <title>At beta release time</title>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem>
<para>
Rename <literal>rl-unstable.xml</literal> -&gt;
<literal>rl-1509.xml</literal>.
</para>
</listitem>
<listitem>
<para>
<literal>git tag -a -m &quot;Release 15.09-beta&quot; 15.09-beta &amp;&amp; git push --tags</literal>
</para>
</listitem>
<listitem>
<para>
From the master branch run <literal>git checkout -B release-15.09</literal>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixos-org-configurations/pull/18">
Make sure channel is created at http://nixos.org/channels/.
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/settings/branches">
Lock the branch on github (so developers cant force push)
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">bump
<literal>system.defaultChannel</literal> attribute in
<literal>nixos/modules/misc/version.nix</literal></link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/d6b08acd1ccac0d9d502c4b635e00b04d3387f06">update
<literal>versionSuffix</literal> in
<literal>nixos/release.nix</literal></link>, use
<literal>git log --format=%an|wc -l</literal> to get commit
count
</para>
</listitem>
<listitem>
<para>
<literal>echo -n &quot;16.03&quot; &gt; .version</literal> in
master.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/b8a4095003e27659092892a4708bb3698231a842">pick
a new name for unstable branch.</link>
</para>
</listitem>
<listitem> <listitem>
<para> <para>
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/13559">Create <link xlink:href="https://github.com/NixOS/nixpkgs/issues/13559">Create
@ -99,26 +41,81 @@
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Use https://lwn.net/Vulnerabilities/ and <literal>git tag -a -s -m &quot;Release 17.09-beta&quot; 17.09-beta &amp;&amp; git push --tags</literal>
<link xlink:href="https://github.com/NixOS/nixpkgs/search?utf8=%E2%9C%93&amp;q=vulnerabilities&amp;type=Issues">triage vulnerabilities in an issue</link>.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Create two Hydra jobsets: release-15.09 and release-15.09-small with <literal>stableBranch</literal> set to false From the master branch run <literal>git checkout -B release-17.09</literal>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixos-org-configurations/pull/18">
Make sure a channel is created at http://nixos.org/channels/.
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/settings/branches">
Let a GitHub nixpkgs admin lock the branch on github for you.
(so developers cant force push)
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">
Bump the <literal>system.defaultChannel</literal> attribute in
<literal>nixos/modules/misc/version.nix</literal>
</link>
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/d6b08acd1ccac0d9d502c4b635e00b04d3387f06">
Update <literal>versionSuffix</literal> in
<literal>nixos/release.nix</literal></link>, use
<literal>git log --format=%an|wc -l</literal> to get the commit
count
</para>
</listitem>
<listitem>
<para>
<literal>echo -n &quot;18.03&quot; &gt; .version</literal> on
master.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/NixOS/nixpkgs/commit/b8a4095003e27659092892a4708bb3698231a842">
Pick a new name for the unstable branch.
</link>
</para>
</listitem>
<listitem>
<para>
Create a new release notes file for the upcoming release + 1, in this
case <literal>rl-1803.xml</literal>.
</para>
</listitem>
<listitem>
<para>
Create two Hydra jobsets: release-17.09 and release-17.09-small with <literal>stableBranch</literal> set to false.
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
Edit changelog at Edit changelog at
<literal>nixos/doc/manual/release-notes/rl-1509.xml</literal> <literal>nixos/doc/manual/release-notes/rl-1709.xml</literal>
(double check desktop versions are noted) (double check desktop versions are noted)
</para> </para>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem> <listitem>
<para> <para>
Get all new NixOS modules Get all new NixOS modules
<literal>git diff release-14.12..release-15.09 nixos/modules/module-list.nix|grep ^+</literal> <literal>git diff release-17.03..release-17.09 nixos/modules/module-list.nix|grep ^+</literal>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>
@ -130,9 +127,25 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="during-beta">
<title>During Beta</title>
<itemizedlist spacing="compact">
<listitem>
<para>
Monitor the master branch for bugfixes and minor updates
and cherry-pick them to the release branch.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="before-the-final-release"> <section xml:id="before-the-final-release">
<title>Before the final release</title> <title>Before the final release</title>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
<listitem>
<para>
Re-check that the release notes are complete.
</para>
</listitem>
<listitem> <listitem>
<para> <para>
Release Nix (currently only Eelco Dolstra can do that). Release Nix (currently only Eelco Dolstra can do that).

View File

@ -106,6 +106,9 @@ rmdir /var/lib/ipfs/.ipfs
<para> <para>
The <literal>mysql</literal> default <literal>dataDir</literal> has changed from <literal>/var/mysql</literal> to <literal>/var/lib/mysql</literal>. The <literal>mysql</literal> default <literal>dataDir</literal> has changed from <literal>/var/mysql</literal> to <literal>/var/lib/mysql</literal>.
</para> </para>
<para>
Radicale's default package has changed from 1.x to 2.x. Instructions to migrate can be found <link xlink:href="http://radicale.org/1to2/"> here </link>. It is also possible to use the newer version by setting the <literal>package</literal> to <literal>radicale2</literal>, which is done automatically when <literal>stateVersion</literal> is 17.09 or higher.
</para>
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
@ -167,6 +170,20 @@ rmdir /var/lib/ipfs/.ipfs
Refer to the description of the options for more details. Refer to the description of the options for more details.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The <literal>compiz</literal> window manager and package was
removed. The system support had been broken for several years.
</para>
</listitem>
<listitem>
<para>
Touchpad support should now be enabled through
<literal>libinput</literal> as <literal>synaptics</literal> is
now deprecated. See the option
<literal>services.xserver.libinput.enable</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
<para>Other notable improvements:</para> <para>Other notable improvements:</para>

View File

@ -0,0 +1,46 @@
<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-release-18.03">
<title>Release 18.03 (“Impala”, 2018/03/??)</title>
<para>In addition to numerous new and upgraded packages, this release
has the following highlights: </para>
<itemizedlist>
<listitem>
<para>
</para>
</listitem>
</itemizedlist>
<para>The following new services were added since the last release:</para>
<itemizedlist>
<listitem>
<para></para>
</listitem>
</itemizedlist>
<para>When upgrading from a previous release, please be aware of the
following incompatible changes:</para>
<itemizedlist>
<listitem>
<para>
</para>
</listitem>
</itemizedlist>
<para>Other notable improvements:</para>
<itemizedlist>
<listitem>
<para>
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -45,19 +45,7 @@ let
raw = "img"; raw = "img";
}; };
# Copied from https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/installer/cd-dvd/channel.nix nixpkgs = lib.cleanSource pkgs.path;
# TODO: factor out more cleanly
# Do not include these things:
# - The '.git' directory
# - Result symlinks from nix-build ('result', 'result-2', 'result-bin', ...)
# - VIM/Emacs swap/backup files ('.swp', '.swo', '.foo.swp', 'foo~', ...)
filterFn = path: type: let basename = baseNameOf (toString path); in
if type == "directory" then basename != ".git"
else if type == "symlink" then builtins.match "^result(|-.*)$" basename == null
else builtins.match "^((|\..*)\.sw[a-z]|.*~)$" basename == null;
nixpkgs = builtins.filterSource filterFn pkgs.path;
channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} '' channelSources = pkgs.runCommand "nixos-${config.system.nixosVersion}" {} ''
mkdir -p $out mkdir -p $out

View File

@ -34,6 +34,7 @@ with lib;
networkmanager_openvpn = pkgs.networkmanager_openvpn.override { withGnome = false; }; networkmanager_openvpn = pkgs.networkmanager_openvpn.override { withGnome = false; };
networkmanager_pptp = pkgs.networkmanager_pptp.override { withGnome = false; }; networkmanager_pptp = pkgs.networkmanager_pptp.override { withGnome = false; };
networkmanager_vpnc = pkgs.networkmanager_vpnc.override { withGnome = false; }; networkmanager_vpnc = pkgs.networkmanager_vpnc.override { withGnome = false; };
networkmanager_iodine = pkgs.networkmanager_iodine.override { withGnome = false; };
pinentry = pkgs.pinentry.override { gtk2 = null; qt4 = null; }; pinentry = pkgs.pinentry.override { gtk2 = null; qt4 = null; };
}; };
}; };

View File

@ -6,16 +6,7 @@
with lib; with lib;
let let
# Do not include these things: nixpkgs = lib.cleanSource pkgs.path;
# - The '.git' directory
# - Result symlinks from nix-build ('result', 'result-2', 'result-bin', ...)
# - VIM/Emacs swap/backup files ('.swp', '.swo', '.foo.swp', 'foo~', ...)
filterFn = path: type: let basename = baseNameOf (toString path); in
if type == "directory" then basename != ".git"
else if type == "symlink" then builtins.match "^result(|-.*)$" basename == null
else builtins.match "^((|\..*)\.sw[a-z]|.*~)$" basename == null;
nixpkgs = builtins.filterSource filterFn pkgs.path;
# We need a copy of the Nix expressions for Nixpkgs and NixOS on the # We need a copy of the Nix expressions for Nixpkgs and NixOS on the
# CD. These are installed into the "nixos" channel of the root # CD. These are installed into the "nixos" channel of the root

View File

@ -76,7 +76,7 @@ let cfg = config.system.autoUpgrade; in
environment = config.nix.envVars // environment = config.nix.envVars //
{ inherit (config.environment.sessionVariables) NIX_PATH; { inherit (config.environment.sessionVariables) NIX_PATH;
HOME = "/root"; HOME = "/root";
}; } // config.networking.proxy.envVars;
path = [ pkgs.gnutar pkgs.xz.bin config.nix.package.out ]; path = [ pkgs.gnutar pkgs.xz.bin config.nix.package.out ];

View File

@ -1,5 +1,5 @@
{ {
x86_64-linux = "/nix/store/avwiw7hb1qckag864sc6ixfxr8qmf94w-nix-1.11.13"; x86_64-linux = "/nix/store/xrqssm90gsrnqdn79rpfcs6dwx8597d2-nix-1.11.14";
i686-linux = "/nix/store/8wv3ms0afw95hzsz4lxzv0nj4w3614z9-nix-1.11.13"; i686-linux = "/nix/store/3vjphivqs2iy6m9yb3bd80nd3518510k-nix-1.11.14";
x86_64-darwin = "/nix/store/z21lvakv1l7lhasmv5fvaz8mlzxia8k9-nix-1.11.13"; x86_64-darwin = "/nix/store/4j9jacx8mjd4jlj53wvymyhxq7dqyj5d-nix-1.11.14";
} }

View File

@ -605,6 +605,9 @@ $bootLoaderConfig
# services.xserver.layout = "us"; # services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e"; # services.xserver.xkbOptions = "eurosign:e";
# Enable touchpad support.
# services.xserver.libinput.enable = true;
# Enable the KDE Desktop Environment. # Enable the KDE Desktop Environment.
# services.xserver.displayManager.sddm.enable = true; # services.xserver.displayManager.sddm.enable = true;
# services.xserver.desktopManager.plasma5.enable = true; # services.xserver.desktopManager.plasma5.enable = true;
@ -615,8 +618,11 @@ $bootLoaderConfig
# uid = 1000; # uid = 1000;
# }; # };
# The NixOS release to be compatible with for stateful data such as databases. # This value determines the NixOS release with which your system is to be
system.stateVersion = "${\(qw(@nixosRelease@))}"; # compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you
# should.
system.stateVersion = "${\(qw(@nixosRelease@))}"; # Did you read the comment?
} }
EOF EOF

View File

@ -95,7 +95,7 @@ in
nixosVersionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId)); nixosVersionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));
# Note: code names must only increase in alphabetical order. # Note: code names must only increase in alphabetical order.
nixosCodeName = "Hummingbird"; nixosCodeName = "Impala";
}; };
# Generate /etc/os-release. See # Generate /etc/os-release. See

View File

@ -226,6 +226,7 @@
./services/hardware/brltty.nix ./services/hardware/brltty.nix
./services/hardware/freefall.nix ./services/hardware/freefall.nix
./services/hardware/illum.nix ./services/hardware/illum.nix
./services/hardware/interception-tools.nix
./services/hardware/irqbalance.nix ./services/hardware/irqbalance.nix
./services/hardware/nvidia-optimus.nix ./services/hardware/nvidia-optimus.nix
./services/hardware/pcscd.nix ./services/hardware/pcscd.nix
@ -550,7 +551,6 @@
./services/security/fail2ban.nix ./services/security/fail2ban.nix
./services/security/fprintd.nix ./services/security/fprintd.nix
./services/security/fprot.nix ./services/security/fprot.nix
./services/security/frandom.nix
./services/security/haka.nix ./services/security/haka.nix
./services/security/haveged.nix ./services/security/haveged.nix
./services/security/hologram-server.nix ./services/security/hologram-server.nix
@ -631,7 +631,6 @@
./services/x11/redshift.nix ./services/x11/redshift.nix
./services/x11/urxvtd.nix ./services/x11/urxvtd.nix
./services/x11/window-managers/awesome.nix ./services/x11/window-managers/awesome.nix
#./services/x11/window-managers/compiz.nix
./services/x11/window-managers/default.nix ./services/x11/window-managers/default.nix
./services/x11/window-managers/fluxbox.nix ./services/x11/window-managers/fluxbox.nix
./services/x11/window-managers/icewm.nix ./services/x11/window-managers/icewm.nix
@ -681,6 +680,7 @@
./tasks/cpu-freq.nix ./tasks/cpu-freq.nix
./tasks/encrypted-devices.nix ./tasks/encrypted-devices.nix
./tasks/filesystems.nix ./tasks/filesystems.nix
./tasks/filesystems/bcachefs.nix
./tasks/filesystems/btrfs.nix ./tasks/filesystems/btrfs.nix
./tasks/filesystems/cifs.nix ./tasks/filesystems/cifs.nix
./tasks/filesystems/exfat.nix ./tasks/filesystems/exfat.nix

View File

@ -8,7 +8,7 @@
enable = true; enable = true;
displayManager.sddm.enable = true; displayManager.sddm.enable = true;
desktopManager.plasma5.enable = true; desktopManager.plasma5.enable = true;
synaptics.enable = true; # for touchpad support on many laptops libinput.enable = true; # for touchpad support on many laptops
}; };
environment.systemPackages = [ pkgs.glxinfo ]; environment.systemPackages = [ pkgs.glxinfo ];

View File

@ -169,12 +169,12 @@ in
"source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh" "source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
} }
${zshAliases}
${cfge.interactiveShellInit} ${cfge.interactiveShellInit}
${cfg.interactiveShellInit} ${cfg.interactiveShellInit}
${zshAliases}
${cfg.promptInit} ${cfg.promptInit}
# Read system-wide modifications. # Read system-wide modifications.

View File

@ -27,7 +27,13 @@ in
noDestroy = mkOption { noDestroy = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Does all changes to the filesystem except destroy"; description = "Does all changes to the filesystem except destroy.";
};
autoCreation = mkOption {
type = types.bool;
default = false;
description = "Automatically create the dataset on dest if it does not exists.";
}; };
}; };
}; };
@ -44,7 +50,7 @@ in
path = with pkgs; [ zfs mbuffer openssh ]; path = with pkgs; [ zfs mbuffer openssh ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.znapzend}/bin/znapzend --logto=${cfg.logTo} --loglevel=${cfg.logLevel} ${optionalString cfg.noDestroy "--nodestroy"}"; ExecStart = "${pkgs.znapzend}/bin/znapzend --logto=${cfg.logTo} --loglevel=${cfg.logLevel} ${optionalString cfg.noDestroy "--nodestroy"} ${optionalString cfg.autoCreation "--autoCreation"}";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
Restart = "on-failure"; Restart = "on-failure";
}; };

View File

@ -96,10 +96,21 @@ in
example = literalExample "pkgs.gitlab-runner_1_11"; example = literalExample "pkgs.gitlab-runner_1_11";
}; };
packages = mkOption {
default = [ pkgs.bash pkgs.docker-machine ];
defaultText = "[ pkgs.bash pkgs.docker-machine ]";
type = types.listOf types.package;
description = ''
Packages to add to PATH for the gitlab-runner process.
'';
};
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
systemd.services.gitlab-runner = { systemd.services.gitlab-runner = {
path = cfg.packages;
environment = config.networking.proxy.envVars;
description = "Gitlab Runner"; description = "Gitlab Runner";
after = [ "network.target" ] after = [ "network.target" ]
++ optional hasDocker "docker.service"; ++ optional hasDocker "docker.service";

View File

@ -108,10 +108,13 @@ in
initialDatabases = mkOption { initialDatabases = mkOption {
default = []; default = [];
description = "List of database names and their initial schemas that should be used to create databases on the first startup of MySQL"; description = ''
List of database names and their initial schemas that should be used to create databases on the first startup
of MySQL. The schema attribute is optional: If not specified, an empty database is created.
'';
example = [ example = [
{ name = "foodatabase"; schema = literalExample "./foodatabase.sql"; } { name = "foodatabase"; schema = literalExample "./foodatabase.sql"; }
{ name = "bardatabase"; schema = literalExample "./bardatabase.sql"; } { name = "bardatabase"; }
]; ];
}; };
@ -247,6 +250,8 @@ in
if ! test -e "${cfg.dataDir}/${database.name}"; then if ! test -e "${cfg.dataDir}/${database.name}"; then
echo "Creating initial database: ${database.name}" echo "Creating initial database: ${database.name}"
( echo "create database ${database.name};" ( echo "create database ${database.name};"
${optionalString (database ? "schema") ''
echo "use ${database.name};" echo "use ${database.name};"
if [ -f "${database.schema}" ] if [ -f "${database.schema}" ]
@ -256,6 +261,7 @@ in
then then
cat ${database.schema}/mysql-databases/*.sql cat ${database.schema}/mysql-databases/*.sql
fi fi
''}
) | ${mysql}/bin/mysql -u root -N ) | ${mysql}/bin/mysql -u root -N
fi fi
'') cfg.initialDatabases} '') cfg.initialDatabases}

View File

@ -0,0 +1,61 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.interception-tools;
in {
options.services.interception-tools = {
enable = mkOption {
type = types.bool;
default = false;
description = "Whether to enable the interception tools service.";
};
plugins = mkOption {
type = types.listOf types.package;
default = [ pkgs.interception-tools-plugins.caps2esc ];
description = ''
A list of interception tools plugins that will be made available to use
inside the udevmon configuration.
'';
};
udevmonConfig = mkOption {
type = types.either types.str types.path;
default = ''
- JOB: "intercept -g $DEVNODE | caps2esc | uinput -d $DEVNODE"
DEVICE:
EVENTS:
EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
'';
example = ''
- JOB: "intercept -g $DEVNODE | y2z | x2y | uinput -d $DEVNODE"
DEVICE:
EVENTS:
EV_KEY: [KEY_X, KEY_Y]
'';
description = ''
String of udevmon YAML configuration, or path to a udevmon YAML
configuration file.
'';
};
};
config = mkIf cfg.enable {
systemd.services.interception-tools = {
description = "Interception tools";
path = [ pkgs.bash pkgs.interception-tools ] ++ cfg.plugins;
serviceConfig = {
ExecStart = ''
${pkgs.interception-tools}/bin/udevmon -c \
${if builtins.typeOf cfg.udevmonConfig == "path"
then cfg.udevmonConfig
else pkgs.writeText "udevmon.yaml" cfg.udevmonConfig}
'';
Nice = -20;
};
wantedBy = [ "multi-user.target" ];
};
};
}

View File

@ -42,7 +42,7 @@ in
serviceConfig = { serviceConfig = {
User = "calibre-server"; User = "calibre-server";
Restart = "always"; Restart = "always";
ExecStart = "${pkgs.calibre}/bin/calibre-server --with-library=${cfg.libraryDir}"; ExecStart = "${pkgs.calibre}/bin/calibre-server ${cfg.libraryDir}";
}; };
}; };

View File

@ -1,15 +1,19 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
let let
inherit (pkgs) ipfs runCommand makeWrapper; inherit (pkgs) ipfs runCommand makeWrapper;
cfg = config.services.ipfs; cfg = config.services.ipfs;
ipfsFlags = ''${if cfg.autoMigrate then "--migrate" else ""} ${if cfg.enableGC then "--enable-gc" else ""} ${toString cfg.extraFlags}''; ipfsFlags = toString ([
#(optionalString cfg.autoMount "--mount")
(optionalString cfg.autoMigrate "--migrate")
(optionalString cfg.enableGC "--enable-gc")
(optionalString (cfg.serviceFdlimit != null) "--manage-fdlimit=false")
(optionalString (cfg.defaultMode == "offline") "--offline")
(optionalString (cfg.defaultMode == "norouting") "--routing=none")
] ++ cfg.extraFlags);
# Before Version 17.09, ipfs would always use "/var/lib/ipfs/.ipfs" as it's dataDir
defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then
"/var/lib/ipfs" else "/var/lib/ipfs" else
"/var/lib/ipfs/.ipfs"; "/var/lib/ipfs/.ipfs";
@ -17,11 +21,48 @@ let
# Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment # Wrapping the ipfs binary with the environment variable IPFS_PATH set to dataDir because we can't set it in the user environment
wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; } '' wrapped = runCommand "ipfs" { buildInputs = [ makeWrapper ]; } ''
mkdir -p "$out/bin" mkdir -p "$out/bin"
makeWrapper "${ipfs}/bin/ipfs" "$out/bin/ipfs" --set IPFS_PATH ${cfg.dataDir} makeWrapper "${ipfs}/bin/ipfs" "$out/bin/ipfs" \
--set IPFS_PATH ${cfg.dataDir} \
--prefix PATH : /run/wrappers/bin
''; '';
in
{
commonEnv = {
environment.IPFS_PATH = cfg.dataDir;
path = [ wrapped ];
serviceConfig.User = cfg.user;
serviceConfig.Group = cfg.group;
};
baseService = recursiveUpdate commonEnv {
wants = [ "ipfs-init.service" ];
preStart = ''
ipfs --local config Addresses.API ${cfg.apiAddress}
ipfs --local config Addresses.Gateway ${cfg.gatewayAddress}
'' + optionalString false/*cfg.autoMount*/ ''
ipfs --local config Mounts.FuseAllowOther --json true
ipfs --local config Mounts.IPFS ${cfg.ipfsMountDir}
ipfs --local config Mounts.IPNS ${cfg.ipnsMountDir}
'' + concatStringsSep "\n" (collect
isString
(mapAttrsRecursive
(path: value:
# Using heredoc below so that the value is never improperly quoted
''
read value <<EOF
${builtins.toJSON value}
EOF
ipfs --local config --json "${concatStringsSep "." path}" "$value"
'')
cfg.extraConfig)
);
serviceConfig = {
ExecStart = "${wrapped}/bin/ipfs daemon ${ipfsFlags}";
Restart = "on-failure";
RestartSec = 1;
} // optionalAttrs (cfg.serviceFdlimit != null) { LimitNOFILE = cfg.serviceFdlimit; };
};
in {
###### interface ###### interface
@ -63,6 +104,24 @@ in
''; '';
}; };
#autoMount = mkOption {
# type = types.bool;
# default = false;
# description = "Whether IPFS should try to mount /ipfs and /ipns at startup.";
#};
ipfsMountDir = mkOption {
type = types.str;
default = "/ipfs";
description = "Where to mount the IPFS namespace to";
};
ipnsMountDir = mkOption {
type = types.str;
default = "/ipns";
description = "Where to mount the IPNS namespace to";
};
gatewayAddress = mkOption { gatewayAddress = mkOption {
type = types.str; type = types.str;
default = "/ip4/127.0.0.1/tcp/8080"; default = "/ip4/127.0.0.1/tcp/8080";
@ -91,11 +150,41 @@ in
''; '';
}; };
extraConfig = mkOption {
type = types.attrs;
description = toString [
"Attrset of daemon configuration to set using `ipfs config`, every time the daemon starts."
"These are applied last, so may override configuration set by other options in this module."
"Keep in mind that this configuration is stateful; i.e., unsetting anything in here does not reset the value to the default!"
];
default = {};
example = {
Datastore.StorageMax = "100GB";
Discovery.MDNS.Enabled = false;
Bootstrap = [
"/ip4/128.199.219.111/tcp/4001/ipfs/QmSoLSafTMBsPKadTEgaXctDQVcqN88CNLHXMkTNwMKPnu"
"/ip4/162.243.248.213/tcp/4001/ipfs/QmSoLueR4xBeUbY9WZ9xGUUxunbKWcrNFTDAadQJmocnWm"
];
Swarm.AddrFilters = null;
};
};
extraFlags = mkOption { extraFlags = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
description = "Extra flags passed to the IPFS daemon"; description = "Extra flags passed to the IPFS daemon";
default = []; default = [];
}; };
serviceFdlimit = mkOption {
type = types.nullOr types.int;
default = null;
description = ''
The fdlimit for the IPFS systemd unit or `null` to have the daemon attempt to manage it.
'';
example = 256*1024;
};
}; };
}; };
@ -115,108 +204,56 @@ in
}; };
users.extraGroups = mkIf (cfg.group == "ipfs") { users.extraGroups = mkIf (cfg.group == "ipfs") {
ipfs = { ipfs.gid = config.ids.gids.ipfs;
gid = config.ids.gids.ipfs;
};
}; };
systemd.services.ipfs-init = { systemd.services.ipfs-init = recursiveUpdate commonEnv {
description = "IPFS Initializer"; description = "IPFS Initializer";
after = [ "local-fs.target" ]; after = [ "local-fs.target" ];
before = [ "ipfs.service" "ipfs-offline.service" ]; before = [ "ipfs.service" "ipfs-offline.service" ];
environment.IPFS_PATH = cfg.dataDir;
path = [ pkgs.ipfs pkgs.su pkgs.bash ];
preStart = '' preStart = ''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir} install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.dataDir}
'' + optionalString false/*cfg.autoMount*/ ''
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipfsMountDir}
install -m 0755 -o ${cfg.user} -g ${cfg.group} -d ${cfg.ipnsMountDir}
''; '';
script = '' script = ''
if [[ ! -f ${cfg.dataDir}/config ]]; then if [[ ! -f ${cfg.dataDir}/config ]]; then
${ipfs}/bin/ipfs init ${optionalString cfg.emptyRepo "-e"} ipfs init ${optionalString cfg.emptyRepo "-e"}
fi fi
${ipfs}/bin/ipfs --local config Addresses.API ${cfg.apiAddress}
${ipfs}/bin/ipfs --local config Addresses.Gateway ${cfg.gatewayAddress}
''; '';
serviceConfig = { serviceConfig = {
User = cfg.user;
Group = cfg.group;
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
PermissionsStartOnly = true; PermissionsStartOnly = true;
}; };
}; };
systemd.services.ipfs = { # TODO These 3 definitions possibly be further abstracted through use of a function
# like: mutexServices "ipfs" [ "", "offline", "norouting" ] { ... shared conf here ... }
systemd.services.ipfs = recursiveUpdate baseService {
description = "IPFS Daemon"; description = "IPFS Daemon";
wantedBy = mkIf (cfg.defaultMode == "online") [ "multi-user.target" ]; wantedBy = mkIf (cfg.defaultMode == "online") [ "multi-user.target" ];
after = [ "network.target" "local-fs.target" "ipfs-init.service" ]; after = [ "network.target" "local-fs.target" "ipfs-init.service" ];
conflicts = [ "ipfs-offline.service" "ipfs-norouting.service"]; conflicts = [ "ipfs-offline.service" "ipfs-norouting.service"];
wants = [ "ipfs-init.service" ];
environment.IPFS_PATH = cfg.dataDir;
path = [ pkgs.ipfs ];
serviceConfig = {
ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags}";
User = cfg.user;
Group = cfg.group;
Restart = "on-failure";
RestartSec = 1;
};
}; };
systemd.services.ipfs-offline = { systemd.services.ipfs-offline = recursiveUpdate baseService {
description = "IPFS Daemon (offline mode)"; description = "IPFS Daemon (offline mode)";
wantedBy = mkIf (cfg.defaultMode == "offline") [ "multi-user.target" ]; wantedBy = mkIf (cfg.defaultMode == "offline") [ "multi-user.target" ];
after = [ "local-fs.target" "ipfs-init.service" ]; after = [ "local-fs.target" "ipfs-init.service" ];
conflicts = [ "ipfs.service" "ipfs-norouting.service"]; conflicts = [ "ipfs.service" "ipfs-norouting.service"];
wants = [ "ipfs-init.service" ];
environment.IPFS_PATH = cfg.dataDir;
path = [ pkgs.ipfs ];
serviceConfig = {
ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags} --offline";
User = cfg.user;
Group = cfg.group;
Restart = "on-failure";
RestartSec = 1;
};
}; };
systemd.services.ipfs-norouting = { systemd.services.ipfs-norouting = recursiveUpdate baseService {
description = "IPFS Daemon (no routing mode)"; description = "IPFS Daemon (no routing mode)";
wantedBy = mkIf (cfg.defaultMode == "norouting") [ "multi-user.target" ]; wantedBy = mkIf (cfg.defaultMode == "norouting") [ "multi-user.target" ];
after = [ "local-fs.target" "ipfs-init.service" ]; after = [ "local-fs.target" "ipfs-init.service" ];
conflicts = [ "ipfs.service" "ipfs-offline.service"]; conflicts = [ "ipfs.service" "ipfs-offline.service"];
wants = [ "ipfs-init.service" ];
environment.IPFS_PATH = cfg.dataDir;
path = [ pkgs.ipfs ];
serviceConfig = {
ExecStart = "${ipfs}/bin/ipfs daemon ${ipfsFlags} --routing=none";
User = cfg.user;
Group = cfg.group;
Restart = "on-failure";
RestartSec = 1;
};
}; };
}; };

View File

@ -130,7 +130,8 @@ in {
default = { inherit networkmanager modemmanager wpa_supplicant default = { inherit networkmanager modemmanager wpa_supplicant
networkmanager_openvpn networkmanager_vpnc networkmanager_openvpn networkmanager_vpnc
networkmanager_openconnect networkmanager_fortisslvpn networkmanager_openconnect networkmanager_fortisslvpn
networkmanager_pptp networkmanager_l2tp; }; networkmanager_pptp networkmanager_l2tp
networkmanager_iodine; };
internal = true; internal = true;
}; };
@ -255,6 +256,9 @@ in {
{ source = "${networkmanager_strongswan}/etc/NetworkManager/VPN/nm-strongswan-service.name"; { source = "${networkmanager_strongswan}/etc/NetworkManager/VPN/nm-strongswan-service.name";
target = "NetworkManager/VPN/nm-strongswan-service.name"; target = "NetworkManager/VPN/nm-strongswan-service.name";
} }
{ source = "${networkmanager_iodine}/etc/NetworkManager/VPN/nm-iodine-service.name";
target = "NetworkManager/VPN/nm-iodine-service.name";
}
] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == []) ] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
{ source = overrideNameserversScript; { source = overrideNameserversScript;
target = "NetworkManager/dispatcher.d/02overridedns"; target = "NetworkManager/dispatcher.d/02overridedns";
@ -278,6 +282,11 @@ in {
name = "nm-openvpn"; name = "nm-openvpn";
uid = config.ids.uids.nm-openvpn; uid = config.ids.uids.nm-openvpn;
extraGroups = [ "networkmanager" ]; extraGroups = [ "networkmanager" ];
}
{
name = "nm-iodine";
isSystemUser = true;
group = "networkmanager";
}]; }];
systemd.packages = cfg.packages; systemd.packages = cfg.packages;

View File

@ -1,4 +1,4 @@
{config, lib, pkgs, ...}: { config, lib, pkgs, ... }:
with lib; with lib;
@ -8,17 +8,35 @@ let
confFile = pkgs.writeText "radicale.conf" cfg.config; confFile = pkgs.writeText "radicale.conf" cfg.config;
# This enables us to default to version 2 while still not breaking configurations of people with version 1
defaultPackage = if versionAtLeast "17.09" config.system.stateVersion then {
pkg = pkgs.radicale2;
text = "pkgs.radicale2";
} else {
pkg = pkgs.radicale1;
text = "pkgs.radicale1";
};
in in
{ {
options = { options = {
services.radicale.enable = mkOption { services.radicale.enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = '' description = ''
Enable Radicale CalDAV and CardDAV server Enable Radicale CalDAV and CardDAV server.
'';
};
services.radicale.package = mkOption {
type = types.package;
default = defaultPackage.pkg;
defaultText = defaultPackage.text;
description = ''
Radicale package to use. This defaults to version 1.x if
<literal>system.stateVersion &lt; 17.09</literal> and version 2.x
otherwise.
''; '';
}; };
@ -27,13 +45,13 @@ in
default = ""; default = "";
description = '' description = ''
Radicale configuration, this will set the service Radicale configuration, this will set the service
configuration file configuration file.
''; '';
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.radicale ]; environment.systemPackages = [ cfg.package ];
users.extraUsers = singleton users.extraUsers = singleton
{ name = "radicale"; { name = "radicale";
@ -52,11 +70,13 @@ in
description = "A Simple Calendar and Contact Server"; description = "A Simple Calendar and Contact Server";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
script = "${pkgs.radicale}/bin/radicale -C ${confFile} -f"; serviceConfig = {
serviceConfig.User = "radicale"; ExecStart = "${cfg.package}/bin/radicale -C ${confFile} -f";
serviceConfig.Group = "radicale"; User = "radicale";
Group = "radicale";
};
}; };
}; };
meta.maintainers = with lib.maintainers; [ aneeshusa ]; meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
} }

View File

@ -122,7 +122,7 @@ in
fi fi
''; '';
restartTriggers = [ config.environment.etc.localtime.source ]; restartTriggers = [ config.time.timeZone ];
serviceConfig.ExecStart = "${cronNixosPkg}/bin/cron -n"; serviceConfig.ExecStart = "${cronNixosPkg}/bin/cron -n";
}; };

View File

@ -1,31 +0,0 @@
{lib, config, ...}:
let kernel = config.boot.kernelPackages;
in
{
###### interface
options = {
services.frandom.enable = lib.mkOption {
default = false;
type = lib.types.bool;
description = ''
enable the /dev/frandom device (a very fast random number generator)
'';
};
};
###### implementation
config = lib.mkIf config.services.frandom.enable {
boot.kernelModules = [ "frandom" ];
boot.extraModulePackages = [ kernel.frandom ];
services.udev.packages = [ kernel.frandom ];
};
}

View File

@ -42,9 +42,9 @@ in {
after = [ "network.target" ]; after = [ "network.target" ];
description = "Deluge BitTorrent Daemon"; description = "Deluge BitTorrent Daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.pythonPackages.deluge ]; path = [ pkgs.deluge ];
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.pythonPackages.deluge}/bin/deluged -d"; ExecStart = "${pkgs.deluge}/bin/deluged -d";
# To prevent "Quit & shutdown daemon" from working; we want systemd to manage it! # To prevent "Quit & shutdown daemon" from working; we want systemd to manage it!
Restart = "on-success"; Restart = "on-success";
User = "deluge"; User = "deluge";
@ -58,12 +58,12 @@ in {
description = "Deluge BitTorrent WebUI"; description = "Deluge BitTorrent WebUI";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.pythonPackages.deluge ]; path = [ pkgs.pythonPackages.deluge ];
serviceConfig.ExecStart = "${pkgs.pythonPackages.deluge}/bin/deluge --ui web"; serviceConfig.ExecStart = "${pkgs.deluge}/bin/deluge --ui web";
serviceConfig.User = "deluge"; serviceConfig.User = "deluge";
serviceConfig.Group = "deluge"; serviceConfig.Group = "deluge";
}; };
environment.systemPackages = [ pkgs.pythonPackages.deluge ]; environment.systemPackages = [ pkgs.deluge ];
users.extraUsers.deluge = { users.extraUsers.deluge = {
group = "deluge"; group = "deluge";

View File

@ -79,16 +79,6 @@
You can safely ignore this, unless you need a plugin that needs JavaScript tracker access. You can safely ignore this, unless you need a plugin that needs JavaScript tracker access.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
Sending mail from piwik, e.g. for the password reset function, might not work out of the box:
There's a problem with using <command>sendmail</command> from <literal>php-fpm</literal> that is
being investigated at <link xlink:href="https://github.com/NixOS/nixpkgs/issues/26611" />.
If you have (or don't have) this problem as well, please report it. You can enable SMTP as method
to send mail in piwik's <quote>General Settings</quote> > <quote>Mail Server Settings</quote> instead.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -24,14 +24,17 @@ in {
default = false; default = false;
description = '' description = ''
Enable piwik web analytics with php-fpm backend. Enable piwik web analytics with php-fpm backend.
Either the nginx option or the webServerUser option is mandatory.
''; '';
}; };
webServerUser = mkOption { webServerUser = mkOption {
type = types.str; type = types.nullOr types.str;
example = "nginx"; default = null;
example = "lighttpd";
description = '' description = ''
Name of the owner of the ${phpSocket} fastcgi socket for piwik. Name of the web server user that forwards requests to the ${phpSocket} fastcgi socket for piwik if the nginx
option is not used. Either this option or the nginx option is mandatory.
If you want to use another webserver than nginx, you need to set this to that server's user If you want to use another webserver than nginx, you need to set this to that server's user
and pass fastcgi requests to `index.php` and `piwik.php` to this socket. and pass fastcgi requests to `index.php` and `piwik.php` to this socket.
''; '';
@ -57,47 +60,43 @@ in {
}; };
nginx = mkOption { nginx = mkOption {
# TODO: for maximum flexibility, it would be nice to use nginx's vhost_options module type = types.nullOr (types.submodule (
# but this only makes sense if we can somehow specify defaults suitable for piwik. recursiveUpdate
# But users can always copy the piwik nginx config to their configuration.nix and customize it. (import ../web-servers/nginx/vhost-options.nix { inherit config lib; })
type = types.nullOr (types.submodule { {
options = { # enable encryption by default,
virtualHost = mkOption { # as sensitive login and piwik data should not be transmitted in clear text.
type = types.str; options.forceSSL.default = true;
default = "piwik.${config.networking.hostName}"; options.enableACME.default = true;
example = "piwik.$\{config.networking.hostName\}"; }
description = '' )
Name of the nginx virtualhost to use and set up. );
'';
};
enableSSL = mkOption {
type = types.bool;
default = true;
description = "Whether to enable https.";
};
forceSSL = mkOption {
type = types.bool;
default = true;
description = "Whether to always redirect to https.";
};
enableACME = mkOption {
type = types.bool;
default = true;
description = "Whether to ask Let's Encrypt to sign a certificate for this vhost.";
};
};
});
default = null; default = null;
example = { virtualHost = "stats.$\{config.networking.hostName\}"; }; example = {
serverName = "stats.$\{config.networking.hostName\}";
enableACME = false;
};
description = '' description = ''
The options to use to configure an nginx virtualHost. With this option, you can customize an nginx virtualHost which already has sensible defaults for piwik.
If null (the default), no nginx virtualHost will be configured. Either this option or the webServerUser option is mandatory.
Set this to {} to just enable the virtualHost if you don't need any customization.
If enabled, then by default, the serverName is piwik.$\{config.networking.hostName\}, SSL is active,
and certificates are acquired via ACME.
If this is set to null (the default), no nginx virtualHost will be configured.
''; '';
}; };
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
warnings = mkIf (cfg.nginx != null && cfg.webServerUser != null) [
"If services.piwik.nginx is set, services.piwik.nginx.webServerUser is ignored and should be removed."
];
assertions = [ {
assertion = cfg.nginx != null || cfg.webServerUser != null;
message = "Either services.piwik.nginx or services.piwik.nginx.webServerUser is mandatory";
}];
users.extraUsers.${user} = { users.extraUsers.${user} = {
isSystemUser = true; isSystemUser = true;
@ -153,10 +152,16 @@ in {
serviceConfig.UMask = "0007"; serviceConfig.UMask = "0007";
}; };
services.phpfpm.poolConfigs = { services.phpfpm.poolConfigs = let
# workaround for when both are null and need to generate a string,
# which is illegal, but as assertions apparently are being triggered *after* config generation,
# we have to avoid already throwing errors at this previous stage.
socketOwner = if (cfg.nginx != null) then config.services.nginx.user
else if (cfg.webServerUser != null) then cfg.webServerUser else "";
in {
${pool} = '' ${pool} = ''
listen = "${phpSocket}" listen = "${phpSocket}"
listen.owner = ${cfg.webServerUser} listen.owner = ${socketOwner}
listen.group = root listen.group = root
listen.mode = 0600 listen.mode = 0600
user = ${user} user = ${user}
@ -170,12 +175,15 @@ in {
# References: # References:
# https://fralef.me/piwik-hardening-with-nginx-and-php-fpm.html # https://fralef.me/piwik-hardening-with-nginx-and-php-fpm.html
# https://github.com/perusio/piwik-nginx # https://github.com/perusio/piwik-nginx
${cfg.nginx.virtualHost} = { "${user}.${config.networking.hostName}" = mkMerge [ cfg.nginx {
root = "${pkgs.piwik}/share"; # don't allow to override the root easily, as it will almost certainly break piwik.
enableSSL = cfg.nginx.enableSSL; # disadvantage: not shown as default in docs.
enableACME = cfg.nginx.enableACME; root = mkForce "${pkgs.piwik}/share";
forceSSL = cfg.nginx.forceSSL;
# define locations here instead of as the submodule option's default
# so that they can easily be extended with additional locations if required
# without needing to redefine the piwik ones.
# disadvantage: not shown as default in docs.
locations."/" = { locations."/" = {
index = "index.php"; index = "index.php";
}; };
@ -208,7 +216,7 @@ in {
locations."= /piwik.js".extraConfig = '' locations."= /piwik.js".extraConfig = ''
expires 1M; expires 1M;
''; '';
}; }];
}; };
}; };

View File

@ -19,6 +19,24 @@ let
) cfg.virtualHosts; ) cfg.virtualHosts;
enableIPv6 = config.networking.enableIPv6; enableIPv6 = config.networking.enableIPv6;
recommendedProxyConfig = pkgs.writeText "nginx-recommended-proxy-headers.conf" ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Accept-Encoding "";
'';
upstreamConfig = toString (flip mapAttrsToList cfg.upstreams (name: upstream: ''
upstream ${name} {
${toString (flip mapAttrsToList upstream.servers (name: server: ''
server ${name} ${optionalString server.backup "backup"};
''))}
}
''));
configFile = pkgs.writeText "nginx.conf" '' configFile = pkgs.writeText "nginx.conf" ''
user ${cfg.user} ${cfg.group}; user ${cfg.user} ${cfg.group};
error_log stderr; error_log stderr;
@ -41,6 +59,7 @@ let
${optionalString (cfg.resolver.addresses != []) '' ${optionalString (cfg.resolver.addresses != []) ''
resolver ${toString cfg.resolver.addresses} ${optionalString (cfg.resolver.valid != "") "valid=${cfg.resolver.valid}"}; resolver ${toString cfg.resolver.addresses} ${optionalString (cfg.resolver.valid != "") "valid=${cfg.resolver.valid}"};
''} ''}
${upstreamConfig}
${optionalString (cfg.recommendedOptimisation) '' ${optionalString (cfg.recommendedOptimisation) ''
# optimisation # optimisation
@ -74,21 +93,19 @@ let
''} ''}
${optionalString (cfg.recommendedProxySettings) '' ${optionalString (cfg.recommendedProxySettings) ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header Accept-Encoding "";
proxy_redirect off; proxy_redirect off;
proxy_connect_timeout 90; proxy_connect_timeout 90;
proxy_send_timeout 90; proxy_send_timeout 90;
proxy_read_timeout 90; proxy_read_timeout 90;
proxy_http_version 1.0; proxy_http_version 1.0;
include ${recommendedProxyConfig};
''} ''}
# $connection_upgrade is used for websocket proxying
map $http_upgrade $connection_upgrade {
default upgrade;
''' close;
}
client_max_body_size ${cfg.clientMaxBodySize}; client_max_body_size ${cfg.clientMaxBodySize};
server_tokens ${if cfg.serverTokens then "on" else "off"}; server_tokens ${if cfg.serverTokens then "on" else "off"};
@ -130,22 +147,23 @@ let
vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost: vhosts = concatStringsSep "\n" (mapAttrsToList (vhostName: vhost:
let let
ssl = with vhost; addSSL || onlySSL || enableSSL; onlySSL = vhost.onlySSL || vhost.enableSSL;
hasSSL = onlySSL || vhost.addSSL || vhost.forceSSL;
defaultListen = with vhost; defaultListen =
if listen != [] then listen if vhost.listen != [] then vhost.listen
else if onlySSL || enableSSL then else ((optionals hasSSL (
singleton { addr = "0.0.0.0"; port = 443; ssl = true; } singleton { addr = "0.0.0.0"; port = 443; ssl = true; }
++ optional enableIPv6 { addr = "[::]"; port = 443; ssl = true; } ++ optional enableIPv6 { addr = "[::]"; port = 443; ssl = true; }
else singleton { addr = "0.0.0.0"; port = 80; ssl = false; } )) ++ optionals (!onlySSL) (
++ optional enableIPv6 { addr = "[::]"; port = 80; ssl = false; } singleton { addr = "0.0.0.0"; port = 80; ssl = false; }
++ optional addSSL { addr = "0.0.0.0"; port = 443; ssl = true; } ++ optional enableIPv6 { addr = "[::]"; port = 80; ssl = false; }
++ optional (enableIPv6 && addSSL) { addr = "[::]"; port = 443; ssl = true; }; ));
hostListen = hostListen =
if !vhost.forceSSL if vhost.forceSSL
then defaultListen then filter (x: x.ssl) defaultListen
else filter (x: x.ssl) defaultListen; else defaultListen;
listenString = { addr, port, ssl, ... }: listenString = { addr, port, ssl, ... }:
"listen ${addr}:${toString port} " "listen ${addr}:${toString port} "
@ -155,9 +173,6 @@ let
redirectListen = filter (x: !x.ssl) defaultListen; redirectListen = filter (x: !x.ssl) defaultListen;
redirectListenString = { addr, ... }:
"listen ${addr}:80 ${optionalString vhost.default "default_server"};";
acmeLocation = '' acmeLocation = ''
location /.well-known/acme-challenge { location /.well-known/acme-challenge {
${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"} ${optionalString (vhost.acmeFallbackHost != null) "try_files $uri @acme-fallback;"}
@ -175,7 +190,7 @@ let
in '' in ''
${optionalString vhost.forceSSL '' ${optionalString vhost.forceSSL ''
server { server {
${concatMapStringsSep "\n" redirectListenString redirectListen} ${concatMapStringsSep "\n" listenString redirectListen}
server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases}; server_name ${vhost.serverName} ${concatStringsSep " " vhost.serverAliases};
${optionalString vhost.enableACME acmeLocation} ${optionalString vhost.enableACME acmeLocation}
@ -191,9 +206,9 @@ let
${optionalString vhost.enableACME acmeLocation} ${optionalString vhost.enableACME acmeLocation}
${optionalString (vhost.root != null) "root ${vhost.root};"} ${optionalString (vhost.root != null) "root ${vhost.root};"}
${optionalString (vhost.globalRedirect != null) '' ${optionalString (vhost.globalRedirect != null) ''
return 301 http${optionalString ssl "s"}://${vhost.globalRedirect}$request_uri; return 301 http${optionalString hasSSL "s"}://${vhost.globalRedirect}$request_uri;
''} ''}
${optionalString ssl '' ${optionalString hasSSL ''
ssl_certificate ${vhost.sslCertificate}; ssl_certificate ${vhost.sslCertificate};
ssl_certificate_key ${vhost.sslCertificateKey}; ssl_certificate_key ${vhost.sslCertificateKey};
''} ''}
@ -208,12 +223,24 @@ let
) virtualHosts); ) virtualHosts);
mkLocations = locations: concatStringsSep "\n" (mapAttrsToList (location: config: '' mkLocations = locations: concatStringsSep "\n" (mapAttrsToList (location: config: ''
location ${location} { location ${location} {
${optionalString (config.proxyPass != null) "proxy_pass ${config.proxyPass};"} ${optionalString (config.proxyPass != null && !cfg.proxyResolveWhileRunning)
"proxy_pass ${config.proxyPass};"
}
${optionalString (config.proxyPass != null && cfg.proxyResolveWhileRunning) ''
set $nix_proxy_target "${config.proxyPass}";
proxy_pass $nix_proxy_target;
''}
${optionalString config.proxyWebsockets ''
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
''}
${optionalString (config.index != null) "index ${config.index};"} ${optionalString (config.index != null) "index ${config.index};"}
${optionalString (config.tryFiles != null) "try_files ${config.tryFiles};"} ${optionalString (config.tryFiles != null) "try_files ${config.tryFiles};"}
${optionalString (config.root != null) "root ${config.root};"} ${optionalString (config.root != null) "root ${config.root};"}
${optionalString (config.alias != null) "alias ${config.alias};"} ${optionalString (config.alias != null) "alias ${config.alias};"}
${config.extraConfig} ${config.extraConfig}
${optionalString (config.proxyPass != null && cfg.recommendedProxySettings) "include ${recommendedProxyConfig};"}
} }
'') locations); '') locations);
mkBasicAuth = vhostName: authDef: let mkBasicAuth = vhostName: authDef: let
@ -405,6 +432,16 @@ in
description = "Path to DH parameters file."; description = "Path to DH parameters file.";
}; };
proxyResolveWhileRunning = mkOption {
type = types.bool;
default = false;
description = ''
Resolves domains of proxyPass targets at runtime
and not only at start, you have to set
services.nginx.resolver, too.
'';
};
resolver = mkOption { resolver = mkOption {
type = types.submodule { type = types.submodule {
options = { options = {
@ -431,6 +468,35 @@ in
default = {}; default = {};
}; };
upstreams = mkOption {
type = types.attrsOf (types.submodule {
options = {
servers = mkOption {
type = types.attrsOf (types.submodule {
options = {
backup = mkOption {
type = types.bool;
default = false;
description = ''
Marks the server as a backup server. It will be passed
requests when the primary servers are unavailable.
'';
};
};
});
description = ''
Defines the address and other parameters of the upstream servers.
'';
default = {};
};
};
});
description = ''
Defines a group of servers to use as proxy target.
'';
default = {};
};
virtualHosts = mkOption { virtualHosts = mkOption {
type = types.attrsOf (types.submodule (import ./vhost-options.nix { type = types.attrsOf (types.submodule (import ./vhost-options.nix {
inherit config lib; inherit config lib;
@ -478,18 +544,15 @@ in
} }
{ {
assertion = all (conf: with conf; !(addSSL && (onlySSL || enableSSL))) (attrValues virtualHosts); assertion = all (conf: with conf;
!(addSSL && (onlySSL || enableSSL)) &&
!(forceSSL && (onlySSL || enableSSL)) &&
!(addSSL && forceSSL)
) (attrValues virtualHosts);
message = '' message = ''
Options services.nginx.service.virtualHosts.<name>.addSSL and Options services.nginx.service.virtualHosts.<name>.addSSL,
services.nginx.virtualHosts.<name>.onlySSL are mutually esclusive services.nginx.virtualHosts.<name>.onlySSL and services.nginx.virtualHosts.<name>.forceSSL
''; are mutually exclusive.
}
{
assertion = all (conf: with conf; forceSSL -> addSSL) (attrValues virtualHosts);
message = ''
Option services.nginx.virtualHosts.<name>.forceSSL requires
services.nginx.virtualHosts.<name>.addSSL set to true.
''; '';
} }
]; ];

View File

@ -14,7 +14,17 @@ with lib;
default = null; default = null;
example = "http://www.example.org/"; example = "http://www.example.org/";
description = '' description = ''
Adds proxy_pass directive. Adds proxy_pass directive and sets recommended proxy headers if
recommendedProxySettings is enabled.
'';
};
proxyWebsockets = mkOption {
type = types.bool;
default = false;
example = true;
description = ''
Whether to supporty proxying websocket connections with HTTP/1.1.
''; '';
}; };

View File

@ -96,8 +96,9 @@ with lib;
default = false; default = false;
description = '' description = ''
Whether to add a separate nginx server block that permanently redirects (301) Whether to add a separate nginx server block that permanently redirects (301)
all plain HTTP traffic to HTTPS. This option needs <literal>addSSL</literal> all plain HTTP traffic to HTTPS. This will set defaults for
to be set to true. <literal>listen</literal> to listen on all interfaces on the respective default
ports (80, 443), where the non-SSL listens are used for the redirect vhosts.
''; '';
}; };

View File

@ -20,6 +20,7 @@ in
imports = [ imports = [
./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
./mate.nix
]; ];
options = { options = {

View File

@ -186,7 +186,8 @@ in {
networking.networkmanager.basePackages = networking.networkmanager.basePackages =
{ inherit (pkgs) networkmanager modemmanager wpa_supplicant; { inherit (pkgs) networkmanager modemmanager wpa_supplicant;
inherit (gnome3) networkmanager_openvpn networkmanager_vpnc inherit (gnome3) networkmanager_openvpn networkmanager_vpnc
networkmanager_openconnect networkmanager_fortisslvpn networkmanager_pptp networkmanager_openconnect networkmanager_fortisslvpn
networkmanager_pptp networkmanager_iodine
networkmanager_l2tp; }; networkmanager_l2tp; };
# Needed for themes and backgrounds # Needed for themes and backgrounds

View File

@ -0,0 +1,82 @@
{ config, lib, pkgs, ... }:
with lib;
let
# Remove packages of ys from xs, based on their names
removePackagesByName = xs: ys:
let
pkgName = drv: (builtins.parseDrvName drv.name).name;
ysNames = map pkgName ys;
in
filter (x: !(builtins.elem (pkgName x) ysNames)) xs;
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.mate;
in
{
options = {
services.xserver.desktopManager.mate.enable = mkOption {
type = types.bool;
default = false;
description = "Enable the MATE desktop environment";
};
environment.mate.excludePackages = mkOption {
default = [];
example = literalExample "[ pkgs.mate.mate-terminal pkgs.mate.pluma ]";
type = types.listOf types.package;
description = "Which MATE packages to exclude from the default environment";
};
};
config = mkIf (xcfg.enable && cfg.enable) {
services.xserver.desktopManager.session = singleton {
name = "mate";
bgSupport = true;
start = ''
# Set GTK_DATA_PREFIX so that GTK+ can find the themes
export GTK_DATA_PREFIX=${config.system.path}
# Find theme engines
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
export XDG_MENU_PREFIX=mate
# Find the mouse
export XCURSOR_PATH=~/.icons:${config.system.path}/share/icons
# Update user dirs as described in http://freedesktop.org/wiki/Software/xdg-user-dirs/
${pkgs.xdg-user-dirs}/bin/xdg-user-dirs-update
${pkgs.mate.mate-session-manager}/bin/mate-session &
waitPID=$!
'';
};
environment.systemPackages = [
pkgs.hicolor_icon_theme
pkgs.mate.mate-icon-theme
] ++
pkgs.mate.basePackages ++
(removePackagesByName
pkgs.mate.extraPackages
config.environment.mate.excludePackages);
services.dbus.packages = [
pkgs.gnome3.dconf
pkgs.at_spi2_core
];
services.gnome3.gnome-keyring.enable = true;
environment.pathsToLink = [ "/share" ];
};
}

View File

@ -29,7 +29,7 @@ in {
enable = mkOption { enable = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
description = "Whether to enable touchpad support."; description = "Whether to enable touchpad support. Deprecated: Consider services.xserver.libinput.enable.";
}; };
dev = mkOption { dev = mkOption {

View File

@ -1,60 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.xserver.windowManager.compiz;
xorg = config.services.xserver.package;
in
{
options = {
services.xserver.windowManager.compiz = {
enable = mkEnableOption "compiz";
renderingFlag = mkOption {
default = "";
example = "--indirect-rendering";
description = "Pass the <option>--indirect-rendering</option> flag to Compiz.";
};
};
};
config = mkIf cfg.enable {
services.xserver.windowManager.session = singleton
{ name = "compiz";
start =
''
# Start Compiz using the flat-file configuration backend
# (ccp).
export COMPIZ_PLUGINDIR=${config.system.path}/lib/compiz
export COMPIZ_METADATADIR=${config.system.path}/share/compiz
${pkgs.compiz}/bin/compiz ccp ${cfg.renderingFlag} &
# Start GTK-style window decorator.
${pkgs.compiz}/bin/gtk-window-decorator &
'';
};
environment.systemPackages =
[ pkgs.compiz
pkgs.compiz_ccsm
pkgs.compiz_plugins_main
pkgs.compiz_plugins_extra
pkgs.libcompizconfig # for the "ccp" plugin
];
environment.pathsToLink = [ "/lib/compiz" "/share/compiz" ];
};
}

View File

@ -11,7 +11,6 @@ in
./2bwm.nix ./2bwm.nix
./afterstep.nix ./afterstep.nix
./bspwm.nix ./bspwm.nix
./compiz.nix
./dwm.nix ./dwm.nix
./exwm.nix ./exwm.nix
./fluxbox.nix ./fluxbox.nix

View File

@ -147,11 +147,16 @@ my $activePrev = getActiveUnits;
while (my ($unit, $state) = each %{$activePrev}) { while (my ($unit, $state) = each %{$activePrev}) {
my $baseUnit = $unit; my $baseUnit = $unit;
# Recognise template instances.
$baseUnit = "$1\@.$2" if $unit =~ /^(.*)@[^\.]*\.(.*)$/;
my $prevUnitFile = "/etc/systemd/system/$baseUnit"; my $prevUnitFile = "/etc/systemd/system/$baseUnit";
my $newUnitFile = "$out/etc/systemd/system/$baseUnit"; my $newUnitFile = "$out/etc/systemd/system/$baseUnit";
# Detect template instances.
if (!-e $prevUnitFile && !-e $newUnitFile && $unit =~ /^(.*)@[^\.]*\.(.*)$/) {
$baseUnit = "$1\@.$2";
$prevUnitFile = "/etc/systemd/system/$baseUnit";
$newUnitFile = "$out/etc/systemd/system/$baseUnit";
}
my $baseName = $baseUnit; my $baseName = $baseUnit;
$baseName =~ s/\.[a-z]*$//; $baseName =~ s/\.[a-z]*$//;

View File

@ -121,8 +121,8 @@ sub GetFs {
my $device = $fields[$n + 1]; my $device = $fields[$n + 1];
my @superOptions = split /,/, $fields[$n + 2]; my @superOptions = split /,/, $fields[$n + 2];
# Skip the read-only bind-mount on /nix/store. # Skip the bind-mount on /nix/store.
next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions) && (grep { $_ eq "ro" } @mountOptions); next if $mountPoint eq "/nix/store" && (grep { $_ eq "rw" } @superOptions);
# Skip mount point generated by systemd-efi-boot-generator? # Skip mount point generated by systemd-efi-boot-generator?
next if $fsType eq "autofs"; next if $fsType eq "autofs";

View File

@ -221,6 +221,9 @@ checkFS() {
# Don't check resilient COWs as they validate the fs structures at mount time # Don't check resilient COWs as they validate the fs structures at mount time
if [ "$fsType" = btrfs -o "$fsType" = zfs ]; then return 0; fi if [ "$fsType" = btrfs -o "$fsType" = zfs ]; then return 0; fi
# Skip fsck for bcachefs - not implemented yet.
if [ "$fsType" = bcachefs ]; then return 0; fi
# Skip fsck for inherently readonly filesystems. # Skip fsck for inherently readonly filesystems.
if [ "$fsType" = squashfs ]; then return 0; fi if [ "$fsType" = squashfs ]; then return 0; fi

View File

@ -294,7 +294,7 @@ in
"/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; }; "/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; };
"/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; }; "/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; };
"/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; }; "/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; };
"/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "gid=${toString config.ids.gids.tty}" ]; }; "/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "ptmxmode=0666" "gid=${toString config.ids.gids.tty}" ]; };
# To hold secrets that shouldn't be written to disk (generally used for NixOps, harmless elsewhere) # To hold secrets that shouldn't be written to disk (generally used for NixOps, harmless elsewhere)
"/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" "gid=${toString config.ids.gids.keys}" ]; }; "/run/keys" = { fsType = "ramfs"; options = [ "nosuid" "nodev" "mode=750" "gid=${toString config.ids.gids.keys}" ]; };

View File

@ -0,0 +1,26 @@
{ config, lib, pkgs, ... }:
with lib;
let
inInitrd = any (fs: fs == "bcachefs") config.boot.initrd.supportedFilesystems;
in
{
config = mkIf (any (fs: fs == "bcachefs") config.boot.supportedFilesystems) {
system.fsPackages = [ pkgs.bcachefs-tools ];
# use kernel package with bcachefs support until it's in mainline
boot.kernelPackages = pkgs.linuxPackages_testing_bcachefs;
boot.initrd.availableKernelModules = mkIf inInitrd [ "bcachefs" ];
boot.initrd.extraUtilsCommands = mkIf inInitrd
''
copy_bin_and_libs ${pkgs.bcachefs-tools}/bin/fsck.bcachefs
'';
};
}

View File

@ -71,7 +71,7 @@ let
(hasAttr dev cfg.vswitches) || (hasAttr dev cfg.vswitches) ||
(hasAttr dev cfg.wlanInterfaces) (hasAttr dev cfg.wlanInterfaces)
then [ "${dev}-netdev.service" ] then [ "${dev}-netdev.service" ]
else optional (dev != null && !config.boot.isContainer) (subsystemDevice dev); else optional (dev != null && dev != "lo" && !config.boot.isContainer) (subsystemDevice dev);
networkLocalCommands = { networkLocalCommands = {
after = [ "network-setup.service" ]; after = [ "network-setup.service" ];

View File

@ -298,6 +298,7 @@ in rec {
tests.pumpio = callTest tests/pump.io.nix {}; tests.pumpio = callTest tests/pump.io.nix {};
# tests.quagga = callTest tests/quagga.nix {}; # tests.quagga = callTest tests/quagga.nix {};
tests.quake3 = callTest tests/quake3.nix {}; tests.quake3 = callTest tests/quake3.nix {};
tests.radicale = callTest tests/radicale.nix {};
tests.runInMachine = callTest tests/run-in-machine.nix {}; tests.runInMachine = callTest tests/run-in-machine.nix {};
tests.samba = callTest tests/samba.nix {}; tests.samba = callTest tests/samba.nix {};
tests.sddm = callSubTests tests/sddm.nix {}; tests.sddm = callSubTests tests/sddm.nix {};

View File

@ -0,0 +1,66 @@
import ./make-test.nix ({ pkgs, lib, ...} :
let
client_base = rec {
containers.test1 = {
autoStart = true;
config = {
environment.etc."check".text = "client_base";
};
};
# prevent make-test.nix to change IP
networking.interfaces = {
eth1.ip4 = lib.mkOverride 0 [ ];
};
};
in {
name = "cotnainers-reloadable";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ danbst ];
};
nodes = {
client = { lib, pkgs, ... }: {
imports = [ client_base ];
};
client_c1 = { lib, pkgs, ... }: {
imports = [ client_base ];
containers.test1.config = {
environment.etc."check".text = lib.mkForce "client_c1";
services.httpd.enable = true;
services.httpd.adminAddr = "nixos@example.com";
};
};
client_c2 = { lib, pkgs, ... }: {
imports = [ client_base ];
containers.test1.config = {
environment.etc."check".text = lib.mkForce "client_c2";
services.nginx.enable = true;
};
};
};
testScript = {nodes, ...}: let
originalSystem = nodes.client.config.system.build.toplevel;
c1System = nodes.client_c1.config.system.build.toplevel;
c2System = nodes.client_c2.config.system.build.toplevel;
in ''
$client->start();
$client->waitForUnit("default.target");
$client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_base ]] >&2");
$client->succeed("${c1System}/bin/switch-to-configuration test >&2");
$client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_c1 ]] >&2");
$client->succeed("systemctl status httpd -M test1 >&2");
$client->succeed("${c2System}/bin/switch-to-configuration test >&2");
$client->succeed("[[ \$(nixos-container run test1 cat /etc/check) == client_c2 ]] >&2");
$client->fail("systemctl status httpd -M test1 >&2");
$client->succeed("systemctl status nginx -M test1 >&2");
'';
})

View File

@ -15,7 +15,7 @@ import ./make-test.nix ({ pkgs, ...} : {
services.xserver.displayManager.auto.user = "alice"; services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.gnome3.enable = true; services.xserver.desktopManager.gnome3.enable = true;
virtualisation.memorySize = 512; virtualisation.memorySize = 1024;
}; };
testScript = testScript =

View File

@ -11,27 +11,47 @@ import ./make-test.nix ({ pkgs, ...} : {
{ {
services.ipfs = { services.ipfs = {
enable = true; enable = true;
defaultMode = "norouting";
gatewayAddress = "/ip4/127.0.0.1/tcp/2323"; gatewayAddress = "/ip4/127.0.0.1/tcp/2323";
apiAddress = "/ip4/127.0.0.1/tcp/2324"; apiAddress = "/ip4/127.0.0.1/tcp/2324";
}; };
networking.firewall.allowedTCPPorts = [ 4001 ];
}; };
getter = getter =
{ config, pkgs, ... }: { config, pkgs, ... }:
{ {
services.ipfs.enable = true; services.ipfs = {
enable = true;
defaultMode = "norouting";
# not yet. See #28621
#autoMount = true;
};
networking.firewall.allowedTCPPorts = [ 4001 ];
}; };
}; };
testScript = '' testScript = ''
startAll; startAll;
$adder->waitForUnit("ipfs"); $adder->waitForUnit("ipfs-norouting");
# * => needs ipfs dht (internet) $getter->waitForUnit("ipfs-norouting");
# $getter->waitForUnit("ipfs");
# wait until api is available
$adder->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/2324 id"); $adder->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/2324 id");
$adder->mustSucceed("([[ -n '$(ipfs --api /ip4/127.0.0.1/tcp/2324 config Addresses.gatewayAddress | grep /ip4/127.0.0.1/tcp/2323)' ]])"); my $addrId = $adder->succeed("ipfs --api /ip4/127.0.0.1/tcp/2324 id -f=\"<id>\"");
# * $getter->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/5001 id"); my $addrIp = (split /[ \/]+/, $adder->succeed("ip -o -4 addr show dev eth1"))[3];
# * my $ipfsHash = $adder->mustSucceed("echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | cut -d' ' -f2");
$adder->mustSucceed("([[ -n '$(echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | grep added)' ]])"); $adder->mustSucceed("[ -n \"\$(ipfs --api /ip4/127.0.0.1/tcp/2324 config Addresses.Gateway | grep /ip4/127.0.0.1/tcp/2323)\" ]");
# * $getter->mustSucceed("ipfs --api /ip4/127.0.0.1/tcp/5001 cat $ipfsHash");
# wait until api is available
$getter->waitUntilSucceeds("ipfs --api /ip4/127.0.0.1/tcp/5001 id");
my $ipfsHash = $adder->mustSucceed("echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | cut -d' ' -f2");
chomp($ipfsHash);
$adder->mustSucceed("[ -n \"\$(echo fnord | ipfs --api /ip4/127.0.0.1/tcp/2324 add | grep added)\" ]");
$getter->mustSucceed("ipfs --api /ip4/127.0.0.1/tcp/5001 swarm connect /ip4/$addrIp/tcp/4001/ipfs/$addrId");
$getter->mustSucceed("[ -n \"\$(ipfs --api /ip4/127.0.0.1/tcp/5001 cat /ipfs/$ipfsHash | grep fnord)\" ]");
# not yet. See #28621
# $getter->mustSucceed("[ -n \"$(cat /ipfs/$ipfsHash | grep fnord)\" ]");
''; '';
}) })

View File

@ -1,80 +1,39 @@
let let
port = 5232; user = "someuser";
radicaleOverlay = self: super: { password = "some_password";
radicale = super.radicale.overrideAttrs (oldAttrs: { port = builtins.toString 5232;
propagatedBuildInputs = with self.pythonPackages; in
(oldAttrs.propagatedBuildInputs or []) ++ [ import ./make-test.nix ({ pkgs, lib, ... }: {
passlib name = "radicale";
]; meta.maintainers = with lib.maintainers; [ aneeshusa infinisil ];
});
}; machine = {
common = { config, pkgs, ...}: {
services.radicale = { services.radicale = {
enable = true; enable = true;
config = let home = config.users.extraUsers.radicale.home; in '' config = ''
[server]
hosts = 127.0.0.1:${builtins.toString port}
daemon = False
[encoding]
[well-known]
[auth] [auth]
type = htpasswd type = htpasswd
htpasswd_filename = /etc/radicale/htpasswd htpasswd_filename = /etc/radicale/htpasswd
htpasswd_encryption = bcrypt htpasswd_encryption = bcrypt
[git]
[rights]
[storage] [storage]
type = filesystem filesystem_folder = /tmp/collections
filesystem_folder = ${home}/collections
[logging] [logging]
[headers] debug = True
''; '';
}; };
# WARNING: DON'T DO THIS IN PRODUCTION! # WARNING: DON'T DO THIS IN PRODUCTION!
# This puts secrets (albeit hashed) directly into the Nix store for ease of testing. # This puts secrets (albeit hashed) directly into the Nix store for ease of testing.
environment.etc."radicale/htpasswd".source = with pkgs; let environment.etc."radicale/htpasswd".source = pkgs.runCommand "htpasswd" {} ''
py = python.withPackages(ps: with ps; [ passlib ]); ${pkgs.apacheHttpd}/bin/htpasswd -bcB "$out" ${user} ${password}
in runCommand "htpasswd" {} ''
${py}/bin/python -c "
from passlib.apache import HtpasswdFile
ht = HtpasswdFile(
'$out',
new=True,
default_scheme='bcrypt'
)
ht.set_password('someuser', 'really_secret_password')
ht.save()
"
''; '';
}; };
in import ./make-test.nix ({ lib, ... }: { # This tests whether the web interface is accessible to an authenticated user
name = "radicale";
meta.maintainers = with lib.maintainers; [ aneeshusa ];
# Test radicale with bcrypt-based htpasswd authentication
nodes = {
py2 = { config, pkgs, ... }@args: (common args) // {
nixpkgs.overlays = [
radicaleOverlay
];
};
py3 = { config, pkgs, ... }@args: (common args) // {
nixpkgs.overlays = [
(self: super: {
python = self.python3;
pythonPackages = self.python3.pkgs;
})
radicaleOverlay
];
};
};
testScript = '' testScript = ''
for my $machine ($py2, $py3) { $machine->waitForUnit('radicale.service');
$machine->waitForUnit('radicale.service'); $machine->waitForOpenPort(${port});
$machine->waitForOpenPort(${builtins.toString port}); $machine->succeed('curl --fail http://${user}:${password}@localhost:${port}/.web/');
$machine->succeed('curl -s http://someuser:really_secret_password@127.0.0.1:${builtins.toString port}/someuser/calendar.ics/');
}
''; '';
}) })

View File

@ -0,0 +1,40 @@
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
, withGui }:
with stdenv.lib;
stdenv.mkDerivation rec{
name = "bit1" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.14.5";
src = fetchurl {
url = "https://github.com/btc1/bitcoin/archive/v${version}.tar.gz";
sha256 = "1az6bbblh3adgcs16r9cjz8jacg6sbwfpg8zzfzkbp9h9j85ass5";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];
buildInputs = [ openssl db48 boost zlib
miniupnpc protobuf libevent]
++ optionals stdenv.isLinux [ utillinux ]
++ optionals withGui [ qt4 qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt4" ];
meta = {
description = "Peer-to-peer electronic cash system (btc1 client)";
longDescription= ''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
btc1 is an implementation of a Bitcoin full node with segwit2x hard fork
support.
'';
homepage = "https://github.com/btc1/bitcoin";
license = licenses.mit;
maintainers = with maintainers; [ sorpaas ];
platforms = platforms.unix;
};
}

View File

@ -14,6 +14,9 @@ rec {
bitcoin-xt = callPackage ./bitcoin-xt.nix { withGui = true; }; bitcoin-xt = callPackage ./bitcoin-xt.nix { withGui = true; };
bitcoind-xt = callPackage ./bitcoin-xt.nix { withGui = false; }; bitcoind-xt = callPackage ./bitcoin-xt.nix { withGui = false; };
btc1 = callPackage ./btc1.nix { withGui = true; };
btc1d = callPackage ./btc1.nix { withGui = false; };
dashpay = callPackage ./dashpay.nix { }; dashpay = callPackage ./dashpay.nix { };
dogecoin = callPackage ./dogecoin.nix { withGui = true; }; dogecoin = callPackage ./dogecoin.nix { withGui = true; };
@ -23,8 +26,8 @@ rec {
go-ethereum = callPackage ./go-ethereum.nix { }; go-ethereum = callPackage ./go-ethereum.nix { };
go-ethereum-classic = callPackage ./go-ethereum-classic { }; go-ethereum-classic = callPackage ./go-ethereum-classic { };
hivemind = callPackage ./hivemind.nix { withGui = true; }; hivemind = callPackage ./hivemind.nix { withGui = true; boost = pkgs.boost162; };
hivemindd = callPackage ./hivemind.nix { withGui = false; }; hivemindd = callPackage ./hivemind.nix { withGui = false; boost = pkgs.boost162; };
litecoin = callPackage ./litecoin.nix { withGui = true; }; litecoin = callPackage ./litecoin.nix { withGui = true; };
litecoind = callPackage ./litecoin.nix { withGui = false; }; litecoind = callPackage ./litecoin.nix { withGui = false; };

View File

@ -2,16 +2,15 @@
buildGoPackage rec { buildGoPackage rec {
name = "go-ethereum-classic-${version}"; name = "go-ethereum-classic-${version}";
version = "3.5.0"; version = "3.5.86";
rev = "402c1700fbefb9512e444b32fe12c2d674638ddb";
goPackagePath = "github.com/ethereumproject/go-ethereum"; goPackagePath = "github.com/ethereumproject/go-ethereum";
subPackages = [ "cmd/evm" "cmd/geth" ]; subPackages = [ "cmd/evm" "cmd/geth" ];
src = fetchgit { src = fetchgit {
inherit rev; rev = "v${version}";
url = "https://github.com/ethereumproject/go-ethereum"; url = "https://github.com/ethereumproject/go-ethereum";
sha256 = "15wji12wqcrgsb1glwwz4jv7rsas71bbxh7750iv2phn7jivm0fi"; sha256 = "1k59hl3qvx4422zqlp259566fnxq5bs67jhm0v6a1zfr1k8iqzwh";
}; };
goDeps = ./deps.nix; goDeps = ./deps.nix;
@ -20,5 +19,6 @@ buildGoPackage rec {
description = "Golang implementation of Ethereum Classic"; description = "Golang implementation of Ethereum Classic";
homepage = https://github.com/ethereumproject/go-ethereum; homepage = https://github.com/ethereumproject/go-ethereum;
license = with lib.licenses; [ lgpl3 gpl3 ]; license = with lib.licenses; [ lgpl3 gpl3 ];
maintainers = with lib.maintainers; [ sorpaas ];
}; };
} }

View File

@ -1,23 +1,24 @@
{ aeson, ansi-wl-pprint, base, base16-bytestring { mkDerivation, abstract-par, aeson, ansi-wl-pprint, base
, base64-bytestring, binary, brick, bytestring, containers , base16-bytestring, base64-bytestring, binary, brick, bytestring
, cryptonite, data-dword, deepseq, directory, filepath, ghci-pretty , cereal, containers, cryptonite, data-dword, deepseq, directory
, here, HUnit, lens, lens-aeson, memory, mtl, optparse-generic , filepath, ghci-pretty, here, HUnit, lens, lens-aeson, memory
, process, QuickCheck, quickcheck-text, readline, rosezipper , monad-par, mtl, optparse-generic, process, QuickCheck
, stdenv, tasty, tasty-hunit, tasty-quickcheck, temporary, text , quickcheck-text, readline, rosezipper, scientific, stdenv, tasty, tasty-hunit
, text-format, unordered-containers, vector, vty , tasty-quickcheck, temporary, text, text-format
, mkDerivation, fetchFromGitHub, lib , unordered-containers, vector, vty
, ncurses, zlib, bzip2, solc , fetchFromGitHub, lib, makeWrapper
, ncurses, zlib, bzip2, solc, coreutils
}: }:
lib.overrideDerivation (mkDerivation rec { lib.overrideDerivation (mkDerivation rec {
pname = "hsevm"; pname = "hsevm";
version = "0.3.2"; version = "0.6.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dapphub"; owner = "dapphub";
repo = "hsevm"; repo = "hsevm";
rev = "v${version}"; rev = "v${version}";
sha256 = "1c6zpphs03yfvyfbv1cjf04qh5q2miq7rpd7kx2cil77msi8hxw4"; sha256 = "01b67k9cam4gvsi07q3vx527m1w6p6xll64k1nl27bc8ik6jh8l9";
}; };
isLibrary = false; isLibrary = false;
@ -26,15 +27,16 @@ lib.overrideDerivation (mkDerivation rec {
postInstall = '' postInstall = ''
rm -rf $out/{lib,share} rm -rf $out/{lib,share}
wrapProgram $out/bin/hsevm --add-flags '+RTS -N$((`${coreutils}/bin/nproc` - 1)) -RTS'
''; '';
extraLibraries = [ extraLibraries = [
aeson ansi-wl-pprint base base16-bytestring base64-bytestring abstract-par aeson ansi-wl-pprint base base16-bytestring
binary brick bytestring containers cryptonite data-dword deepseq base64-bytestring binary brick bytestring cereal containers
directory filepath ghci-pretty lens lens-aeson memory mtl cryptonite data-dword deepseq directory filepath ghci-pretty lens
optparse-generic process QuickCheck quickcheck-text readline lens-aeson memory monad-par mtl optparse-generic process QuickCheck
rosezipper temporary text text-format unordered-containers vector quickcheck-text readline rosezipper scientific temporary text text-format
vty unordered-containers vector vty
]; ];
executableHaskellDepends = [ executableHaskellDepends = [
readline zlib bzip2 readline zlib bzip2
@ -50,4 +52,5 @@ lib.overrideDerivation (mkDerivation rec {
maintainers = [stdenv.lib.maintainers.dbrock]; maintainers = [stdenv.lib.maintainers.dbrock];
}) (attrs: { }) (attrs: {
buildInputs = attrs.buildInputs ++ [solc]; buildInputs = attrs.buildInputs ++ [solc];
nativeBuildInputs = attrs.nativeBuildInputs ++ [makeWrapper];
}) })

View File

@ -8,13 +8,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version; name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.13.2.1"; version = "0.14.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "litecoin-project"; owner = "litecoin-project";
repo = "litecoin"; repo = "litecoin";
rev = "v${version}"; rev = "v${version}";
sha256 = "0hml1crml6rx7im8dfbig3znmvnk2di61ybbhrhpad5mj0yrih30"; sha256 = "1smadd5d2mpz2v3pyk7wqm60vdp81zqr4m3z4wfvnlz62m1m800y";
}; };
nativeBuildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig autoreconfHook ];

View File

@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = buildInputs =
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac glibc [ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate libmad libogg librdf librdf_raptor librdf_rasqal libsamplerate
libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2 libsigcxx libsndfile libusb libuuid libxml2 libxslt lilv lv2

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
]; ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = http://calf.sourceforge.net; homepage = http://calf-studio-gear.org;
description = "A set of high quality open source audio plugins for musicians"; description = "A set of high quality open source audio plugins for musicians";
license = licenses.lgpl2; license = licenses.lgpl2;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View File

@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
buildInputs = [ unzip portaudio ]; buildInputs = [ unzip portaudio ];
patchPhase = '' patches = [
./gcc6.patch
];
prePatch = ''
sed -e s,/bin/ln,ln,g -i src/Makefile sed -e s,/bin/ln,ln,g -i src/Makefile
sed -e 's,^CXXFLAGS=-O2,CXXFLAGS=-O2 -D PATH_ESPEAK_DATA=\\\"$(DATADIR)\\\",' -i src/Makefile sed -e 's,^CXXFLAGS=-O2,CXXFLAGS=-O2 -D PATH_ESPEAK_DATA=\\\"$(DATADIR)\\\",' -i src/Makefile
'' + (if portaudio.api_version == 19 then '' '' + (if portaudio.api_version == 19 then ''

View File

@ -20,9 +20,11 @@ stdenv.mkDerivation rec {
# chmod +w ~/espeak-data # chmod +w ~/espeak-data
patches = [ patches = [
./gcc6.patch
./espeakedit-fix-makefile.patch ./espeakedit-fix-makefile.patch
./espeakedit-configurable-sox-path.patch ./espeakedit-configurable-sox-path.patch
./espeakedit-configurable-path-espeak-data.patch ./espeakedit-configurable-path-espeak-data.patch
./espeakedit-gcc6.patch
]; ];
postPatch = '' postPatch = ''

View File

@ -0,0 +1,57 @@
diff --git i/src/compiledata.cpp w/src/compiledata.cpp
index f1bcb30..30e9e2d 100755
--- i/src/compiledata.cpp
+++ w/src/compiledata.cpp
@@ -212,7 +212,7 @@ enum {
kTUNE_SPLIT,
};
-static const char utf8_bom[] = {0xef,0xbb,0xbf,0};
+static const char utf8_bom[] = {char(0xef),char(0xbb),char(0xbf),0};
static keywtab_t k_intonation[] = {
{"tune", 0, kTUNE},
diff --git i/src/espeakedit.cpp w/src/espeakedit.cpp
index bde03ea..071689d 100755
--- i/src/espeakedit.cpp
+++ w/src/espeakedit.cpp
@@ -744,7 +744,7 @@ void MyFrame::OnTools(wxCommandEvent& event)
int debug_flag=0;
char fname_log[sizeof(path_dsource)+12];
char err_fname[sizeof(path_home)+15];
- static const char utf8_bom[] = {0xef,0xbb,0xbf,0};
+ static const char utf8_bom[] = {char(0xef),char(0xbb),char(0xbf),0};
switch(event.GetId())
{
diff --git i/src/extras.cpp w/src/extras.cpp
index fa6ac3b..ee68f59 100644
--- i/src/extras.cpp
+++ w/src/extras.cpp
@@ -335,16 +335,16 @@ void Lexicon_It(int pass)
static const char *vowels1 = "aeiou";
static const char *vowels2 = "aeou";
- static const char ex1[] = {'a',0xc3,0xac,0}; // aì
- static const char ex2[] = {'e',0xc3,0xac,0}; // eì
- static const char ex3[] = {0xc3,0xb9,'a',0}; // ùa
- static const char ex4[] = {0xc3,0xb9,'e',0}; // ùe
- static const char ex5[] = {0xc3,0xb9,'i',0}; // ùi
- static const char ex6[] = {0xc3,0xb9,'o',0}; // ùo
- static const char ex7[] = {'c',0xc3,0xac,'a',0}; // cìa
- static const char ex8[] = {'c',0xc3,0xac,'o',0}; // cìo
- static const char ex9[] = {'c',0xc3,0xac,'u',0}; // cìu
- static const char ex10[] = {'g','l',0xc3,0xac,0}; // glì
+ static const char ex1[] = {'a',char(0xc3),char(0xac),0}; // aì
+ static const char ex2[] = {'e',char(0xc3),char(0xac),0}; // eì
+ static const char ex3[] = {char(0xc3),char(0xb9),'a',0}; // ùa
+ static const char ex4[] = {char(0xc3),char(0xb9),'e',0}; // ùe
+ static const char ex5[] = {char(0xc3),char(0xb9),'i',0}; // ùi
+ static const char ex6[] = {char(0xc3),char(0xb9),'o',0}; // ùo
+ static const char ex7[] = {'c',char(0xc3),char(0xac),'a',0}; // cìa
+ static const char ex8[] = {'c',char(0xc3),char(0xac),'o',0}; // cìo
+ static const char ex9[] = {'c',char(0xc3),char(0xac),'u',0}; // cìu
+ static const char ex10[] = {'g','l',char(0xc3),char(0xac),0}; // glì
static const char *exceptions[] = {ex1, ex2, ex3, ex4, ex5, ex6, ex7, ex8, ex9, ex10, NULL};

View File

@ -0,0 +1,13 @@
diff --git c/src/tr_languages.cpp i/src/tr_languages.cpp
index ec210a5..9503f47 100755
--- c/src/tr_languages.cpp
+++ i/src/tr_languages.cpp
@@ -198,7 +198,7 @@ static const unsigned short chars_ignore_zwnj_hyphen[] = {
0x200d, 1, // zero width joiner
0, 0 };
-const char string_ordinal[] = {0xc2,0xba,0}; // masculine ordinal character, UTF-8
+const char string_ordinal[] = {char(0xc2),char(0xba),0}; // masculine ordinal character, UTF-8
static Translator* NewTranslator(void)

View File

@ -1,20 +1,23 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, gnutls, freetype { lib, stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, gnutls, freetype
, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, libjack2, libvorbis , SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, libjack2, libvorbis
, libSM, libsndfile, libogg , libSM, libsndfile, libogg, libtool
}: }:
let
makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "freewheeling-${version}"; name = "freewheeling-${version}";
version = "2016-11-15"; version = "0.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "free-wheeling"; owner = "free-wheeling";
repo = "freewheeling"; repo = "freewheeling";
rev = "05ef3bf150fa6ba1b1d437b1fd70ef363289742f"; rev = "v${version}";
sha256 = "19plf7r0sq4271ln5bya95mp4i1j30x8hsxxga2kla27z953n9ih"; sha256 = "01hmp0jxzxpb5sl0x91hdlwmbw9n4yffrpra4f89s4n8cixrz3d9";
}; };
nativeBuildInputs = [ pkgconfig autoreconfHook ]; nativeBuildInputs = [ pkgconfig autoreconfHook libtool ];
buildInputs = [ buildInputs = [
freetype SDL SDL_gfx SDL_ttf freetype SDL SDL_gfx SDL_ttf
liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg libSM liblo libxml2 libjack2 alsaLib libvorbis libsndfile libogg libSM
@ -22,8 +25,7 @@ stdenv.mkDerivation rec {
configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ]; configureFlags = oldAttrs.configureFlags ++ [ "--enable-openssl-compatibility" ];
})) }))
]; ];
NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_ttf SDL_gfx ] ++ [ "-I${libxml2.dev}/include/libxml2" ];
patches = [ ./am_path_sdl.patch ./xml.patch ];
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View File

@ -7,6 +7,8 @@ stdenv.mkDerivation rec {
sha256 = "18f5v7g66mgarhs476frvayhch7fy4nyjf2xivixc061ipn0m82j"; sha256 = "18f5v7g66mgarhs476frvayhch7fy4nyjf2xivixc061ipn0m82j";
}; };
patches = [ ./no_error.patch ];
buildInputs = [ buildInputs = [
pkgconfig pkgconfig
scons scons
@ -31,5 +33,3 @@ stdenv.mkDerivation rec {
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -0,0 +1,13 @@
diff --git a/SConstruct b/SConstruct
index 4290fa5..0a7a679 100644
--- a/SConstruct
+++ b/SConstruct
@@ -16,7 +16,7 @@ env = Environment(
env.Replace( LIBS="" )
env.Replace( LIBPATH="" )
-env.MergeFlags( ['-Wall', '-Werror', '-g', '-fpic'] )
+env.MergeFlags( ['-g', '-fpic'] )
tests = { }
tests.update( env['PKGCONFIG_TESTS'] )

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Linux MultiMedia Studio"; description = "Linux MultiMedia Studio";
homepage = http://lmms.sourceforge.net; homepage = https://lmms.io;
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.goibhniu ]; maintainers = [ maintainers.goibhniu ];

View File

@ -1,38 +1,23 @@
{ stdenv, fetchurl, SDL, alsaLib, autoconf, automake, libjack2, perl { stdenv, fetchurl, SDL2, alsaLib, cmake, libjack2, perl
, zlib, zziplib , zlib, zziplib, pkgconfig, makeWrapper
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.90.85"; version = "1.01";
name = "milkytracker-${version}"; name = "milkytracker-${version}";
src = fetchurl { src = fetchurl {
url = "http://milkytracker.org/files/milkytracker-0.90.85.tar.gz"; url = "https://github.com/milkytracker/MilkyTracker/archive/v${version}.00.tar.gz";
sha256 = "184pk0k9nv461a61sh6lb62wfadjwwk8ri3z5kpdbqnyssz0zfpv"; sha256 = "1dvnddsnn9c83lz4dlm0cfjpc0m524amfkbalxbswdy0qc8cj1wv";
}; };
# Get two official patches.
no_zzip_patch = fetchurl {
url = "http://www.milkytracker.org/files/patches-0.90.85/no_zziplib_dep.patch";
sha256 = "1w550q7pxa7w6v2v19ljk03hayacrs6y887izg11a1983wk7qzb3";
};
fix_64bit_patch = fetchurl {
url = "http://www.milkytracker.org/files/patches-0.90.85/64bit_freebsd_fix.patch";
sha256 = "0gwd4zslbd8kih80k4v7n2c65kvm2cq3kl6d7y33z1l007vzyvf6";
};
patchPhase = ''
patch ./src/tracker/sdl/SDL_Main.cpp < ${fix_64bit_patch}
patch < ${no_zzip_patch}
patch ./src/compression/DecompressorGZIP.cpp < ${./decompressor_gzip.patch}
'';
preBuild='' preBuild=''
export CPATH=${zlib.out}/lib export CPATH=${zlib.out}/lib
''; '';
buildInputs = [ SDL alsaLib autoconf automake libjack2 perl zlib zziplib ]; nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
buildInputs = [ SDL2 alsaLib libjack2 perl zlib zziplib ];
meta = { meta = {
description = "Music tracker application, similar to Fasttracker II"; description = "Music tracker application, similar to Fasttracker II";

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, chromaprint, fftw, flac, libid3tag, libmad { stdenv, fetchurl, chromaprint, fetchpatch, fftw, flac, libid3tag, libmad
, libopus, libshout, libsndfile, libusb1, libvorbis, pkgconfig , libopus, libshout, libsndfile, libusb1, libvorbis, pkgconfig
, portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite , portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite
, taglib, vampSDK , taglib, vampSDK
@ -13,7 +13,17 @@ stdenv.mkDerivation rec {
sha256 = "0vb71w1yq0xwwsclrn2jj9bk8w4n14rfv5c0aw46c11mp8xz7f71"; sha256 = "0vb71w1yq0xwwsclrn2jj9bk8w4n14rfv5c0aw46c11mp8xz7f71";
}; };
patches = [ ./sqlite.patch ]; # from: https://bugs.gentoo.org/show_bug.cgi?id=622776 patches = [
(fetchpatch {
url = "https://sources.debian.net/data/main/m/mixxx/2.0.0~dfsg-7.1/debian/patches/0007-fix_gcc6_issue.patch";
sha256 = "0kpyv10wcjcvbijk6vpq54gx9sqzrq4kq2qilc1czmisp9qdy5sd";
})
(fetchpatch {
url = "https://622776.bugs.gentoo.org/attachment.cgi?id=487284";
name = "sqlite.patch";
sha256 = "1qqbd8nrxrjcc1dwvyqfq1k2yz3l071sfcgd2dmpk6j8d4j5kx31";
})
];
buildInputs = [ buildInputs = [
chromaprint fftw flac libid3tag libmad libopus libshout libsndfile chromaprint fftw flac libid3tag libmad libopus libshout libsndfile

View File

@ -1,13 +0,0 @@
diff -urN old/src/library/trackcollection.h mixxx-2.0.0/src/library/trackcollection.h
--- old/src/library/trackcollection.h 2017-07-30 00:04:48.511029517 -0400
+++ mixxx-2.0.0/src/library/trackcollection.h 2017-07-30 00:05:03.378699826 -0400
@@ -34,8 +34,7 @@
#include "library/dao/libraryhashdao.h"
#ifdef __SQLITE3__
-typedef struct sqlite3_context sqlite3_context;
-typedef struct Mem sqlite3_value;
+#include <sqlite3.h>
#endif
class TrackInfoObject;

View File

@ -2,12 +2,12 @@
pythonPackages.buildPythonApplication rec { pythonPackages.buildPythonApplication rec {
name = "mopidy-iris-${version}"; name = "mopidy-iris-${version}";
version = "3.2.0"; version = "3.3.3";
src = pythonPackages.fetchPypi { src = pythonPackages.fetchPypi {
inherit version; inherit version;
pname = "Mopidy-Iris"; pname = "Mopidy-Iris";
sha256 = "cb97cb14b2d6836f3c28c5fd0ada44b4a33f2e74380f44bd5d03beffa5f67b30"; sha256 = "1lfqkmjvdmc2pb3xx9z21ay095b2bk5cvdwharxqqx8fjq6n27hq";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "atom-${version}"; name = "atom-${version}";
version = "1.19.3"; version = "1.19.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb"; url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "0cms0zgxlzrm0sdqm97qdvrmvjcdcrbqi3bw66xabgx365pkry7z"; sha256 = "13k98ghz943yd5lqsbsvp1qy79lhgi3vww97qhqcbmmh15n0gsb0";
name = "${name}.deb"; name = "${name}.deb";
}; };

View File

@ -1530,10 +1530,10 @@
}) {}; }) {};
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org"; pname = "org";
version = "20170821"; version = "20170828";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/org-20170821.tar"; url = "https://elpa.gnu.org/packages/org-20170828.tar";
sha256 = "13214dfm6ixypsl0mj1wrdcs42w1qn5ig8m5sb6ih697i2kbxkgg"; sha256 = "0frjwgjyy7rwb7si57h6nd1p35a4gcd1dc0aka19kn8r59hbi08p";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -2321,10 +2321,10 @@
yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }: yasnippet = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
elpaBuild { elpaBuild {
pname = "yasnippet"; pname = "yasnippet";
version = "0.12.1"; version = "0.12.2";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/yasnippet-0.12.1.tar"; url = "https://elpa.gnu.org/packages/yasnippet-0.12.2.tar";
sha256 = "01q1hn3w8w63s7cvr9bq6l5n4nyirnk8qfba60ajp3j6ndi2964n"; sha256 = "03cilldgq7fpzk9ix2a8q1ppilxp5gvyrym7krifvrg1g2rs1qv9";
}; };
packageRequires = [ cl-lib ]; packageRequires = [ cl-lib ];
meta = { meta = {

File diff suppressed because it is too large Load Diff

View File

@ -548,12 +548,12 @@
ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }: ac-php = callPackage ({ ac-php-core, auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
melpaBuild { melpaBuild {
pname = "ac-php"; pname = "ac-php";
version = "1.7.9"; version = "1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xcwen"; owner = "xcwen";
repo = "ac-php"; repo = "ac-php";
rev = "e0aaae30e4e5f18390e5d00953db02c1f03c44f6"; rev = "7a50b7debd149a30b84f0e2e57a4662926d96a24";
sha256 = "1mrk37w88b4843jbghr9i79rbwbzwk8b1wljvzmm6x0q7ldlxmsm"; sha256 = "15kmzkkgrhwind66kiyc2kpl27jrbzcs79i3w5s7fzzjjg9h18lb";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@ -569,12 +569,12 @@
ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }: ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
melpaBuild { melpaBuild {
pname = "ac-php-core"; pname = "ac-php-core";
version = "1.7.9"; version = "1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xcwen"; owner = "xcwen";
repo = "ac-php"; repo = "ac-php";
rev = "e0aaae30e4e5f18390e5d00953db02c1f03c44f6"; rev = "7a50b7debd149a30b84f0e2e57a4662926d96a24";
sha256 = "1mrk37w88b4843jbghr9i79rbwbzwk8b1wljvzmm6x0q7ldlxmsm"; sha256 = "15kmzkkgrhwind66kiyc2kpl27jrbzcs79i3w5s7fzzjjg9h18lb";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@ -611,12 +611,12 @@
ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }: ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "ac-rtags"; pname = "ac-rtags";
version = "2.12"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "db1244c1c14514324474f362c857112e89bbf0c6"; rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "1fcrlxk9z11vbarznfcpfyqzvj6v3ydbn5z6vbdmgf9cxb52kfma"; sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@ -692,22 +692,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
ace-jump-buffer = callPackage ({ ace-jump-mode, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: ace-jump-buffer = callPackage ({ avy, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "ace-jump-buffer"; pname = "ace-jump-buffer";
version = "0.3.1"; version = "0.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "waymondo"; owner = "waymondo";
repo = "ace-jump-buffer"; repo = "ace-jump-buffer";
rev = "41f8bb0744cdf9c219d25b417f2ffbd0883469e7"; rev = "02797c22c10a817dbbdfbd8fddceeba6c4f0499a";
sha256 = "1z82a0lrb61msamqpsy7rxcgs2nfhhckkk4zw0aw49l248p2nrgs"; sha256 = "13wq92ia18q9vyhmvnz1grl1l18hxnaisb7hv13dhfc06alcsrw2";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/31100b5b899e942de7796bcbf6365625d1b62574/recipes/ace-jump-buffer"; url = "https://raw.githubusercontent.com/milkypostman/melpa/31100b5b899e942de7796bcbf6365625d1b62574/recipes/ace-jump-buffer";
sha256 = "0hkxa0ps0v1hwmjafqbnyr6rc4s0w95igk8y3w53asl7f5sj5mpi"; sha256 = "0hkxa0ps0v1hwmjafqbnyr6rc4s0w95igk8y3w53asl7f5sj5mpi";
name = "ace-jump-buffer"; name = "ace-jump-buffer";
}; };
packageRequires = [ ace-jump-mode dash ]; packageRequires = [ avy dash ];
meta = { meta = {
homepage = "https://melpa.org/#/ace-jump-buffer"; homepage = "https://melpa.org/#/ace-jump-buffer";
license = lib.licenses.free; license = lib.licenses.free;
@ -1692,14 +1692,14 @@
pname = "apache-mode"; pname = "apache-mode";
version = "2.1"; version = "2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "apache-mode"; repo = "apache-mode";
rev = "0906559e0cb2997405d98ea6b2195954e3935d3b"; rev = "0906559e0cb2997405d98ea6b2195954e3935d3b";
sha256 = "0vfyi34qcwkz9975cq5hin1p2zyy3h05fni4f93xyrcs31zvmk22"; sha256 = "0vfyi34qcwkz9975cq5hin1p2zyy3h05fni4f93xyrcs31zvmk22";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b5216c40e60c5a69a6235c15b432b5e9bdda6fd3/recipes/apache-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/apache-mode";
sha256 = "0f8r3xnnidcm9ahj8c3s1vxk6yqk3ra34nrc19r76xyprbb2sjsm"; sha256 = "0wzfx3kaiwvya30ihq3vpdhy6znkzf25w5x43x457ifdn2vrh9zi";
name = "apache-mode"; name = "apache-mode";
}; };
packageRequires = []; packageRequires = [];
@ -3166,12 +3166,12 @@
buffer-manage = callPackage ({ choice-program, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: buffer-manage = callPackage ({ choice-program, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "buffer-manage"; pname = "buffer-manage";
version = "0.2"; version = "0.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "plandes"; owner = "plandes";
repo = "buffer-manage"; repo = "buffer-manage";
rev = "1110217973afa1329c47a1f7e6962aad36a90134"; rev = "aa743807f92d457f3a8904a2504a575f22951850";
sha256 = "0hb75npk1d9bdqpgdrin8vvfn64arhgq0h69xgvhwcdlm7xjg1bf"; sha256 = "19xjzx1fcms3cighb7qr79zd4vrlnpvzi1yrgxb6z2jvcgkb7b44";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/28f8f376df810e6ebebba9fb2c93eabbe3526cc9/recipes/buffer-manage"; url = "https://raw.githubusercontent.com/milkypostman/melpa/28f8f376df810e6ebebba9fb2c93eabbe3526cc9/recipes/buffer-manage";
@ -3355,12 +3355,12 @@
buttercup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: buttercup = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "buttercup"; pname = "buttercup";
version = "1.7"; version = "1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jorgenschaefer"; owner = "jorgenschaefer";
repo = "emacs-buttercup"; repo = "emacs-buttercup";
rev = "d8dc80da12cc1e71fcf54b0f4deb8d229bc97beb"; rev = "e6f97d0ee4da1d061c2ff5f3e3984a30956a9fbc";
sha256 = "0zsf2qk41i1ay6h85d1ppj5qnzdrb9n09bzj9s9hk7ysag1rlqj1"; sha256 = "1qizbnychsjv42h9r33l1jm0rylvkgddcwgwxxcckfkj6r75k9p5";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup"; url = "https://raw.githubusercontent.com/milkypostman/melpa/d4b187cb5b3cc5b546bfa6b94b6792e6363242d1/recipes/buttercup";
@ -3751,6 +3751,25 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
catmacs = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
pname = "catmacs";
version = "0.1.1";
src = fetchgit {
url = "https://bitbucket.org/pymaximus/catmacs";
rev = "c6e8277bd2aab3f5fbf10d419111110f3b33564f";
sha256 = "0kdlmmqgpgmhbbvafywllqdwkkd5a41rf8zhfmxhs3ydza86hmlg";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e62e45ea234a574ed602f27c3c6bc240bcd4fa43/recipes/catmacs";
sha256 = "0ym1szmq9ib75yiyy5jw647fcs7gg0d5dkskqc293pg81qf3im50";
name = "catmacs";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/catmacs";
license = lib.licenses.free;
};
}) {};
cbm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: cbm = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "cbm"; pname = "cbm";
@ -4024,48 +4043,6 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
chinese-fonts-setup = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "chinese-fonts-setup";
version = "0.1";
src = fetchFromGitHub {
owner = "tumashu";
repo = "cnfonts";
rev = "6f4423664e55d5470c4f239d04b88da5d6acb34d";
sha256 = "0d9xx43ijxrp95j5bnxcsnfwn032ypy2c1lypak15772nk6i7s1w";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/0d5787ffeeee68ffa41f3e777071815084e0ed7a/recipes/chinese-fonts-setup";
sha256 = "0fqj721zk57641wxnmk82wsj08ycnzj61z9i34x58d7c0k3424w1";
name = "chinese-fonts-setup";
};
packageRequires = [ cl-lib ];
meta = {
homepage = "https://melpa.org/#/chinese-fonts-setup";
license = lib.licenses.free;
};
}) {};
chinese-pyim = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pyim }:
melpaBuild {
pname = "chinese-pyim";
version = "1.6.1";
src = fetchFromGitHub {
owner = "tumashu";
repo = "pyim";
rev = "f4dacfbac11d6d58f1fcbf766691e03b6983a9f6";
sha256 = "0dy0y159fqcip805l86gmjbsgbcvj3hm5rfsc6slinmxsrl4nl9l";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/151a0af91a58e27f724854d85d5dd9668229fe8d/recipes/chinese-pyim";
sha256 = "0chh4vnb2gh6ckf01w7xd1kw4454p1vkzmy17dvm0c7269rya9mn";
name = "chinese-pyim";
};
packageRequires = [ pyim ];
meta = {
homepage = "https://melpa.org/#/chinese-pyim";
license = lib.licenses.free;
};
}) {};
chinese-word-at-point = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: chinese-word-at-point = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "chinese-word-at-point"; pname = "chinese-word-at-point";
@ -4279,12 +4256,12 @@
cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }: cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
melpaBuild { melpaBuild {
pname = "cliphist"; pname = "cliphist";
version = "0.5.3"; version = "0.5.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "redguardtoo"; owner = "redguardtoo";
repo = "cliphist"; repo = "cliphist";
rev = "acbd9782d82d7ae6bfb22fb0955597b9c5fcbb6c"; rev = "2aceea0e16e2f18b8b51161423ef1c0f655c7c8d";
sha256 = "1gj5fqjyr4m4qim9qjsvzzk42rm3vw3yycvq3nj0wpj90zb1yh14"; sha256 = "13vhm7dsqbaslml3a2hd3s39c7q494p5w2xznhdxvh8ig6w102lc";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist"; url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
@ -5215,12 +5192,12 @@
company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }: company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "company-php"; pname = "company-php";
version = "1.7.9"; version = "1.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "xcwen"; owner = "xcwen";
repo = "ac-php"; repo = "ac-php";
rev = "e0aaae30e4e5f18390e5d00953db02c1f03c44f6"; rev = "7a50b7debd149a30b84f0e2e57a4662926d96a24";
sha256 = "1mrk37w88b4843jbghr9i79rbwbzwk8b1wljvzmm6x0q7ldlxmsm"; sha256 = "15kmzkkgrhwind66kiyc2kpl27jrbzcs79i3w5s7fzzjjg9h18lb";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@ -5284,12 +5261,12 @@
company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }: company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "company-rtags"; pname = "company-rtags";
version = "2.12"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "db1244c1c14514324474f362c857112e89bbf0c6"; rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "1fcrlxk9z11vbarznfcpfyqzvj6v3ydbn5z6vbdmgf9cxb52kfma"; sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@ -5475,14 +5452,14 @@
pname = "composer"; pname = "composer";
version = "0.0.8"; version = "0.0.8";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "composer.el"; repo = "composer.el";
rev = "2d16d3bb65c53e9e26f4b7b22ad38590a4a48ee1"; rev = "2d16d3bb65c53e9e26f4b7b22ad38590a4a48ee1";
sha256 = "1zxqqd12p1db75icbwbdj51fvp8zzhivi8ssnxda1r5y5crbiqdv"; sha256 = "1zxqqd12p1db75icbwbdj51fvp8zzhivi8ssnxda1r5y5crbiqdv";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/39c5002f0688397a51b1b0c6c15f6ac07c3681bc/recipes/composer"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/composer";
sha256 = "1gwgfbb0fqn87s7jscr9xy47h239wy74n3hgpk4i16p2g6qinpza"; sha256 = "01w9cywhfngkrl9az8kfpzm12nc0zwmax01pyxlbi2l2icmvp5s1";
name = "composer"; name = "composer";
}; };
packageRequires = [ emacs f request s seq ]; packageRequires = [ emacs f request s seq ];
@ -5622,14 +5599,14 @@
pname = "copy-file-on-save"; pname = "copy-file-on-save";
version = "0.0.1"; version = "0.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "emacs-auto-deployment"; repo = "emacs-auto-deployment";
rev = "7b8e13cd3dcc12b247089a4530e08fd0ab3bc487"; rev = "7b8e13cd3dcc12b247089a4530e08fd0ab3bc487";
sha256 = "0nx9qlp1jl7hmwf19ifac8r0955vkdkscf0nmm92hdqbj83jdmv9"; sha256 = "0nx9qlp1jl7hmwf19ifac8r0955vkdkscf0nmm92hdqbj83jdmv9";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/f99184ba41e9ab40b2fcff584421bbd933bffc72/recipes/copy-file-on-save"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/copy-file-on-save";
sha256 = "07hm6ml9j9qwxbv9kv8w8i2x9js7fyrw3p7m219vpncka80qf6k3"; sha256 = "1mcwgkhd241aijnmzrrqqn9f7hiq5k1w4fj83v50aixrcs049gc3";
name = "copy-file-on-save"; name = "copy-file-on-save";
}; };
packageRequires = [ cl-lib emacs f s ]; packageRequires = [ cl-lib emacs f s ];
@ -6187,12 +6164,12 @@
cython-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: cython-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "cython-mode"; pname = "cython-mode";
version = "0.26"; version = "0.26.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cython"; owner = "cython";
repo = "cython"; repo = "cython";
rev = "62f04f6766386893f5da6bee23d4de1e92a4148d"; rev = "39c71d912af541229d24da17987d65e65731d2bf";
sha256 = "0rw22qa67ifrw7kd58wjs2bnrjzkpr75k1rbhdgba526mm4s0q0x"; sha256 = "02alpsgmm0csp9yfa4bhsf8yyhf0q9rc44yrss0020qg8n92xs06";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@ -7601,12 +7578,12 @@
dtrt-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: dtrt-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "dtrt-indent"; pname = "dtrt-indent";
version = "0.2.1"; version = "0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jscheid"; owner = "jscheid";
repo = "dtrt-indent"; repo = "dtrt-indent";
rev = "a54871bedadabede505b3913ee1039f5ab36cad2"; rev = "69d0c5e143453708dbf0ebec4e368bc26fff683c";
sha256 = "0ylch7q8lh2r10qzrb41bnrpnznvj5fjszazmxfcvj6ss8yrxjzi"; sha256 = "154m53hhzjawmrg2vlqjcg9npgq1igw9f0fz6gh7vscmbxl5dnjq";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent"; url = "https://raw.githubusercontent.com/milkypostman/melpa/61bcbcfa6c0f38a1d87f5b6913b8be6c50ef2994/recipes/dtrt-indent";
@ -7852,12 +7829,12 @@
easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: easy-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "easy-hugo"; pname = "easy-hugo";
version = "1.5.7"; version = "1.7.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "masasam"; owner = "masasam";
repo = "emacs-easy-hugo"; repo = "emacs-easy-hugo";
rev = "55bac7a4ede3e14ac38a8dc4249df0a0d3ee6c1c"; rev = "108cc2347507ff8c92b10a817de0850e9eb99ab2";
sha256 = "0j0vi3c6r8jqn4ijmg9xy55yccmjf3mza9ps8iz2s1d8qv8f2y3s"; sha256 = "1fcq6693cjl0lx67gwsk53lm20zznq9cc9widb3rzpwifns4x8ac";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo"; url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/easy-hugo";
@ -9846,12 +9823,12 @@
erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "erlang"; pname = "erlang";
version = "20.0.2"; version = "20.0.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "erlang"; owner = "erlang";
repo = "otp"; repo = "otp";
rev = "6ede2da826335960037299d9f3b0e66d072ea5a0"; rev = "a230f26086b3db9097f06d4bb91fb3b2e9379c77";
sha256 = "1zxfyd711l13n6xhspa8l0k4l7hb8aq1q1j2b2yrzw9k1hx2lfyj"; sha256 = "1g26vf7ab18r9knxa2ykn3j6vrhhiyqbg6jf3gfjxw2c94z51a9m";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang"; url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@ -10013,12 +9990,12 @@
esh-help = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }: esh-help = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "esh-help"; pname = "esh-help";
version = "1.0.0"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tom-tan"; owner = "tom-tan";
repo = "esh-help"; repo = "esh-help";
rev = "03bf6fc7ef9ac46304e37524fdaf7ebfee317695"; rev = "8a8a9d4d9852f8bd96da3b94e95ff57097ac8ec6";
sha256 = "049nvd63jns3fawimwx9l7cbqw2gw84f8f9swpwd0a8z449mlj2m"; sha256 = "02fybhmqm2qmy5qdig7xvwxazqi499pw32kh5mrsbdr14srg9fhs";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ab94c66d1ed7cfdbc437ee239984ba70408fd28a/recipes/esh-help"; url = "https://raw.githubusercontent.com/milkypostman/melpa/ab94c66d1ed7cfdbc437ee239984ba70408fd28a/recipes/esh-help";
@ -10706,12 +10683,12 @@
evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "evil-nerd-commenter"; pname = "evil-nerd-commenter";
version = "3.0.2"; version = "3.0.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "redguardtoo"; owner = "redguardtoo";
repo = "evil-nerd-commenter"; repo = "evil-nerd-commenter";
rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03"; rev = "0a46b911200c75c4737bfdb2b71f10a9a8254969";
sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m"; sha256 = "03v53zhm33fz6aib03j00bwkfqh2j45ziz7nwynynxm50j32axkg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter"; url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@ -11503,12 +11480,12 @@
fill-column-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: fill-column-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "fill-column-indicator"; pname = "fill-column-indicator";
version = "1.87"; version = "1.88";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alpaker"; owner = "alpaker";
repo = "Fill-Column-Indicator"; repo = "Fill-Column-Indicator";
rev = "0e755319451dd9c6c99c2a2ef82c890ba93343b6"; rev = "0c6f8f692854712a0c86d57c331b1bd9e6269b4d";
sha256 = "0gbqspqn4y7f2fwqq8210b6k5q22c0zr7b4ws8qgz9swav8g3vrq"; sha256 = "0l64r4id13lzrmnidq20hzjx0yip16lj47k3ajk01ycgqs4jpmzs";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4ea0c00a7784621fcca0391a9c8ea85e9dd43852/recipes/fill-column-indicator"; url = "https://raw.githubusercontent.com/milkypostman/melpa/4ea0c00a7784621fcca0391a9c8ea85e9dd43852/recipes/fill-column-indicator";
@ -11566,12 +11543,12 @@
find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }: find-file-in-project = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "find-file-in-project"; pname = "find-file-in-project";
version = "5.4.0"; version = "5.4.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "technomancy"; owner = "technomancy";
repo = "find-file-in-project"; repo = "find-file-in-project";
rev = "2d3e8d095e0c36f927142e80c4330977be698568"; rev = "cb61762e50e85894febbbc82eeafa85d67707218";
sha256 = "1phj6a6ydc8hzv1f1881anyccg1jkd8dh6g229ln476i5y6wqs5j"; sha256 = "0zzjr7z2iayibqvl8rrbpmdbar6i8b6zda65az8ybrwzbsz8zhnb";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project"; url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/find-file-in-project";
@ -12434,12 +12411,12 @@
flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }: flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "flycheck-rtags"; pname = "flycheck-rtags";
version = "2.12"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "db1244c1c14514324474f362c857112e89bbf0c6"; rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "1fcrlxk9z11vbarznfcpfyqzvj6v3ydbn5z6vbdmgf9cxb52kfma"; sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@ -15106,15 +15083,36 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
gorepl-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "gorepl-mode";
version = "1.0.0";
src = fetchFromGitHub {
owner = "manute";
repo = "gorepl-mode";
rev = "17e025951f5964a0542a4b353ddddbc734c01eed";
sha256 = "1abb78xxsggawl43hspl0cr0f7i1b3jd9r6xl1nl5jg97i4byg0b";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/gorepl-mode";
sha256 = "0xcjjh9hf3pv5jgv089c6bb00s215fc9qwn72fav1xbm5f49nkaq";
name = "gorepl-mode";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/gorepl-mode";
license = lib.licenses.free;
};
}) {};
gotest = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild, s }: gotest = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, go-mode, lib, melpaBuild, s }:
melpaBuild { melpaBuild {
pname = "gotest"; pname = "gotest";
version = "0.13.0"; version = "0.14.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nlamirault"; owner = "nlamirault";
repo = "gotest.el"; repo = "gotest.el";
rev = "2ae187078beb5d9672ca14cb636b6b4021de4230"; rev = "8a5ef7363f83edb3b77c5e23876f13dd8c23b2b9";
sha256 = "1pq9zjfs7gp7bz3jq11fx75m4zcx9p772lja5jicz535khpgxw7f"; sha256 = "1ksi37kmy9mnrjr5lf9f0ga5nvi3r2kc85g6yvdfj0mbsjm1pnp7";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/gotest"; url = "https://raw.githubusercontent.com/milkypostman/melpa/0670b42c0c998daa7bf01080757976ac3589ec06/recipes/gotest";
@ -15134,8 +15132,8 @@
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wasamasa"; owner = "wasamasa";
repo = "gotham-theme"; repo = "gotham-theme";
rev = "d9b00bd93ab3fed0e7fff99b0dc8773584f5207d"; rev = "417d61978d139cb5d089c5365fc8d3166d76d3ac";
sha256 = "0vrz97w9yzkxl8pc9jmxkxvj5nagpnzqq9pvavwmvlh68wrh58gi"; sha256 = "0rc40cfj2mby1q7bk1pp1fxdi72nh9ip80spjdm1csvjjc4dbkwr";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4b388de872be397864a1217a330ba80437c287c0/recipes/gotham-theme"; url = "https://raw.githubusercontent.com/milkypostman/melpa/4b388de872be397864a1217a330ba80437c287c0/recipes/gotham-theme";
@ -15474,6 +15472,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
green-is-the-new-black-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "green-is-the-new-black-theme";
version = "0.0.1";
src = fetchFromGitHub {
owner = "fredcamps";
repo = "green-is-the-new-black-emacs";
rev = "2b1011836fc04940d542e9a783b99670a08b308b";
sha256 = "16v7l4ynj4p1hq243rqckfgppmj8cvm0lyybjjqaqblqjd1ki90d";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3e42528d5677fd90515cad47266c07ea3d4363fb/recipes/green-is-the-new-black-theme";
sha256 = "03q0vj409icmawffy2kd9yl04r453q80cy1p9y4i3xk368z0362g";
name = "green-is-the-new-black-theme";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/green-is-the-new-black-theme";
license = lib.licenses.free;
};
}) {};
green-screen-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: green-screen-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "green-screen-theme"; pname = "green-screen-theme";
@ -15913,6 +15932,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
harvest = callPackage ({ fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, s, swiper }:
melpaBuild {
pname = "harvest";
version = "0.3.8";
src = fetchFromGitHub {
owner = "kostajh";
repo = "harvest.el";
rev = "69041907bdca68d3ab6802e08ec698c3448f28a1";
sha256 = "0rqxi668wra1mfzq4fqscjghis5gqnwpazgidgix13brybaxydx4";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c97d3f653057eab35c612109792884334be556fe/recipes/harvest";
sha256 = "1r6brld6iq03wsr1b3jhdkxwrcxa6g6fwa1jiy1kgjsr9dq1m51c";
name = "harvest";
};
packageRequires = [ hydra s swiper ];
meta = {
homepage = "https://melpa.org/#/harvest";
license = lib.licenses.free;
};
}) {};
haskell-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: haskell-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "haskell-emacs"; pname = "haskell-emacs";
@ -16062,12 +16102,12 @@
hasky-stack = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }: hasky-stack = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, lib, magit-popup, melpaBuild }:
melpaBuild { melpaBuild {
pname = "hasky-stack"; pname = "hasky-stack";
version = "0.2.0"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "hasky-mode"; owner = "hasky-mode";
repo = "hasky-stack"; repo = "hasky-stack";
rev = "e256e50fce9a65cad1754d863d9ed969b159cefe"; rev = "2379f43b589115bd3960a11c26fa0a7d12316db7";
sha256 = "12rf51l5dg4c5jkn0rsyr47wfsw9qnmzl0hmsa8j04fm8nr978x7"; sha256 = "1vkmm3mf4zcf1wrkwln7ik4i17dqx7a9lb8j2j0l217hn7h3mk5s";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c3faf544872478c3bccf2fe7dc51d406031e4d80/recipes/hasky-stack"; url = "https://raw.githubusercontent.com/milkypostman/melpa/c3faf544872478c3bccf2fe7dc51d406031e4d80/recipes/hasky-stack";
@ -17448,12 +17488,12 @@
helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }: helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "helm-rtags"; pname = "helm-rtags";
version = "2.12"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "db1244c1c14514324474f362c857112e89bbf0c6"; rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "1fcrlxk9z11vbarznfcpfyqzvj6v3ydbn5z6vbdmgf9cxb52kfma"; sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@ -17697,6 +17737,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
helpful = callPackage ({ dash, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
melpaBuild {
pname = "helpful";
version = "0.1";
src = fetchFromGitHub {
owner = "Wilfred";
repo = "helpful";
rev = "a5d8bc41e43177953d8ba3972a83755ddd4e1073";
sha256 = "0sr31df42cbrhzqxjvx1fcbafwq30jslqf715scrzyiziddf83zq";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
sha256 = "17w9j5v1r2c8ka1fpzbr295cgnsbiw8fxlslh4zbjqzaazamchn2";
name = "helpful";
};
packageRequires = [ dash elisp-refs emacs s ];
meta = {
homepage = "https://melpa.org/#/helpful";
license = lib.licenses.free;
};
}) {};
hfst-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: hfst-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "hfst-mode"; pname = "hfst-mode";
@ -18348,6 +18409,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
hy-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "hy-mode";
version = "1.0";
src = fetchFromGitHub {
owner = "hylang";
repo = "hy-mode";
rev = "c09b4e3cd8700966cb2120d5a4e62ebfb0b488b5";
sha256 = "054b1h621f6nfzz9nslyi1shs206my8s6zzv29k835by864bc0sq";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/fc9ab5cf16b61bb27559cd8ec5cf665a5aab2154/recipes/hy-mode";
sha256 = "1vxrqla3p82x7s3kn7x4h33vcdfms21srxgxzidr02k37f0vi82m";
name = "hy-mode";
};
packageRequires = [];
meta = {
homepage = "https://melpa.org/#/hy-mode";
license = lib.licenses.free;
};
}) {};
hyai = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: hyai = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "hyai"; pname = "hyai";
@ -19317,12 +19399,12 @@
insert-shebang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: insert-shebang = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "insert-shebang"; pname = "insert-shebang";
version = "0.9.5"; version = "0.9.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "psachin"; owner = "psachin";
repo = "insert-shebang"; repo = "insert-shebang";
rev = "8b36eaa092e62002fe64162daf9d3ad1138b6ec2"; rev = "adfa473f07443b231914d277c20a3419b30399b6";
sha256 = "1an7wzqnh9aj38bi9w0wsrs35h2z43lkaaw04lrz3a6zf797ac3x"; sha256 = "10zy3vg5fr30hhv0q3jldffhjacg1yrv5d9gfkdz55ry277l3xz1";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/c257f4f5011cd7d0b2a5ef3adf13f9871bf0be92/recipes/insert-shebang"; url = "https://raw.githubusercontent.com/milkypostman/melpa/c257f4f5011cd7d0b2a5ef3adf13f9871bf0be92/recipes/insert-shebang";
@ -19694,12 +19776,12 @@
ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }: ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
melpaBuild { melpaBuild {
pname = "ivy-rtags"; pname = "ivy-rtags";
version = "2.12"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "db1244c1c14514324474f362c857112e89bbf0c6"; rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "1fcrlxk9z11vbarznfcpfyqzvj6v3ydbn5z6vbdmgf9cxb52kfma"; sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@ -19715,12 +19797,12 @@
ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }: ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
melpaBuild { melpaBuild {
pname = "ivy-youtube"; pname = "ivy-youtube";
version = "0.3.0"; version = "0.3.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "squiter"; owner = "squiter";
repo = "ivy-youtube"; repo = "ivy-youtube";
rev = "c80bbab9d499d96bee3eb9a6d9be74ad254ec86d"; rev = "9a9d584124bd9905b5a8a7e29cdafa3224770c9d";
sha256 = "0n2v1w2801yxc71xd0vwma7y4nzs2qgnwbmkkx3xiq4n049sqd8l"; sha256 = "0fircdxhfb9s6qmzic2hizhlwfkszw3was83nw09zf0zhab3vllh";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube"; url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
@ -21779,14 +21861,14 @@
pname = "magic-filetype"; pname = "magic-filetype";
version = "0.2.1"; version = "0.2.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "magic-filetype.el"; repo = "magic-filetype.el";
rev = "0dfe3d9e0e22c7b06e34c8338f110e337306e3fd"; rev = "0dfe3d9e0e22c7b06e34c8338f110e337306e3fd";
sha256 = "1yjn2w0ykczhlj4q3dnfw2z4q66201dn3jz31yw7hh8bxjlsvwfh"; sha256 = "1yjn2w0ykczhlj4q3dnfw2z4q66201dn3jz31yw7hh8bxjlsvwfh";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/0d6027c5a66386f7140305a4cde12d66da4dfa09/recipes/magic-filetype"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/magic-filetype";
sha256 = "0gcys45cqn5ghppkn0rmyvfybprlfz1x6hqr21yv93mf79h75zhg"; sha256 = "0f0j8fgh2gpkarz9308pns0d89wc2dchyim6hbixkdpqzg9gskc3";
name = "magic-filetype"; name = "magic-filetype";
}; };
packageRequires = [ emacs s ]; packageRequires = [ emacs s ];
@ -22589,12 +22671,12 @@
mc-extras = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }: mc-extras = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, multiple-cursors }:
melpaBuild { melpaBuild {
pname = "mc-extras"; pname = "mc-extras";
version = "1.2.1"; version = "1.2.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "knu"; owner = "knu";
repo = "mc-extras.el"; repo = "mc-extras.el";
rev = "71cf966be06d9c74e781a87bb30fa4cf657ee852"; rev = "f0ba639e9b18cc56e80ae45bbb2b694dbad9171a";
sha256 = "0252wdq4sd6jhzfy0pn3gdm6aq2h13nnp8hvrn1mpml9x473a5n1"; sha256 = "0d6ncj6zd0lfsdpffbh3l25ycjw5hn0rwi5znp5hpl06b1ycyk4s";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/12747bb8603ebc09ce0873f3317a99e34d818313/recipes/mc-extras"; url = "https://raw.githubusercontent.com/milkypostman/melpa/12747bb8603ebc09ce0873f3317a99e34d818313/recipes/mc-extras";
@ -24898,8 +24980,8 @@
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OmniSharp"; owner = "OmniSharp";
repo = "omnisharp-emacs"; repo = "omnisharp-emacs";
rev = "46b2c3d16b83ce6e7e318d69ae74e1d7c4106549"; rev = "8aa56979fe85211b1e12c42e91b68a4ebee5176e";
sha256 = "0g2zap8yyv31lkpmdnripg1q03xdb7sm3jzq7j17sgqak2a223xp"; sha256 = "15bsmi5cm208iq8rw87gvkkqja2shldbc4287x1qxny3cplcvwqi";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp"; url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@ -25301,22 +25383,22 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
org-edit-latex = callPackage ({ auctex, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: org-edit-latex = callPackage ({ auctex, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "org-edit-latex"; pname = "org-edit-latex";
version = "0.8.0"; version = "0.8.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "et2010"; owner = "et2010";
repo = "org-edit-latex"; repo = "org-edit-latex";
rev = "323d0b39d0284cef730b706dce7c0e58ed35530f"; rev = "83e03b6bef7746bc0a90c0a52ee8c18c4e87ada9";
sha256 = "0zcllyhx9n9vcr5w87h0hfz25v52lvh5fi717cb7mf3jh89zh842"; sha256 = "1y9ycmsnwwc804zlsz20ad210plp0xgzjq69rpvry5gg17wp3nv8";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-edit-latex"; url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/org-edit-latex";
sha256 = "0nkiz4682qgk5dy4if3gij98738482ys8zwm8yx834za38xxbwry"; sha256 = "0nkiz4682qgk5dy4if3gij98738482ys8zwm8yx834za38xxbwry";
name = "org-edit-latex"; name = "org-edit-latex";
}; };
packageRequires = [ auctex emacs org ]; packageRequires = [ auctex emacs ];
meta = { meta = {
homepage = "https://melpa.org/#/org-edit-latex"; homepage = "https://melpa.org/#/org-edit-latex";
license = lib.licenses.free; license = lib.licenses.free;
@ -25531,6 +25613,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
org-mru-clock = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "org-mru-clock";
version = "0.1.1";
src = fetchFromGitHub {
owner = "unhammer";
repo = "org-mru-clock";
rev = "096a7c514ab8487ec63def6281cf4dce24e3a626";
sha256 = "1hmyqvi1dj5yrlish8kw4sdh3yy0b0w33smw4cbjagp4rs29p3fp";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/b36bf1c1faa4d7e38254416a293e56af96214136/recipes/org-mru-clock";
sha256 = "1arww5x6vdyyn1bwxry91w88phbr9l6nk8xxrw40iqmmbhggahgm";
name = "org-mru-clock";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://melpa.org/#/org-mru-clock";
license = lib.licenses.free;
};
}) {};
org-multiple-keymap = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }: org-multiple-keymap = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
melpaBuild { melpaBuild {
pname = "org-multiple-keymap"; pname = "org-multiple-keymap";
@ -27515,14 +27618,14 @@
pname = "phan"; pname = "phan";
version = "0.0.2"; version = "0.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "phan.el"; repo = "phan.el";
rev = "4e3528f490e77d3aa6d81729b30b569434ef679f"; rev = "4e3528f490e77d3aa6d81729b30b569434ef679f";
sha256 = "1aif1hshwpzi353k2gcpwk9s76jlmz3s5dyf357qfv14b5ddhw6l"; sha256 = "1aif1hshwpzi353k2gcpwk9s76jlmz3s5dyf357qfv14b5ddhw6l";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d591d9ba70b1e32f25204ad9409aad78fd68a93c/recipes/phan"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/phan";
sha256 = "16r1d2bgbb2y7l141sw7nzhx0s50gzwq5ang00y7f4sfldqvshzf"; sha256 = "17ar6nxy0plx5li49kgf4f0h99wwmnnp5kwmpf34jg9ygyhaglvb";
name = "phan"; name = "phan";
}; };
packageRequires = [ composer emacs f ]; packageRequires = [ composer emacs f ];
@ -28562,14 +28665,14 @@
pname = "projectile-variable"; pname = "projectile-variable";
version = "0.0.2"; version = "0.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "projectile-variable"; repo = "projectile-variable";
rev = "8d348ac70bdd6dc320c13a12941b32b38140e264"; rev = "8d348ac70bdd6dc320c13a12941b32b38140e264";
sha256 = "0l38nldx6lwjb7mxixykiyj10xwb35249dxfg0k2wkmb2vy1fkxs"; sha256 = "0l38nldx6lwjb7mxixykiyj10xwb35249dxfg0k2wkmb2vy1fkxs";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/ff603b43235f546cd47f72e675aee88d5f41e855/recipes/projectile-variable"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/projectile-variable";
sha256 = "1cj8nwxf1jp5q5zzxp92fxla6jhwzd21gw649ar6mygi4hgymsji"; sha256 = "15qc5n91nxyfvb100iyihfmrdr57qgw6098yv3nfqgw3zx1qchdw";
name = "projectile-variable"; name = "projectile-variable";
}; };
packageRequires = [ cl-lib emacs ]; packageRequires = [ cl-lib emacs ];
@ -28730,14 +28833,14 @@
pname = "psysh"; pname = "psysh";
version = "0.0.4"; version = "0.0.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "psysh.el"; repo = "psysh.el";
rev = "f72d6fe41af2d9566d41b167cda66e97efdf8cfa"; rev = "f72d6fe41af2d9566d41b167cda66e97efdf8cfa";
sha256 = "0hr8nlxcqfas9wl5ahz9hmvpa8b6k35n4f7iv9dx6zwf5q48q7y7"; sha256 = "0hr8nlxcqfas9wl5ahz9hmvpa8b6k35n4f7iv9dx6zwf5q48q7y7";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/4b3131d9a0ad359f15bc3550868a12f02476449a/recipes/psysh"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/psysh";
sha256 = "0ygnfmfx1ifppg6j3vfz10srbcpr5ird2bhw6pvydijxkyd75vy5"; sha256 = "00rzfw8nlbcmfbjnzbfl08136dhgvrrn9g1s9l623xgpbcay63sg";
name = "psysh"; name = "psysh";
}; };
packageRequires = [ emacs f s ]; packageRequires = [ emacs f s ];
@ -30347,14 +30450,14 @@
pname = "robots-txt-mode"; pname = "robots-txt-mode";
version = "0.0.2"; version = "0.0.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zonuexe"; owner = "emacs-php";
repo = "robots-txt-mode"; repo = "robots-txt-mode";
rev = "edf1f8082c88cb2ff5a784ba00f92c535aaa1c7d"; rev = "edf1f8082c88cb2ff5a784ba00f92c535aaa1c7d";
sha256 = "11ig771ck610glb6f3322ka026ikq0b072rlq5z6ymr3rbxagn6j"; sha256 = "11ig771ck610glb6f3322ka026ikq0b072rlq5z6ymr3rbxagn6j";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/1669c7a0d89ea36d61bfa57ef54ee1f203daff5f/recipes/robots-txt-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/eb13cb0dba1696cc51132cd1ff723fa17f892a7c/recipes/robots-txt-mode";
sha256 = "1q3fqaf9nysy9bhx4h9idgshxr65hfwnx05vlwazx7jd6bq6kxfh"; sha256 = "00hxz4mygcxg7d8m2i4cm0bl82v3hw8wb4m8vv7g7fqkjp32c9qc";
name = "robots-txt-mode"; name = "robots-txt-mode";
}; };
packageRequires = []; packageRequires = [];
@ -30450,12 +30553,12 @@
rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }: rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "rtags"; pname = "rtags";
version = "2.12"; version = "2.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Andersbakken"; owner = "Andersbakken";
repo = "rtags"; repo = "rtags";
rev = "db1244c1c14514324474f362c857112e89bbf0c6"; rev = "15ef9a8bab847773d6e247005be929422fc9c285";
sha256 = "1fcrlxk9z11vbarznfcpfyqzvj6v3ydbn5z6vbdmgf9cxb52kfma"; sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags"; url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@ -31037,11 +31140,11 @@
secretaria = callPackage ({ alert, emacs, f, fetchgit, fetchurl, lib, melpaBuild, org, s }: secretaria = callPackage ({ alert, emacs, f, fetchgit, fetchurl, lib, melpaBuild, org, s }:
melpaBuild { melpaBuild {
pname = "secretaria"; pname = "secretaria";
version = "0.2.5"; version = "0.2.7";
src = fetchgit { src = fetchgit {
url = "https://bitbucket.org/shackra/secretaria.el"; url = "https://bitbucket.org/shackra/secretaria.el";
rev = "7bd1cf591528b18a153e15a260d7817b72c900f2"; rev = "1cd32d957864be1ba5c44a3f505f662832169a28";
sha256 = "0n9mj2g59yiqbg81rk0gglbgpvfs550r4y26n8nf5pyxpxfllv5s"; sha256 = "1xvwzmcfwfxsm9chbjnqjsipmv5pqpzk5d0ybw3rcdc47nag3jdg";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/7b4c9ccbf2eeaa290f3b9d1e5eaaeb5b5547b365/recipes/secretaria"; url = "https://raw.githubusercontent.com/milkypostman/melpa/7b4c9ccbf2eeaa290f3b9d1e5eaaeb5b5547b365/recipes/secretaria";
@ -31939,12 +32042,12 @@
slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }: slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
melpaBuild { melpaBuild {
pname = "slime"; pname = "slime";
version = "2.19"; version = "2.20";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "slime"; owner = "slime";
repo = "slime"; repo = "slime";
rev = "6e20d01e446334848ea31ace0ce041cec25647ab"; rev = "f223388c78ea51ce7717e9bbae14c50ad2386c2c";
sha256 = "1ywlbdk9ywfkv8z6pb69r29nh03krfdg676d086i8qjaas7ly2yp"; sha256 = "07jks9fnqjv2i9sjfpgj7r3a7g5aha4aipsffjbnw1qd930ygw83";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime"; url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@ -32023,12 +32126,12 @@
slstats = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: slstats = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "slstats"; pname = "slstats";
version = "1.9"; version = "1.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "davep"; owner = "davep";
repo = "slstats.el"; repo = "slstats.el";
rev = "3c22a8e5cf022d4eca840fefe7960d7ae6dcf167"; rev = "e9696066abf3f2b7b818a57c062530dfd9377033";
sha256 = "0ay7319ijqqcan1ijycrz4006r1a50wpnss37rrbiq23nkzjmks4"; sha256 = "1mjzr6lqcyx3clp3bxq77k2rpkaglnq407xdk05xkaqissirpc83";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/fe7c8c241cc6920bbedb6711db63ea28ed633327/recipes/slstats"; url = "https://raw.githubusercontent.com/milkypostman/melpa/fe7c8c241cc6920bbedb6711db63ea28ed633327/recipes/slstats";
@ -32377,6 +32480,27 @@
license = lib.licenses.free; license = lib.licenses.free;
}; };
}) {}; }) {};
snazzy-theme = callPackage ({ base16-theme, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild {
pname = "snazzy-theme";
version = "1.0";
src = fetchFromGitHub {
owner = "weijiangan";
repo = "emacs-snazzy";
rev = "578d7ebc4ed91c0a630b652c4b6fdd54d9ae16cd";
sha256 = "0gykymah4ap7zgjr7fkir21avcdhgy6n88nwxl1iynim3vkq441v";
};
recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/18c89a612418e0f49b7e6ae29a678d2fc1ffaf3d/recipes/snazzy-theme";
sha256 = "0srmhwhqrp1s01p1znhjzs254l3r2i6c91v7cnlwlvrls1sbh32k";
name = "snazzy-theme";
};
packageRequires = [ base16-theme emacs ];
meta = {
homepage = "https://melpa.org/#/snazzy-theme";
license = lib.licenses.free;
};
}) {};
snoopy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }: snoopy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "snoopy"; pname = "snoopy";
@ -32611,12 +32735,12 @@
spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }: spaceline-all-the-icons = callPackage ({ all-the-icons, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, memoize, spaceline }:
melpaBuild { melpaBuild {
pname = "spaceline-all-the-icons"; pname = "spaceline-all-the-icons";
version = "1.3.5"; version = "1.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "domtronn"; owner = "domtronn";
repo = "spaceline-all-the-icons.el"; repo = "spaceline-all-the-icons.el";
rev = "255e89303bb706b42057504e72caeb2764f3d413"; rev = "7eafe2d7a81f8d10e03498bdcc3bec0ea50f905d";
sha256 = "0y3gv664crng4vibbh0pfh9w0ys9m5gny2b1mrqb7ma6xa78xiv2"; sha256 = "186v71d8n1iy73drayyf57pyzlz973q74mazkyvb8w3fj8bb3llm";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons"; url = "https://raw.githubusercontent.com/milkypostman/melpa/d039e057c1d441592da8f54e6d524b395b030375/recipes/spaceline-all-the-icons";
@ -34498,12 +34622,12 @@
transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }: transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "transmission"; pname = "transmission";
version = "0.11"; version = "0.11.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "holomorph"; owner = "holomorph";
repo = "transmission"; repo = "transmission";
rev = "541f73c779e72eb6ebcc6814a75771e91679875a"; rev = "d465378a59e2eb91372564a56e60a9ab00e48f9c";
sha256 = "1rjxn5pfryxbxsgfmmzidcs83azvzvzq0nnphbxmlxybp97wzimx"; sha256 = "0al0xz59lrqj97fxmyxiphblg1bvbzahc6srd8klg7s0378ybblw";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission"; url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@ -35932,12 +36056,12 @@
weechat = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tracking }: weechat = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s, tracking }:
melpaBuild { melpaBuild {
pname = "weechat"; pname = "weechat";
version = "0.3.1"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "the-kenny"; owner = "the-kenny";
repo = "weechat.el"; repo = "weechat.el";
rev = "41f06299b2a691473b6b26c15dc46367542c79f0"; rev = "a1bda40513f0ea94a8a85ee122a475475a03f6ef";
sha256 = "0vg3w18xj6i320jsivsml3mi1fdxr8dgxmn7qy2780ajy5ndxnw1"; sha256 = "05jnfrjrf1da038jkypvx3slyk39xlpak4n9s5vwmx7mgf4zg06y";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/e38255a31a4ca31541c97a506a55f82e2670abe6/recipes/weechat"; url = "https://raw.githubusercontent.com/milkypostman/melpa/e38255a31a4ca31541c97a506a55f82e2670abe6/recipes/weechat";
@ -36376,8 +36500,8 @@
version = "0.9.2"; version = "0.9.2";
src = fetchhg { src = fetchhg {
url = "https://bitbucket.com/ArneBab/wisp"; url = "https://bitbucket.com/ArneBab/wisp";
rev = "e5a20c81c0bd"; rev = "7ce954278aef";
sha256 = "13pb956f1yidwjh4imi01dghzs2wgd6r7n5bzhvpszvx4x1nw4z9"; sha256 = "116cspnc4lhf6gk73yr9sy7013jp88vq5zayghzgnkbdlaw6zmz3";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode"; url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@ -37065,12 +37189,12 @@
yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }: yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
melpaBuild { melpaBuild {
pname = "yasnippet"; pname = "yasnippet";
version = "0.12.1"; version = "0.12.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "joaotavora"; owner = "joaotavora";
repo = "yasnippet"; repo = "yasnippet";
rev = "0463c75b636fe02273c2b8ca85f36b56a206c5c5"; rev = "89eb7ab64d67e96646576dc0d551e8c23d50438a";
sha256 = "1l8h681x5v78k6wkcmhb5kdw9mc13kcmq3aiqg0r9dn493ifj1v1"; sha256 = "1wr0d14yl3440hkdr436zxl9pk7nqhl76n9m3b3ia4lp6z5aj4jc";
}; };
recipeFile = fetchurl { recipeFile = fetchurl {
url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet"; url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";

View File

@ -1,10 +1,10 @@
{ callPackage }: { { callPackage }: {
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org"; pname = "org";
version = "20170821"; version = "20170828";
src = fetchurl { src = fetchurl {
url = "http://orgmode.org/elpa/org-20170821.tar"; url = "http://orgmode.org/elpa/org-20170828.tar";
sha256 = "0pfqm8r1hgk1mf57rwp1h46gc5dwsyfkgnpw01a8y5w35dcsvz4j"; sha256 = "0zvszxw9dm1j3jf1fblvfc74kmiv3zmjydlkkj7q4vd0p4gnfvky";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -14,10 +14,10 @@
}) {}; }) {};
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild { org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
pname = "org-plus-contrib"; pname = "org-plus-contrib";
version = "20170821"; version = "20170828";
src = fetchurl { src = fetchurl {
url = "http://orgmode.org/elpa/org-plus-contrib-20170821.tar"; url = "http://orgmode.org/elpa/org-plus-contrib-20170828.tar";
sha256 = "0m5zym1b4kr7q3ps41rhz92krbjmk9m220hc0rdym95gyjfzw62i"; sha256 = "0r3n7ilf4aqsg9hl057qkl70s9bd9w5884ddigbiahv88hldvv4y";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View File

@ -2,16 +2,15 @@
let let
pname = "kdevelop-pg-qt"; pname = "kdevelop-pg-qt";
version = "2.0"; version = "2.1.0";
dirVersion = "2.0.0";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "2f778d324b7c0962e8bb5f62dd2643bac1a6f3ac971d145b6aace7cd61878993"; sha256 = "20d84d25bd40610bd6c0964e4fe0642e56c41b76a65575122dc5196649621e5d";
}; };
nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ]; nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ];

View File

@ -9,7 +9,7 @@
let let
pname = "kdevelop"; pname = "kdevelop";
version = "5.1.1"; version = "5.1.2";
in in
mkDerivation rec { mkDerivation rec {
@ -17,7 +17,7 @@ mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "0a01a4ffb2f01802cf4945521a3149a8f82c21fa8a97935991f1854b7db5d754"; sha256 = "af54e807847d145fe5f3eb55962ed0d22e6363c2bc6c32167e51ca4823c00ac7";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchpatch, cmake, gettext, pkgconfig, extra-cmake-modules { stdenv, fetchurl, cmake, gettext, pkgconfig, extra-cmake-modules
, boost, subversion, apr, aprutil, kwindowsystem , boost, subversion, apr, aprutil, kwindowsystem
, qtscript, qtwebkit, grantlee, karchive, kconfig, kcoreaddons, kguiaddons, kiconthemes, ki18n , qtscript, qtwebkit, grantlee, karchive, kconfig, kcoreaddons, kguiaddons, kiconthemes, ki18n
, kitemmodels, kitemviews, kio, kparts, sonnet, kcmutils, knewstuff, knotifications , kitemmodels, kitemviews, kio, kparts, sonnet, kcmutils, knewstuff, knotifications
@ -6,7 +6,7 @@
let let
pname = "kdevplatform"; pname = "kdevplatform";
version = "5.1.1"; version = "5.1.2";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -14,17 +14,9 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/kdevelop/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/kdevelop/${version}/src/${name}.tar.xz";
sha256 = "3159440512b1373c1a4b35f401ba1f81217de9578372b45137af141eeda6e726"; sha256 = "e622ddad552a678baaf1166d5cbdc5fd1192d2324300c52ef2d25f1c6778664a";
}; };
patches = [
(fetchpatch {
name = "kdevplatform-project-selection.patch";
url = "https://cgit.kde.org/kdevplatform.git/patch/?id=da4c0fdfcf21dc2a8f48a2b1402213a32effd47a";
sha256 = "16ws8l6dciy2civjnsaj03ml2bzvg4a9g7gd4iyx4hprw65zrcxm";
})
];
nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules ]; nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules ];
buildInputs = [ buildInputs = [

View File

@ -20,11 +20,11 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "nano-${version}"; name = "nano-${version}";
version = "2.8.6"; version = "2.8.7";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/nano/${name}.tar.xz"; url = "mirror://gnu/nano/${name}.tar.xz";
sha256 = "0xjpm2ka56x5ycrgjh06v110na13xlbm42bs8qibk7g578m9cils"; sha256 = "0nhns59smd43mad2w6lnaxqnj4h6ifnlivi6cwydg646jm31gqzv";
}; };
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext; nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;

View File

@ -1,24 +1,30 @@
{ stdenv, fetchurl, makeDesktopItem, cmake, boost163, zlib, openssl, { stdenv, fetchurl, fetchpatch, makeDesktopItem, cmake, boost163, zlib, openssl,
R, qt5, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc R, qt5, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
}: }:
let let
version = "1.1.216"; version = "1.1.351";
ginVer = "1.5"; ginVer = "1.5";
gwtVer = "2.7.0"; gwtVer = "2.7.0";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "RStudio-${version}"; name = "RStudio-${version}";
buildInputs = [ cmake boost163 zlib openssl R qt5.full qt5.qtwebkit libuuid unzip ant jdk makeWrapper pandoc ]; buildInputs = [ cmake boost163 zlib openssl R qt5.full qt5.qtwebkit qt5.qtwebchannel libuuid unzip ant jdk makeWrapper pandoc ];
src = fetchurl { src = fetchurl {
url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz"; url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
sha256 = "07lp2ybvj7ippdrp7fv7j54dp0mm6k19j1vqdvjdk95acg3xgcjf"; sha256 = "0dpzmkq7jkdndidmmgdcr849q33ypmzkqwx22fraaqcy7w4f0pcn";
}; };
# Hack RStudio to only use the input R. # Hack RStudio to only use the input R.
patches = [ ./r-location.patch ]; patches = [
./r-location.patch
(fetchpatch {
url = https://aur.archlinux.org/cgit/aur.git/plain/socketproxy-openssl.patch?h=rstudio-desktop-git;
sha256 = "0ywq9rk14s5961l6hvd3cw70jsm73r16h0bsh4yp52vams7cwy9d";
})
];
postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}"; postPatch = "substituteInPlace src/cpp/core/r_util/REnvironmentPosix.cpp --replace '@R@' ${R}";
inherit ginVer; inherit ginVer;
@ -115,7 +121,7 @@ stdenv.mkDerivation rec {
{ description = "Set of integrated tools for the R language"; { description = "Set of integrated tools for the R language";
homepage = http://www.rstudio.com/; homepage = http://www.rstudio.com/;
license = licenses.agpl3; license = licenses.agpl3;
maintainers = [ maintainers.ehmry maintainers.changlinli ]; maintainers = with maintainers; [ ehmry changlinli ciil ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -58,6 +58,9 @@ in
'' else '' '' else ''
mkdir -p $out/lib/vscode $out/bin mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode cp -r ./* $out/lib/vscode
substituteInPlace $out/lib/vscode/bin/code --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"'
ln -s $out/lib/vscode/bin/code $out/bin ln -s $out/lib/vscode/bin/code $out/bin
mkdir -p $out/share/applications mkdir -p $out/share/applications

View File

@ -5,7 +5,7 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qgis-2.18.10"; name = "qgis-2.18.12";
buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla buildInputs = [ gdal qt4 flex openssl bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++ fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2"; url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "1vrzxhnpzd75iia4xmhbxy90x0wlvj2w4210f0r8203hd2m4sxdj"; sha256 = "0fh256j2d2kh9hjx6q1zdzxfqsgifg9dvgk214sv6zxzhsn0kxvs";
}; };
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}"; cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";

View File

@ -1,50 +1,43 @@
{stdenv, fetchurl, gtk2, pkgconfig, perl, perlXMLParser, libxml2, gettext { stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perl,
, python, libxml2Python, docbook5, docbook_xsl, libxslt, intltool, libart_lgpl perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
, withGNOME ? false, libgnomeui }: libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui,
gtk-mac-integration }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dia-${minVer}.3"; name = "dia-${version}";
minVer = "0.97"; version = "0.97.3.20170622";
src = fetchurl { src = fetchgit {
url = "mirror://gnome/sources/dia/${minVer}/${name}.tar.xz"; url = git://git.gnome.org/dia;
sha256 = "0d3x6w0l6fwd0l8xx06y1h56xf8ss31yzia3a6xr9y28xx44x492"; rev = "b86085dfe2b048a2d37d587adf8ceba6fb8bc43c";
}; sha256 = "1fyxfrzdcs6blxhkw3bcgkksaf3byrsj4cbyrqgb4869k3ynap96";
correctPersistence = fetchurl {
url = https://launchpadlibrarian.net/132677658/persistence;
sha256 = "1rv6zv9i03bna4bdp1wzn72lg7kdwi900y1izdq0imibi54nxjsk";
}; };
buildInputs = buildInputs =
[ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5 [ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5
libxslt docbook_xsl libart_lgpl libxslt docbook_xsl libart_lgpl ]
] ++ stdenv.lib.optional withGNOME libgnomeui; ++ stdenv.lib.optional withGNOME libgnomeui
++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;
nativeBuildInputs = [ pkgconfig intltool perl ]; nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool perl ];
preConfigure = ''
NOCONFIGURE=1 ./autogen.sh # autoreconfHook is not enough
'';
configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome"; configureFlags = stdenv.lib.optionalString withGNOME "--enable-gnome";
patches = [ ]; hardeningDisable = [ "format" ];
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command # This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
# It have no reasons to exist in a redistribuable package # It have no reasons to exist in a redistribuable package
postInstall = '' postInstall = ''
rm $out/share/icons/hicolor/icon-theme.cache rm $out/share/icons/hicolor/icon-theme.cache
cd "$out"/bin/
mv dia .dia-wrapped
echo '#! ${stdenv.shell}' >> dia
echo 'test -f "$HOME/.dia/persistence" || cp ${correctPersistence} "$HOME/.dia/persistence" ' >> dia
echo 'chmod u+rw "$HOME/.dia/persistence" ' >> dia
echo "\"$out/bin/"'.dia-wrapped" "$@"' >> dia
chmod a+x dia
''; '';
meta = { meta = {
description = "Gnome Diagram drawing software"; description = "Gnome Diagram drawing software";
homepage = http://live.gnome.org/Dia; homepage = http://live.gnome.org/Dia;
maintainers = with stdenv.lib.maintainers; [raskin]; maintainers = with stdenv.lib.maintainers; [raskin];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.unix;
}; };
} }

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "kgraphviewer-${version}"; name = "kgraphviewer-${version}";
version = "2.1.90"; version = "2.2.0";
src = fetchurl { src = fetchurl {
url = "mirror://kde/unstable/kgraphviewer/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/kgraphviewer/${version}/src/${name}.tar.xz";
sha256 = "13zhjs57xavzrj4nrlqs35n35ihvzij7hgbszf5fhlp2a4d4rrqs"; sha256 = "1vs5x539mx26xqdljwzkh2bj7s3ydw4cb1wm9nlhgs18siw4gjl5";
}; };
buildInputs = [ kdelibs4 boost graphviz ]; buildInputs = [ kdelibs4 boost graphviz ];

View File

@ -1,21 +1,20 @@
{ stdenv, fetchurl, cmake, exiv2, graphicsmagick { stdenv, fetchurl, cmake, exiv2, graphicsmagick, libraw
, qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools , qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools, qtgraphicaleffects
}: }:
let
version = "1.3";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "photoqt-${version}"; name = "photoqt-${version}";
version = "1.5.1";
src = fetchurl { src = fetchurl {
url = "http://photoqt.org/pkgs/photoqt-${version}.tar.gz"; url = "http://photoqt.org/pkgs/photoqt-${version}.tar.gz";
sha256 = "0j2kvxfb5pd9abciv161nkcsyam6n8kfqs8ymwj2mxiqflwbmfl1"; sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
buildInputs = [ buildInputs = [
qtbase qtquickcontrols qttools exiv2 graphicsmagick qtbase qtquickcontrols qttools exiv2 graphicsmagick
qtmultimedia qtdeclarative qtmultimedia qtdeclarative libraw qtgraphicaleffects
]; ];
preConfigure = '' preConfigure = ''

View File

@ -29,16 +29,16 @@ let
in in
buildRustPackage rec { buildRustPackage rec {
name = "alacritty-unstable-2017-07-25"; name = "alacritty-unstable-2017-08-28";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jwilm"; owner = "jwilm";
repo = "alacritty"; repo = "alacritty";
rev = "49c73f6d55e5a681a0e0f836cd3e9fe6af30788f"; rev = "c4ece6dde3c9dcf825a44aa775535a65c0c376a6";
sha256 = "0h5hrb2g0fpc6xn94hmvxjj21cqbj4vgqkznvd64jl84qbyh1xjl"; sha256 = "1n1ncz45h0zgprsm2wkj11i9wwpg3kba4wv5mcs1xx793aq16x82";
}; };
depsSha256 = "1pbb0swgpsbd6x3avxz6fv3q31dg801li47jibz721a4n9c0rssx"; depsSha256 = "19lrj4i6vzmf22r6xg99zcwvzjpiar8pqin1m2nvv78xzxx5yvgb";
buildInputs = [ buildInputs = [
cmake cmake

View File

@ -6,35 +6,36 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "direwolf-${version}"; name = "direwolf-${version}";
version = "1.3"; version = "1.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wb2osz"; owner = "wb2osz";
repo = "direwolf"; repo = "direwolf";
rev = version; rev = version;
sha256 = "1x6vvl3fy70ic5pqvqsyr0bkqwim8m9jaqnm5ls8z8i66rwq23fg"; sha256 = "033sffjs2dz48077hc58jr4lxxs8md1fyfh4lig6ib7pyigiv1y0";
}; };
buildInputs = [ buildInputs = [
espeak perl python espeak perl python
] ++ (optional stdenv.isLinux alsaLib); ] ++ (optional stdenv.isLinux alsaLib);
patchPhase = '' postPatch = ''
substituteInPlace Makefile.* \ for i in Makefile.*; do
--replace /usr/share $out/share substituteInPlace "$i" \
--replace /usr/share $out/share
done
substituteInPlace dwespeak.sh \ substituteInPlace dwespeak.sh \
--replace espeak ${espeak}/bin/espeak --replace espeak ${espeak}/bin/espeak
''; '';
installPhase = '' preInstall = ''
mkdir -p $out/bin mkdir -p $out/bin
make INSTALLDIR=$out install '';
''; installFlags = [ "INSTALLDIR=$(out)" ];
meta = { meta = {
description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway"; description = "A Soundcard Packet TNC, APRS Digipeater, IGate, APRStt gateway";
# On the page: This page will be disappearing on October 8, 2015.
homepage = https://github.com/wb2osz/direwolf/; homepage = https://github.com/wb2osz/direwolf/;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -2,11 +2,11 @@
python2Packages.buildPythonApplication rec { python2Packages.buildPythonApplication rec {
name = "electrum-${version}"; name = "electrum-${version}";
version = "2.9.0"; version = "2.9.3";
src = fetchurl { src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "1lida5phq0c1lxnk75d9jsps0vw4zy7saaxhv0q4kv76rk2b3fhv"; sha256 = "0d0fzb653g7b8ka3x90nl21md4g3n1fv11czdxpdq3s9yr6js6f2";
}; };
propagatedBuildInputs = with python2Packages; [ propagatedBuildInputs = with python2Packages; [

View File

@ -84,8 +84,8 @@ stdenv.mkDerivation {
description = "Wiki compiler, storing pages and history in a RCS"; description = "Wiki compiler, storing pages and history in a RCS";
homepage = http://ikiwiki.info/; homepage = http://ikiwiki.info/;
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.peti ]; maintainers = [ stdenv.lib.maintainers.peti ];
broken = true; # https://ikiwiki.info/bugs/imagemagick_6.9.8_test_suite_failure/
}; };
} }

View File

@ -0,0 +1,32 @@
{ stdenv
, python
}:
with python.pkgs;
buildPythonApplication rec {
pname = "jrnl";
version = "1.9.8";
name = "${pname}-${version}";
disabled = isPy3k;
src = fetchPypi {
inherit pname version;
sha256 = "d254c9c8f24dcf985b98a1d5311337c7f416e6305107eec34c567f58c95b06f4";
};
propagatedBuildInputs = [
pytz six tzlocal keyring argparse dateutil_1_5
parsedatetime pycrypto
];
# No tests in archive
doCheck = false;
meta = with stdenv.lib; {
homepage = http://maebert.github.io/jrnl/;
description = "A simple command line journal application that stores your journal in a plain text file";
license = licenses.mit;
maintainers = with maintainers; [ zalakain ];
};
}

View File

@ -29,10 +29,6 @@ let
then { tar = xulrunner64_tar; sdk = xulrunnersdk64_tar; } then { tar = xulrunner64_tar; sdk = xulrunnersdk64_tar; }
else { tar = xulrunner32_tar; sdk = xulrunnersdk32_tar; }; else { tar = xulrunner32_tar; sdk = xulrunnersdk32_tar; };
ctpp2_ = ctpp2.override { inherit stdenv; };
xapian_ = xapian.override { inherit stdenv; };
zimlib_ = zimlib.override { inherit stdenv; };
pugixml = stdenv.mkDerivation rec { pugixml = stdenv.mkDerivation rec {
version = "1.2"; version = "1.2";
name = "pugixml-${version}"; name = "pugixml-${version}";
@ -67,8 +63,8 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
zip pkgconfig python zlib xapian_ which icu libmicrohttpd zip pkgconfig python zlib xapian which icu libmicrohttpd
lzma zimlib_ ctpp2_ aria2 wget bc libuuid makeWrapper pugixml lzma zimlib ctpp2 aria2 wget bc libuuid makeWrapper pugixml
]; ];
postUnpack = '' postUnpack = ''

View File

@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
sha256 = "1bxd828nrawmym6d8awh1vrni8dsbwh1k5am1lrq5ihp5c3kw9ka"; sha256 = "1bxd828nrawmym6d8awh1vrni8dsbwh1k5am1lrq5ihp5c3kw9ka";
}; };
buildInputs = [ cmake pkgconfig glibc gnome_keyring gtk gtk.dev gtkmm pcre swig python sudo buildInputs = [ cmake pkgconfig gnome_keyring gtk gtk.dev gtkmm pcre swig python sudo
paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file paramiko mysql libxml2 libctemplate libmysqlconnectorcpp vsqlite tinyxml gdal libiodbc file
libpthreadstubs libXdmcp libuuid libzip libgnome_keyring libgnome_keyring.dev jre autoconf libpthreadstubs libXdmcp libuuid libzip libgnome_keyring libgnome_keyring.dev jre autoconf
automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl automake libtool boost glibmm glibmm.dev libsigcxx pangomm libX11 pexpect pycrypto openssl

View File

@ -1,4 +1,4 @@
{ stdenv, cmake, extra-cmake-modules, plasma-framework, redshift, fetchFromGitHub, }: { stdenv, cmake, extra-cmake-modules, plasma-framework, kwindowsystem, redshift, fetchFromGitHub, }:
let version = "1.0.18"; in let version = "1.0.18"; in
@ -29,7 +29,10 @@ stdenv.mkDerivation {
extra-cmake-modules extra-cmake-modules
]; ];
buildInputs = [ plasma-framework ]; buildInputs = [
plasma-framework
kwindowsystem
];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "KDE Plasma 5 widget for controlling Redshift"; description = "KDE Plasma 5 widget for controlling Redshift";

View File

@ -228,9 +228,14 @@ let
''; '';
buildPhase = let buildPhase = let
# Build paralelism: on Hydra the build was frequently running into memory
# exhaustion, and even other users might be running into similar issues.
# -j is halved to avoid memory problems, and -l is slightly increased
# so that the build gets slight preference before others
# (it will often be on "critical path" and at risk of timing out)
buildCommand = target: '' buildCommand = target: ''
ninja -C "${buildPath}" \ ninja -C "${buildPath}" \
-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \ -j$(( ($NIX_BUILD_CORES+1) / 2 )) -l$(( $NIX_BUILD_CORES+1 )) \
"${target}" "${target}"
'' + optionalString (target == "mksnapshot" || target == "chrome") '' '' + optionalString (target == "mksnapshot" || target == "chrome") ''
paxmark m "${buildPath}/${target}" paxmark m "${buildPath}/${target}"

View File

@ -1,4 +1,4 @@
{ lib, callPackage, stdenv, fetchurl, fetchFromGitHub, fetchpatch }: { lib, callPackage, stdenv, overrideCC, gcc5, fetchurl, fetchFromGitHub, fetchpatch }:
let common = opts: callPackage (import ./common.nix opts); in let common = opts: callPackage (import ./common.nix opts); in
@ -102,6 +102,7 @@ rec {
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };
} { } {
stdenv = overrideCC stdenv gcc5;
ffmpegSupport = false; ffmpegSupport = false;
}; };

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