Skip to content
Permalink

Comparing changes

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

Open a pull request

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

Commits on Feb 23, 2018

  1. racket: on darwin, use libiconv

    Without libiconv, racket doesn't support UTF-16, and this breaks one
    of the tests.
    
    Closes #34576
    clacke committed Feb 23, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    DuCanhGH Ngô Đức Anh
    Copy the full SHA
    2f8f189 View commit details

Commits on Jun 29, 2018

  1. make-closure needs build system mkdir and jq

    Make make-closure work when cross-compiling
    telent committed Jun 29, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    DuCanhGH Ngô Đức Anh
    Copy the full SHA
    f9f6ddc View commit details

Commits on Sep 22, 2018

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f664181 View commit details

Commits on Sep 27, 2018

  1. rabbitmq module: Update documentation

    Elaborate on the two config file formats.
    roberth committed Sep 27, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    DuCanhGH Ngô Đức Anh
    Copy the full SHA
    6c568b6 View commit details

Commits on Oct 1, 2018

  1. TBS: fix modules

    The customized modules need to be xz compressed so that they are
    loaded instead of the default modules
    cillianderoiste committed Oct 1, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    85c236f View commit details

Commits on Oct 2, 2018

  1. maia-icon-theme: 2016-09-16 -> 2018-02-24

    - Update to newer revision
    - Update homepage
    - Update src
    - Update license
    - Add dependency on hicolor-icon-theme
    - Build GTK icon cache
    romildo committed Oct 2, 2018

    Verified

    This commit was signed with the committer’s verified signature.
    DuCanhGH Ngô Đức Anh
    Copy the full SHA
    50795f3 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    DuCanhGH Ngô Đức Anh
    Copy the full SHA
    3a7ae58 View commit details

Commits on Oct 3, 2018

  1. osl: 1.9.9 -> 1.9.10

    Semi-automatic update generated by
    https://github.com/ryantm/nixpkgs-update tools. This update was made
    based on information from
    https://repology.org/metapackage/openshadinglanguage/versions
    r-ryantm committed Oct 3, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    99338a1 View commit details

Commits on Oct 5, 2018

  1. gnulib: add a symlink from bin/gnulib-tool to gnulib-tool

    This makes gnulib-tool available in the user's path after installing gnulib.
    jamtrott committed Oct 5, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f77fe3f View commit details

Commits on Oct 8, 2018

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    a6dd310 View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    caff6f5 View commit details
  3. sutils: 0.1 -> 0.2

    schneefux committed Oct 8, 2018

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    aa5fd37 View commit details
  4. Copy the full SHA
    b7d587f View commit details
  5. Copy the full SHA
    fc1aaf8 View commit details
  6. Copy the full SHA
    8d4c3a0 View commit details
  7. Copy the full SHA
    027ee44 View commit details
  8. Copy the full SHA
    1952a19 View commit details
  9. Copy the full SHA
    3d5939f View commit details
  10. Copy the full SHA
    953f495 View commit details
  11. Copy the full SHA
    15e23e5 View commit details
  12. Copy the full SHA
    eb5eacb View commit details
  13. neopg: 0.0.4 -> 0.0.5

    schneefux committed Oct 8, 2018
    Copy the full SHA
    0317371 View commit details
  14. Copy the full SHA
    3831ed4 View commit details
  15. Copy the full SHA
    3145939 View commit details
  16. Copy the full SHA
    d81a96e View commit details

Commits on Oct 15, 2018

  1. Copy the full SHA
    6837d0d View commit details
  2. dl-poly-classic: init 1.10

    only mpi version provided
    costrouc committed Oct 15, 2018
    Copy the full SHA
    7717a2b View commit details
  3. lammps: patch_2Aug2018 -> stable_22Aug2018

    nix derivation was cleaned significantly to follow nixpkgs better
    costrouc committed Oct 15, 2018
    Copy the full SHA
    397e15f View commit details

Commits on Oct 20, 2018

  1. argp-standalone: init at 1.3

    Amar1729 committed Oct 20, 2018
    Copy the full SHA
    d87a5c8 View commit details
  2. maintainers: add amar1729

    Amar1729 committed Oct 20, 2018
    Copy the full SHA
    8e8283a View commit details

Commits on Oct 27, 2018

  1. 2
    Copy the full SHA
    889a5c3 View commit details
  2. Copy the full SHA
    a54a799 View commit details

Commits on Oct 28, 2018

  1. Copy the full SHA
    5f894a6 View commit details
  2. Copy the full SHA
    696a8bd View commit details
  3. qtcurve: init at 1.9

    gnidorah committed Oct 28, 2018
    Copy the full SHA
    3400c80 View commit details

Commits on Oct 30, 2018

  1. hoomd-blue: init at 2.3.4

    costrouc committed Oct 30, 2018
    Copy the full SHA
    ae66a92 View commit details

Commits on Oct 31, 2018

  1. supercollider: build with alsa (midi) support on non-darwin

    Midi functionality is kind of core to an environment like SuperCollider.
    yurkobb committed Oct 31, 2018
    Copy the full SHA
    22b7afe View commit details

Commits on Nov 1, 2018

  1. Update parse.nix

    vincrusher authored Nov 1, 2018
    Copy the full SHA
    f9aaf71 View commit details
  2. CPU Fix

    Co-Authored-By: vincrusher <vincentweisner@icloud.com>
    Mic92 and vincrusher authored Nov 1, 2018
    Copy the full SHA
    aa75ebd View commit details

Commits on Nov 2, 2018

  1. Update parse.nix

    vincrusher authored Nov 2, 2018
    Copy the full SHA
    0607add View commit details

Commits on Nov 3, 2018

  1. Copy the full SHA
    4aa3016 View commit details
  2. Copy the full SHA
    5341e14 View commit details

Commits on Nov 4, 2018

  1. glusterfs service: Switch to simple unit instead of forking.

    Gluster's pidfile handling is bug-ridden.
    
    I have fixed https://bugzilla.redhat.com/show_bug.cgi?id=1509340
    in an attempt to improve it but that is far from enough.
    
    The gluster developers describe another pidfile issue as
    "our brick-process management is a total nightmare", see
    https://github.com/gluster/glusterfs/blob/f1071f17e02502c24375c0b480d369d37f4e4054/xlators/mgmt/glusterd/src/glusterd-utils.c#L5907-L5924
    
    I have observed multiple cases where glusterd doesn't start correctly
    and systemd doesn't notice because of the erroneous pidfile handling.
    
    To improve the situation, we don't let glusterd daemonize itself any more
    and instead use `--no-daemon` and the `Simple` service type.
    nh2 committed Nov 4, 2018
    Copy the full SHA
    92f40ba View commit details
  2. motion: 4.1.1 -> 4.2

    peterhoeg committed Nov 4, 2018
    Copy the full SHA
    cdd4d8b View commit details
  3. Copy the full SHA
    03fc116 View commit details
  4. nixos/fontconfig/make-fonts-cache: don't fail to clean the cache

    Today I couldn't rebuild because of:
    [...]
    /nix/store/lxkrsrlqplz2n75hvpq6vr0gam0gfgrl-font-cursor-misc-1.0.3/lib/X11/fonts/misc: skipping, existing cache is valid: 1 fonts, 0 dirs
    /var/cache/fontconfig: cleaning cache directory
    /nix/store/xq3c44ha15pfa5a9mv1z9mni3cfghsna-fc-cache: cleaning cache directory
    fc-cache: succeeded
    rm: cannot remove '/nix/store/xq3c44ha15pfa5a9mv1z9mni3cfghsna-fc-cache/CACHEDIR.TAG': No such file or directory
    builder for '/nix/store/zxfmil40n79vhn5hb4flqc76j99a3l7b-fc-cache.drv' failed with exit code 1
    symphorien committed Nov 4, 2018
    Copy the full SHA
    a6a29e0 View commit details
  5. Copy the full SHA
    51c6f51 View commit details
  6. Copy the full SHA
    b682778 View commit details

Commits on Nov 5, 2018

  1. atlas: remove

    atlas is broken and can apparently be removed.
    
    Fixes #49594
    matthewbauer committed Nov 5, 2018
    Copy the full SHA
    95373d3 View commit details
  2. Copy the full SHA
    bf73d9e View commit details
Showing 422 changed files with 69,423 additions and 69,388 deletions.
3 changes: 3 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -120,3 +120,6 @@
# Dhall
/pkgs/development/dhall-modules @Gabriel439 @Profpatsch
/pkgs/development/interpreters/dhall @Gabriel439 @Profpatsch

# Idris
/pkgs/development/idris-modules @Infinisil
132 changes: 104 additions & 28 deletions doc/languages-frameworks/idris.section.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,115 @@
Idris packages
==============
# Idris packages

This directory contains build rules for idris packages. In addition,
it contains several functions to build and compose those packages.
Everything is exposed to the user via the `idrisPackages` attribute.
## Installing Idris

callPackage
------------
The easiest way to get a working idris version is to install the `idris` attribute:

This is like the normal nixpkgs callPackage function, specialized to
idris packages.
```
$ # On NixOS
$ nix-env -i nixos.idris
$ # On non-NixOS
$ nix-env -i nixpkgs.idris
```

builtins
---------
This however only provides the `prelude` and `base` libraries. To install additional libraries:

This is a list of all of the libraries that come packaged with Idris
itself.
```
$ nix-env -iE 'pkgs: pkgs.idrisPackages.with-packages (with pkgs.idrisPackages; [ contrib pruviloj ])'
```

build-idris-package
--------------------
To see all available Idris packages:
```
$ # On NixOS
$ nix-env -qaPA nixos.idrisPackages
$ # On non-NixOS
$ nix-env -qaPA nixpkgs.idrisPackages
```

A function to build an idris package. Its sole argument is a set like
you might pass to `stdenv.mkDerivation`, except `build-idris-package`
sets several attributes for you. See `build-idris-package.nix` for
details.
Similarly, entering a `nix-shell`:
```
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
```

build-builtin-package
----------------------
## Starting Idris with library support

A version of `build-idris-package` specialized to builtin libraries.
Mostly for internal use.
To have access to these libraries in idris, call it with an argument `-p <library name>` for each library:

with-packages
-------------
```
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
[nix-shell:~]$ idris -p contrib -p pruviloj
```

Bundle idris together with a list of packages. Because idris currently
only supports a single directory in its library path, you must include
all desired libraries here, including `prelude` and `base`.
A listing of all available packages the Idris binary has access to is available via `--listlibs`:

```
$ idris --listlibs
00prelude-idx.ibc
pruviloj
base
contrib
prelude
00pruviloj-idx.ibc
00base-idx.ibc
00contrib-idx.ibc
```

## Building an Idris project with Nix

As an example of how a Nix expression for an Idris package can be created, here is the one for `idrisPackages.yaml`:

```nix
{ build-idris-package
, fetchFromGitHub
, contrib
, lightyear
, lib
}:
build-idris-package {
name = "yaml";
version = "2018-01-25";
# This is the .ipkg file that should be built, defaults to the package name
# In this case it should build `Yaml.ipkg` instead of `yaml.ipkg`
# This is only necessary because the yaml packages ipkg file is
# different from its package name here.
ipkgName = "Yaml";
# Idris dependencies to provide for the build
idrisDeps = [ contrib lightyear ];
src = fetchFromGitHub {
owner = "Heather";
repo = "Idris.Yaml";
rev = "5afa51ffc839844862b8316faba3bafa15656db4";
sha256 = "1g4pi0swmg214kndj85hj50ccmckni7piprsxfdzdfhg87s0avw7";
};
meta = {
description = "Idris YAML lib";
homepage = https://github.com/Heather/Idris.Yaml;
license = lib.licenses.mit;
maintainers = [ lib.maintainers.brainrape ];
};
}
```

Assuming this file is saved as `yaml.nix`, it's buildable using

```
$ nix-build -E '(import <nixpkgs> {}).idrisPackages.callPackage ./yaml.nix {}'
```

Or it's possible to use

```nix
with import <nixpkgs> {};
{
yaml = idrisPackages.callPackage ./yaml.nix {};
}
```

in another file (say `default.nix`) to be able to build it with

```
$ nix-build -A yaml
```
10 changes: 5 additions & 5 deletions doc/languages-frameworks/node.section.md
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ project.

The package set also provides support for multiple Node.js versions. The policy
is that a new package should be added to the collection for the latest stable LTS
release (which is currently 8.x), unless there is an explicit reason to support
release (which is currently 10.x), unless there is an explicit reason to support
a different release.

If your package uses native addons, you need to examine what kind of native
@@ -26,7 +26,7 @@ build system it uses. Here are some examples:

After you have identified the correct system, you need to override your package
expression while adding in build system as a build input. For example, `dat`
requires `node-gyp-build`, so we override its expression in `default-v8.nix`:
requires `node-gyp-build`, so we override its expression in `default-v10.nix`:

```nix
dat = nodePackages.dat.override (oldAttrs: {
@@ -36,9 +36,9 @@ dat = nodePackages.dat.override (oldAttrs: {

To add a package from NPM to nixpkgs:

1. Modify `pkgs/development/node-packages/node-packages-v8.json` to add, update
or remove package entries. (Or `pkgs/development/node-packages/node-packages-v10.json`
for packages depending on Node.js 10.x)
1. Modify `pkgs/development/node-packages/node-packages-v10.json` to add, update
or remove package entries. (Or `pkgs/development/node-packages/node-packages-v8.json`
for packages depending on Node.js 8.x)
2. Run the script: `(cd pkgs/development/node-packages && ./generate.sh)`.
3. Build your new package to test your changes:
`cd /path/to/nixpkgs && nix-build -A nodePackages.<new-or-updated-package>`.
12 changes: 6 additions & 6 deletions doc/stdenv.xml
Original file line number Diff line number Diff line change
@@ -2077,7 +2077,7 @@ someVar=$(stripHash $name)
Nix itself considers a build-time dependency merely something that should
previously be built and accessible at build time—packages themselves are
on their own to perform any additional setup. In most cases, that is fine,
and the downstream derivation can deal with it's own dependencies. But for a
and the downstream derivation can deal with its own dependencies. But for a
few common tasks, that would result in almost every package doing the same
sort of setup work---depending not on the package itself, but entirely on
which dependencies were used.
@@ -2131,18 +2131,18 @@ someVar=$(stripHash $name)
<literal>n + 1</literal> dependencies, as only those ones match the
compiler's target platform. The <envar>hostOffset</envar> variable is
defined with the current dependency's host offset
<envar>targetOffset</envar> with its target offset, before it's setup hook
is sourced. Additionally, since most environment hooks don't care about the
target platform, That means the setup hook can append to the right bash
array by doing something like
<envar>targetOffset</envar> with its target offset, before its setup hook is
sourced. Additionally, since most environment hooks don't care about the
target platform, That means the setup hook can append to the right bash array
by doing something like
<programlisting language="bash">
addEnvHooks "$hostOffset" myBashFunction
</programlisting>
</para>

<para>
The <emphasis>existence</emphasis> of setups hooks has long been documented
and packages inside Nixpkgs are free to use these mechanism. Other packages,
and packages inside Nixpkgs are free to use this mechanism. Other packages,
however, should not rely on these mechanisms not changing between Nixpkgs
versions. Because of the existing issues with this system, there's little
benefit from mandating it be stable for any period of time.
7 changes: 2 additions & 5 deletions lib/licenses.nix
Original file line number Diff line number Diff line change
@@ -47,6 +47,7 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
amd = {
fullName = "AMD License Agreement";
url = http://developer.amd.com/amd-license-agreement/;
free = false;
};

apsl20 = spdx {
@@ -104,14 +105,10 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
fullName = ''BSD 4-clause "Original" or "Old" License'';
};

bsl10 = {
fullName = "Business Source License 1.0";
url = https://mariadb.com/bsl10;
};

bsl11 = {
fullName = "Business Source License 1.1";
url = https://mariadb.com/bsl11;
free = false;
};

clArtistic = spdx {
15 changes: 15 additions & 0 deletions lib/systems/examples.nix
Original file line number Diff line number Diff line change
@@ -112,11 +112,26 @@ rec {
config = "aarch64-none-elf";
libc = "newlib";
};

aarch64be-embedded = {
config = "aarch64_be-none-elf";
libc = "newlib";
};

ppc-embedded = {
config = "powerpc-none-eabi";
libc = "newlib";
};

ppcle-embedded = {
config = "powerpcle-none-eabi";
libc = "newlib";
};

alpha-embedded = {
config = "alpha-elf";
libc = "newlib";
};

i686-embedded = {
config = "i686-elf";
4 changes: 4 additions & 0 deletions lib/systems/parse.nix
Original file line number Diff line number Diff line change
@@ -80,6 +80,7 @@ rec {
armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; };
aarch64_be = { bits = 64; significantByte = bigEndian; family = "arm"; version = "8"; };

i686 = { bits = 32; significantByte = littleEndian; family = "x86"; };
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; };
@@ -92,6 +93,7 @@ rec {
powerpc = { bits = 32; significantByte = bigEndian; family = "power"; };
powerpc64 = { bits = 64; significantByte = bigEndian; family = "power"; };
powerpc64le = { bits = 64; significantByte = littleEndian; family = "power"; };
powerpcle = { bits = 32; significantByte = littleEndian; family = "power"; };

riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
@@ -101,6 +103,8 @@ rec {

wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; };
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };

alpha = { bits = 64; significantByte = littleEndian; family = "alpha"; };

avr = { bits = 8; family = "avr"; };
};
7 changes: 7 additions & 0 deletions lib/trivial.nix
Original file line number Diff line number Diff line change
@@ -129,6 +129,13 @@ rec {
/* Returns the current nixpkgs release number as string. */
release = lib.strings.fileContents ../.version;

/* Returns the current nixpkgs release code name.
On each release the first letter is bumped and a new animal is chosen
starting with that new letter.
*/
codeName = "Koi";

/* Returns the current nixpkgs version suffix as string. */
versionSuffix =
let suffixFile = ../.version-suffix;
15 changes: 15 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
@@ -216,6 +216,11 @@
github = "alunduil";
name = "Alex Brandt";
};
amar1729 = {
email = "amar.paul16@gmail.com";
github = "amar1729";
name = "Amar Paul";
};
ambrop72 = {
email = "ambrop7@gmail.com";
github = "ambrop72";
@@ -757,6 +762,11 @@
github = "ChengCat";
name = "Yucheng Zhang";
};
chessai = {
email = "chessai1996@gmail.com";
github = "chessai";
name = "Daniel Cartwright";
};
chiiruno = {
email = "okinan@protonmail.com";
github = "chiiruno";
@@ -4263,6 +4273,11 @@
github = "tex";
name = "Milan Svoboda";
};
tg-x = {
email = "*@tg-x.net";
github = "tg-x";
name = "TG ⊗ Θ";
};
thall = {
email = "niclas.thall@gmail.com";
github = "thall";
1 change: 1 addition & 0 deletions nixos/doc/manual/configuration/configuration.xml
Original file line number Diff line number Diff line change
@@ -22,5 +22,6 @@
<xi:include href="networking.xml" />
<xi:include href="linux-kernel.xml" />
<xi:include href="../generated/modules.xml" xpointer="xpointer(//section[@id='modules']/*)" />
<xi:include href="profiles.xml" />
<!-- Apache; libvirtd virtualisation -->
</part>
39 changes: 39 additions & 0 deletions nixos/doc/manual/configuration/profiles.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<chapter 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="ch-profiles">
<title>Profiles</title>
<para>
In some cases, it may be desirable to take advantage of commonly-used,
predefined configurations provided by nixpkgs, but different from those that
come as default. This is a role fulfilled by NixOS's Profiles, which come as
files living in <filename>&lt;nixpkgs/nixos/modules/profiles&gt;</filename>.
That is to say, expected usage is to add them to the imports list of your
<filename>/etc/configuration.nix</filename> as such:
</para>
<programlisting>
imports = [
&lt;nixpkgs/nixos/modules/profiles/profile-name.nix&gt;
];
</programlisting>
<para>
Even if some of these profiles seem only useful in the context of
install media, many are actually intended to be used in real installs.
</para>
<para>
What follows is a brief explanation on the purpose and use-case for each
profile. Detailing each option configured by each one is out of scope.
</para>
<xi:include href="profiles/all-hardware.xml" />
<xi:include href="profiles/base.xml" />
<xi:include href="profiles/clone-config.xml" />
<xi:include href="profiles/demo.xml" />
<xi:include href="profiles/docker-container.xml" />
<xi:include href="profiles/graphical.xml" />
<xi:include href="profiles/hardened.xml" />
<xi:include href="profiles/headless.xml" />
<xi:include href="profiles/installation-device.xml" />
<xi:include href="profiles/minimal.xml" />
<xi:include href="profiles/qemu-guest.xml" />
</chapter>
20 changes: 20 additions & 0 deletions nixos/doc/manual/configuration/profiles/all-hardware.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

<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-profile-all-hardware">
<title>All Hardware</title>
<para>
Enables all hardware supported by NixOS: i.e., all firmware is
included, and all devices from which one may boot are enabled in the initrd.
Its primary use is in the NixOS installation CDs.
</para>
<para>
The enabled kernel modules include support for SATA and PATA, SCSI
(partially), USB, Firewire (untested), Virtio (QEMU, KVM, etc.), VMware, and
Hyper-V. Additionally, <xref linkend="opt-hardware.enableAllFirmware"/> is
enabled, and the firmware for the ZyDAS ZD1211 chipset is specifically
installed.
</para>
</section>
15 changes: 15 additions & 0 deletions nixos/doc/manual/configuration/profiles/base.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

<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-profile-base">
<title>Base</title>
<para>
Defines the software packages included in the "minimal"
installation CD. It installs several utilities useful in a simple recovery or
install media, such as a text-mode web browser, and tools for manipulating
block devices, networking, hardware diagnostics, and filesystems (with their
respective kernel modules).
</para>
</section>
14 changes: 14 additions & 0 deletions nixos/doc/manual/configuration/profiles/clone-config.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@

<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-profile-clone-config">
<title>Clone Config</title>
<para>
This profile is used in installer images.
It provides an editable configuration.nix that imports all the modules that
were also used when creating the image in the first place.
As a result it allows users to edit and rebuild the live-system.
</para>
</section>
13 changes: 13 additions & 0 deletions nixos/doc/manual/configuration/profiles/demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

<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-profile-demo">
<title>Demo</title>
<para>
This profile just enables a <systemitem class="username">demo</systemitem> user, with password <literal>demo</literal>, uid <literal>1000</literal>, <systemitem class="groupname">wheel</systemitem>
group and <link linkend="opt-services.xserver.displayManager.sddm.autoLogin">
autologin in the SDDM display manager</link>.
</para>
</section>
15 changes: 15 additions & 0 deletions nixos/doc/manual/configuration/profiles/docker-container.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@

<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-profile-docker-container">
<title>Docker Container</title>
<para>
This is the profile from which the Docker images are generated. It prepares a
working system by importing the <link linkend="sec-profile-minimal">Minimal</link> and
<link linkend="sec-profile-clone-config">Clone Config</link> profiles, and setting appropriate
configuration options that are useful inside a container context, like
<xref linkend="opt-boot.isContainer"/>.
</para>
</section>
21 changes: 21 additions & 0 deletions nixos/doc/manual/configuration/profiles/graphical.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@

<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-profile-graphical">
<title>Graphical</title>
<para>
Defines a NixOS configuration with the Plasma 5 desktop. It's used by the
graphical installation CD.
</para>
<para>
It sets <xref linkend="opt-services.xserver.enable"/>,
<xref linkend="opt-services.xserver.displayManager.sddm.enable"/>,
<xref linkend="opt-services.xserver.desktopManager.plasma5.enable"/> (
<link linkend="opt-services.xserver.desktopManager.plasma5.enableQt4Support">
without Qt4 Support</link>), and
<xref linkend="opt-services.xserver.libinput.enable"/> to true. It also
includes glxinfo and firefox in the system packages list.
</para>
</section>
22 changes: 22 additions & 0 deletions nixos/doc/manual/configuration/profiles/hardened.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

<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-profile-hardened">
<title>Hardened</title>
<para>
A profile with most (vanilla) hardening options enabled by default,
potentially at the cost of features and performance.
</para>
<para>
This includes a hardened kernel, and limiting the system information
available to processes through the <filename>/sys</filename> and
<filename>/proc</filename> filesystems. It also disables the User Namespaces
feature of the kernel, which stops Nix from being able to build anything
(this particular setting can be overriden via
<xref linkend="opt-security.allowUserNamespaces"/>). See the <literal
xlink:href="https://github.com/nixos/nixpkgs/tree/master/nixos/modules/profiles/hardened.nix">
profile source</literal> for further detail on which settings are altered.
</para>
</section>
18 changes: 18 additions & 0 deletions nixos/doc/manual/configuration/profiles/headless.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@

<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-profile-headless">
<title>Headless</title>
<para>
Common configuration for headless machines (e.g., Amazon EC2 instances).
</para>
<para>
Disables <link linkend="opt-sound.enable">sound</link>,
<link linkend="opt-boot.vesa">vesa</link>, serial consoles,
<link linkend="opt-systemd.enableEmergencyMode">emergency mode</link>,
<link linkend="opt-boot.loader.grub.splashImage">grub splash images</link> and
configures the kernel to reboot automatically on panic.
</para>
</section>
35 changes: 35 additions & 0 deletions nixos/doc/manual/configuration/profiles/installation-device.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@

<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-profile-installation-device">
<title>Installation Device</title>
<para>
Provides a basic configuration for installation devices like CDs. This means
enabling hardware scans, using the <link linkend="sec-profile-clone-config">
Clone Config profile</link> to guarantee
<filename>/etc/nixos/configuration.nix</filename> exists (for
<command>nixos-rebuild</command> to work), a copy of the Nixpkgs channel
snapshot used to create the install media.
</para>
<para>
Additionally, documentation for <link linkend="opt-documentation.enable">
Nixpkgs</link> and <link linkend="opt-documentation.nixos.enable">NixOS
</link> are forcefully enabled (to override the
<link linkend="sec-profile-minimal">Minimal profile</link> preference); the
NixOS manual is shown automatically on TTY 8, sudo and udisks are disabled.
Autologin is enabled as root.
</para>
<para>
A message is shown to the user to start a display manager if needed,
ssh with <xref linkend="opt-services.openssh.permitRootLogin"/> are enabled (but
doesn't autostart). WPA Supplicant is also enabled without autostart.
</para>
<para>
Finally, vim is installed, root is set to not have a password, the kernel is
made more silent for remote public IP installs, and several settings are
tweaked so that the installer has a better chance of succeeding under
low-memory environments.
</para>
</section>
17 changes: 17 additions & 0 deletions nixos/doc/manual/configuration/profiles/minimal.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@

<section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-profile-minimal">
<title>Minimal</title>
<para>
This profile defines a small NixOS configuration. It does not contain any
graphical stuff. It's a very short file that enables
<link linkend="opt-environment.noXlibs">noXlibs</link>, sets
<link linkend="opt-i18n.supportedLocales">i18n.supportedLocales</link>
to only support the user-selected locale,
<link linkend="opt-documentation.enable">disables packages' documentation
</link>, and <link linkend="opt-sound.enable">disables sound</link>.
</para>
</section>
16 changes: 16 additions & 0 deletions nixos/doc/manual/configuration/profiles/qemu-guest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<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-profile-qemu-guest">
<title>QEMU Guest</title>
<para>
This profile contains common configuration for virtual machines running under
QEMU (using virtio).
</para>
<para>
It makes virtio modules available on the initrd, sets the system time from
the hardware clock to work around a bug in qemu-kvm, and
<link linkend="opt-security.rngd.enable">enables rngd</link>.
</para>
</section>
8 changes: 4 additions & 4 deletions nixos/doc/manual/man-nixos-generate-config.xml
Original file line number Diff line number Diff line change
@@ -13,18 +13,18 @@
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>nixos-generate-config</command>
<command>nixos-generate-config</command>
<arg>
<option>--force</option>
</arg>

<arg>
<arg choice='plain'>
<option>--root</option>
</arg>
<replaceable>root</replaceable>
</arg>

<arg>
<arg choice='plain'>
<option>--dir</option>
@@ -167,7 +167,7 @@ $ nixos-generate-config --root /mnt

{
imports =
[ &lt;nixos/modules/installer/scan/not-detected.nix>
[ &lt;nixos/modules/installer/scan/not-detected.nix&gt;
];

boot.initrd.availableKernelModules = [ "ehci_hcd" "ahci" ];
16 changes: 16 additions & 0 deletions nixos/doc/manual/release-notes/rl-1903.xml
Original file line number Diff line number Diff line change
@@ -149,6 +149,14 @@
make sure to update your configuration if you want to keep <literal>proglodyte-wasm</literal>
</para>
</listitem>
<listitem>
<para>
When the <literal>nixpkgs.pkgs</literal> option is set, NixOS will no
longer ignore the <literal>nixpkgs.overlays</literal> option. The old
behavior can be recovered by setting <literal>nixpkgs.overlays =
lib.mkForce [];</literal>.
</para>
</listitem>
<listitem>
<para>
OpenSMTPD has been upgraded to version 6.4.0p1. This release makes
@@ -206,6 +214,14 @@
<literal>hardware.ckb-next.*</literal>.
</para>
</listitem>
<listitem>
<para>
The option <literal>services.xserver.displayManager.job.logToFile</literal> which was
previously set to <literal>true</literal> when using the display managers
<literal>lightdm</literal>, <literal>sddm</literal> or <literal>xpra</literal> has been
reset to the default value (<literal>false</literal>).
</para>
</listitem>
</itemizedlist>
</section>

14 changes: 12 additions & 2 deletions nixos/lib/build-vms.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
{ system, pkgs, minimal ? false, config ? {} }:
{ system
, # Use a minimal kernel?
minimal ? false
, # Ignored
config ? null
# Nixpkgs, for qemu, lib and more
, pkgs
, # NixOS configuration to add to the VMs
extraConfigurations ? []
}:

with pkgs.lib;
with import ../lib/qemu-flags.nix { inherit pkgs; };
@@ -28,7 +37,8 @@ rec {
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
{ key = "no-manual"; documentation.nixos.enable = false; }
{ key = "qemu"; system.build.qemu = qemu; }
] ++ optional minimal ../modules/testing/minimal-kernel.nix;
] ++ optional minimal ../modules/testing/minimal-kernel.nix
++ extraConfigurations;
extraArgs = { inherit nodes; };
};

13 changes: 10 additions & 3 deletions nixos/lib/testing.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
{ system, pkgs, minimal ? false, config ? {} }:

with import ./build-vms.nix { inherit system pkgs minimal config; };
{ system
, pkgs
# Use a minimal kernel?
, minimal ? false
# Ignored
, config ? null
# Modules to add to each VM
, extraConfigurations ? [] }:

with import ./build-vms.nix { inherit system pkgs minimal extraConfigurations; };
with pkgs;

let
86 changes: 86 additions & 0 deletions nixos/modules/config/gtk/gtk-icon-cache.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
{ config, lib, pkgs, ... }:

with lib;
{
options = {
gtk.iconCache.enable = mkOption {
type = types.bool;
default = config.services.xserver.enable;
description = ''
Whether to build icon theme caches for GTK+ applications.
'';
};
};

config = mkIf config.gtk.iconCache.enable {

# (Re)build icon theme caches
# ---------------------------
# Each icon theme has its own cache. The difficult is that many
# packages may contribute with icons to the same theme by installing
# some icons.
#
# For instance, on my current NixOS system, the following packages
# (among many others) have icons installed into the hicolor icon
# theme: hicolor-icon-theme, psensor, wpa_gui, caja, etc.
#
# As another example, the mate icon theme has icons installed by the
# packages mate-icon-theme, mate-settings-daemon, and libmateweather.
#
# The HighContrast icon theme also has icons from different packages,
# like gnome-theme-extras and meld.

# When the cache is built all of its icons has to be known. How to
# implement this?
#
# I think that most themes have all icons installed by only one
# package. On my system there are 71 themes installed. Only 3 of them
# have icons installed from more than one package.
#
# If the main package of the theme provides a cache, presumably most
# of its icons will be available to applications without running this
# module. But additional icons offered by other packages will not be
# available. Therefore I think that it is good that the main theme
# package installs a cache (although it does not completely fixes the
# situation for packages installed with nix-env).
#
# The module solution presented here keeps the cache when there is
# only one package contributing with icons to the theme. Otherwise it
# rebuilds the cache taking into account the icons provided all
# packages.

environment.extraSetup = ''
# For each icon theme directory ...
find $out/share/icons -mindepth 1 -maxdepth 1 -print0 | while read -d $'\0' themedir
do
# In order to build the cache, the theme dir should be
# writable. When the theme dir is a symbolic link to somewhere
# in the nix store it is not writable and it means that only
# one package is contributing to the theme. If it already has
# a cache, no rebuild is needed. Otherwise a cache has to be
# built, and to be able to do that we first remove the
# symbolic link and make a directory, and then make symbolic
# links from the original directory into the new one.
if [ ! -w "$themedir" -a -L "$themedir" -a ! -r "$themedir"/icon-theme.cache ]; then
name=$(basename "$themedir")
path=$(readlink -f "$themedir")
rm "$themedir"
mkdir -p "$themedir"
ln -s "$path"/* "$themedir"/
fi
# (Re)build the cache if the theme dir is writable, replacing any
# existing cache for the theme
if [ -w "$themedir" ]; then
rm -f "$themedir"/icon-theme.cache
${pkgs.gtk3.out}/bin/gtk-update-icon-cache --ignore-theme-index "$themedir"
fi
done
'';
};

}
4 changes: 2 additions & 2 deletions nixos/modules/config/networking.nix
Original file line number Diff line number Diff line change
@@ -260,9 +260,9 @@ in
'';

} // optionalAttrs config.services.resolved.enable {
# symlink the static version of resolv.conf as recommended by upstream:
# symlink the dynamic stub resolver of resolv.conf as recommended by upstream:
# https://www.freedesktop.org/software/systemd/man/systemd-resolved.html#/etc/resolv.conf
"resolv.conf".source = "${pkgs.systemd}/lib/systemd/resolv.conf";
"resolv.conf".source = "/run/systemd/resolve/stub-resolv.conf";
} // optionalAttrs (config.services.resolved.enable && dnsmasqResolve) {
"dnsmasq-resolv.conf".source = "/run/systemd/resolve/resolv.conf";
} // optionalAttrs (pkgs.stdenv.hostPlatform.libc == "glibc") {
4 changes: 0 additions & 4 deletions nixos/modules/config/system-path.nix
Original file line number Diff line number Diff line change
@@ -135,10 +135,6 @@ in
# outputs TODO: note that the tools will often not be linked by default
postBuild =
''
if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then
$out/bin/gtk-update-icon-cache $out/share/icons/hicolor
fi
if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then
$out/bin/glib-compile-schemas $out/share/glib-2.0/schemas
fi
11 changes: 10 additions & 1 deletion nixos/modules/hardware/ckb-next.nix
Original file line number Diff line number Diff line change
@@ -10,6 +10,15 @@ in
options.hardware.ckb-next = {
enable = mkEnableOption "the Corsair keyboard/mouse driver";

gid = mkOption {
type = types.nullOr types.int;
default = null;
example = 100;
description = ''
Limit access to the ckb daemon to a particular group.
'';
};

package = mkOption {
type = types.package;
default = pkgs.ckb-next;
@@ -26,8 +35,8 @@ in
systemd.services.ckb-next = {
description = "Corsair Keyboards and Mice Daemon";
wantedBy = ["multi-user.target"];
script = "exec ${cfg.package}/bin/ckb-next-daemon";
serviceConfig = {
ExecStart = "${cfg.package}/bin/ckb-next-daemon ${optionalString (cfg.gid != null) "--gid=${builtins.toString cfg.gid}"}";
Restart = "on-failure";
StandardOutput = "syslog";
};
16 changes: 9 additions & 7 deletions nixos/modules/installer/tools/nixos-generate-config.pl
Original file line number Diff line number Diff line change
@@ -314,14 +314,16 @@ sub findStableDevPath {

# Generate the swapDevices option from the currently activated swap
# devices.
my @swaps = read_file("/proc/swaps");
shift @swaps;
my @swaps = read_file("/proc/swaps", err_mode => 'carp');
my @swapDevices;
foreach my $swap (@swaps) {
$swap =~ /^(\S+)\s/;
next unless -e $1;
my $dev = findStableDevPath $1;
push @swapDevices, "{ device = \"$dev\"; }";
if (@swaps) {
shift @swaps;
foreach my $swap (@swaps) {
$swap =~ /^(\S+)\s/;
next unless -e $1;
my $dev = findStableDevPath $1;
push @swapDevices, "{ device = \"$dev\"; }";
}
}


4 changes: 2 additions & 2 deletions nixos/modules/misc/ids.nix
Original file line number Diff line number Diff line change
@@ -101,7 +101,7 @@
iodined = 66;
#libvirtd = 67; # unused
graphite = 68;
statsd = 69;
#statsd = 69; # removed 2018-11-14
transmission = 70;
postgres = 71;
#vboxusers = 72; # unused
@@ -411,7 +411,7 @@
iodined = 66;
libvirtd = 67;
graphite = 68;
#statsd = 69; # unused
#statsd = 69; # removed 2018-11-14
transmission = 70;
postgres = 71;
vboxusers = 72;
58 changes: 45 additions & 13 deletions nixos/modules/misc/nixpkgs.nix
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
{ config, lib, pkgs, ... }:
{ config, options, lib, pkgs, ... }:

with lib;

let
cfg = config.nixpkgs;
opt = options.nixpkgs;

isConfig = x:
builtins.isAttrs x || lib.isFunction x;
@@ -54,28 +55,38 @@ let
check = builtins.isAttrs;
};

defaultPkgs = import ../../../pkgs/top-level/default.nix {
inherit (cfg) config overlays localSystem crossSystem;
};

finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs;

in

{
options.nixpkgs = {

pkgs = mkOption {
defaultText = literalExample
''import "''${nixos}/.." {
''import "''${nixos}/../pkgs/top-level" {
inherit (cfg) config overlays localSystem crossSystem;
}
'';
default = import ../../.. {
inherit (cfg) config overlays localSystem crossSystem;
};
type = pkgsType;
example = literalExample ''import <nixpkgs> {}'';
description = ''
This is the evaluation of Nixpkgs that will be provided to
all NixOS modules. Defining this option has the effect of
ignoring the other options that would otherwise be used to
evaluate Nixpkgs, because those are arguments to the default
value. The default value imports the Nixpkgs source files
If set, the pkgs argument to all NixOS modules is the value of
this option, extended with <code>nixpkgs.overlays</code>, if
that is also set. Either <code>nixpkgs.crossSystem</code> or
<code>nixpkgs.localSystem</code> will be used in an assertion
to check that the NixOS and Nixpkgs architectures match. Any
other options in <code>nixpkgs.*</code>, notably <code>config</code>,
will be ignored.
If unset, the pkgs argument to all NixOS modules is determined
as shown in the default value for this option.
The default value imports the Nixpkgs source files
relative to the location of this NixOS module, because
NixOS and Nixpkgs are distributed together for consistency,
so the <code>nixos</code> in the default value is in fact a
@@ -128,12 +139,14 @@ in
description = ''
List of overlays to use with the Nix Packages collection.
(For details, see the Nixpkgs documentation.) It allows
you to override packages globally. This is a function that
you to override packages globally. Each function in the list
takes as an argument the <emphasis>original</emphasis> Nixpkgs.
The first argument should be used for finding dependencies, and
the second should be used for overriding recipes.
Ignored when <code>nixpkgs.pkgs</code> is set.
If <code>nixpkgs.pkgs</code> is set, overlays specified here
will be applied after the overlays that were already present
in <code>nixpkgs.pkgs</code>.
'';
};

@@ -207,7 +220,26 @@ in

config = {
_module.args = {
pkgs = cfg.pkgs;
pkgs = finalPkgs;
};

assertions = [
(
let
nixosExpectedSystem =
if config.nixpkgs.crossSystem != null
then config.nixpkgs.crossSystem.system
else config.nixpkgs.localSystem.system;
nixosOption =
if config.nixpkgs.crossSystem != null
then "nixpkgs.crossSystem"
else "nixpkgs.localSystem";
pkgsSystem = finalPkgs.stdenv.targetPlatform.system;
in {
assertion = nixosExpectedSystem == pkgsSystem;
message = "The NixOS nixpkgs.pkgs option was set to a Nixpkgs invocation that compiles to target system ${pkgsSystem} but NixOS was configured for system ${nixosExpectedSystem} via NixOS option ${nixosOption}. The NixOS system settings must match the Nixpkgs target system.";
}
)
];
};
}
4 changes: 1 addition & 3 deletions nixos/modules/misc/version.nix
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ in
nixos.codeName = mkOption {
readOnly = true;
type = types.str;
default = lib.trivial.codeName;
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
};

@@ -79,9 +80,6 @@ in
version = mkDefault (cfg.release + cfg.versionSuffix);
revision = mkIf (pathIsDirectory gitRepo) (mkDefault gitCommitId);
versionSuffix = mkIf (pathIsDirectory gitRepo) (mkDefault (".git." + gitCommitId));

# Note: the first letter is bumped on every release. It's an animal.
codeName = "Koi";
};

# Generate /etc/os-release. See
5 changes: 3 additions & 2 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -11,6 +11,7 @@
./config/xdg/icons.nix
./config/xdg/menus.nix
./config/xdg/mime.nix
./config/gtk/gtk-icon-cache.nix
./config/gnu.nix
./config/i18n.nix
./config/iproute2.nix
@@ -63,7 +64,6 @@
./i18n/input-method/ibus.nix
./i18n/input-method/nabi.nix
./i18n/input-method/uim.nix
./installer/tools/auto-upgrade.nix
./installer/tools/tools.nix
./misc/assertions.nix
./misc/crashdump.nix
@@ -302,6 +302,7 @@
./services/logging/graylog.nix
./services/logging/heartbeat.nix
./services/logging/journalbeat.nix
./services/logging/journaldriver.nix
./services/logging/journalwatch.nix
./services/logging/klogd.nix
./services/logging/logcheck.nix
@@ -451,7 +452,6 @@
./services/monitoring/riemann-tools.nix
./services/monitoring/scollector.nix
./services/monitoring/smartd.nix
./services/monitoring/statsd.nix
./services/monitoring/sysstat.nix
./services/monitoring/systemhealth.nix
./services/monitoring/teamviewer.nix
@@ -801,6 +801,7 @@
./system/boot/timesyncd.nix
./system/boot/tmp.nix
./system/etc/etc.nix
./tasks/auto-upgrade.nix
./tasks/bcache.nix
./tasks/cpu-freq.nix
./tasks/encrypted-devices.nix
29 changes: 23 additions & 6 deletions nixos/modules/services/amqp/rabbitmq.nix
Original file line number Diff line number Diff line change
@@ -87,20 +87,37 @@ in {
}
'';
description = ''
New style config options.
See http://www.rabbitmq.com/configure.html
Configuration options in RabbitMQ's new config file format,
which is a simple key-value format that can not express nested
data structures. This is known as the <literal>rabbitmq.conf</literal> file,
although outside NixOS that filename may have Erlang syntax, particularly
prior to RabbitMQ 3.7.0.
If you do need to express nested data structures, you can use
<literal>config</literal> option. Configuration from <literal>config</literal>
will be merged into these options by RabbitMQ at runtime to
form the final configuration.
See http://www.rabbitmq.com/configure.html#config-items
For the distinct formats, see http://www.rabbitmq.com/configure.html#config-file-formats
'';
};

config = mkOption {
default = "";
type = types.str;
description = ''
Verbatim advanced configuration file contents.
Prefered way is to use configItems.
Verbatim advanced configuration file contents using the Erlang syntax.
This is also known as the <literal>advanced.config</literal> file or the old config format.
<literal>configItems</literal> is preferred whenever possible. However, nested
data structures can only be expressed properly using the <literal>config</literal> option.
The contents of this option will be merged into the <literal>configItems</literal>
by RabbitMQ at runtime to form the final configuration.
See http://www.rabbitmq.com/configure.html
See the second table on http://www.rabbitmq.com/configure.html#config-items
For the distinct formats, see http://www.rabbitmq.com/configure.html#config-file-formats
'';
};

2 changes: 2 additions & 0 deletions nixos/modules/services/backup/postgresql-backup.nix
Original file line number Diff line number Diff line change
@@ -20,6 +20,8 @@ let
'';

script = ''
umask 0077 # ensure backup is only readable by postgres user
if [ -e ${cfg.location}/${db}.sql.gz ]; then
${pkgs.coreutils}/bin/mv ${cfg.location}/${db}.sql.gz ${cfg.location}/${db}.prev.sql.gz
fi
5 changes: 3 additions & 2 deletions nixos/modules/services/databases/mysql.nix
Original file line number Diff line number Diff line change
@@ -23,6 +23,7 @@ let
''
[mysqld]
port = ${toString cfg.port}
datadir = ${cfg.dataDir}
${optionalString (cfg.bind != null) "bind-address = ${cfg.bind}" }
${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "log-bin=mysql-bin"}
${optionalString (cfg.replication.role == "master" || cfg.replication.role == "slave") "server-id = ${toString cfg.replication.serverId}"}
@@ -147,7 +148,7 @@ in
option is changed. This means that users created and permissions assigned once through this option or
otherwise have to be removed manually.
'';
example = [
example = literalExample ''[
{
name = "nextcloud";
ensurePermissions = {
@@ -160,7 +161,7 @@ in
"*.*" = "SELECT, LOCK TABLES";
};
}
];
]'';
};

# FIXME: remove this option; it's a really bad idea.
3 changes: 3 additions & 0 deletions nixos/modules/services/misc/exhibitor.nix
Original file line number Diff line number Diff line change
@@ -405,6 +405,9 @@ in
cp -Rf ${pkgs.zookeeper}/* ${cfg.baseDir}/zookeeper
chown -R zookeeper ${cfg.baseDir}/zookeeper/conf
chmod -R u+w ${cfg.baseDir}/zookeeper/conf
replace_what=$(echo ${pkgs.zookeeper} | sed 's/[\/&]/\\&/g')
replace_with=$(echo ${cfg.baseDir}/zookeeper | sed 's/[\/&]/\\&/g')
sed -i 's/'"$replace_what"'/'"$replace_with"'/g' ${cfg.baseDir}/zookeeper/bin/zk*.sh
'';
};
users.users = singleton {
4 changes: 2 additions & 2 deletions nixos/modules/services/misc/gitlab.nix
Original file line number Diff line number Diff line change
@@ -564,11 +564,11 @@ in {
[ -L /run/gitlab/log ] || ln -sf ${cfg.statePath}/log /run/gitlab/log
[ -L /run/gitlab/tmp ] || ln -sf ${cfg.statePath}/tmp /run/gitlab/tmp
[ -L /run/gitlab/uploads ] || ln -sf ${cfg.statePath}/uploads /run/gitlab/uploads
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
${optionalString cfg.smtp.enable ''
ln -sf ${smtpSettings} ${cfg.statePath}/config/initializers/smtp_settings.rb
''}
cp ${cfg.packages.gitlab}/share/gitlab/VERSION ${cfg.statePath}/VERSION
cp -rf ${cfg.packages.gitlab}/share/gitlab/config.dist/* ${cfg.statePath}/config
${pkgs.openssl}/bin/openssl rand -hex 32 > ${cfg.statePath}/config/gitlab_shell_secret
# JSON is a subset of YAML
4 changes: 2 additions & 2 deletions nixos/modules/services/misc/nix-daemon.nix
Original file line number Diff line number Diff line change
@@ -117,11 +117,11 @@ in

buildCores = mkOption {
type = types.int;
default = 1;
default = 0;
example = 64;
description = ''
This option defines the maximum number of concurrent tasks during
one build. It affects, e.g., -j option for make. The default is 1.
one build. It affects, e.g., -j option for make.
The special value 0 means that the builder should use all
available CPU cores in the system. Some builds may become
non-deterministic with this option; use with care! Packages will
33 changes: 30 additions & 3 deletions nixos/modules/services/monitoring/netdata.nix
Original file line number Diff line number Diff line change
@@ -12,7 +12,7 @@ let

localConfig = {
global = {
"plugins directory" = "${wrappedPlugins}/libexec/netdata/plugins.d ${pkgs.netdata}/libexec/netdata/plugins.d";
"plugins directory" = "${pkgs.netdata}/libexec/netdata/plugins.d ${wrappedPlugins}/libexec/netdata/plugins.d";
};
web = {
"web files owner" = "root";
@@ -53,6 +53,31 @@ in {
'';
};

python = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable python-based plugins
'';
};
extraPackages = mkOption {
default = ps: [];
defaultText = "ps: []";
example = literalExample ''
ps: [
ps.psycopg2
ps.docker
ps.dnspython
]
'';
description = ''
Extra python packages available at runtime
to enable additional python plugins.
'';
};
};

config = mkOption {
type = types.attrsOf types.attrs;
default = {};
@@ -75,10 +100,11 @@ in {
}
];
systemd.services.netdata = {
path = with pkgs; [ gawk curl ];
description = "Real time performance monitoring";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = (with pkgs; [ gawk curl ]) ++ lib.optional cfg.python.enable
(pkgs.python3.withPackages cfg.python.extraPackages);
preStart = concatStringsSep "\n" (map (dir: ''
mkdir -vp ${dir}
chmod 750 ${dir}
@@ -89,14 +115,15 @@ in {
serviceConfig = {
User = cfg.user;
Group = cfg.group;
Environment="PYTHONPATH=${pkgs.netdata}/libexec/netdata/python.d/python_modules";
PermissionsStartOnly = true;
ExecStart = "${pkgs.netdata}/bin/netdata -D -c ${configFile}";
TimeoutStopSec = 60;
};
};

security.wrappers."apps.plugin" = {
source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin";
source = "${pkgs.netdata}/libexec/netdata/plugins.d/apps.plugin.org";
capabilities = "cap_dac_read_search,cap_sys_ptrace+ep";
owner = cfg.user;
group = cfg.group;
4 changes: 1 addition & 3 deletions nixos/modules/services/network-filesystems/glusterfs.nix
Original file line number Diff line number Diff line change
@@ -176,10 +176,8 @@ in
'';

serviceConfig = {
Type="forking";
PIDFile="/run/glusterd.pid";
LimitNOFILE=65536;
ExecStart="${glusterfs}/sbin/glusterd -p /run/glusterd.pid --log-level=${cfg.logLevel} ${toString cfg.extraFlags}";
ExecStart="${glusterfs}/sbin/glusterd --no-daemon --log-level=${cfg.logLevel} ${toString cfg.extraFlags}";
KillMode=cfg.killMode;
TimeoutStopSec=cfg.stopKillTimeout;
};
29 changes: 26 additions & 3 deletions nixos/modules/services/system/cloud-init.nix
Original file line number Diff line number Diff line change
@@ -3,13 +3,20 @@
with lib;

let cfg = config.services.cloud-init;
path = with pkgs; [ cloud-init nettools utillinux e2fsprogs shadow openssh iproute ];
path = with pkgs; [
cloud-init
iproute
nettools
openssh
shadow
utillinux
] ++ optional cfg.btrfs.enable btrfs-progs
++ optional cfg.ext4.enable e2fsprogs
;
in
{
options = {

services.cloud-init = {

enable = mkOption {
type = types.bool;
default = false;
@@ -29,6 +36,22 @@ in
'';
};

btrfs.enable = mkOption {
type = types.bool;
default = false;
description = ''
Allow the cloud-init service to operate `btrfs` filesystem.
'';
};

ext4.enable = mkOption {
type = types.bool;
default = true;
description = ''
Allow the cloud-init service to operate `ext4` filesystem.
'';
};

config = mkOption {
type = types.str;
default = ''
4 changes: 2 additions & 2 deletions nixos/modules/services/web-apps/selfoss.nix
Original file line number Diff line number Diff line change
@@ -21,8 +21,8 @@ let
db_database=${cfg.database.name}
db_username=${cfg.database.user}
db_password=${cfg.database.password}
db_port=${if (cfg.database.port != null) then cfg.database.port
else default_port}
db_port=${toString (if (cfg.database.port != null) then cfg.database.port
else default_port)}
''
}
${cfg.extraConfig}
14 changes: 5 additions & 9 deletions nixos/modules/services/x11/display-managers/lightdm.nix
Original file line number Diff line number Diff line change
@@ -208,15 +208,11 @@ in
}
];

services.xserver.displayManager.job = {
logToFile = true;

# lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
execCmd = ''
export PATH=${lightdm}/sbin:$PATH
exec ${lightdm}/sbin/lightdm
'';
};
# lightdm relaunches itself via just `lightdm`, so needs to be on the PATH
services.xserver.displayManager.job.execCmd = ''
export PATH=${lightdm}/sbin:$PATH
exec ${lightdm}/sbin/lightdm
'';

environment.etc."lightdm/lightdm.conf".source = lightdmConf;
environment.etc."lightdm/users.conf".source = usersConf;
2 changes: 0 additions & 2 deletions nixos/modules/services/x11/display-managers/sddm.nix
Original file line number Diff line number Diff line change
@@ -209,8 +209,6 @@ in
];

services.xserver.displayManager.job = {
logToFile = true;

environment = {
# Load themes from system environment
QT_PLUGIN_PATH = "/run/current-system/sw/" + pkgs.qt5.qtbase.qtPluginPrefix;
44 changes: 20 additions & 24 deletions nixos/modules/services/x11/display-managers/xpra.nix
Original file line number Diff line number Diff line change
@@ -219,30 +219,26 @@ in
VideoRam 192000
'';

services.xserver.displayManager.job = {
logToFile = true;

execCmd = ''
${optionalString (cfg.pulseaudio)
"export PULSE_COOKIE=/var/run/pulse/.config/pulse/cookie"}
exec ${pkgs.xpra}/bin/xpra start \
--daemon=off \
--log-dir=/var/log \
--log-file=xpra.log \
--opengl=on \
--clipboard=on \
--notifications=on \
--speaker=yes \
--mdns=no \
--pulseaudio=no \
${optionalString (cfg.pulseaudio) "--sound-source=pulse"} \
--socket-dirs=/var/run/xpra \
--xvfb="xpra_Xdummy ${concatStringsSep " " dmcfg.xserverArgs}" \
${optionalString (cfg.bindTcp != null) "--bind-tcp=${cfg.bindTcp}"} \
--auth=${cfg.auth} \
${concatStringsSep " " cfg.extraOptions}
'';
};
services.xserver.displayManager.job.execCmd = ''
${optionalString (cfg.pulseaudio)
"export PULSE_COOKIE=/var/run/pulse/.config/pulse/cookie"}
exec ${pkgs.xpra}/bin/xpra start \
--daemon=off \
--log-dir=/var/log \
--log-file=xpra.log \
--opengl=on \
--clipboard=on \
--notifications=on \
--speaker=yes \
--mdns=no \
--pulseaudio=no \
${optionalString (cfg.pulseaudio) "--sound-source=pulse"} \
--socket-dirs=/var/run/xpra \
--xvfb="xpra_Xdummy ${concatStringsSep " " dmcfg.xserverArgs}" \
${optionalString (cfg.bindTcp != null) "--bind-tcp=${cfg.bindTcp}"} \
--auth=${cfg.auth} \
${concatStringsSep " " cfg.extraOptions}
'';

services.xserver.terminateOnReset = false;

5 changes: 2 additions & 3 deletions nixos/modules/services/x11/xserver.nix
Original file line number Diff line number Diff line change
@@ -13,7 +13,8 @@ let

# Map video driver names to driver packages. FIXME: move into card-specific modules.
knownVideoDrivers = {
virtualbox = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
# Alias so people can keep using "virtualbox" instead of "vboxvideo".
virtualbox = { modules = [ xorg.xf86videovboxvideo ]; driverName = "vboxvideo"; };

# modesetting does not have a xf86videomodesetting package as it is included in xorgserver
modesetting = {};
@@ -564,8 +565,6 @@ in
knownVideoDrivers;
in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver));

nixpkgs.config = optionalAttrs (elem "vboxvideo" cfg.videoDrivers) { xorg.abiCompat = "1.18"; };

assertions = [
{ assertion = config.security.polkit.enable;
message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’).";
File renamed without changes.
4 changes: 2 additions & 2 deletions nixos/modules/virtualisation/gce-images.nix
Original file line number Diff line number Diff line change
@@ -4,6 +4,6 @@ let self = {
"16.03" = "gs://nixos-cloud-images/nixos-image-16.03.847.8688c17-x86_64-linux.raw.tar.gz";
"17.03" = "gs://nixos-cloud-images/nixos-image-17.03.1082.4aab5c5798-x86_64-linux.raw.tar.gz";
"18.03" = "gs://nixos-cloud-images/nixos-image-18.03.132536.fdb5ba4cdf9-x86_64-linux.raw.tar.gz";

latest = self."18.03";
"18.09" = "gs://nixos-cloud-images/nixos-image-18.09.1228.a4c4cbb613c-x86_64-linux.raw.tar.gz";
latest = self."18.09";
}; in self
4 changes: 2 additions & 2 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
@@ -88,6 +88,7 @@ in
graphite = handleTest ./graphite.nix {};
hadoop.hdfs = handleTestOn [ "x86_64-linux" ] ./hadoop/hdfs.nix {};
hadoop.yarn = handleTestOn [ "x86_64-linux" ] ./hadoop/yarn.nix {};
handbrake = handleTestOn ["x86_64-linux"] ./handbrake.nix {};
haproxy = handleTest ./haproxy.nix {};
#hardened = handleTest ./hardened.nix {}; # broken due useSandbox = true
hibernate = handleTest ./hibernate.nix {};
@@ -98,7 +99,7 @@ in
hydra = handleTest ./hydra {};
i3wm = handleTest ./i3wm.nix {};
iftop = handleTest ./iftop.nix {};
incron = handleTest tests/incron.nix {};
incron = handleTest ./incron.nix {};
influxdb = handleTest ./influxdb.nix {};
initrd-network-ssh = handleTest ./initrd-network-ssh {};
initrdNetwork = handleTest ./initrd-network.nix {};
@@ -189,7 +190,6 @@ in
smokeping = handleTest ./smokeping.nix {};
snapper = handleTest ./snapper.nix {};
solr = handleTest ./solr.nix {};
#statsd = handleTest ./statsd.nix {}; # statsd is broken: #45946
strongswan-swanctl = handleTest ./strongswan-swanctl.nix {};
sudo = handleTest ./sudo.nix {};
switchTest = handleTest ./switch-test.nix {};
1 change: 1 addition & 0 deletions nixos/tests/gitlab.nix
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
enable = true;
databasePassword = "dbPassword";
initialRootPassword = "notproduction";
smtp.enable = true;
secrets = {
secret = "secret";
otp = "otpsecret";
25 changes: 25 additions & 0 deletions nixos/tests/handbrake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import ./make-test.nix ({ pkgs, ... }:
let
# Download Big Buck Bunny example, licensed under CC Attribution 3.0.
testMkv = pkgs.fetchurl {
url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
};
in {
name = "handbrake";

meta = {
maintainers = with pkgs.stdenv.lib.maintainers; [ danieldk ];
};

machine = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ handbrake ];
};

testScript = ''
# Test MP4 and MKV transcoding. Since this is a short clip, transcoding typically
# only takes a few seconds.
$machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160");
$machine->succeed("HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160");
'';
})
2 changes: 1 addition & 1 deletion nixos/tests/installer.nix
Original file line number Diff line number Diff line change
@@ -481,7 +481,7 @@ in {
# Test whether opening encrypted filesystem with keyfile
# Checks for regression of missing cryptsetup, when no luks device without
# keyfile is configured
filesystemEncryptedWithKeyfile = makeInstallerTest "filesystemEncryptedWithKeyfile"
encryptedFSWithKeyfile = makeInstallerTest "encryptedFSWithKeyfile"
{ createPartitions = ''
$machine->succeed(
"flock /dev/vda parted --script /dev/vda -- mklabel msdos"
1 change: 1 addition & 0 deletions nixos/tests/postgresql.nix
Original file line number Diff line number Diff line change
@@ -58,6 +58,7 @@ let
# Check backup service
$machine->succeed("systemctl start postgresqlBackup-postgres.service");
$machine->succeed("zcat /var/backup/postgresql/postgres.sql.gz | grep '<test>ok</test>'");
$machine->succeed("stat -c '%a' /var/backup/postgresql/postgres.sql.gz | grep 600");
$machine->shutdown;
'';

51 changes: 0 additions & 51 deletions nixos/tests/statsd.nix

This file was deleted.

9 changes: 5 additions & 4 deletions pkgs/applications/altcoins/monero-gui/default.nix
Original file line number Diff line number Diff line change
@@ -6,19 +6,20 @@
, qtwebengine, qtx11extras, qtxmlpatterns
, monero, unbound, readline, boost, libunwind
, libsodium, pcsclite, zeromq, cppzmq, pkgconfig
, hidapi
}:

with stdenv.lib;

stdenv.mkDerivation rec {
name = "monero-gui-${version}";
version = "0.13.0.3";
version = "0.13.0.4";

src = fetchFromGitHub {
owner = "monero-project";
repo = "monero-gui";
rev = "v${version}";
sha256 = "1rvxwz7p1yw9c817n07m60xvmv2p97s82sfzwkg2x880fpxb0gj9";
sha256 = "142yj5s15bhm300dislq3x5inw1f37shnrd5vyj78jjcvry3wymw";
};

nativeBuildInputs = [ qmake pkgconfig ];
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
qtwebchannel qtwebengine qtx11extras
qtxmlpatterns monero unbound readline
boost libunwind libsodium pcsclite zeromq
cppzmq makeWrapper
cppzmq makeWrapper hidapi
];

patches = [
@@ -86,7 +87,7 @@ stdenv.mkDerivation rec {
description = "Private, secure, untraceable currency";
homepage = https://getmonero.org/;
license = licenses.bsd3;
platforms = platforms.all;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ rnhmjoj ];
};
}
4 changes: 2 additions & 2 deletions pkgs/applications/altcoins/monero/default.nix
Original file line number Diff line number Diff line change
@@ -11,12 +11,12 @@ with stdenv.lib;

stdenv.mkDerivation rec {
name = "monero-${version}";
version = "0.13.0.3";
version = "0.13.0.4";

src = fetchgit {
url = "https://github.com/monero-project/monero.git";
rev = "v${version}";
sha256 = "03qx8y74zxnmabdi5r3a274pp8zvm3xhkdwi1xf5sb40vf4sfmwb";
sha256 = "1ambgakapijhsi1pd70vw8vvnlwa3nid944lqkbfq3wl25lmc70d";
};

nativeBuildInputs = [ cmake pkgconfig git ];
10 changes: 3 additions & 7 deletions pkgs/applications/audio/a2jmidid/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, alsaLib, dbus, libjack2
, wafHook
, python2Packages}:

let
@@ -12,15 +13,10 @@ in stdenv.mkDerivation rec {
sha256 = "06dgf5655znbvrd7fhrv8msv6zw8vk0hjqglcqkh90960mnnmwz7";
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ makeWrapper alsaLib dbus libjack2 python dbus-python ];

configurePhase = "${python.interpreter} waf configure --prefix=$out";

buildPhase = "${python.interpreter} waf";

installPhase = ''
${python.interpreter} waf install
postInstall = ''
wrapProgram $out/bin/a2j_control --set PYTHONPATH $PYTHONPATH
'';

11 changes: 3 additions & 8 deletions pkgs/applications/audio/ams-lv2/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3 }:
{ stdenv, fetchFromGitHub, cairo, fftw, gtkmm2, lv2, lvtk, pkgconfig, python3
, wafHook }:

stdenv.mkDerivation rec {
name = "ams-lv2-${version}";
@@ -11,15 +12,9 @@ stdenv.mkDerivation rec {
sha256 = "1n1dnqnj24xhiy9323lj52nswr5120cj56fpckg802miss05sr6x";
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ cairo fftw gtkmm2 lv2 lvtk ];

configurePhase = "${python3.interpreter} waf configure --prefix=$out";

buildPhase = "${python3.interpreter} waf";

installPhase = "${python3.interpreter} waf install";

meta = with stdenv.lib; {
description = "An LV2 port of the internal modules found in Alsa Modular Synth";
homepage = http://objectivewave.wordpress.com/ams-lv2;
16 changes: 9 additions & 7 deletions pkgs/applications/audio/ardour/default.nix
Original file line number Diff line number Diff line change
@@ -4,7 +4,8 @@
, librdf_raptor, librdf_rasqal, libsamplerate, libsigcxx, libsndfile
, libusb, libuuid, libxml2, libxslt, lilv, lv2, makeWrapper
, perl, pkgconfig, python2, rubberband, serd, sord, sratom
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive }:
, taglib, vampSDK, dbus, fftw, pango, suil, libarchive
, wafHook }:

let

@@ -29,6 +30,7 @@ stdenv.mkDerivation rec {
sha256 = "0mla5lm51ryikc2rrk53max2m7a5ds6i1ai921l2h95wrha45nkr";
};

nativeBuildInputs = [ wafHook ];
buildInputs =
[ alsaLib aubio boost cairomm curl doxygen dbus fftw fftwSinglePrec flac
glibmm graphviz gtkmm2 libjack2 libgnomecanvas libgnomecanvasmm liblo
@@ -47,13 +49,13 @@ stdenv.mkDerivation rec {
patchShebangs ./tools/
'';

configurePhase = "${python2.interpreter} waf configure --optimize --docs --with-backends=jack,alsa,dummy --prefix=$out";

buildPhase = "${python2.interpreter} waf";

installPhase = ''
${python2.interpreter} waf install
configureFlags = [
"--optimize"
"--docs"
"--with-backends=jack,alsa,dummy"
];

postInstall = ''
# Install desktop file
mkdir -p "$out/share/applications"
cat > "$out/share/applications/ardour.desktop" << EOF
17 changes: 7 additions & 10 deletions pkgs/applications/audio/ario/default.nix
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
{ stdenv, fetchurl, pkgconfig, gettext, gtk2, expat, intltool, libgcrypt,
libunique, gnutls, libxml2, curl, mpd_clientlib, dbus-glib, libnotify,
{ stdenv, fetchurl, pkgconfig, gettext, gtk3, intltool,
wrapGAppsHook, libxml2, curl, mpd_clientlib, dbus-glib,
libsoup, avahi, taglib
}:

stdenv.mkDerivation rec {
version = "1.5.1";
version = "1.6";
name = "ario-${version}";

src = fetchurl {
url = "mirror://sourceforge/ario-player/${name}.tar.gz";
sha256 = "07n97618jv1ilxnm5c6qj9zjz0imw3p304mn4hjbjkk3p0d2hc88";
sha256 = "16nhfb3h5pc7flagfdz7xy0iq6kvgy6h4bfpi523i57rxvlfshhl";
};

patches = [ ./glib-single-include.patch ];

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig gettext intltool wrapGAppsHook ];
buildInputs = [
gettext gtk2 expat intltool libgcrypt libunique gnutls
libxml2 curl mpd_clientlib dbus-glib libnotify libsoup avahi taglib
gtk3 libxml2 curl mpd_clientlib dbus-glib libsoup avahi taglib
];

meta = {
description = "GTK2 client for MPD (Music player daemon)";
description = "GTK client for MPD (Music player daemon)";
homepage = http://ario-player.sourceforge.net/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.garrison ];
40 changes: 0 additions & 40 deletions pkgs/applications/audio/ario/glib-single-include.patch

This file was deleted.

10 changes: 2 additions & 8 deletions pkgs/applications/audio/fomp/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, lv2, pkgconfig, python2 }:
{ stdenv, fetchurl, lv2, pkgconfig, python2, wafHook }:

stdenv.mkDerivation rec {
name = "fomp-${version}";
@@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ lv2 python2 ];

installPhase = ''
python waf configure --prefix=$out
python waf
python waf install
'';

meta = with stdenv.lib; {
homepage = http://drobilla.net/software/fomp/;
description = "An LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen";
10 changes: 2 additions & 8 deletions pkgs/applications/audio/guitarix/default.nix
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
, avahi, bluez, boost, eigen, fftw, glib, glib-networking
, glibmm, gsettings-desktop-schemas, gtkmm2, libjack2
, ladspaH, libav, librdf, libsndfile, lilv, lv2, serd, sord, sratom
, wrapGAppsHook, zita-convolver, zita-resampler, curl
, wrapGAppsHook, zita-convolver, zita-resampler, curl, wafHook
, optimizationSupport ? false # Enable support for native CPU extensions
}:

@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
sha256 = "1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac";
};

nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 wafHook ];

buildInputs = [
avahi bluez boost eigen fftw glib glibmm glib-networking.out
@@ -38,12 +38,6 @@ stdenv.mkDerivation rec {
"--convolver-ffmpeg"
] ++ optional optimizationSupport "--optimization";

configurePhase = ''python2 waf configure --prefix=$out $configureFlags'';

buildPhase = ''python2 waf build'';

installPhase = ''python2 waf install'';

meta = with stdenv.lib; {
description = "A virtual guitar amplifier for Linux running with JACK";
longDescription = ''
12 changes: 4 additions & 8 deletions pkgs/applications/audio/ingen/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
, lv2Unstable, makeWrapper, pkgconfig, python, raul, rdflib, serd, sord, sratom

, wafHook
, suil
}:

@@ -15,23 +15,19 @@ stdenv.mkDerivation rec {
deepClone = true;
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [
boost ganv glibmm gtkmm2 libjack2 lilv lv2Unstable makeWrapper
python raul serd sord sratom suil
];

configurePhase = ''
preConfigure = ''
sed -e "s@{PYTHONDIR}/'@out/'@" -i wscript
${python.interpreter} waf configure --prefix=$out
'';

propagatedBuildInputs = [ rdflib ];

buildPhase = "${python.interpreter} waf";

installPhase = ''
${python.interpreter} waf install
postInstall = ''
for program in ingenams ingenish
do
wrapProgram $out/bin/$program \
6 changes: 1 addition & 5 deletions pkgs/applications/audio/jackmix/default.nix
Original file line number Diff line number Diff line change
@@ -17,12 +17,8 @@ stdenv.mkDerivation rec {
jack
];

buildPhase = ''
scons
'';
installPhase = ''
mkdir -p $out/bin
cp jackmix/jackmix $out/bin
install -D jackmix/jackmix $out/bin/jackmix
'';

meta = {
10 changes: 2 additions & 8 deletions pkgs/applications/audio/jalv/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, fetchurl, gtk2, libjack2, lilv, lv2, pkgconfig, python
, serd, sord , sratom, suil }:
, serd, sord , sratom, suil, wafHook }:

stdenv.mkDerivation rec {
name = "jalv-${version}";
@@ -10,17 +10,11 @@ stdenv.mkDerivation rec {
sha256 = "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili";
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [
gtk2 libjack2 lilv lv2 python serd sord sratom suil
];

configurePhase = "python waf configure --prefix=$out";

buildPhase = "python waf";

installPhase = "python waf install";

meta = with stdenv.lib; {
description = "A simple but fully featured LV2 host for Jack";
homepage = http://drobilla.net/software/jalv;
9 changes: 1 addition & 8 deletions pkgs/applications/audio/klick/default.nix
Original file line number Diff line number Diff line change
@@ -12,20 +12,13 @@ stdenv.mkDerivation rec {

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ scons libsamplerate libsndfile liblo libjack2 boost ];
prefixKey = "PREFIX=";
NIX_CFLAGS_COMPILE = "-fpermissive";

buildPhase = ''
mkdir -p $out
scons PREFIX=$out
'';

installPhase = "scons install";

meta = {
homepage = http://das.nasophon.de/klick/;
description = "Advanced command-line metronome for JACK";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};
}

25 changes: 25 additions & 0 deletions pkgs/applications/audio/ltc-tools/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{stdenv, fetchFromGitHub, pkgconfig, libltc, libsndfile, jack2}:

stdenv.mkDerivation rec {
name = "ltc-tools-${version}";
version = "0.6.4";

src = fetchFromGitHub {
owner = "x42";
repo = "ltc-tools";
rev = "v${version}";
sha256 = "1a7r99mwc7p5j5y453mrgph67wlznd674v4k2pfmlvc91s6lh44y";
};

buildInputs = [ pkgconfig libltc libsndfile jack2 ];

makeFlags = [ "PREFIX=$(out)" ];

meta = with stdenv.lib; {
homepage = "https://github.com/x42/ltc-tools";
description = "Tools to deal with linear-timecode (LTC)";
license = licenses.gpl2;
platforms = platforms.unix;
maintainers = with maintainers; [ tg-x ];
};
}
10 changes: 2 additions & 8 deletions pkgs/applications/audio/mda-lv2/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python }:
{ stdenv, fetchurl, fftwSinglePrec, lv2, pkgconfig, python, wafHook }:

stdenv.mkDerivation rec {
name = "mda-lv2-${version}";
@@ -9,15 +9,9 @@ stdenv.mkDerivation rec {
sha256 = "0hh40c5d2m0k5gb3vw031l6lqn59dg804an3mkmhkc7qv4gc6xm4";
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ fftwSinglePrec lv2 python ];

configurePhase = "python waf configure --prefix=$out";

buildPhase = "python waf";

installPhase = "python waf install";

meta = with stdenv.lib; {
homepage = http://drobilla.net/software/mda-lv2/;
description = "An LV2 port of the MDA plugins by Paul Kellett";
17 changes: 1 addition & 16 deletions pkgs/applications/audio/mixxx/default.nix
Original file line number Diff line number Diff line change
@@ -32,26 +32,11 @@ stdenv.mkDerivation rec {
"opus=1"
];

buildPhase = ''
runHook preBuild
mkdir -p "$out"
scons \
-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES \
$sconsFlags "prefix=$out"
runHook postBuild
'';

installPhase = ''
runHook preInstall
scons $sconsFlags "prefix=$out" install
runHook postInstall
'';

fixupPhase = ''
wrapProgram $out/bin/mixxx \
--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive;
'';

meta = with stdenv.lib; {
homepage = https://mixxx.org;
description = "Digital DJ mixing software";
7 changes: 2 additions & 5 deletions pkgs/applications/audio/non/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, python2, cairo, libjpeg, ntk, libjack2
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx
, libsndfile, ladspaH, liblrdf, liblo, libsigcxx, wafHook
}:

stdenv.mkDerivation rec {
@@ -12,13 +12,10 @@ stdenv.mkDerivation rec {
sha256 = "1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx";
};

nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkgconfig wafHook ];
buildInputs = [ python2 cairo libjpeg ntk libjack2 libsndfile
ladspaH liblrdf liblo libsigcxx
];
configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";

meta = {
description = "Lightweight and lightning fast modular Digital Audio Workstation";
8 changes: 0 additions & 8 deletions pkgs/applications/audio/nova-filters/default.nix
Original file line number Diff line number Diff line change
@@ -21,14 +21,6 @@ stdenv.mkDerivation rec {
sed -i "s/= check/= detail::filter_base<internal_type, checked>::check/" nova/source/dsp/filter.hpp
'';

buildPhase = ''
scons
'';

installPhase = ''
scons $sconsFlags "prefix=$out" install
'';

meta = with stdenv.lib; {
description = "LADSPA plugins based on filters of nova";
homepage = http://klingt.org/~tim/nova-filters/;
8 changes: 2 additions & 6 deletions pkgs/applications/audio/patchage/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, alsaLib, boost, dbus-glib, fetchsvn, ganv, glibmm
, gtkmm2, libjack2, pkgconfig, python2
, gtkmm2, libjack2, pkgconfig, python2, wafHook
}:

stdenv.mkDerivation rec {
@@ -13,13 +13,9 @@ stdenv.mkDerivation rec {

buildInputs = [
alsaLib boost dbus-glib ganv glibmm gtkmm2 libjack2
pkgconfig python2
pkgconfig python2 wafHook
];

configurePhase = "python waf configure --prefix=$out";
buildPhase = "python waf build";
installPhase = "python waf install";

meta = {
description = "Modular patch bay for Jack and ALSA systems";
homepage = http://non.tuxfamily.org;
8 changes: 4 additions & 4 deletions pkgs/applications/audio/reaper/default.nix
Original file line number Diff line number Diff line change
@@ -12,8 +12,8 @@ let
src = fetchFromGitHub {
owner = "justinfrankel";
repo = "WDL";
rev = "e87f5bdee7327b63398366fde6ec0a3f08bf600d";
sha256 = "147idjqc6nc23w9krl8a9w571k5jx190z3id6ir6cr8zsx0lakdb";
rev = "cb89dc81dc5cbc13a8f1b3cda38a204e356d4014";
sha256 = "0m19dy4r0i21ckypzfhpfjm6sh00v9i088pva7hhhr4mmrbqd0ms";
};

nativeBuildInputs = [ pkgconfig ];
@@ -31,11 +31,11 @@ let

in stdenv.mkDerivation rec {
name = "reaper-${version}";
version = "5.94";
version = "5.961";

src = fetchurl {
url = "https://www.reaper.fm/files/${stdenv.lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
sha256 = "16g5q12wh1cfbl9wq03vb7vpsd870k7i7883z0wn492x7y9syz8z";
sha256 = "0lnpdnxnwn7zfn8slivkp971ll9qshgq7y9gcfrk5829z94df06i";
};

nativeBuildInputs = [ autoPatchelfHook makeWrapper ];
12 changes: 2 additions & 10 deletions pkgs/applications/audio/rhvoice/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, lib, pkgconfig, fetchFromGitHub, scons, python, glibmm, libpulseaudio, libao
}:
{ stdenv, lib, pkgconfig, fetchFromGitHub, scons
, python, glibmm, libpulseaudio, libao }:

let
version = "unstable-2018-02-10";
@@ -30,14 +30,6 @@ in stdenv.mkDerivation rec {

patches = [ ./honor_nix_environment.patch ];

buildPhase = ''
scons prefix=$out
'';

installPhase = ''
scons install
'';

meta = {
description = "A free and open source speech synthesizer for Russian language and others";
homepage = https://github.com/Olga-Yakovleva/RHVoice/wiki;
12 changes: 6 additions & 6 deletions pkgs/applications/editors/android-studio/default.nix
Original file line number Diff line number Diff line change
@@ -13,14 +13,14 @@ let
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
};
betaVersion = {
version = "3.3.0.15"; # "Android Studio 3.3 Beta 3"
build = "182.5105271";
sha256Hash = "03j3g39v1g4jf5q37bd50zfqsgjfnwnyhjgx8vkfwlg263vhhvdq";
version = "3.3.0.16"; # "Android Studio 3.3 Beta 4"
build = "182.5114240";
sha256Hash = "12gzwnlvc1w5lywpdckdgwxy2yrhf0m0fvaljdsis2arw0x9qdh2";
};
latestVersion = { # canary & dev
version = "3.4.0.2"; # "Android Studio 3.4 Canary 3"
build = "183.5112304";
sha256Hash = "0dzk4ag1dirfq8l2q91j6hsfyi07wx52qcsmbjb9a2710rlwpdhp";
version = "3.4.0.3"; # "Android Studio 3.4 Canary 4"
build = "183.5129585";
sha256Hash = "10y09sy0h4yp39dwpp8x7kjvw8r7hvk0qllbbaqj76j33xa85793";
};
in rec {
# Old alias
32 changes: 16 additions & 16 deletions pkgs/applications/editors/jetbrains/default.nix
Original file line number Diff line number Diff line change
@@ -250,64 +250,64 @@ in

clion = buildClion rec {
name = "clion-${version}";
version = "2018.2.5"; /* updated by script */
version = "2018.2.6"; /* updated by script */
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
sha256 = "0brbwgyjh38ix8nr176glmc3kr7ndi8wppxqkb1c890jw5d3916j"; /* updated by script */
sha256 = "1mgm3a6ph3j085bidl6vsy85kpscfspzxbzdmh3biklwfv3445rf"; /* updated by script */
};
wmClass = "jetbrains-clion";
update-channel = "CLion Release"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
};

datagrip = buildDataGrip rec {
name = "datagrip-${version}";
version = "2018.2.4"; /* updated by script */
version = "2018.2.5"; /* updated by script */
description = "Your Swiss Army Knife for Databases and SQL";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
sha256 = "1m3b8pfmzz9x2b9izf19ax8h67p1myqqalvm214g1b8qqskqz60i"; /* updated by script */
sha256 = "0ls3qas8z0d1ynn6hh42qipa5br2g2497wf3pgcw3q0m3kp6wida"; /* updated by script */
};
wmClass = "jetbrains-datagrip";
update-channel = "DataGrip 2018.2";
};

goland = buildGoland rec {
name = "goland-${version}";
version = "2018.2.3"; /* updated by script */
version = "2018.2.4"; /* updated by script */
description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "0pd01aw1mv6w47ksgc8zbc7ppgbb64qsdgyqghiyibdjf07h53hd"; /* updated by script */
sha256 = "0aan23ggs314bvpsldsv9m4pdmnlgdcjac9x6hv1j145a1pp439i"; /* updated by script */
};
wmClass = "jetbrains-goland";
update-channel = "GoLand Release";
};

idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "2018.2.5"; /* updated by script */
version = "2018.2.6"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "0jnnmhn1gba670q2yprlh3ypa6k21pbg91pshz9aqkdhhmzk4759"; /* updated by script */
sha256 = "02hpbyivji9vnik7p04zrja1rhhl49r0365g0i6sa1rrwd1fhvwf"; /* updated by script */
};
wmClass = "jetbrains-idea-ce";
update-channel = "IntelliJ IDEA Release";
};

idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "2018.2.5"; /* updated by script */
version = "2018.2.6"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jdk.tar.gz";
sha256 = "105mzbqm3bx05bmkwyfykz76bzgzzgb9hb6wcagb9fv7dvqyggg6"; /* updated by script */
sha256 = "0x0ylcbj8spvzmwxrw3p4c64ad27iz58lwj4yb8a6vwh6p22gflk"; /* updated by script */
};
wmClass = "jetbrains-idea";
update-channel = "IntelliJ IDEA Release";
@@ -328,25 +328,25 @@ in

pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
version = "2018.2.4"; /* updated by script */
version = "2018.2.5"; /* updated by script */
description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1vjvbaqa1qq173m0xy16v9avav8az43s1dzks55x0gvh5yj3cyqz"; /* updated by script */
sha256 = "0zfnhrkv4y90a3myq13406vzivg234l69x0c5d7vyv6ys7dmq5fm"; /* updated by script */
};
wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm Release";
};

pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
version = "2018.2.4"; /* updated by script */
version = "2018.2.5"; /* updated by script */
description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "14q4n62ppp1cxrv8mq2lxv9mjm95adag9856jpl9734s0gyjj3a5"; /* updated by script */
sha256 = "0yfq25kmzzd15x83zdbrq9j62c32maklzhsk1rzymabyb56blh5c"; /* updated by script */
};
wmClass = "jetbrains-pycharm";
update-channel = "PyCharm Release";
@@ -380,12 +380,12 @@ in

webstorm = buildWebStorm rec {
name = "webstorm-${version}";
version = "2018.2.5"; /* updated by script */
version = "2018.2.6"; /* updated by script */
description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
sha256 = "0d4l2bf87i6kv45qmbw55hvcrnxr6zxjcjicbkjs2k01lv7y605c"; /* updated by script */
sha256 = "1snx59b6d0szd1a07agpqxlprhy2mc9jvbnxcck5hfwxl3ic7x5g"; /* updated by script */
};
wmClass = "jetbrains-webstorm";
update-channel = "WebStorm Release";
9 changes: 8 additions & 1 deletion pkgs/applications/editors/neovim/wrapper.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
{ stdenv, lib, makeWrapper
, vimUtils
, bundlerEnv, ruby
, nodejs
, nodePackages
, pythonPackages
, python3Packages
}:
@@ -12,6 +14,7 @@ let
wrapper = {
withPython ? true, extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */
, withPython3 ? true, extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */
, withNodeJs? false
, withRuby ? true
, withPyGUI ? false
, vimAlias ? false
@@ -50,6 +53,8 @@ let
++ (extraPython3PackagesFun ps)
++ (concatMap (f: f ps) pluginPython3Packages));

binPath = makeBinPath (optionals withRuby [rubyEnv] ++ optionals withNodeJs [nodejs]);

in
stdenv.mkDerivation {
name = "neovim-${stdenv.lib.getVersion neovim}";
@@ -62,10 +67,12 @@ let

makeWrapper "$(readlink -v --canonicalize-existing "${bin}")" \
"$out/bin/nvim" --add-flags " \
--cmd \"${if withNodeJs then "let g:node_host_prog='${nodePackages.neovim}/bin/neovim-node-host'" else "let g:loaded_node_provider=1"}\" \
--cmd \"${if withPython then "let g:python_host_prog='$out/bin/nvim-python'" else "let g:loaded_python_provider = 1"}\" \
--cmd \"${if withPython3 then "let g:python3_host_prog='$out/bin/nvim-python3'" else "let g:loaded_python3_provider = 1"}\" \
--cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \
${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }
--suffix PATH : ${binPath} \
${optionalString withRuby '' --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' }

''
+ optionalString (!stdenv.isDarwin) ''
17 changes: 10 additions & 7 deletions pkgs/applications/editors/notepadqq/default.nix
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
{ stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}:
{ stdenv, fetchFromGitHub, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}:

let
version = "1.2.0";
version = "1.4.8";
in stdenv.mkDerivation {
name = "notepadqq-${version}";
src = fetchgit {
url = "https://github.com/notepadqq/notepadqq.git";
rev = "ab074d30e02d49e0fe6957c1523e7fed239aff7d";
sha256 = "0j8vqsdw314qpk5lrgccm9n7gbyr14ac3s65sl1qn87pxhrz1hpg";
src = fetchFromGitHub {
owner = "notepadqq";
repo = "notepadqq";
rev = "v${version}";
sha256 = "0lbv4s7ng31dkznzbkmp2cvkqglmfj6lv4mbg3r410fif2nrva7k";
fetchSubmodules = true;
};

@@ -23,8 +24,10 @@ in stdenv.mkDerivation {
export LRELEASE="lrelease"
'';

enableParallelBuilding = true;

meta = {
homepage = http://notepadqq.altervista.org/;
homepage = https://notepadqq.com/;
description = "Notepad++-like editor for the Linux desktop";
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.linux;
4 changes: 2 additions & 2 deletions pkgs/applications/editors/tiled/default.nix
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@

stdenv.mkDerivation rec {
name = "tiled-${version}";
version = "1.2.0";
version = "1.2.1";

src = fetchFromGitHub {
owner = "bjorn";
repo = "tiled";
rev = "v${version}";
sha256 = "15apv81c5h17ljrxvm7hlyqg5bw58dzgik8gfhmh97wpwnbz1bl9";
sha256 = "077fv3kn3fy06z8f414r3ny4a04l05prppmkyvjqhnwf1i1jck1w";
};

nativeBuildInputs = [ pkgconfig qmake ];
8 changes: 4 additions & 4 deletions pkgs/applications/editors/vscode/default.nix
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:

let
version = "1.28.2";
version = "1.29.1";
channel = "stable";

plat = {
@@ -12,9 +12,9 @@ let
}.${stdenv.hostPlatform.system};

sha256 = {
"i686-linux" = "13zgx80qzq1wvss3byh56rvp2bdxywc4xmhhljsqrxf17g86g2zr";
"x86_64-linux" = "1z50hkr9mcf76hlr1jb80nbvpxbpm2bh0l63yh9yqpalmz66xbfy";
"x86_64-darwin" = "0n7lavpylg1q89qa64z4z1v7pgmwb2kidc57cgpvjnhjg8idys33";
"i686-linux" = "0r19i3gg6iz8j7plb89c0k8r3wlh9vxbv7mwbssy0yvhid2af3ww";
"x86_64-linux" = "1r66mjz4lgv3dk0rjb9p27ha9y7vj7xld9x9gqnjxqx9ify71r9i";
"x86_64-darwin" = "0akr8675hnppxwr8xy5lr6rlqz8zg1fj823vks5mx3ssmd3sg189";
}.${stdenv.hostPlatform.system};

archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz";
8 changes: 2 additions & 6 deletions pkgs/applications/graphics/giv/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib,
pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }:
{ stdenv, fetchFromGitHub, gdk_pixbuf, scons, pkgconfig, gtk2, glib
, pcre, cfitsio, perl, gob2, vala, libtiff, json-glib }:

stdenv.mkDerivation rec {
name = "giv-${version}";
@@ -21,10 +21,6 @@ stdenv.mkDerivation rec {

patches = [ ./build.patch ];

buildPhase = "scons";

installPhase = "scons install";

nativeBuildInputs = [ scons pkgconfig vala perl gob2 ];
buildInputs = [ gdk_pixbuf gtk2 glib pcre cfitsio libtiff json-glib ];

5 changes: 1 addition & 4 deletions pkgs/applications/graphics/mypaint/default.nix
Original file line number Diff line number Diff line change
@@ -26,10 +26,7 @@ in stdenv.mkDerivation rec {

propagatedBuildInputs = [ numpy ];

buildPhase = "scons prefix=$out";

installPhase = ''
scons prefix=$out install
postInstall = ''
sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
'';

7 changes: 4 additions & 3 deletions pkgs/applications/graphics/write_stylus/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, lib, qtbase, qtsvg, fetchurl, makeDesktopItem }:
{ stdenv, lib, qtbase, qtsvg, libglvnd, fetchurl, makeDesktopItem }:
stdenv.mkDerivation rec {
name = "write_stylus-${version}";
version = "209";
@@ -43,9 +43,10 @@ stdenv.mkDerivation rec {
'';
preFixup = let
libPath = lib.makeLibraryPath [
qtbase # libQt5PrintSupport.so.5
qtsvg # libQt5Svg.so.5
qtbase # libQt5PrintSupport.so.5
qtsvg # libQt5Svg.so.5
stdenv.cc.cc.lib # libstdc++.so.6
libglvnd # ibGL.so.1
];
in ''
patchelf \
8 changes: 4 additions & 4 deletions pkgs/applications/misc/alacritty/default.nix
Original file line number Diff line number Diff line change
@@ -42,17 +42,17 @@ let
libXi
];
in buildRustPackage rec {
name = "alacritty-unstable-${version}";
version = "0.2.1";
name = "alacritty-${version}";
version = "0.2.3";

src = fetchFromGitHub {
owner = "jwilm";
repo = "alacritty";
rev = "v${version}";
sha256 = "1402axwjz70gg6ylhhm82f1rl6xvxkr1qy0jx3r4r32vzfap1l67";
sha256 = "0p9q5cpxw5v2ka1ylaa009sfbncnlrva9yam4hag6npcnd8x4f95";
};

cargoSha256 = "0slcyn77svj0686g1vk7kgndzirpkba9jwwybgsdl755r53dswk0";
cargoSha256 = "0664fi16kyly8hhfj0hgddsnfdk3y0z31758gvb0xq13ssdb6sv6";

nativeBuildInputs = [
cmake
2 changes: 2 additions & 0 deletions pkgs/applications/misc/far2l/default.nix
Original file line number Diff line number Diff line change
@@ -67,6 +67,8 @@ stdenv.mkDerivation rec {
mkdir -p $out/share/icons/hicolor/$size/apps
convert -size $size ../far2l/DE/icons/hicolor/$size/apps/far2l.svg $out/share/icons/hicolor/$size/apps/far2l.png
done
'' + stdenv.lib.optionalString stdenv.isDarwin ''
wrapProgram $out/bin/far2l --argv0 $out/bin/far2l
'';

stripDebugList = "bin share";
3 changes: 1 addition & 2 deletions pkgs/applications/misc/gImageReader/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, libuuid
, sane-backends, podofo, libjpeg, djvulibre, libxmlxx3, libzip, tesseract
, enchant, intltool, poppler, json-glib
, intltool, poppler, json-glib
, ninja
, python3

@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
];

buildInputs = [
enchant
libxmlxx3
libzip
libuuid
29 changes: 29 additions & 0 deletions pkgs/applications/misc/gremlin-console/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{ pkgs, fetchzip, stdenv, makeWrapper, openjdk }:

stdenv.mkDerivation rec {
name = "gremlin-console-${version}";
version = "3.3.4";
src = fetchzip {
url = "http://www-eu.apache.org/dist/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
sha256 = "14xr0yqklmm4jvj1hnkj89lj83zzs2l1375ni0jbf12gy31jlb2w";
};

buildInputs = [ makeWrapper ];

installPhase = ''
mkdir -p $out/opt
cp -r ext lib $out/opt/
install -D bin/gremlin.sh $out/opt/bin/gremlin-console
makeWrapper $out/opt/bin/gremlin-console $out/bin/gremlin-console \
--prefix PATH ":" "${openjdk}/bin/" \
--set CLASSPATH "$out/opt/lib/"
'';

meta = with stdenv.lib; {
homepage = https://tinkerpop.apache.org/;
description = "Console of the Apache TinkerPop graph computing framework";
license = licenses.asl20;
maintainers = [ maintainers.lewo ];
platforms = platforms.all;
};
}
14 changes: 2 additions & 12 deletions pkgs/applications/misc/hamster-time-tracker/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{ stdenv, fetchzip, pythonPackages, docbook2x, libxslt, gnome-doc-utils
, intltool, dbus-glib, gnome_python
, hicolor-icon-theme
, wafHook
}:

# TODO: Add optional dependency 'wnck', for "workspace tracking" support. Fixes
@@ -17,28 +18,17 @@ pythonPackages.buildPythonApplication rec {
sha256 = "1a85rcg561792kdyv744cgzw7mmpmgv6d6li1sijfdpqa1ninf8g";
};

nativeBuildInputs = [ wafHook ];
buildInputs = [
docbook2x libxslt gnome-doc-utils intltool dbus-glib hicolor-icon-theme
];

propagatedBuildInputs = with pythonPackages; [ pygobject2 pygtk pyxdg gnome_python dbus-python ];

configurePhase = ''
python waf configure --prefix="$out"
'';

buildPhase = ''
python waf build
'';

postFixup = ''
wrapPythonProgramsIn $out/lib/hamster-time-tracker "$out $pythonPath"
'';

installPhase = ''
python waf install
'';

# error: invalid command 'test'
doCheck = false;

8 changes: 4 additions & 4 deletions pkgs/applications/misc/houdini/runtime.nix
Original file line number Diff line number Diff line change
@@ -29,15 +29,15 @@ let
license_dir = "~/.config/houdini";
in
stdenv.mkDerivation rec {
version = "16.5.439";
version = "17.0.352";
name = "houdini-runtime-${version}";
src = requireFile rec {
name = "houdini-${version}-linux_x86_64_gcc4.8.tar.gz";
sha256 = "7e483072a0e6e751a93f2a2f968cccb2d95559c61106ffeb344c95975704321b";
name = "houdini-${version}-linux_x86_64_gcc6.3.tar.gz";
sha256 = "0cl5fkgaplb0cvv7mli06ffc9j4ngpy8hl5zqabj3d645gcgafjg";
message = ''
This nix expression requires that ${name} is already part of the store.
Download it from https://sidefx.com and add it to the nix store with:

nix-prefetch-url <URL>

This can't be done automatically because you need to create an account on
22 changes: 3 additions & 19 deletions pkgs/applications/misc/kupfer/default.nix
Original file line number Diff line number Diff line change
@@ -8,6 +8,7 @@
, keybinder3
, hicolor-icon-theme
, wrapGAppsHook
, wafHook
}:

with python3Packages;
@@ -24,37 +25,20 @@ buildPythonApplication rec {
nativeBuildInputs = [
wrapGAppsHook intltool
# For setup hook
gobjectIntrospection
gobjectIntrospection wafHook
];
buildInputs = [ hicolor-icon-theme docutils libwnck3 keybinder3 ];
propagatedBuildInputs = [ pygobject3 gtk3 pyxdg dbus-python pycairo ];

configurePhase = ''
runHook preConfigure
python ./waf configure --prefix=$prefix
runHook postConfigure
'';

buildPhase = ''
runHook preBuild
python ./waf
runHook postBuild
'';

installPhase = let
postInstall = let
pythonPath = (stdenv.lib.concatMapStringsSep ":"
(m: "${m}/lib/${python.libPrefix}/site-packages")
propagatedBuildInputs);
in ''
runHook preInstall
python ./waf install

gappsWrapperArgs+=(
"--prefix" "PYTHONPATH" : "${pythonPath}"
"--set" "PYTHONNOUSERSITE" "1"
)

runHook postInstall
'';

doCheck = false; # no tests
15 changes: 8 additions & 7 deletions pkgs/applications/misc/moonlight-embedded/default.nix
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
{ stdenv, fetchgit, cmake, perl
{ stdenv, fetchFromGitHub, cmake, perl
, alsaLib, libevdev, libopus, udev, SDL2
, ffmpeg, pkgconfig, xorg, libvdpau, libpulseaudio, libcec
, curl, expat, avahi, enet, libuuid
}:

stdenv.mkDerivation rec {
name = "moonlight-embedded-${version}";
version = "2.4.6";
version = "2.4.7";

# fetchgit used to ensure submodules are available
src = fetchgit {
url = "git://github.com/irtimmer/moonlight-embedded";
rev = "refs/tags/v${version}";
sha256 = "0vs6rjmz8058s9lscagiif6pcizwfrvfpk9rxxgacfi0xisfgmf1";
src = fetchFromGitHub {
owner = "irtimmer";
repo = "moonlight-embedded";
rev = "v${version}";
sha256 = "0ihgb0kh4rhbgn55s25rfbs8063zqvcyqn137jn3nsc0is1595a9";
fetchSubmodules = true;
};

outputs = [ "out" "man" ];
3 changes: 2 additions & 1 deletion pkgs/applications/misc/nixnote2/default.nix
Original file line number Diff line number Diff line change
@@ -30,8 +30,9 @@ mkDerivation rec {
substituteInPlace nixnote.cpp --replace 'tidyProcess.start("tidy' 'tidyProcess.start("${html-tidy}/bin/tidy'
'';

postInstal = ''
postInstall = ''
cp images/windowIcon.png $out/share/pixmaps/nixnote2.png
cp theme.ini $out/share/nixnote2/theme.ini
'';

meta = with stdenv.lib; {
8 changes: 6 additions & 2 deletions pkgs/applications/misc/polar-bookshelf/default.nix
Original file line number Diff line number Diff line change
@@ -10,12 +10,12 @@

stdenv.mkDerivation rec {
name = "polar-bookshelf-${version}";
version = "1.0.11";
version = "1.0.13";

# fetching a .deb because there's no easy way to package this Electron app
src = fetchurl {
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb";
sha256 = "11rrwd5cr984nhgrib12hx6k74hzgmb3cfk6qnr1l604dk9pqfqx";
sha256 = "0dh7pw8ncm8kr9anb6jqw7rr4lxgmq8a40c9zlrhzyswdpvnp1g7";
};

buildInputs = [
@@ -70,6 +70,10 @@ stdenv.mkDerivation rec {
mv usr/share/* $out/share/

ln -s $out/share/polar-bookshelf/polar-bookshelf $out/bin/polar-bookshelf

# Correct desktop file `Exec`
substituteInPlace $out/share/applications/polar-bookshelf.desktop \
--replace "/opt/Polar Bookshelf/polar-bookshelf" "$out/bin/polar-bookshelf"
'';

preFixup = ''
4 changes: 2 additions & 2 deletions pkgs/applications/misc/termite/default.nix
Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@

stdenv.mkDerivation rec {
name = "termite-${version}";
version = "13";
version = "14";

src = fetchFromGitHub {
owner = "thestinger";
repo = "termite";
rev = "v${version}";
sha256 = "02cn70ygl93ghhkhs3xdxn5b1yadc255v3yp8cmhhyzsv5027hvj";
sha256 = "0dmz9rpc2fdvcwhcmjnhb48ixn403gxpq03g334d1hgjw2hsyx7x";
fetchSubmodules = true;
};

4 changes: 2 additions & 2 deletions pkgs/applications/misc/urh/default.nix
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@

python3Packages.buildPythonApplication rec {
name = "urh-${version}";
version = "2.4.0";
version = "2.4.2";

src = fetchFromGitHub {
owner = "jopohl";
repo = "urh";
rev = "v${version}";
sha256 = "0cwbqcv0yffg6fa3g4zknwffa6119i6827w6jm74fhlfa9kwy34c";
sha256 = "1irwrhfbvl3ds8bi69laf8h0fyph0kpwrbfy0q8xh0w3l222sj3m";
};

buildInputs = [ hackrf rtl-sdr airspy limesuite ];
28 changes: 0 additions & 28 deletions pkgs/applications/misc/valauncher/default.nix

This file was deleted.

7 changes: 3 additions & 4 deletions pkgs/applications/misc/valentina/default.nix
Original file line number Diff line number Diff line change
@@ -8,12 +8,12 @@ with stdenv.lib;

stdenv.mkDerivation rec {
name = "valentina-${version}";
version = "0.6.0.0a";
version = "0.6.1";

src = fetchhg {
url = "https://bitbucket.org/dismine/valentina";
rev = "ccd68eba533a82aeb2dd3702124899a37c23ded5";
sha256 = "1qmxm6pwwass2kpyg41nhkmyq0g74pyk517sq68dcgs6340ii7fs";
rev = "v${version}";
sha256 = "0dxk2av7xbsd233sr9wa1hamzb7pp8yx6p5b43rsnvnzchkqf423";
};

postPatch = ''
@@ -52,7 +52,6 @@ stdenv.mkDerivation rec {

mkdir -p $out/share/mime/packages
cp dist/debian/valentina.sharedmimeinfo $out/share/mime/packages/valentina.xml
cp dist/debian/valentina.mime $out/share/mime/packages/valentina
'';

enableParallelBuilding = true;
4 changes: 2 additions & 2 deletions pkgs/applications/misc/welle-io/default.nix
Original file line number Diff line number Diff line change
@@ -3,7 +3,7 @@
, faad2, rtl-sdr, soapysdr-with-plugins, libusb, fftwSinglePrec }:
let

version = "1.0-rc2";
version = "1.0";

in stdenv.mkDerivation {

@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
owner = "AlbrechtL";
repo = "welle.io";
rev = "V${version}";
sha256 = "01x4ldq6lvmdrmxi857594nj9xpn2h7848vvf3f54sh1zrawn4k4";
sha256 = "1fsr0c2w16z45mcr85sqmllw1xf2gn6hp6f6fmgx2zfprq8gdmcr";
};

nativeBuildInputs = [ cmake pkgconfig ];
17 changes: 4 additions & 13 deletions pkgs/applications/misc/xiphos/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, pkgconfig
{ stdenv, fetchFromGitHub, pkgconfig
, python
, intltool
, docbook2x, docbook_xml_dtd_412, libxslt
@@ -9,6 +9,7 @@
, webkitgtk
, dbus-glib, enchant, isocodes, libuuid, icu
, wrapGAppsHook
, wafHook
}:

stdenv.mkDerivation rec {
@@ -22,7 +23,7 @@ stdenv.mkDerivation rec {
sha256 = "1vwf1ps6nrajxl1qbs6v1cgykmq5wn4j09j10gbcd3b2nvrprf3g";
};

nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
nativeBuildInputs = [ pkgconfig wrapGAppsHook wafHook ];
buildInputs = [ python intltool docbook2x docbook_xml_dtd_412 libxslt
sword clucene_core biblesync gnome-doc-utils libgsf gconf gtkhtml
libglade scrollkeeper webkitgtk dbus-glib enchant isocodes libuuid icu ];
@@ -36,17 +37,7 @@ stdenv.mkDerivation rec {
export SWORD_HOME=${sword};
'';

configurePhase = ''
python waf configure --prefix=$out --enable-webkit2
'';

buildPhase = ''
python waf build
'';

installPhase = ''
python waf install
'';
configureFlags= [ "--enable-webkit2" ];

meta = with stdenv.lib; {
description = "A GTK Bible study tool";
4 changes: 2 additions & 2 deletions pkgs/applications/networking/browsers/chromium/plugins.nix
Original file line number Diff line number Diff line change
@@ -100,11 +100,11 @@ let

flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}";
version = "31.0.0.122";
version = "31.0.0.148";

src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "16cx92lq7zx8k22mfnsfjj09kyh3fi266qc5vvjz5b2rj53rmkdg";
sha256 = "1kvmsdg0qsq3jdhrlqqxxy33bjz8nc5rjy59ly4hhnp994szcx0s";
stripRoot = false;
};

18 changes: 9 additions & 9 deletions pkgs/applications/networking/browsers/chromium/upstream-info.nix
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "0kkdfp5f3gmzngfj1nfw023bpyvm47h94k9rpwml2kxlijswd1gl";
sha256bin64 = "13ghx5ysl8f2iphdvjh698q4jksh765ljjrd74m6x0ih6qm0ksaq";
version = "71.0.3578.20";
sha256 = "04y78dqm19cr5929l727fk0jqqsdfyrdv50gippg32dplvw0r4fw";
sha256bin64 = "1rfclq9vwj61pv1sqpa4v26iby02j05lad673c79f0032v2v2r43";
version = "71.0.3578.44";
};
dev = {
sha256 = "1d7q8hbqbxy2izdvv4d9126ljiglsfc3w7wns3zbbbiyqa2rj00y";
sha256bin64 = "0v6yahsvsgxcqg6k84lgr589rnx9af1r2axn7cggyn1a2lk63jck";
version = "72.0.3590.0";
sha256 = "1d18957kwy3hp3dhgahip3pgjhvvadix5h3mk2d7w6zdj3l8c8kq";
sha256bin64 = "1yny1hyis91ajn7b8v9b4fzgswzwng3rndf1jb807xd6jd461afz";
version = "72.0.3608.4";
};
stable = {
sha256 = "0j84556r3m4igigqsx9zvw4kvbn4psfsi7m8xhcvfxc39ingh569";
sha256bin64 = "082cf9d1wm36w4i09ai4xnprvxfqdar6cbgsxz5q5srd41mqdy6p";
version = "70.0.3538.77";
sha256 = "0amc3czac897mb80qcwwladmhg2yps8r2c359nzyj7i7bq1m992d";
sha256bin64 = "1did6kp7dhlqp7rarvly7ywb9n9hnhhb3zgpkh3yp3f2skqrr5w8";
version = "70.0.3538.102";
};
}
794 changes: 397 additions & 397 deletions pkgs/applications/networking/browsers/firefox-bin/release_sources.nix

Large diffs are not rendered by default.

4 changes: 1 addition & 3 deletions pkgs/applications/networking/browsers/firefox/common.nix
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@

, alsaSupport ? stdenv.isLinux, alsaLib
, pulseaudioSupport ? stdenv.isLinux, libpulseaudio
, ffmpegSupport ? true, gstreamer, gst-plugins-base
, ffmpegSupport ? true
, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
, gssSupport ? true, kerberos

@@ -101,7 +101,6 @@ stdenv.mkDerivation rec {
++ lib.optional (lib.versionOlder ffversion "61") hunspell
++ lib.optional alsaSupport alsaLib
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ]
++ lib.optional gtk3Support gtk3
++ lib.optional gssSupport kerberos
++ lib.optionals stdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
@@ -221,7 +220,6 @@ stdenv.mkDerivation rec {
++ flag pulseaudioSupport "pulseaudio"
++ flag ffmpegSupport "ffmpeg"
++ flag gssSupport "negotiateauth"
++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
++ flag webrtcSupport "webrtc"
++ flag crashreporterSupport "crashreporter"
++ lib.optional drmSupport "--enable-eme=widevine"
7 changes: 5 additions & 2 deletions pkgs/applications/networking/browsers/firefox/packages.nix
Original file line number Diff line number Diff line change
@@ -14,10 +14,10 @@ rec {

firefox = common rec {
pname = "firefox";
ffversion = "63.0.1";
ffversion = "63.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "29acad70259d71a924cbaf4c2f01fb034cf8090759b3a2d74a5eabc2823f83b6508434e619d8501d3930702e2bbad373581a70e2ce57aead9af77fc42766fbe2";
sha512 = "319bdkvk1r53i8l9ilz9ffllp2yxn02glhjsf26bqchw0c4ym8y6d62j1g7s55lddzqka3kcsmzba0k8wna1aw3pydf7v84nyhaw1bc";
};

patches = nixpkgsPatches ++ [
@@ -35,6 +35,7 @@ rec {
};
updateScript = callPackage ./update.nix {
attrPath = "firefox-unwrapped";
versionKey = "ffversion";
};
};

@@ -59,6 +60,7 @@ rec {
updateScript = callPackage ./update.nix {
attrPath = "firefox-esr-52-unwrapped";
ffversionSuffix = "esr";
versionKey = "ffversion";
};
};

@@ -84,6 +86,7 @@ rec {
updateScript = callPackage ./update.nix {
attrPath = "firefox-esr-60-unwrapped";
versionSuffix = "esr";
versionKey = "ffversion";
};
};

3 changes: 2 additions & 1 deletion pkgs/applications/networking/browsers/firefox/update.nix
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@
, attrPath
, baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
, versionSuffix ? ""
, versionKey ? "version"
}:

writeScript "update-${attrPath}" ''
@@ -28,5 +29,5 @@ writeScript "update-${attrPath}" ''
sort --version-sort | \
tail -n 1`

update-source-version ${attrPath} "$version"
update-source-version ${attrPath} "$version" "" "" ${versionKey}
''
Original file line number Diff line number Diff line change
@@ -74,7 +74,7 @@ let
in
stdenv.mkDerivation rec {
name = "flashplayer-${version}";
version = "31.0.0.122";
version = "31.0.0.148";

src = fetchurl {
url =
@@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
sha256 =
if debug then
if arch == "x86_64" then
"0mjyb8mk4av8cia34gmqi0n4nq0spiblgn18z6f4nkx12wgdka2c"
"0cwsj4gn5m7caj5cjqjpf180pfjgyss9zp6zf2r728xbjjw87mc7"
else
"07qgawd4xgy9690gbx0c6k97cp7lp04l70ccp4jd81y4xjsc9bq3"
"0yvj5k3dpzp3iydv4z6mw0kz64l7nfrwswb48jyyh519z81cj7vv"
else
if arch == "x86_64" then
"0264kcn0frgcl7zfd60ybs4r7x1p3f8nj496z264ax6qc390qr02"
"1apgikb8rsmgmfkk9mcffslkww9jj5wgi998imaqgr7ibyfl19bk"
else
"0w170wz920imca8wc7kggl2vldn9k7cqm2xwvx8yqqi1p42a1941";
"03yh0rvgdssjxj4dvfan0qp9z9qwyvxzdv00idk3mj0v9japhyn2";
};

nativeBuildInputs = [ unzip ];
Original file line number Diff line number Diff line change
@@ -50,7 +50,7 @@

stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}";
version = "31.0.0.122";
version = "31.0.0.148";

src = fetchurl {
url =
@@ -60,9 +60,9 @@ stdenv.mkDerivation rec {
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/31/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"1psd49bxn6w6kgcjhml44g5wb4za18m8apas8qyly4xcapdylias"
"08ysnbnsfs741w9bi0mfl62jhvj8fxh2in1kbp9xzzc40z3yqngn"
else
"0g3h31pdxw91r3067zrkgyziwl18i5kidwx83y13ff4d17v999ss";
"0j7qw3iqswgc5df6zzm9jw0yf2mc7r29cp10b1y5p1ys0hrpm33d";
};

nativeBuildInputs = [ unzip ];
Original file line number Diff line number Diff line change
@@ -29,13 +29,10 @@

# Media support (implies audio support)
, mediaSupport ? false
, gstreamer
, gst-plugins-base
, gst-plugins-good
, gst-ffmpeg
, gmp
, ffmpeg

, gmp

# Pluggable transport dependencies
, python27

@@ -85,20 +82,9 @@ let
]
++ optionals pulseaudioSupport [ libpulseaudio ]
++ optionals mediaSupport [
gstreamer
gst-plugins-base
gmp
ffmpeg
];

gstPluginsPath = concatMapStringsSep ":" (x:
"${x}/lib/gstreamer-0.10") [
gstreamer
gst-plugins-base
gst-plugins-good
gst-ffmpeg
];

# Library search path for the fte transport
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];

@@ -366,10 +352,6 @@ stdenv.mkDerivation rec {
TOR_CONTROL_PORT="\''${TOR_CONTROL_PORT:-}" \
TOR_SOCKS_PORT="\''${TOR_SOCKS_PORT:-}" \
\
GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \
GST_REGISTRY="/dev/null" \
GST_REGISTRY_UPDATE="no" \
\
FONTCONFIG_FILE="$FONTCONFIG_FILE" \
\
LD_LIBRARY_PATH="$libPath" \
Original file line number Diff line number Diff line change
@@ -19,13 +19,10 @@

# Media support (implies audio support)
, mediaSupport ? false
, gstreamer
, gst-plugins-base
, gst-plugins-good
, gst-ffmpeg
, gmp
, ffmpeg

, gmp

# Extensions, common
, zip

@@ -72,18 +69,7 @@ let

fontsDir = "${fontsEnv}/share/fonts";

gstPluginsPath = concatMapStringsSep ":" (x:
"${x}/lib/gstreamer-0.10") [
gstreamer
gst-plugins-base
gst-plugins-good
gst-ffmpeg
];

gstLibPath = makeLibraryPath [
gstreamer
gst-plugins-base
gmp
mediaLibPath = makeLibraryPath [
ffmpeg
];
in
@@ -207,7 +193,7 @@ stdenv.mkDerivation rec {
''}

${optionalString mediaSupport ''
wrapper_LD_LIBRARY_PATH=${gstLibPath}''${wrapper_LD_LIBRARY_PATH:+:$wrapper_LD_LIBRARY_PATH}
wrapper_LD_LIBRARY_PATH=${mediaLibPath}''${wrapper_LD_LIBRARY_PATH:+:$wrapper_LD_LIBRARY_PATH}
''}

mkdir -p $out/bin
@@ -284,10 +270,6 @@ stdenv.mkDerivation rec {
#
# APULSE_PLAYBACK_DEVICE is for audio playback w/o pulseaudio (no capture yet)
#
# GST_PLUGIN_SYSTEM_PATH is for HD video playback
#
# GST_REGISTRY is set to devnull to minimize disk writes
#
# TOR_* is for using an external tor instance
#
# Parameters lacking a default value below are *required* (enforced by
@@ -314,10 +296,6 @@ stdenv.mkDerivation rec {
\
APULSE_PLAYBACK_DEVICE="\''${APULSE_PLAYBACK_DEVICE:-plug:dmix}" \
\
GST_PLUGIN_SYSTEM_PATH="${optionalString mediaSupport gstPluginsPath}" \
GST_REGISTRY="/dev/null" \
GST_REGISTRY_UPDATE="no" \
\
TOR_SKIP_LAUNCH="\''${TOR_SKIP_LAUNCH:-}" \
TOR_CONTROL_PORT="\''${TOR_CONTROL_PORT:-}" \
TOR_SOCKS_PORT="\''${TOR_SOCKS_PORT:-}" \
4 changes: 2 additions & 2 deletions pkgs/applications/networking/browsers/vivaldi/default.nix
Original file line number Diff line number Diff line change
@@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi";
version = "2.1.1337.36-1";
version = "2.1.1337.47-1";

src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
sha256 = "14qf3gk46m65yfc7q7gsnkj6av8yhg7byi0h1yv24sr7n4rrnrsc";
sha256 = "0i4dd5fgipplfq9jylm23jc9vn0qzf03ph1v85qh252hw5fgnyj2";
};

unpackPhase = ''
15 changes: 10 additions & 5 deletions pkgs/applications/networking/cluster/minishift/default.nix
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
{ lib, buildGoPackage, fetchFromGitHub, go-bindata, pkgconfig, makeWrapper
, glib, gtk3, libappindicator-gtk3, gpgme, ostree, libselinux, btrfs-progs
, glib, gtk3, libappindicator-gtk3, gpgme, openshift, ostree, libselinux, btrfs-progs
, lvm2, docker-machine-kvm
}:

let
version = "1.25.0";
version = "1.27.0";

# Update these on version bumps according to Makefile
b2dIsoVersion = "v1.3.0";
centOsIsoVersion = "v1.12.0";
centOsIsoVersion = "v1.13.0";
openshiftVersion = "v3.11.0";

in buildGoPackage rec {
@@ -19,7 +19,7 @@ in buildGoPackage rec {
owner = "minishift";
repo = "minishift";
rev = "v${version}";
sha256 = "12a1irj92lplzkr88g049blpjsdsfwfihs2xix971cq7v0w38fkf";
sha256 = "1zd9fjw90h8dlr5w7pdf1agvm51b1zckf3grwwjdg64jqpzdwg9f";
};

nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ];
@@ -31,6 +31,11 @@ in buildGoPackage rec {
postPatch = ''
substituteInPlace vendor/github.com/containers/image/storage/storage_image.go \
--replace 'nil, diff' 'diff'

# minishift downloads openshift if not found therefore set the cache to /nix/store/...
substituteInPlace pkg/minishift/cache/oc_caching.go \
--replace 'filepath.Join(oc.MinishiftCacheDir, OC_CACHE_DIR, oc.OpenShiftVersion, runtime.GOOS)' '"${openshift}/bin"' \
--replace '"runtime"' ""
'';

buildFlagsArray = ''
@@ -49,7 +54,7 @@ in buildGoPackage rec {

postInstall = ''
wrapProgram "$bin/bin/minishift" \
--prefix PATH ':' '${lib.makeBinPath [ docker-machine-kvm ]}'
--prefix PATH ':' '${lib.makeBinPath [ docker-machine-kvm openshift ]}'
'';

meta = with lib; {
18 changes: 9 additions & 9 deletions pkgs/applications/networking/cluster/openshift/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go_1_9, go-bindata, makeWrapper, rsync, utillinux
{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync, utillinux
, coreutils, kerberos, clang
, components ? [
"cmd/oc"
@@ -9,15 +9,15 @@
with lib;

let
version = "3.10.0";
version = "3.11.0";
ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
versionMajor = ver 0;
versionMinor = ver 1;
versionPatch = ver 2;
gitCommit = "dd10d17";
gitCommit = "0cbc58b";
# version is in vendor/k8s.io/kubernetes/pkg/version/base.go
k8sversion = "v1.10.0";
k8sgitcommit = "b81c8f8";
k8sversion = "v1.11.1";
k8sgitcommit = "b1b2997";
k8sgitMajor = "0";
k8sgitMinor = "1";
in stdenv.mkDerivation rec {
@@ -28,12 +28,12 @@ in stdenv.mkDerivation rec {
owner = "openshift";
repo = "origin";
rev = "v${version}";
sha256 = "13aglz005jl48z17vnggkvr39l5h6jcqgkfyvkaz4c3jakms1hi9";
sha256 = "06q4v2a1mm6c659ab0rzkqz6b66vx4avqfg0s9xckwhq420lzgka";
};

# go > 1.10
# [FATAL] [14:44:02+0000] Please install Go version go1.9 or use PERMISSIVE_GO=y to bypass this check.
buildInputs = [ removeReferencesTo makeWrapper which go_1_9 rsync go-bindata kerberos clang ];
# [FATAL] [14:44:02+0000] Please install Go version go or use PERMISSIVE_GO=y to bypass this check.
buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata kerberos clang ];

outputs = [ "out" ];

@@ -78,7 +78,7 @@ in stdenv.mkDerivation rec {
'';

preFixup = ''
find $out/bin -type f -exec remove-references-to -t ${go_1_9} '{}' +
find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
'';

meta = with stdenv.lib; {
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, vala_0_40, gettext, python3
, appstream-glib, desktop-file-utils, glibcLocales, wrapGAppsHook
, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite
, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo
}:

let
pname = "FeedReader";
version = "2.2";
version = "2.4.1";
in stdenv.mkDerivation {
name = "${pname}-${version}";

src = fetchFromGitHub {
owner = "jangernert";
repo = pname;
rev = "v" + version;
sha256 = "17588hsa7xv92ba55kmbyvnijypp373yrly48kbc391wadp1z939";
sha256 = "1fk2iiqwvrw58hpp96xypr4wh1sq15aixnz4760mnfynhjq5s3jh";
};

nativeBuildInputs = [
@@ -22,7 +22,7 @@ in stdenv.mkDerivation {
];

buildInputs = [
curl glib json-glib libnotify libsecret sqlite
curl glib json-glib libnotify libsecret sqlite gumbo
] ++ (with gnome3; [
gtk libgee libpeas libsoup rest webkitgtk gnome-online-accounts
gsettings-desktop-schemas
Original file line number Diff line number Diff line change
@@ -3,13 +3,13 @@

stdenv.mkDerivation rec {
name = "rambox-bare-${version}";
version = "0.6.1";
version = "0.6.2";

src = fetchFromGitHub {
owner = "saenzramiro";
repo = "rambox";
owner = "ramboxapp";
repo = "community-edition";
rev = version;
sha256 = "1cyxxgcv0qvm1la8yl5ag3j11spw7zvnj75zpf9c1y33pqmp44yc";
sha256 = "150vf62cp739l9dgpnksgpkffabs2wi15q217m3nai34irhwzk8m";
};

nativeBuildInputs = [ nodejs-8_x ruby sencha ];
Original file line number Diff line number Diff line change
@@ -56,11 +56,11 @@ let

in stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.17.3";
version = "1.18.0";

src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1k0gj24562jfj748s7qcn1f7brr1c0zn2dppxvfv2ka2r2n0z1h4";
sha256 = "0l5q55k5dp7hbvw3dnjsz39blbsahx6nh9ln4c69752zg473yv4v";
};

phases = [ "unpackPhase" "installPhase" ];
Original file line number Diff line number Diff line change
@@ -3,9 +3,7 @@
, lua, miniupnpc, openssl, qtbase, qtmultimedia, qtsvg, qtwebkit, qtx11extras, zlib
}:

let
_scons = "scons -j$NIX_BUILD_CORES";
in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
name = "swift-im-${version}";
version = "4.0.2";

@@ -30,14 +28,12 @@ in stdenv.mkDerivation rec {
"-I${miniupnpc}/include/miniupnpc"
"-I${qtwebkit.dev}/include/QtWebKit"
"-I${qtwebkit.dev}/include/QtWebKitWidgets"
"-fpermissive"
];

buildPhase = ''
${_scons} Swift
'';

installPhase = ''
${_scons} SWIFT_INSTALLDIR=$out $out
preInstall = ''
installTargets="$out"
installFlags+=" SWIFT_INSTALLDIR=$out"
'';

meta = with stdenv.lib; {
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, makeWrapper }:

let
version = "3.4.0";
version = "3.5.0";
arch = if stdenv.is64bit then "amd64" else "x86";
libDir = if stdenv.is64bit then "lib64" else "lib";
in
@@ -15,8 +15,8 @@ stdenv.mkDerivation {
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
];
sha256 = if stdenv.is64bit
then "12wis5sbbx502g86irhi3g2gvpczbxzjw7z0lw9rk7jagplwhvkx"
else "01ajiqizy4f8niqipxccimvvsqlfypr4a28rwxk6zran7m1kjpp6";
then "0zk7rbi6mvs2nnsjhv4aizl5ydiyr46ng2i3lr8r78gyb88nxmcv"
else "0nahsmcnykgchgv50jb22fin74sab1zl8gy6m6s8mjk570qlvzzm";
};

buildInputs = [ makeWrapper ];
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ stable, version, sha256Hash, archPatchesRevision, archPatchesHash }:

{ mkDerivation, lib, fetchgit, fetchsvn
{ mkDerivation, lib, fetchFromGitHub, fetchsvn
, pkgconfig, pythonPackages, cmake, wrapGAppsHook
, qtbase, qtimageformats, gtk3, libappindicator-gtk3, libnotify, xdg_utils
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
@@ -13,8 +13,9 @@ mkDerivation rec {
inherit version;

# Telegram-Desktop with submodules
src = fetchgit {
url = "git://github.com/telegramdesktop/tdesktop";
src = fetchFromGitHub {
owner = "telegramdesktop";
repo = "tdesktop";
rev = "v${version}";
sha256 = sha256Hash;
fetchSubmodules = true;
4 changes: 3 additions & 1 deletion pkgs/applications/networking/irc/weechat/scripts/default.nix
Original file line number Diff line number Diff line change
@@ -9,5 +9,7 @@
inherit (luaPackages) cjson;
};

wee-slack = callPackage ./wee-slack { };
wee-slack = callPackage ./wee-slack {
inherit pythonPackages;
};
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
{ stdenv, fetchFromGitHub }:
{ stdenv, substituteAll, buildEnv, fetchFromGitHub, pythonPackages }:

stdenv.mkDerivation rec {
name = "wee-slack-${version}";
version = "2.1.1";
version = "2.2.0";

src = fetchFromGitHub {
repo = "wee-slack";
owner = "wee-slack";
rev = "v${version}";
sha256 = "05caackz645aw6kljmiihiy7xz9jld8b9blwpmh0cnaihavgj1wc";
sha256 = "1iy70q630cgs7fvk2151fq9519dwxrlqq862sbrwypzr6na6yqpg";
};

patches = [
(substituteAll {
src = ./libpath.patch;
env = "${buildEnv {
name = "wee-slack-env";
paths = with pythonPackages; [ websocket_client six ];
}}/${pythonPackages.python.sitePackages}";
})
];

passthru.scripts = [ "wee_slack.py" ];

installPhase = ''
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/wee_slack.py b/wee_slack.py
index c5c7bc6..23fef2f 100644
--- a/wee_slack.py
+++ b/wee_slack.py
@@ -25,6 +25,8 @@ try:
except:
from StringIO import StringIO

+sys.path.append('@env@')
+
from websocket import create_connection, WebSocketConnectionClosedException

# hack to make tests possible.. better way?
Loading