Merge branch 'master' into staging-next

This commit is contained in:
Jan Tojnar 2021-04-06 16:01:14 +02:00
commit c04a14edd6
493 changed files with 4687 additions and 2055 deletions

View file

@ -3,7 +3,7 @@
## How to use Agda ## How to use Agda
Agda can be installed from `agda`: Agda can be installed from `agda`:
``` ```ShellSession
$ nix-env -iA agda $ nix-env -iA agda
``` ```
@ -15,13 +15,13 @@ To use Agda with libraries, the `agda.withPackages` function can be used. This f
For example, suppose we wanted a version of Agda which has access to the standard library. This can be obtained with the expressions: For example, suppose we wanted a version of Agda which has access to the standard library. This can be obtained with the expressions:
``` ```nix
agda.withPackages [ agdaPackages.standard-library ] agda.withPackages [ agdaPackages.standard-library ]
``` ```
or or
``` ```nix
agda.withPackages (p: [ p.standard-library ]) agda.withPackages (p: [ p.standard-library ])
``` ```
@ -32,7 +32,7 @@ If you want to use a library in your home directory (for instance if it is a dev
Agda will not by default use these libraries. To tell Agda to use the library we have some options: Agda will not by default use these libraries. To tell Agda to use the library we have some options:
* Call `agda` with the library flag: * Call `agda` with the library flag:
``` ```ShellSession
$ agda -l standard-library -i . MyFile.agda $ agda -l standard-library -i . MyFile.agda
``` ```
* Write a `my-library.agda-lib` file for the project you are working on which may look like: * Write a `my-library.agda-lib` file for the project you are working on which may look like:
@ -49,7 +49,7 @@ More information can be found in the [official Agda documentation on library man
Agda modules can be compiled with the `--compile` flag. A version of `ghc` with `ieee754` is made available to the Agda program via the `--with-compiler` flag. Agda modules can be compiled with the `--compile` flag. A version of `ghc` with `ieee754` is made available to the Agda program via the `--with-compiler` flag.
This can be overridden by a different version of `ghc` as follows: This can be overridden by a different version of `ghc` as follows:
``` ```nix
agda.withPackages { agda.withPackages {
pkgs = [ ... ]; pkgs = [ ... ];
ghc = haskell.compiler.ghcHEAD; ghc = haskell.compiler.ghcHEAD;
@ -80,12 +80,12 @@ By default, Agda sources are files ending on `.agda`, or literate Agda files end
## Adding Agda packages to Nixpkgs ## Adding Agda packages to Nixpkgs
To add an Agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other Agda libraries, so the top line of the `default.nix` can look like: To add an Agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other Agda libraries, so the top line of the `default.nix` can look like:
``` ```nix
{ mkDerivation, standard-library, fetchFromGitHub }: { mkDerivation, standard-library, fetchFromGitHub }:
``` ```
and `mkDerivation` should be called instead of `agdaPackages.mkDerivation`. Here is an example skeleton derivation for iowa-stdlib: and `mkDerivation` should be called instead of `agdaPackages.mkDerivation`. Here is an example skeleton derivation for iowa-stdlib:
``` ```nix
mkDerivation { mkDerivation {
version = "1.5.0"; version = "1.5.0";
pname = "iowa-stdlib"; pname = "iowa-stdlib";

View file

@ -4,7 +4,7 @@
For local development, it's recommended to use nix-shell to create a dotnet environment: For local development, it's recommended to use nix-shell to create a dotnet environment:
``` ```nix
# shell.nix # shell.nix
with import <nixpkgs> {}; with import <nixpkgs> {};
@ -20,7 +20,7 @@ mkShell {
It's very likely that more than one sdk will be needed on a given project. Dotnet provides several different frameworks (E.g dotnetcore, aspnetcore, etc.) as well as many versions for a given framework. Normally, dotnet is able to fetch a framework and install it relative to the executable. However, this would mean writing to the nix store in nixpkgs, which is read-only. To support the many-sdk use case, one can compose an environment using `dotnetCorePackages.combinePackages`: It's very likely that more than one sdk will be needed on a given project. Dotnet provides several different frameworks (E.g dotnetcore, aspnetcore, etc.) as well as many versions for a given framework. Normally, dotnet is able to fetch a framework and install it relative to the executable. However, this would mean writing to the nix store in nixpkgs, which is read-only. To support the many-sdk use case, one can compose an environment using `dotnetCorePackages.combinePackages`:
``` ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
mkShell { mkShell {
@ -37,7 +37,7 @@ mkShell {
This will produce a dotnet installation that has the dotnet 3.1, 3.0, and 2.1 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output: This will produce a dotnet installation that has the dotnet 3.1, 3.0, and 2.1 sdk. The first sdk listed will have it's cli utility present in the resulting environment. Example info output:
``` ```ShellSesssion
$ dotnet --info $ dotnet --info
.NET Core SDK (reflecting any global.json): .NET Core SDK (reflecting any global.json):
Version: 3.1.101 Version: 3.1.101

View file

@ -4,7 +4,7 @@
The easiest way to get a working idris version is to install the `idris` attribute: The easiest way to get a working idris version is to install the `idris` attribute:
``` ```ShellSesssion
$ # On NixOS $ # On NixOS
$ nix-env -i nixos.idris $ nix-env -i nixos.idris
$ # On non-NixOS $ # On non-NixOS
@ -21,7 +21,7 @@ self: super: {
And then: And then:
``` ```ShellSesssion
$ # On NixOS $ # On NixOS
$ nix-env -iA nixos.myIdris $ nix-env -iA nixos.myIdris
$ # On non-NixOS $ # On non-NixOS
@ -29,7 +29,7 @@ $ nix-env -iA nixpkgs.myIdris
``` ```
To see all available Idris packages: To see all available Idris packages:
``` ```ShellSesssion
$ # On NixOS $ # On NixOS
$ nix-env -qaPA nixos.idrisPackages $ nix-env -qaPA nixos.idrisPackages
$ # On non-NixOS $ # On non-NixOS
@ -37,7 +37,7 @@ $ nix-env -qaPA nixpkgs.idrisPackages
``` ```
Similarly, entering a `nix-shell`: Similarly, entering a `nix-shell`:
``` ```ShellSesssion
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])' $ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
``` ```
@ -45,14 +45,14 @@ $ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruvi
To have access to these libraries in idris, call it with an argument `-p <library name>` for each library: To have access to these libraries in idris, call it with an argument `-p <library name>` for each library:
``` ```ShellSesssion
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])' $ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
[nix-shell:~]$ idris -p contrib -p pruviloj [nix-shell:~]$ idris -p contrib -p pruviloj
``` ```
A listing of all available packages the Idris binary has access to is available via `--listlibs`: A listing of all available packages the Idris binary has access to is available via `--listlibs`:
``` ```ShellSesssion
$ idris --listlibs $ idris --listlibs
00prelude-idx.ibc 00prelude-idx.ibc
pruviloj pruviloj
@ -105,7 +105,7 @@ build-idris-package {
Assuming this file is saved as `yaml.nix`, it's buildable using Assuming this file is saved as `yaml.nix`, it's buildable using
``` ```ShellSesssion
$ nix-build -E '(import <nixpkgs> {}).idrisPackages.callPackage ./yaml.nix {}' $ nix-build -E '(import <nixpkgs> {}).idrisPackages.callPackage ./yaml.nix {}'
``` ```
@ -121,7 +121,7 @@ with import <nixpkgs> {};
in another file (say `default.nix`) to be able to build it with in another file (say `default.nix`) to be able to build it with
``` ```ShellSesssion
$ nix-build -A yaml $ nix-build -A yaml
``` ```
@ -133,7 +133,7 @@ Specifically, you can set `idrisBuildOptions`, `idrisTestOptions`, `idrisInstall
For example you could set For example you could set
``` ```nix
build-idris-package { build-idris-package {
idrisBuildOptions = [ "--log" "1" "--verbose" ] idrisBuildOptions = [ "--log" "1" "--verbose" ]

View file

@ -79,7 +79,7 @@ $ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy toolz ])'
By default `nix-shell` will start a `bash` session with this interpreter in our By default `nix-shell` will start a `bash` session with this interpreter in our
`PATH`, so if we then run: `PATH`, so if we then run:
``` ```Python console
[nix-shell:~/src/nixpkgs]$ python3 [nix-shell:~/src/nixpkgs]$ python3
Python 3.8.1 (default, Dec 18 2019, 19:06:26) Python 3.8.1 (default, Dec 18 2019, 19:06:26)
[GCC 9.2.0] on linux [GCC 9.2.0] on linux
@ -90,7 +90,7 @@ Type "help", "copyright", "credits" or "license" for more information.
Note that no other modules are in scope, even if they were imperatively Note that no other modules are in scope, even if they were imperatively
installed into our user environment as a dependency of a Python application: installed into our user environment as a dependency of a Python application:
``` ```Python console
>>> import requests >>> import requests
Traceback (most recent call last): Traceback (most recent call last):
File "<stdin>", line 1, in <module> File "<stdin>", line 1, in <module>
@ -146,8 +146,8 @@ print(f"The dot product of {a} and {b} is: {np.dot(a, b)}")
Executing this script requires a `python3` that has `numpy`. Using what we learned Executing this script requires a `python3` that has `numpy`. Using what we learned
in the previous section, we could startup a shell and just run it like so: in the previous section, we could startup a shell and just run it like so:
``` ```ShellSesssion
nix-shell -p 'python38.withPackages(ps: with ps; [ numpy ])' --run 'python3 foo.py' $ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy ])' --run 'python3 foo.py'
The dot product of [1 2] and [3 4] is: 11 The dot product of [1 2] and [3 4] is: 11
``` ```

View file

@ -103,7 +103,7 @@ supported Qt version.
### Example adding a Qt library {#qt-library-all-packages-nix} ### Example adding a Qt library {#qt-library-all-packages-nix}
The following represents the contents of `qt5-packages.nix`. The following represents the contents of `qt5-packages.nix`.
``` ```nix
{ {
# ... # ...
@ -133,7 +133,7 @@ to select the Qt 5 version used for the application.
### Example adding a Qt application {#qt-application-all-packages-nix} ### Example adding a Qt application {#qt-application-all-packages-nix}
The following represents the contents of `qt5-packages.nix`. The following represents the contents of `qt5-packages.nix`.
``` ```nix
{ {
# ... # ...
@ -144,7 +144,7 @@ The following represents the contents of `qt5-packages.nix`.
``` ```
The following represents the contents of `all-packages.nix`. The following represents the contents of `all-packages.nix`.
``` ```nix
{ {
# ... # ...

View file

@ -2,13 +2,14 @@
To install the rust compiler and cargo put To install the rust compiler and cargo put
``` ```nix
rustc environment.systemPackages = [
cargo rustc
cargo
];
``` ```
into the `environment.systemPackages` or bring them into into your `configuration.nix` or bring them into scope with `nix-shell -p rustc cargo`.
scope with `nix-shell -p rustc cargo`.
For other versions such as daily builds (beta and nightly), For other versions such as daily builds (beta and nightly),
use either `rustup` from nixpkgs (which will manage the rust installation in your home directory), use either `rustup` from nixpkgs (which will manage the rust installation in your home directory),
@ -18,7 +19,7 @@ or use Mozilla's [Rust nightlies overlay](#using-the-rust-nightlies-overlay).
Rust applications are packaged by using the `buildRustPackage` helper from `rustPlatform`: Rust applications are packaged by using the `buildRustPackage` helper from `rustPlatform`:
``` ```nix
{ lib, rustPlatform }: { lib, rustPlatform }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
@ -49,7 +50,7 @@ package. `cargoHash256` is used for traditional Nix SHA-256 hashes,
such as the one in the example above. `cargoHash` should instead be such as the one in the example above. `cargoHash` should instead be
used for [SRI](https://www.w3.org/TR/SRI/) hashes. For example: used for [SRI](https://www.w3.org/TR/SRI/) hashes. For example:
``` ```nix
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8="; cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
``` ```
@ -59,13 +60,13 @@ expression and building the package once. The correct checksum can
then be taken from the failed build. A fake hash can be used for then be taken from the failed build. A fake hash can be used for
`cargoSha256` as follows: `cargoSha256` as follows:
``` ```nix
cargoSha256 = lib.fakeSha256; cargoSha256 = lib.fakeSha256;
``` ```
For `cargoHash` you can use: For `cargoHash` you can use:
``` ```nix
cargoHash = lib.fakeHash; cargoHash = lib.fakeHash;
``` ```
@ -262,7 +263,7 @@ Otherwise, some steps may fail because of the modified directory structure of `t
source code in a reproducible way. If it is missing or out-of-date one can use source code in a reproducible way. If it is missing or out-of-date one can use
the `cargoPatches` attribute to update or add it. the `cargoPatches` attribute to update or add it.
``` ```nix
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
(...) (...)
cargoPatches = [ cargoPatches = [
@ -489,7 +490,7 @@ an example for a minimal `hello` crate:
Now, the file produced by the call to `carnix`, called `hello.nix`, looks like: Now, the file produced by the call to `carnix`, called `hello.nix`, looks like:
``` ```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone # Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }: { stdenv, buildRustCrate, fetchgit }:
let kernel = stdenv.buildPlatform.parsed.kernel.name; let kernel = stdenv.buildPlatform.parsed.kernel.name;
@ -518,7 +519,7 @@ dependencies, for instance by adding a single line `libc="*"` to our
`Cargo.lock`. Then, `carnix` needs to be run again, and produces the `Cargo.lock`. Then, `carnix` needs to be run again, and produces the
following nix file: following nix file:
``` ```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone # Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }: { stdenv, buildRustCrate, fetchgit }:
let kernel = stdenv.buildPlatform.parsed.kernel.name; let kernel = stdenv.buildPlatform.parsed.kernel.name;
@ -573,7 +574,7 @@ Some crates require external libraries. For crates from
Starting from that file, one can add more overrides, to add features Starting from that file, one can add more overrides, to add features
or build inputs by overriding the hello crate in a seperate file. or build inputs by overriding the hello crate in a seperate file.
``` ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
((import ./hello.nix).hello {}).override { ((import ./hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // { crateOverrides = defaultCrateOverrides // {
@ -593,7 +594,7 @@ derivation depend on the crate's version, the `attrs` argument of
the override above can be read, as in the following example, which the override above can be read, as in the following example, which
patches the derivation: patches the derivation:
``` ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
((import ./hello.nix).hello {}).override { ((import ./hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // { crateOverrides = defaultCrateOverrides // {
@ -614,7 +615,7 @@ dependencies. For instance, to override the build inputs for crate
`libc` in the example above, where `libc` is a dependency of the main `libc` in the example above, where `libc` is a dependency of the main
crate, we could do: crate, we could do:
``` ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
((import hello.nix).hello {}).override { ((import hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // { crateOverrides = defaultCrateOverrides // {
@ -630,27 +631,27 @@ general. A number of other parameters can be overridden:
- The version of rustc used to compile the crate: - The version of rustc used to compile the crate:
``` ```nix
(hello {}).override { rust = pkgs.rust; }; (hello {}).override { rust = pkgs.rust; };
``` ```
- Whether to build in release mode or debug mode (release mode by - Whether to build in release mode or debug mode (release mode by
default): default):
``` ```nix
(hello {}).override { release = false; }; (hello {}).override { release = false; };
``` ```
- Whether to print the commands sent to rustc when building - Whether to print the commands sent to rustc when building
(equivalent to `--verbose` in cargo: (equivalent to `--verbose` in cargo:
``` ```nix
(hello {}).override { verbose = false; }; (hello {}).override { verbose = false; };
``` ```
- Extra arguments to be passed to `rustc`: - Extra arguments to be passed to `rustc`:
``` ```nix
(hello {}).override { extraRustcOpts = "-Z debuginfo=2"; }; (hello {}).override { extraRustcOpts = "-Z debuginfo=2"; };
``` ```
@ -662,7 +663,7 @@ general. A number of other parameters can be overridden:
`postInstall`. As an example, here is how to create a new module `postInstall`. As an example, here is how to create a new module
before running the build script: before running the build script:
``` ```nix
(hello {}).override { (hello {}).override {
preConfigure = '' preConfigure = ''
echo "pub const PATH=\"${hi.out}\";" >> src/path.rs" echo "pub const PATH=\"${hi.out}\";" >> src/path.rs"
@ -676,7 +677,7 @@ One can also supply features switches. For example, if we want to
compile `diesel_cli` only with the `postgres` feature, and no default compile `diesel_cli` only with the `postgres` feature, and no default
features, we would write: features, we would write:
``` ```nix
(callPackage ./diesel.nix {}).diesel { (callPackage ./diesel.nix {}).diesel {
default = false; default = false;
postgres = true; postgres = true;
@ -699,7 +700,7 @@ Using the example `hello` project above, we want to do the following:
A typical `shell.nix` might look like: A typical `shell.nix` might look like:
``` ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
stdenv.mkDerivation { stdenv.mkDerivation {
@ -721,7 +722,7 @@ stdenv.mkDerivation {
``` ```
You should now be able to run the following: You should now be able to run the following:
``` ```ShellSesssion
$ nix-shell --pure $ nix-shell --pure
$ cargo build $ cargo build
$ cargo test $ cargo test
@ -731,7 +732,7 @@ $ cargo test
To control your rust version (i.e. use nightly) from within `shell.nix` (or To control your rust version (i.e. use nightly) from within `shell.nix` (or
other nix expressions) you can use the following `shell.nix` other nix expressions) you can use the following `shell.nix`
``` ```nix
# Latest Nightly # Latest Nightly
with import <nixpkgs> {}; with import <nixpkgs> {};
let src = fetchFromGitHub { let src = fetchFromGitHub {
@ -759,7 +760,7 @@ stdenv.mkDerivation {
``` ```
Now run: Now run:
``` ```ShellSession
$ rustc --version $ rustc --version
rustc 1.26.0-nightly (188e693b3 2018-03-26) rustc 1.26.0-nightly (188e693b3 2018-03-26)
``` ```
@ -794,7 +795,7 @@ in the `~/.config/nixpkgs/overlays` directory.
Add the following to your `configuration.nix`, `home-configuration.nix`, `shell.nix`, or similar: Add the following to your `configuration.nix`, `home-configuration.nix`, `shell.nix`, or similar:
``` ```nix
{ pkgs ? import <nixpkgs> { { pkgs ? import <nixpkgs> {
overlays = [ overlays = [
(import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz)) (import (builtins.fetchTarball https://github.com/mozilla/nixpkgs-mozilla/archive/master.tar.gz))

View file

@ -156,7 +156,7 @@ assuming that "using latest version" is ok most of the time.
First create a vim-scripts file having one plugin name per line. Example: First create a vim-scripts file having one plugin name per line. Example:
``` ```vim
"tlib" "tlib"
{'name': 'vim-addon-sql'} {'name': 'vim-addon-sql'}
{'filetype_regex': '\%(vim)$', 'names': ['reload', 'vim-dev-plugin']} {'filetype_regex': '\%(vim)$', 'names': ['reload', 'vim-dev-plugin']}
@ -197,7 +197,7 @@ nix-shell -p vimUtils.vim_with_vim2nix --command "vim -c 'source generate.vim'"
You should get a Vim buffer with the nix derivations (output1) and vam.pluginDictionaries (output2). You should get a Vim buffer with the nix derivations (output1) and vam.pluginDictionaries (output2).
You can add your Vim to your system's configuration file like this and start it by "vim-my": You can add your Vim to your system's configuration file like this and start it by "vim-my":
``` ```nix
my-vim = my-vim =
let plugins = let inherit (vimUtils) buildVimPluginFrom2Nix; in { let plugins = let inherit (vimUtils) buildVimPluginFrom2Nix; in {
copy paste output1 here copy paste output1 here
@ -217,7 +217,7 @@ my-vim =
Sample output1: Sample output1:
``` ```nix
"reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation "reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "reload"; name = "reload";
src = fetchgit { src = fetchgit {
@ -248,7 +248,7 @@ Nix expressions for Vim plugins are stored in [pkgs/misc/vim-plugins](/pkgs/misc
Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
``` ```nix
deoplete-fish = super.deoplete-fish.overrideAttrs(old: { deoplete-fish = super.deoplete-fish.overrideAttrs(old: {
dependencies = with super; [ deoplete-nvim vim-fish ]; dependencies = with super; [ deoplete-nvim vim-fish ];
}); });

View file

@ -158,7 +158,7 @@ rec {
seq deepSeq genericClosure; seq deepSeq genericClosure;
## nixpks version strings ## nixpkgs version strings
/* Returns the current full nixpkgs version number. */ /* Returns the current full nixpkgs version number. */
version = release + versionSuffix; version = release + versionSuffix;

View file

@ -698,6 +698,16 @@
githubId = 1078530; githubId = 1078530;
name = "Alexandre Peyroux"; name = "Alexandre Peyroux";
}; };
applePrincess = {
email = "appleprincess@appleprincess.io";
github = "applePrincess";
githubId = 17154507;
name = "Lein Matsumaru";
keys = [{
longkeyid = "rsa4096/0xAAA50652F0479205";
fingerprint = "BF8B F725 DA30 E53E 7F11 4ED8 AAA5 0652 F047 9205";
}];
};
ar1a = { ar1a = {
email = "aria@ar1as.space"; email = "aria@ar1as.space";
github = "ar1a"; github = "ar1a";
@ -1300,6 +1310,12 @@
githubId = 50839; githubId = 50839;
name = "Brian Jones"; name = "Brian Jones";
}; };
bootstrap-prime = {
email = "bootstrap.prime@gmail.com";
github = "bootstrap-prime";
githubId = 68566724;
name = "bootstrap-prime";
};
commandodev = { commandodev = {
email = "ben@perurbis.com"; email = "ben@perurbis.com";
github = "commandodev"; github = "commandodev";
@ -2413,6 +2429,12 @@
githubId = 10913120; githubId = 10913120;
name = "Dje4321"; name = "Dje4321";
}; };
djwf = {
email = "dave@weller-fahy.com";
github = "djwf";
githubId = 73162;
name = "David J. Weller-Fahy";
};
dkabot = { dkabot = {
email = "dkabot@dkabot.com"; email = "dkabot@dkabot.com";
github = "dkabot"; github = "dkabot";
@ -2769,6 +2791,12 @@
githubId = 1753498; githubId = 1753498;
name = "Dejan Lukan"; name = "Dejan Lukan";
}; };
electrified = {
email = "ed@maidavale.org";
github = "electrified";
githubId = 103082;
name = "Ed Brindley";
};
elliottvillars = { elliottvillars = {
email = "elliottvillars@gmail.com"; email = "elliottvillars@gmail.com";
github = "elliottvillars"; github = "elliottvillars";
@ -3677,6 +3705,12 @@
githubId = 343415; githubId = 343415;
name = "Greg Roodt"; name = "Greg Roodt";
}; };
gschwartz = {
email = "gsch@pennmedicine.upenn.edu";
github = "GregorySchwartz";
githubId = 2490088;
name = "Gregory Schwartz";
};
gtrunsec = { gtrunsec = {
email = "gtrunsec@hardenedlinux.org"; email = "gtrunsec@hardenedlinux.org";
github = "GTrunSec"; github = "GTrunSec";
@ -5006,6 +5040,12 @@
githubId = 16481032; githubId = 16481032;
name = "Kiba Fox"; name = "Kiba Fox";
}; };
kidd = {
email = "raimonster@gmail.com";
github = "kidd";
githubId = 25607;
name = "Raimon Grau";
};
kierdavis = { kierdavis = {
email = "kierdavis@gmail.com"; email = "kierdavis@gmail.com";
github = "kierdavis"; github = "kierdavis";
@ -8675,6 +8715,12 @@
githubId = 19472270; githubId = 19472270;
name = "Sebastian"; name = "Sebastian";
}; };
sebbadk = {
email = "sebastian@sebba.dk";
github = "SEbbaDK";
githubId = 1567527;
name = "Sebastian Hyberts";
};
sellout = { sellout = {
email = "greg@technomadic.org"; email = "greg@technomadic.org";
github = "sellout"; github = "sellout";

View file

@ -591,8 +591,8 @@ in {
# password or an SSH authorized key. Privileged accounts are # password or an SSH authorized key. Privileged accounts are
# root and users in the wheel group. # root and users in the wheel group.
assertion = !cfg.mutableUsers -> assertion = !cfg.mutableUsers ->
any id ((mapAttrsToList (name: cfg: any id ((mapAttrsToList (_: cfg:
(name == "root" (cfg.name == "root"
|| cfg.group == "wheel" || cfg.group == "wheel"
|| elem "wheel" cfg.extraGroups) || elem "wheel" cfg.extraGroups)
&& &&
@ -613,16 +613,16 @@ in {
assertion = (user.hashedPassword != null) assertion = (user.hashedPassword != null)
-> (builtins.match ".*:.*" user.hashedPassword == null); -> (builtins.match ".*:.*" user.hashedPassword == null);
message = '' message = ''
The password hash of user "${name}" contains a ":" character. The password hash of user "${user.name}" contains a ":" character.
This is invalid and would break the login system because the fields This is invalid and would break the login system because the fields
of /etc/shadow (file where hashes are stored) are colon-separated. of /etc/shadow (file where hashes are stored) are colon-separated.
Please check the value of option `users.users."${name}".hashedPassword`.''; Please check the value of option `users.users."${user.name}".hashedPassword`.'';
} }
); );
warnings = warnings =
builtins.filter (x: x != null) ( builtins.filter (x: x != null) (
flip mapAttrsToList cfg.users (name: user: flip mapAttrsToList cfg.users (_: user:
# This regex matches a subset of the Modular Crypto Format (MCF)[1] # This regex matches a subset of the Modular Crypto Format (MCF)[1]
# informal standard. Since this depends largely on the OS or the # informal standard. Since this depends largely on the OS or the
# specific implementation of crypt(3) we only support the (sane) # specific implementation of crypt(3) we only support the (sane)
@ -645,9 +645,9 @@ in {
&& user.hashedPassword != "" # login without password && user.hashedPassword != "" # login without password
&& builtins.match mcf user.hashedPassword == null) && builtins.match mcf user.hashedPassword == null)
then '' then ''
The password hash of user "${name}" may be invalid. You must set a The password hash of user "${user.name}" may be invalid. You must set a
valid hash or the user will be locked out of their account. Please valid hash or the user will be locked out of their account. Please
check the value of option `users.users."${name}".hashedPassword`.'' check the value of option `users.users."${user.name}".hashedPassword`.''
else null else null
)); ));

View file

@ -126,6 +126,7 @@
./programs/dconf.nix ./programs/dconf.nix
./programs/digitalbitbox/default.nix ./programs/digitalbitbox/default.nix
./programs/dmrconfig.nix ./programs/dmrconfig.nix
./programs/droidcam.nix
./programs/environment.nix ./programs/environment.nix
./programs/evince.nix ./programs/evince.nix
./programs/file-roller.nix ./programs/file-roller.nix
@ -233,6 +234,7 @@
./services/audio/alsa.nix ./services/audio/alsa.nix
./services/audio/jack.nix ./services/audio/jack.nix
./services/audio/icecast.nix ./services/audio/icecast.nix
./services/audio/jmusicbot.nix
./services/audio/liquidsoap.nix ./services/audio/liquidsoap.nix
./services/audio/mpd.nix ./services/audio/mpd.nix
./services/audio/mpdscribble.nix ./services/audio/mpdscribble.nix

View file

@ -0,0 +1,16 @@
{ lib, pkgs, config, ... }:
with lib;
{
options.programs.droidcam = {
enable = mkEnableOption "DroidCam client";
};
config = lib.mkIf config.programs.droidcam.enable {
environment.systemPackages = [ pkgs.droidcam ];
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
boot.kernelModules = [ "v4l2loopback" "snd-aloop" ];
};
}

View file

@ -8,7 +8,7 @@ let
cfg = config.programs.mininet; cfg = config.programs.mininet;
generatedPath = with pkgs; makeSearchPath "bin" [ generatedPath = with pkgs; makeSearchPath "bin" [
iperf ethtool iproute socat iperf ethtool iproute2 socat
]; ];
pyEnv = pkgs.python.withPackages(ps: [ ps.mininet-python ]); pyEnv = pkgs.python.withPackages(ps: [ ps.mininet-python ]);

View file

@ -0,0 +1,41 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.jmusicbot;
in
{
options = {
services.jmusicbot = {
enable = mkEnableOption "jmusicbot, a Discord music bot that's easy to set up and run yourself";
stateDir = mkOption {
type = types.path;
description = ''
The directory where config.txt and serversettings.json is saved.
If left as the default value this directory will automatically be created before JMusicBot starts, otherwise the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions.
Untouched by the value of this option config.txt needs to be placed manually into this directory.
'';
default = "/var/lib/jmusicbot/";
};
};
};
config = mkIf cfg.enable {
systemd.services.jmusicbot = {
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
description = "Discord music bot that's easy to set up and run yourself!";
serviceConfig = mkMerge [{
ExecStart = "${pkgs.jmusicbot}/bin/JMusicBot";
WorkingDirectory = cfg.stateDir;
Restart = "always";
RestartSec = 20;
DynamicUser = true;
}
(mkIf (cfg.stateDir == "/var/lib/jmusicbot") { StateDirectory = "jmusicbot"; })];
};
};
meta.maintainers = with maintainers; [ SuperSandro2000 ];
}

View file

@ -30,7 +30,7 @@ let
}; };
backends = [ pkg netConf ] ++ optional config.services.saned.enable sanedConf ++ config.hardware.sane.extraBackends; backends = [ pkg netConf ] ++ optional config.services.saned.enable sanedConf ++ config.hardware.sane.extraBackends;
saneConfig = pkgs.mkSaneConfig { paths = backends; }; saneConfig = pkgs.mkSaneConfig { paths = backends; inherit (config.hardware.sane) disabledDefaultBackends; };
enabled = config.hardware.sane.enable || config.services.saned.enable; enabled = config.hardware.sane.enable || config.services.saned.enable;
@ -73,6 +73,16 @@ in
example = literalExample "[ pkgs.hplipWithPlugin ]"; example = literalExample "[ pkgs.hplipWithPlugin ]";
}; };
hardware.sane.disabledDefaultBackends = mkOption {
type = types.listOf types.str;
default = [];
example = [ "v4l" ];
description = ''
Names of backends which are enabled by default but should be disabled.
See <literal>$SANE_CONFIG_DIR/dll.conf</literal> for the list of possible names.
'';
};
hardware.sane.configDir = mkOption { hardware.sane.configDir = mkOption {
type = types.str; type = types.str;
internal = true; internal = true;

View file

@ -3,7 +3,8 @@
with lib; with lib;
let cfg = config.services.vector; let cfg = config.services.vector;
in { in
{
options.services.vector = { options.services.vector = {
enable = mkEnableOption "Vector"; enable = mkEnableOption "Vector";
@ -37,25 +38,27 @@ in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ]; after = [ "network-online.target" ];
requires = [ "network-online.target" ]; requires = [ "network-online.target" ];
serviceConfig = let serviceConfig =
format = pkgs.formats.toml { }; let
conf = format.generate "vector.toml" cfg.settings; format = pkgs.formats.toml { };
validateConfig = file: conf = format.generate "vector.toml" cfg.settings;
pkgs.runCommand "validate-vector-conf" { } '' validateConfig = file:
${pkgs.vector}/bin/vector validate --no-topology --no-environment "${file}" pkgs.runCommand "validate-vector-conf" { } ''
ln -s "${file}" "$out" ${pkgs.vector}/bin/vector validate --no-environment "${file}"
''; ln -s "${file}" "$out"
in { '';
ExecStart = "${pkgs.vector}/bin/vector --config ${validateConfig conf}"; in
User = "vector"; {
Group = "vector"; ExecStart = "${pkgs.vector}/bin/vector --config ${validateConfig conf}";
Restart = "no"; User = "vector";
StateDirectory = "vector"; Group = "vector";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; Restart = "no";
AmbientCapabilities = "CAP_NET_BIND_SERVICE"; StateDirectory = "vector";
# This group is required for accessing journald. ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
SupplementaryGroups = mkIf cfg.journaldAccess "systemd-journal"; AmbientCapabilities = "CAP_NET_BIND_SERVICE";
}; # This group is required for accessing journald.
SupplementaryGroups = mkIf cfg.journaldAccess "systemd-journal";
};
}; };
}; };
} }

View file

@ -63,7 +63,7 @@ let
}; };
in { in {
meta.maintainers = with maintainers; [ dotlambda ]; meta.maintainers = with maintainers; [ ];
options.services.home-assistant = { options.services.home-assistant = {
enable = mkEnableOption "Home Assistant"; enable = mkEnableOption "Home Assistant";

View file

@ -53,7 +53,7 @@ in
description = "MAME TUN/TAP Ethernet interface"; description = "MAME TUN/TAP Ethernet interface";
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;

View file

@ -1,55 +1,60 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib;
let let
cfg = config.services.packagekit; cfg = config.services.packagekit;
packagekitConf = '' inherit (lib)
[Daemon] mkEnableOption mkOption mkIf mkRemovedOptionModule types
DefaultBackend=${cfg.backend} listToAttrs recursiveUpdate;
KeepCache=false
'';
vendorConf = '' iniFmt = pkgs.formats.ini { };
[PackagesNotFound]
DefaultUrl=https://github.com/NixOS/nixpkgs confFiles = [
CodecUrl=https://github.com/NixOS/nixpkgs (iniFmt.generate "PackageKit.conf" (recursiveUpdate
HardwareUrl=https://github.com/NixOS/nixpkgs {
FontUrl=https://github.com/NixOS/nixpkgs Daemon = {
MimeUrl=https://github.com/NixOS/nixpkgs DefaultBackend = "test_nop";
''; KeepCache = false;
};
}
cfg.settings))
(iniFmt.generate "Vendor.conf" (recursiveUpdate
{
PackagesNotFound = rec {
DefaultUrl = "https://github.com/NixOS/nixpkgs";
CodecUrl = DefaultUrl;
HardwareUrl = DefaultUrl;
FontUrl = DefaultUrl;
MimeUrl = DefaultUrl;
};
}
cfg.vendorSettings))
];
in in
{ {
imports = [
(mkRemovedOptionModule [ "services" "packagekit" "backend" ] "The only backend that doesn't blow up is `test_nop`.")
];
options = { options.services.packagekit = {
enable = mkEnableOption ''
PackageKit provides a cross-platform D-Bus abstraction layer for
installing software. Software utilizing PackageKit can install
software regardless of the package manager.
'';
services.packagekit = { settings = mkOption {
enable = mkEnableOption type = iniFmt.type;
'' default = { };
PackageKit provides a cross-platform D-Bus abstraction layer for description = "Additional settings passed straight through to PackageKit.conf";
installing software. Software utilizing PackageKit can install };
software regardless of the package manager.
'';
# TODO: integrate with PolicyKit if the nix backend matures to the point vendorSettings = mkOption {
# where it will require elevated permissions type = iniFmt.type;
backend = mkOption { default = { };
type = types.enum [ "test_nop" ]; description = "Additional settings passed straight through to Vendor.conf";
default = "test_nop";
description = ''
PackageKit supports multiple different backends and <literal>auto</literal> which
should do the right thing.
</para>
<para>
On NixOS however, we do not have a backend compatible with nix 2.0
(refer to <link xlink:href="https://github.com/NixOS/nix/issues/233">this issue</link> so we have to force
it to <literal>test_nop</literal> for now.
'';
};
}; };
}; };
@ -59,7 +64,9 @@ in
systemd.packages = with pkgs; [ packagekit ]; systemd.packages = with pkgs; [ packagekit ];
environment.etc."PackageKit/PackageKit.conf".text = packagekitConf; environment.etc = listToAttrs (map
environment.etc."PackageKit/Vendor.conf".text = vendorConf; (e:
lib.nameValuePair "PackageKit/${e.name}" { source = e; })
confFiles);
}; };
} }

View file

@ -225,7 +225,7 @@ in {
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute ]; environment.systemPackages = [ datadogPkg pkgs.sysstat pkgs.procps pkgs.iproute2 ];
users.users.datadog = { users.users.datadog = {
description = "Datadog Agent User"; description = "Datadog Agent User";
@ -239,7 +239,7 @@ in {
systemd.services = let systemd.services = let
makeService = attrs: recursiveUpdate { makeService = attrs: recursiveUpdate {
path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute ]; path = [ datadogPkg pkgs.python pkgs.sysstat pkgs.procps pkgs.iproute2 ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
User = "datadog"; User = "datadog";

View file

@ -25,6 +25,7 @@ let
"artifactory" "artifactory"
"bind" "bind"
"bird" "bird"
"bitcoin"
"blackbox" "blackbox"
"collectd" "collectd"
"dnsmasq" "dnsmasq"

View file

@ -0,0 +1,82 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.bitcoin;
in
{
port = 9332;
extraOpts = {
rpcUser = mkOption {
type = types.str;
default = "bitcoinrpc";
description = ''
RPC user name.
'';
};
rpcPasswordFile = mkOption {
type = types.path;
description = ''
File containing RPC password.
'';
};
rpcScheme = mkOption {
type = types.enum [ "http" "https" ];
default = "http";
description = ''
Whether to connect to bitcoind over http or https.
'';
};
rpcHost = mkOption {
type = types.str;
default = "localhost";
description = ''
RPC host.
'';
};
rpcPort = mkOption {
type = types.port;
default = 8332;
description = ''
RPC port number.
'';
};
refreshSeconds = mkOption {
type = types.ints.unsigned;
default = 300;
description = ''
How often to ask bitcoind for metrics.
'';
};
extraEnv = mkOption {
type = types.attrsOf types.str;
default = {};
description = ''
Extra environment variables for the exporter.
'';
};
};
serviceOpts = {
script = ''
export BITCOIN_RPC_PASSWORD=$(cat ${cfg.rpcPasswordFile})
exec ${pkgs.prometheus-bitcoin-exporter}/bin/bitcoind-monitor.py
'';
environment = {
BITCOIN_RPC_USER = cfg.rpcUser;
BITCOIN_RPC_SCHEME = cfg.rpcScheme;
BITCOIN_RPC_HOST = cfg.rpcHost;
BITCOIN_RPC_PORT = toString cfg.rpcPort;
METRICS_ADDR = cfg.listenAddress;
METRICS_PORT = toString cfg.port;
REFRESH_SECONDS = toString cfg.refreshSeconds;
} // cfg.extraEnv;
};
}

View file

@ -113,7 +113,7 @@ in {
description = "scollector metrics collector (part of Bosun)"; description = "scollector metrics collector (part of Bosun)";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = [ pkgs.coreutils pkgs.iproute ]; path = [ pkgs.coreutils pkgs.iproute2 ];
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;

View file

@ -191,7 +191,7 @@ in
ExecStop = "${cfg.package}/bin/consul leave"; ExecStop = "${cfg.package}/bin/consul leave";
}); });
path = with pkgs; [ iproute gnugrep gawk consul ]; path = with pkgs; [ iproute2 gnugrep gawk consul ];
preStart = '' preStart = ''
mkdir -m 0700 -p ${dataDir} mkdir -m 0700 -p ${dataDir}
chown -R consul ${dataDir} chown -R consul ${dataDir}

View file

@ -10,7 +10,7 @@ let
name = "ircd-hybrid-service"; name = "ircd-hybrid-service";
scripts = [ "=>/bin" ./control.in ]; scripts = [ "=>/bin" ./control.in ];
substFiles = [ "=>/conf" ./ircd.conf ]; substFiles = [ "=>/conf" ./ircd.conf ];
inherit (pkgs) ircdHybrid coreutils su iproute gnugrep procps; inherit (pkgs) ircdHybrid coreutils su iproute2 gnugrep procps;
ipv6Enabled = boolToString config.networking.enableIPv6; ipv6Enabled = boolToString config.networking.enableIPv6;

View file

@ -85,7 +85,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.libreswan pkgs.iproute ]; environment.systemPackages = [ pkgs.libreswan pkgs.iproute2 ];
systemd.services.ipsec = { systemd.services.ipsec = {
description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec"; description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec";

View file

@ -465,7 +465,7 @@ in {
restartTriggers = [ configFile overrideNameserversScript ]; restartTriggers = [ configFile overrideNameserversScript ];
# useful binaries for user-specified hooks # useful binaries for user-specified hooks
path = [ pkgs.iproute pkgs.util-linux pkgs.coreutils ]; path = [ pkgs.iproute2 pkgs.util-linux pkgs.coreutils ];
aliases = [ "dbus-org.freedesktop.nm-dispatcher.service" ]; aliases = [ "dbus-org.freedesktop.nm-dispatcher.service" ];
}; };

View file

@ -63,7 +63,7 @@ let
wantedBy = optional cfg.autoStart "multi-user.target"; wantedBy = optional cfg.autoStart "multi-user.target";
after = [ "network.target" ]; after = [ "network.target" ];
path = [ pkgs.iptables pkgs.iproute pkgs.nettools ]; path = [ pkgs.iptables pkgs.iproute2 pkgs.nettools ];
serviceConfig.ExecStart = "@${openvpn}/sbin/openvpn openvpn --suppress-timestamps --config ${configFile}"; serviceConfig.ExecStart = "@${openvpn}/sbin/openvpn openvpn --suppress-timestamps --config ${configFile}";
serviceConfig.Restart = "always"; serviceConfig.Restart = "always";

View file

@ -132,7 +132,7 @@ in
{ table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; } { table = "mangle"; command = "OUTPUT ! -o lo -p tcp -m connmark --mark 0x02/0x0f -j CONNMARK --restore-mark --mask 0x0f"; }
]; ];
in { in {
path = [ pkgs.iptables pkgs.iproute pkgs.procps ]; path = [ pkgs.iptables pkgs.iproute2 pkgs.procps ];
preStart = '' preStart = ''
# Cleanup old iptables entries which might be still there # Cleanup old iptables entries which might be still there

View file

@ -63,7 +63,7 @@ in {
description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl"; description = "strongSwan IPsec IKEv1/IKEv2 daemon using swanctl";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ]; after = [ "network-online.target" ];
path = with pkgs; [ kmod iproute iptables util-linux ]; path = with pkgs; [ kmod iproute2 iptables util-linux ];
environment = { environment = {
STRONGSWAN_CONF = pkgs.writeTextFile { STRONGSWAN_CONF = pkgs.writeTextFile {
name = "strongswan.conf"; name = "strongswan.conf";

View file

@ -152,7 +152,7 @@ in
systemd.services.strongswan = { systemd.services.strongswan = {
description = "strongSwan IPSec Service"; description = "strongSwan IPSec Service";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
path = with pkgs; [ kmod iproute iptables util-linux ]; # XXX Linux path = with pkgs; [ kmod iproute2 iptables util-linux ]; # XXX Linux
after = [ "network-online.target" ]; after = [ "network-online.target" ];
environment = { environment = {
STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; }; STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; };

View file

@ -63,7 +63,7 @@ let
preSetup = mkOption { preSetup = mkOption {
example = literalExample '' example = literalExample ''
${pkgs.iproute}/bin/ip netns add foo ${pkgs.iproute2}/bin/ip netns add foo
''; '';
default = ""; default = "";
type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines; type = with types; coercedTo (listOf str) (concatStringsSep "\n") lines;
@ -278,7 +278,7 @@ let
wantedBy = [ "multi-user.target" "wireguard-${interfaceName}.service" ]; wantedBy = [ "multi-user.target" "wireguard-${interfaceName}.service" ];
environment.DEVICE = interfaceName; environment.DEVICE = interfaceName;
environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity"; environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity";
path = with pkgs; [ iproute wireguard-tools ]; path = with pkgs; [ iproute2 wireguard-tools ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
@ -333,7 +333,7 @@ let
after = [ "network.target" "network-online.target" ]; after = [ "network.target" "network-online.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
environment.DEVICE = name; environment.DEVICE = name;
path = with pkgs; [ kmod iproute wireguard-tools ]; path = with pkgs; [ kmod iproute2 wireguard-tools ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";

View file

@ -243,7 +243,7 @@ in
restartTriggers = [ fail2banConf jailConf pathsConf ]; restartTriggers = [ fail2banConf jailConf pathsConf ];
reloadIfChanged = true; reloadIfChanged = true;
path = [ cfg.package cfg.packageFirewall pkgs.iproute ]; path = [ cfg.package cfg.packageFirewall pkgs.iproute2 ];
unitConfig.Documentation = "man:fail2ban(1)"; unitConfig.Documentation = "man:fail2ban(1)";

View file

@ -108,8 +108,8 @@ in {
partOf = optional config.networking.firewall.enable "firewall.service"; partOf = optional config.networking.firewall.enable "firewall.service";
path = with pkgs; if config.networking.nftables.enable path = with pkgs; if config.networking.nftables.enable
then [ nftables iproute systemd ] then [ nftables iproute2 systemd ]
else [ iptables ipset iproute systemd ]; else [ iptables ipset iproute2 systemd ];
# The sshguard ipsets must exist before we invoke # The sshguard ipsets must exist before we invoke
# iptables. sshguard creates the ipsets after startup if # iptables. sshguard creates the ipsets after startup if

View file

@ -1188,9 +1188,12 @@ in
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container"; systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";
systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container"; systemd.services.systemd-random-seed.unitConfig.ConditionVirtualization = "!container";
boot.kernel.sysctl = mkIf (!cfg.coredump.enable) { boot.kernel.sysctl."kernel.core_pattern" = mkIf (!cfg.coredump.enable) "core";
"kernel.core_pattern" = "core";
}; # Increase numeric PID range (set directly instead of copying a one-line file from systemd)
# https://github.com/systemd/systemd/pull/12226
boot.kernel.sysctl."kernel.pid_max" = mkIf pkgs.stdenv.is64bit (lib.mkDefault 4194304);
boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0"; boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0";
}; };

View file

@ -101,7 +101,7 @@ let
unitConfig.ConditionCapability = "CAP_NET_ADMIN"; unitConfig.ConditionCapability = "CAP_NET_ADMIN";
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
@ -185,7 +185,7 @@ let
# Restart rather than stop+start this unit to prevent the # Restart rather than stop+start this unit to prevent the
# network from dying during switch-to-configuration. # network from dying during switch-to-configuration.
stopIfChanged = false; stopIfChanged = false;
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
script = script =
'' ''
state="/run/nixos/network/addresses/${i.name}" state="/run/nixos/network/addresses/${i.name}"
@ -258,7 +258,7 @@ let
wantedBy = [ "network-setup.service" (subsystemDevice i.name) ]; wantedBy = [ "network-setup.service" (subsystemDevice i.name) ];
partOf = [ "network-setup.service" ]; partOf = [ "network-setup.service" ];
before = [ "network-setup.service" ]; before = [ "network-setup.service" ];
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
RemainAfterExit = true; RemainAfterExit = true;
@ -284,7 +284,7 @@ let
before = [ "network-setup.service" ]; before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
script = '' script = ''
# Remove Dead Interfaces # Remove Dead Interfaces
echo "Removing old bridge ${n}..." echo "Removing old bridge ${n}..."
@ -372,7 +372,7 @@ let
wants = deps; # if one or more interface fails, the switch should continue to run wants = deps; # if one or more interface fails, the switch should continue to run
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute config.virtualisation.vswitch.package ]; path = [ pkgs.iproute2 config.virtualisation.vswitch.package ];
preStart = '' preStart = ''
echo "Resetting Open vSwitch ${n}..." echo "Resetting Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \ ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \
@ -413,7 +413,7 @@ let
before = [ "network-setup.service" ]; before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute pkgs.gawk ]; path = [ pkgs.iproute2 pkgs.gawk ];
script = '' script = ''
echo "Destroying old bond ${n}..." echo "Destroying old bond ${n}..."
${destroyBond n} ${destroyBond n}
@ -451,7 +451,7 @@ let
before = [ "network-setup.service" ]; before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
script = '' script = ''
# Remove Dead Interfaces # Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}" ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
@ -476,7 +476,7 @@ let
before = [ "network-setup.service" ]; before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
script = '' script = ''
# Remove Dead Interfaces # Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}" ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
@ -504,7 +504,7 @@ let
before = [ "network-setup.service" ]; before = [ "network-setup.service" ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
script = '' script = ''
# Remove Dead Interfaces # Remove Dead Interfaces
ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}" ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"

View file

@ -259,7 +259,7 @@ in
wants = deps; # if one or more interface fails, the switch should continue to run wants = deps; # if one or more interface fails, the switch should continue to run
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
path = [ pkgs.iproute config.virtualisation.vswitch.package ]; path = [ pkgs.iproute2 config.virtualisation.vswitch.package ];
preStart = '' preStart = ''
echo "Resetting Open vSwitch ${n}..." echo "Resetting Open vSwitch ${n}..."
ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \ ovs-vsctl --if-exists del-br ${n} -- add-br ${n} \

View file

@ -1171,7 +1171,7 @@ in
wantedBy = [ "network.target" ]; wantedBy = [ "network.target" ];
after = [ "network-pre.target" ]; after = [ "network-pre.target" ];
unitConfig.ConditionCapability = "CAP_NET_ADMIN"; unitConfig.ConditionCapability = "CAP_NET_ADMIN";
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true; serviceConfig.RemainAfterExit = true;
script = '' script = ''
@ -1249,7 +1249,7 @@ in
${optionalString (current.type == "mesh" && current.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${current.meshID}"} ${optionalString (current.type == "mesh" && current.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${current.meshID}"}
${optionalString (current.type == "monitor" && current.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${current.flags}"} ${optionalString (current.type == "monitor" && current.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${current.flags}"}
${optionalString (current.type == "managed" && current.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if current.fourAddr then "on" else "off"}"} ${optionalString (current.type == "managed" && current.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if current.fourAddr then "on" else "off"}"}
${optionalString (current.mac != null) "${pkgs.iproute}/bin/ip link set dev ${device} address ${current.mac}"} ${optionalString (current.mac != null) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${current.mac}"}
''; '';
# Udev script to execute for a new WLAN interface. The script configures the new WLAN interface. # Udev script to execute for a new WLAN interface. The script configures the new WLAN interface.
@ -1260,7 +1260,7 @@ in
${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${new.meshID}"} ${optionalString (new.type == "mesh" && new.meshID!=null) "${pkgs.iw}/bin/iw dev ${device} set meshid ${new.meshID}"}
${optionalString (new.type == "monitor" && new.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${new.flags}"} ${optionalString (new.type == "monitor" && new.flags!=null) "${pkgs.iw}/bin/iw dev ${device} set monitor ${new.flags}"}
${optionalString (new.type == "managed" && new.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if new.fourAddr then "on" else "off"}"} ${optionalString (new.type == "managed" && new.fourAddr!=null) "${pkgs.iw}/bin/iw dev ${device} set 4addr ${if new.fourAddr then "on" else "off"}"}
${optionalString (new.mac != null) "${pkgs.iproute}/bin/ip link set dev ${device} address ${new.mac}"} ${optionalString (new.mac != null) "${pkgs.iproute2}/bin/ip link set dev ${device} address ${new.mac}"}
''; '';
# Udev attributes for systemd to name the device and to create a .device target. # Udev attributes for systemd to name the device and to create a .device target.

View file

@ -119,7 +119,7 @@ in
wants = [ "network-online.target" ]; wants = [ "network-online.target" ];
after = [ "network-online.target" ]; after = [ "network-online.target" ];
path = [ pkgs.wget pkgs.iproute ]; path = [ pkgs.wget pkgs.iproute2 ];
script = script =
'' ''

View file

@ -19,7 +19,7 @@ with lib;
wantedBy = [ "multi-user.target" "sshd.service" ]; wantedBy = [ "multi-user.target" "sshd.service" ];
before = [ "sshd.service" ]; before = [ "sshd.service" ];
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
script = script =
'' ''

View file

@ -110,7 +110,7 @@ in
systemd.services.google-network-daemon = { systemd.services.google-network-daemon = {
description = "Google Compute Engine Network Daemon"; description = "Google Compute Engine Network Daemon";
after = [ "network-online.target" "network.target" "google-instance-setup.service" ]; after = [ "network-online.target" "network.target" "google-instance-setup.service" ];
path = with pkgs; [ iproute ]; path = with pkgs; [ iproute2 ];
serviceConfig = { serviceConfig = {
ExecStart = "${gce}/bin/google_network_daemon"; ExecStart = "${gce}/bin/google_network_daemon";
StandardOutput="journal+console"; StandardOutput="journal+console";

View file

@ -739,7 +739,7 @@ in
unitConfig.RequiresMountsFor = "/var/lib/containers/%i"; unitConfig.RequiresMountsFor = "/var/lib/containers/%i";
path = [ pkgs.iproute ]; path = [ pkgs.iproute2 ];
environment = { environment = {
root = "/var/lib/containers/%i"; root = "/var/lib/containers/%i";

View file

@ -17,7 +17,7 @@ in {
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
after = [ "xe-linux-distribution.service" ]; after = [ "xe-linux-distribution.service" ];
requires = [ "proc-xen.mount" ]; requires = [ "proc-xen.mount" ];
path = [ pkgs.coreutils pkgs.iproute ]; path = [ pkgs.coreutils pkgs.iproute2 ];
serviceConfig = { serviceConfig = {
PIDFile = "/run/xe-daemon.pid"; PIDFile = "/run/xe-daemon.pid";
ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid"; ExecStart = "${pkgs.xe-guest-utilities}/bin/xe-daemon -p /run/xe-daemon.pid";

View file

@ -248,7 +248,7 @@ in
# Xen provides udev rules. # Xen provides udev rules.
services.udev.packages = [ cfg.package ]; services.udev.packages = [ cfg.package ];
services.udev.path = [ pkgs.bridge-utils pkgs.iproute ]; services.udev.path = [ pkgs.bridge-utils pkgs.iproute2 ];
systemd.services.xen-store = { systemd.services.xen-store = {
description = "Xen Store Daemon"; description = "Xen Store Daemon";

View file

@ -2,7 +2,7 @@ import ./../make-test-python.nix ({ pkgs, ...} :
let let
mysqlenv-common = pkgs.buildEnv { name = "mysql-path-env-common"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; }; mysqlenv-common = pkgs.buildEnv { name = "mysql-path-env-common"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ bash gawk gnutar inetutils which ]; };
mysqlenv-mariabackup = pkgs.buildEnv { name = "mysql-path-env-mariabackup"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ gzip iproute netcat procps pv socat ]; }; mysqlenv-mariabackup = pkgs.buildEnv { name = "mysql-path-env-mariabackup"; pathsToLink = [ "/bin" ]; paths = with pkgs; [ gzip iproute2 netcat procps pv socat ]; };
in { in {
name = "mariadb-galera-mariabackup"; name = "mariadb-galera-mariabackup";

View file

@ -136,6 +136,24 @@ let
''; '';
}; };
bitcoin = {
exporterConfig = {
enable = true;
rpcUser = "bitcoinrpc";
rpcPasswordFile = pkgs.writeText "password" "hunter2";
};
metricProvider = {
services.bitcoind.default.enable = true;
services.bitcoind.default.rpc.users.bitcoinrpc.passwordHMAC = "e8fe33f797e698ac258c16c8d7aadfbe$872bdb8f4d787367c26bcfd75e6c23c4f19d44a69f5d1ad329e5adf3f82710f7";
};
exporterTest = ''
wait_for_unit("prometheus-bitcoin-exporter.service")
wait_for_unit("bitcoind-default.service")
wait_for_open_port(9332)
succeed("curl -sSf http://localhost:9332/metrics | grep -q '^bitcoin_blocks '")
'';
};
blackbox = { blackbox = {
exporterConfig = { exporterConfig = {
enable = true; enable = true;

View file

@ -52,9 +52,9 @@ import ../make-test-python.nix ({ pkgs, lib, ...} :
inherit (wg-snakeoil-keys.peer0) publicKey; inherit (wg-snakeoil-keys.peer0) publicKey;
}; };
postSetup = let inherit (pkgs) iproute; in '' postSetup = let inherit (pkgs) iproute2; in ''
${iproute}/bin/ip route replace 10.23.42.1/32 dev wg0 ${iproute2}/bin/ip route replace 10.23.42.1/32 dev wg0
${iproute}/bin/ip route replace fc00::1/128 dev wg0 ${iproute2}/bin/ip route replace fc00::1/128 dev wg0
''; '';
}; };
}; };

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, alsaLib, jack2Full, minixml, pkg-config }: { lib, stdenv, fetchurl, alsaLib, jack2, minixml, pkg-config }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = packageName + "-" + version ; name = packageName + "-" + version ;
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
doCheck = false; doCheck = false;
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsaLib minixml jack2Full ]; buildInputs = [ alsaLib minixml jack2 ];
meta = with lib; { meta = with lib; {
description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files"; description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files";

View file

@ -1,6 +1,6 @@
{ faust { faust
, gtk2 , gtk2
, jack2Full , jack2
, alsaLib , alsaLib
, opencv , opencv
, libsndfile , libsndfile
@ -18,7 +18,7 @@ faust.wrapWithBuildEnv {
propagatedBuildInputs = [ propagatedBuildInputs = [
gtk2 gtk2
jack2Full jack2
alsaLib alsaLib
opencv opencv
libsndfile libsndfile

View file

@ -1,5 +1,5 @@
{ faust { faust
, jack2Full , jack2
, qt4 , qt4
, libsndfile , libsndfile
, alsaLib , alsaLib
@ -16,7 +16,7 @@ faust.wrapWithBuildEnv {
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
jack2Full jack2
qt4 qt4
libsndfile libsndfile
alsaLib alsaLib

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ft2-clone"; pname = "ft2-clone";
version = "1.44_fix"; version = "1.46";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "8bitbubsy"; owner = "8bitbubsy";
repo = "ft2-clone"; repo = "ft2-clone";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-2HhG2cDzAvpSm655M1KQnjbfVvqqOZDz2ty7xnttskA="; sha256 = "sha256-Y6FgIbNCsxnM/B2bEB7oufBjU1BnBYaz7/oysWttIOc=";
}; };
# Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh) # Adapt the linux-only CMakeLists to darwin (more reliable than make-macos.sh)

View file

@ -0,0 +1,31 @@
{ stdenv, lib, fetchurl, makeWrapper, jre }:
stdenv.mkDerivation rec {
pname = "JMusicBot";
version = "0.3.4";
src = fetchurl {
url = "https://github.com/jagrosh/MusicBot/releases/download/${version}/JMusicBot-${version}.jar";
sha256 = "sha256-++/ot9k74pkN9Wl7IEjiMIv/q5zklIEdU6uFjam0tmU=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/lib
cp $src $out/lib/JMusicBot
makeWrapper ${jre}/bin/java $out/bin/JMusicBot \
--add-flags "-Xmx1G -Dnogui=true -jar $out/lib/JMusicBot"
'';
meta = with lib; {
description = "Discord music bot that's easy to set up and run yourself";
homepage = "https://github.com/jagrosh/MusicBot";
license = licenses.asl20;
maintainers = with maintainers; [ SuperSandro2000 ];
platforms = platforms.all;
};
}

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper { lib, stdenv, fetchFromGitHub, pkg-config, makeWrapper
, libsndfile, jack2Full , libsndfile, jack2
, libGLU, libGL, lv2, cairo , libGLU, libGL, lv2, cairo
, ladspaH, php }: , ladspaH, php }:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ pkg-config php makeWrapper ]; nativeBuildInputs = [ pkg-config php makeWrapper ];
buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH ]; buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH ];
makeFlags = [ makeFlags = [
"PREFIX=${placeholder "out"}" "PREFIX=${placeholder "out"}"

File diff suppressed because it is too large Load diff

View file

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "netease-music-tui"; pname = "netease-music-tui";
version = "v0.1.2"; version = "0.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "betta-cyber"; owner = "betta-cyber";
repo = "netease-music-tui"; repo = "netease-music-tui";
rev = version; rev = "v${version}";
sha256 = "0m5b3q493d32kxznm4apn56216l07b1c49km236i03mpfvdw7m1f"; sha256 = "09355a6d197ckayh9833y39dsarklgpgrq3raapiv25z59di30qq";
}; };
cargoPatches = [ ./cargo-lock.patch ]; cargoPatches = [ ./cargo-lock.patch ];
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsaLib openssl ]; buildInputs = [ alsaLib openssl ];
cargoSha256 = "1kfbnwy3lkbhz0ggxwr5n6qd1plipkr1ycr3z2r7c0amrzzbkc7l"; cargoSha256 = "0f06wc7h2zjipifvxsskxvihjf6mykrjrm7yk0zf98ra079bc9g9";
meta = with lib; { meta = with lib; {
homepage = "https://github.com/betta-cyber/netease-music-tui"; homepage = "https://github.com/betta-cyber/netease-music-tui";

View file

@ -0,0 +1,20 @@
#!nix-shell
#!nix-shell -i bash -p coreutils gnugrep git cargo
# This updates cargo-lock.patch for the netease-music-tui version listed in
# default.nix.
set -eu -o verbose
here=$PWD
version=$(cat default.nix | grep '^ version = "' | cut -d '"' -f 2)
checkout=$(mktemp -d)
git clone -b "$version" --depth=1 https://github.com/betta-cyber/netease-music-tui "$checkout"
cd "$checkout"
cargo generate-lockfile
git add -f Cargo.lock
git diff HEAD -- Cargo.lock > "$here"/cargo-lock.patch
cd "$here"
rm -rf "$checkout"

View file

@ -9,7 +9,7 @@
, pkg-config , pkg-config
, boost , boost
, bash , bash
, jack2Full , jack2
, supercollider , supercollider
, qwt , qwt
, osmid , osmid
@ -102,7 +102,7 @@ mkDerivation rec {
dontWrapQtApps = true; dontWrapQtApps = true;
preFixup = '' preFixup = ''
wrapQtApp "$out/bin/sonic-pi" \ wrapQtApp "$out/bin/sonic-pi" \
--prefix PATH : ${ruby}/bin:${bash}/bin:${supercollider}/bin:${jack2Full}/bin \ --prefix PATH : ${ruby}/bin:${bash}/bin:${supercollider}/bin:${jack2}/bin \
--set AUBIO_LIB "${aubio}/lib/libaubio.so" --set AUBIO_LIB "${aubio}/lib/libaubio.so"
''; '';

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, makeWrapper { lib, stdenv, fetchurl, makeWrapper
, expat, fftwFloat, fontconfig, freetype, libjack2, jack2Full, libclthreads, libclxclient , expat, fftwFloat, fontconfig, freetype, libjack2, jack2, libclthreads, libclxclient
, libsndfile, libxcb, xorg , libsndfile, libxcb, xorg
}: }:
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
postInstall = '' postInstall = ''
# Make sure Jack is avalable in $PATH for tetraproc # Make sure Jack is avalable in $PATH for tetraproc
wrapProgram $out/bin/tetraproc --prefix PATH : "${jack2Full}/bin" wrapProgram $out/bin/tetraproc --prefix PATH : "${jack2}/bin"
''; '';
meta = with lib; { meta = with lib; {

View file

@ -1,6 +1,6 @@
import ./generic.nix (rec { import ./generic.nix (rec {
version = "27.1"; version = "27.2";
sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a"; sha256 = "sha256-tKfMTnjmPzeGJOCRkhW5EK9bsqCvyBn60pgnLp9Awbk=";
patches = [ patches = [
./tramp-detect-wrapped-gvfsd.patch ./tramp-detect-wrapped-gvfsd.patch
]; ];

View file

@ -1,12 +1,11 @@
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index 34a234c..b5a471c 100644 index 9e26c8fd6d..fa220e513c 100644
--- a/lisp/net/tramp-gvfs.el --- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el
@@ -122,6 +122,7 @@ @@ -125,5 +125,6 @@
(tramp-compat-funcall 'dbus-get-unique-name :system) ;; for some processes. Better we don't check.
(tramp-compat-funcall 'dbus-get-unique-name :session) (<= emacs-major-version 25)
(or (tramp-compat-process-running-p "gvfs-fuse-daemon") (tramp-compat-process-running-p "gvfs-fuse-daemon")
+ (tramp-compat-process-running-p ".gvfsd-fuse-wrapped") + (tramp-compat-process-running-p ".gvfsd-fuse-wrapped")
(tramp-compat-process-running-p "gvfsd-fuse")))) (tramp-compat-process-running-p "gvfsd-fuse"))))
"Non-nil when GVFS is available.") "Non-nil when GVFS is available.")

View file

@ -6,13 +6,13 @@
mkDerivation rec { mkDerivation rec {
pname = "sigil"; pname = "sigil";
version = "1.4.3"; version = "1.5.1";
src = fetchFromGitHub { src = fetchFromGitHub {
repo = "Sigil"; repo = "Sigil";
owner = "Sigil-Ebook"; owner = "Sigil-Ebook";
rev = version; rev = version;
sha256 = "1hk8kmhvkwfimbxzhwbnb8qdpf4n36cdzl9wfvi574i9pps36hnz"; sha256 = "sha256-BqNaIsUJE0KmFcmTjJERbclzaRe1dMjareWxUye2se0=";
}; };
pythonPath = with python3Packages; [ lxml ]; pythonPath = with python3Packages; [ lxml ];

View file

@ -12,7 +12,7 @@
, dxflib , dxflib
, curl , curl
, libiodbc , libiodbc
, lzma , xz
, libharu , libharu
, opencv , opencv
, vigra , vigra
@ -64,7 +64,7 @@ mkDerivation rec {
vigra vigra
postgresql postgresql
libiodbc libiodbc
lzma xz
qhull qhull
giflib giflib
] ]

View file

@ -1,6 +1,6 @@
{ lib { lib
, fetchFromGitHub , fetchFromGitHub
, lzma , xz
, qt5 , qt5
, wrapQtAppsHook , wrapQtAppsHook
, miniupnpc_2 , miniupnpc_2
@ -39,7 +39,7 @@ pythonPackages.buildPythonPackage rec {
service-identity service-identity
twisted twisted
lz4 lz4
lzma xz
pysocks pysocks
matplotlib matplotlib
qtpy qtpy

View file

@ -1,5 +1,5 @@
{ boost, cmake, fetchFromGitHub, freeglut, freetype, glew, libjpeg, libmypaint { boost, cmake, fetchFromGitHub, freeglut, freetype, glew, libjpeg, libmypaint
, libpng, libtiff, libusb1, lz4, lzma, lzo, openblas, pkg-config, qtbase , libpng, libtiff, libusb1, lz4, xz, lzo, openblas, pkg-config, qtbase
, qtmultimedia, qtscript, lib, stdenv, superlu, wrapQtAppsHook, }: , qtmultimedia, qtscript, lib, stdenv, superlu, wrapQtAppsHook, }:
let source = import ./source.nix { inherit fetchFromGitHub; }; let source = import ./source.nix { inherit fetchFromGitHub; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
libtiff libtiff
libusb1 libusb1
lz4 lz4
lzma xz
lzo lzo
openblas openblas
qtbase qtbase

View file

@ -1,9 +1,10 @@
{ lib, stdenv }: { lib, stdenv }:
{ paths }: { paths, disabledDefaultBackends ? [] }:
with lib; with lib;
let installSanePath = path: '' let
installSanePath = path: ''
if [ -e "${path}/lib/sane" ]; then if [ -e "${path}/lib/sane" ]; then
find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do
symlink "$backend" "$out/lib/sane/$(basename "$backend")" symlink "$backend" "$out/lib/sane/$(basename "$backend")"
@ -27,6 +28,10 @@ let installSanePath = path: ''
done done
fi fi
''; '';
disableBackend = backend: ''
grep -q '${backend}' $out/etc/sane.d/dll.conf || { echo '${backend} is not a default plugin in $SANE_CONFIG_DIR/dll.conf'; exit 1; }
substituteInPlace $out/etc/sane.d/dll.conf --replace '${backend}' '# ${backend} disabled in nixos config'
'';
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "sane-config"; name = "sane-config";
@ -42,5 +47,7 @@ stdenv.mkDerivation {
} }
mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane mkdir -p $out/etc/sane.d $out/etc/sane.d/dll.d $out/lib/sane
'' + concatMapStrings installSanePath paths; ''
+ (concatMapStrings installSanePath paths)
+ (concatMapStrings disableBackend disabledDefaultBackends);
} }

View file

@ -2,8 +2,8 @@
mkDerivation, lib, kdepimTeam, mkDerivation, lib, kdepimTeam,
extra-cmake-modules, shared-mime-info, qtbase, accounts-qt, extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons, boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mysql, qttools, kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools,
signond, lzma, signond, xz,
}: }:
mkDerivation { mkDerivation {
@ -21,15 +21,15 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules shared-mime-info ]; nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
buildInputs = [ buildInputs = [
kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin kaccounts-integration kcompletion kconfigwidgets kcrash kdbusaddons kdesignerplugin
ki18n kiconthemes kio kwindowsystem lzma accounts-qt qttools signond ki18n kiconthemes kio kwindowsystem xz accounts-qt qttools signond
]; ];
propagatedBuildInputs = [ boost kitemmodels ]; propagatedBuildInputs = [ boost kitemmodels ];
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
CXXFLAGS = [ CXXFLAGS = [
''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mysql}/bin/mysqld\"'' ''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mariadb}/bin/mysqld\"''
''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mysql}/bin/mysqladmin\"'' ''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mariadb}/bin/mysqladmin\"''
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"'' ''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mariadb}/bin/mysql_install_db\"''
''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"'' ''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mariadb}/bin/mysqlcheck\"''
''-DNIXPKGS_POSTGRES_PG_CTL=\"\"'' ''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"'' ''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"''
''-DNIXPKGS_POSTGRES_INITDB=\"\"'' ''-DNIXPKGS_POSTGRES_INITDB=\"\"''

View file

@ -12,7 +12,7 @@
, at-spi2-atk , at-spi2-atk
, gnutar , gnutar
, atomEnv , atomEnv
, kerberos , libkrb5
}: }:
# from justinwoo/azuredatastudio-nix # from justinwoo/azuredatastudio-nix
@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
at-spi2-core at-spi2-core
at-spi2-atk at-spi2-atk
stdenv.cc.cc.lib stdenv.cc.cc.lib
kerberos libkrb5
] ]
) )
targetPath targetPath

View file

@ -1,12 +1,12 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper { stdenv, lib, fetchFromGitHub, makeWrapper
, curl, python3, bind, iproute, bc, gitMinimal }: , curl, python3, bind, iproute2, bc, gitMinimal }:
let let
version = "1.23.0"; version = "1.23.0";
deps = lib.makeBinPath [ deps = lib.makeBinPath [
curl curl
python3 python3
bind.dnsutils bind.dnsutils
iproute iproute2
bc bc
gitMinimal gitMinimal
]; ];

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages }: { lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages, libspnav }:
let let
@ -6,13 +6,13 @@ let
octoprint = stdenv.mkDerivation rec { octoprint = stdenv.mkDerivation rec {
pname = "Cura-OctoPrintPlugin"; pname = "Cura-OctoPrintPlugin";
version = "3.5.16"; version = "3.5.18";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "fieldOfView"; owner = "fieldOfView";
repo = pname; repo = pname;
rev = "8affa8aa9796cb37129d3b7222fff03f86c936cd"; rev = "7bd73946fbf22d18337dc900a81a011ece26bee0";
sha256 = "0l4qfcashkdmpdm8nm3klz6hmi1f0bmbpb9b1yn4mvg0fam6c5xi"; sha256 = "057b2f5f49p96lkh2wsr9w6yh2003x4a85irqsgbzp6igmk8imdn";
}; };
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
@ -32,6 +32,35 @@ let
}; };
}; };
rawmouse = stdenv.mkDerivation rec {
pname = "RawMouse";
version = "1.0.13";
src = fetchFromGitHub {
owner = "smartavionics";
repo = pname;
rev = version;
sha256 = "1cj40pgsfcwliz47mkiqjbslkwcm34qb1pajc2mcljgflcnickly";
};
buildPhase = ''
substituteInPlace RawMouse/config.json --replace \
/usr/local/lib/libspnav.so ${libspnav}/lib/libspnav.so
'';
installPhase = ''
mkdir -p $out/lib/cura/plugins/RawMouse
cp -rv . $out/lib/cura/plugins/RawMouse/
'';
meta = with lib; {
description = "Cura plugin for HID mice such as 3Dconnexion spacemouse";
homepage = "https://github.com/smartavionics/RawMouse";
license = licenses.agpl3Plus;
maintainers = with maintainers; [ gebner ];
};
};
}; };
in self in self

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "dbeaver-ce"; pname = "dbeaver-ce";
version = "21.0.1"; # When updating also update fetchedMavenDeps.sha256 version = "21.0.2"; # When updating also update fetchedMavenDeps.sha256
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dbeaver"; owner = "dbeaver";
repo = "dbeaver"; repo = "dbeaver";
rev = version; rev = version;
sha256 = "sha256-9l8604STqmdoUjD+EJCp4aDk4juKsPCmFnD/WYpajxo="; sha256 = "sha256-3EMSiEq1wdg4dxBU90RVVv0Hrf5dXPc1MPI0+WMk48k=";
}; };
fetchedMavenDeps = stdenv.mkDerivation { fetchedMavenDeps = stdenv.mkDerivation {

View file

@ -1,7 +1,7 @@
{ lib, fetchFromGitHub, fetchpatch, mkDerivation { lib, fetchFromGitHub, fetchpatch, mkDerivation
, qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools , qtbase, qtsvg, qtserialport, qtwebengine, qtmultimedia, qttools
, qtconnectivity, qtcharts, libusb-compat-0_1 , qtconnectivity, qtcharts, libusb-compat-0_1
, yacc, flex, zlib, qmake, makeDesktopItem, makeWrapper , bison, flex, zlib, qmake, makeDesktopItem, makeWrapper
}: }:
let let
@ -29,7 +29,7 @@ in mkDerivation rec {
qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib qtbase qtsvg qtserialport qtwebengine qtmultimedia qttools zlib
qtconnectivity qtcharts libusb-compat-0_1 qtconnectivity qtcharts libusb-compat-0_1
]; ];
nativeBuildInputs = [ flex makeWrapper qmake yacc ]; nativeBuildInputs = [ flex makeWrapper qmake bison ];
patches = [ patches = [
# allow building with bison 3.7 # allow building with bison 3.7

View file

@ -1,11 +1,11 @@
{ lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, libmediainfo, zlib }: { lib, stdenv, fetchurl, autoreconfHook, pkg-config, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "20.09"; version = "21.03";
pname = "mediainfo"; pname = "mediainfo";
src = fetchurl { src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz"; url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "0rqg9z7s5bk7vlvjrs4gackzg7ib05a0dffi2ihsjf5a7kw7wcir"; sha256 = "07h2a1lbw5ak6c9bcn8qydchl0wpgk945rf9sfcqjyv05h5wll6y";
}; };
nativeBuildInputs = [ autoreconfHook pkg-config ]; nativeBuildInputs = [ autoreconfHook pkg-config ];

View file

@ -2,14 +2,14 @@
buildGoPackage rec { buildGoPackage rec {
pname = "mob"; pname = "mob";
version = "1.3.0"; version = "1.4.0";
goPackagePath = "github.com/remotemobprogramming/mob"; goPackagePath = "github.com/remotemobprogramming/mob";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "remotemobprogramming"; owner = "remotemobprogramming";
repo = pname; repo = pname;
sha256 = "sha256-uzWr6wWO6niocJ8yLc1Uu9Wt/FXlCuQrC0RJkgVlphM="; sha256 = "sha256-JiTRTH8ai27H1xySyKTWiu/MG0C61Tz+hVI6tkSRp+k=";
}; };
meta = with lib; { meta = with lib; {

View file

@ -1,11 +1,27 @@
{ stdenv, lib, fetchurl, fetchpatch, pkg-config, freetype, harfbuzz, openjpeg { stdenv
, jbig2dec, libjpeg , darwin , lib
, fetchurl
, fetchpatch
, pkg-config
, freetype
, harfbuzz
, openjpeg
, jbig2dec
, libjpeg
, darwin
, gumbo , gumbo
, enableX11 ? true, libX11, libXext, libXi, libXrandr , enableX11 ? true
, enableCurl ? true, curl, openssl , libX11
, enableGL ? true, freeglut, libGLU , libXext
, libXi
, libXrandr
, enableCurl ? true
, curl
, openssl
, enableGL ? true
, freeglut
, libGLU
}: }:
let let
# OpenJPEG version is hardcoded in package source # OpenJPEG version is hardcoded in package source
@ -13,7 +29,8 @@ let
lib.versions.majorMinor (lib.getVersion openjpeg); lib.versions.majorMinor (lib.getVersion openjpeg);
in stdenv.mkDerivation rec { in
stdenv.mkDerivation rec {
version = "1.18.0"; version = "1.18.0";
pname = "mupdf"; pname = "mupdf";
@ -52,17 +69,21 @@ in stdenv.mkDerivation rec {
# Use shared libraries to decrease size # Use shared libraries to decrease size
buildFlags = [ "shared" ]; buildFlags = [ "shared" ];
makeFlags = [ "prefix=$(out) USE_SYSTEM_LIBS=yes" ]; makeFlags = [ "prefix=$(out)" "USE_SYSTEM_LIBS=yes" ]
++ lib.optionals (!enableX11) [ "HAVE_X11=no" ]
++ lib.optionals (!enableGL) [ "HAVE_GLUT=no" ];
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg freeglut libGLU gumbo ] buildInputs = [ freetype harfbuzz openjpeg jbig2dec libjpeg gumbo ]
++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ] ++ lib.optionals enableX11 [ libX11 libXext libXi libXrandr ]
++ lib.optionals enableCurl [ curl openssl ] ++ lib.optionals enableCurl [ curl openssl ]
++ lib.optionals enableGL ( ++ lib.optionals enableGL (
if stdenv.isDarwin then if stdenv.isDarwin then
with darwin.apple_sdk.frameworks; [ GLUT OpenGL ] with darwin.apple_sdk.frameworks; [ GLUT OpenGL ]
else else
[ freeglut libGLU ]) [ freeglut libGLU ]
; )
;
outputs = [ "bin" "dev" "out" "man" "doc" ]; outputs = [ "bin" "dev" "out" "man" "doc" ];
preConfigure = '' preConfigure = ''
@ -85,6 +106,7 @@ in stdenv.mkDerivation rec {
EOF EOF
moveToOutput "bin" "$bin" moveToOutput "bin" "$bin"
'' + lib.optionalString enableX11 ''
ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf" ln -s "$bin/bin/mupdf-x11" "$bin/bin/mupdf"
mkdir -p $bin/share/applications mkdir -p $bin/share/applications
cat > $bin/share/applications/mupdf.desktop <<EOF cat > $bin/share/applications/mupdf.desktop <<EOF

View file

@ -0,0 +1,86 @@
# This file contains all runtime glue: Bindings to optional runtime dependencies
# for pdfSupport, presentationSupport, and media playback.
{ lib, mkDerivation, wrapGAppsHook, python3Packages
# qt deps
, qtbase, qtmultimedia
# optional deps
, pdfSupport ? false, mupdf # alternatively could use ghostscript
, presentationSupport ? false, libreoffice-unwrapped
, vlcSupport ? false
, gstreamerSupport ? false, gst_all_1, gstPlugins ? (gst: [
gst.gst-plugins-base
gst.gst-plugins-good
gst.gst-plugins-bad
gst.gst-plugins-ugly
])
#, enableMySql ? false # Untested. If interested, contact maintainer.
#, enablePostgreSql ? false # Untested. If interested, contact maintainer.
#, enableJenkinsApi ? false # Untested. If interested, contact maintainer.
}:
let p = gstPlugins gst_all_1;
# If gstreamer is activated but no plugins are given, it will at runtime
# create the false illusion of being usable.
in assert gstreamerSupport -> (builtins.isList p && builtins.length p > 0);
let
# optional packages
libreofficePath = "${libreoffice-unwrapped}/lib/libreoffice/program";
# lib functions
inherit (lib.lists) optional optionals;
wrapSetVar = var: ''--set ${var} "''$${var}"'';
# base pkg/lib
baseLib = python3Packages.callPackage ./lib.nix { };
in mkDerivation {
inherit (baseLib) pname version src;
nativeBuildInputs = [ python3Packages.wrapPython wrapGAppsHook ];
buildInputs = [ qtbase ] ++ optionals gstreamerSupport
([ qtmultimedia.bin gst_all_1.gstreamer ] ++ gstPlugins gst_all_1);
propagatedBuildInputs = optional pdfSupport mupdf
++ optional presentationSupport libreoffice-unwrapped;
pythonPath = [ baseLib ] ++ optional vlcSupport python3Packages.python-vlc;
# ++ optional enableMySql mysql-connector # Untested. If interested, contact maintainer.
# ++ optional enablePostgreSql psycopg2 # Untested. If interested, contact maintainer.
# ++ optional enableJenkinsApi jenkinsapi # Untested. If interested, contact maintainer.
PYTHONPATH = libreofficePath;
URE_BOOTSTRAP = "vnd.sun.star.pathname:${libreofficePath}/fundamentalrc";
UNO_PATH = libreofficePath;
LD_LIBRARY_PATH = libreofficePath;
JAVA_HOME = "${libreoffice-unwrapped.jdk.home}";
dontWrapQtApps = true;
dontWrapGApps = true;
# defined in gappsWrapperHook
wrapPrefixVariables = optionals presentationSupport
[ "PYTHONPATH" "LD_LIBRARY_PATH" "JAVA_HOME" ];
makeWrapperArgs = [
"\${gappsWrapperArgs[@]}"
"\${qtWrapperArgs[@]}"
] ++ optionals presentationSupport
([ "--prefix PATH : ${libreoffice-unwrapped}/bin" ]
++ map wrapSetVar [ "URE_BOOTSTRAP" "UNO_PATH" ]);
installPhase = ''
install -D openlp.py $out/bin/openlp
'';
preFixup = ''
wrapPythonPrograms
'';
meta = baseLib.meta // {
hydraPlatforms = [ ]; # this is only the wrapper; baseLib gets built
};
passthru = {
inherit baseLib;
};
}

View file

@ -0,0 +1,103 @@
# This file contains the base package, some of which is compiled.
# Runtime glue to optinal runtime dependencies is in 'default.nix'.
{ fetchurl, lib, qt5
# python deps
, python, buildPythonPackage
, alembic, beautifulsoup4, chardet, lxml, Mako, pyenchant
, pyqt5_with_qtwebkit, pyxdg, sip, sqlalchemy, sqlalchemy_migrate
}:
buildPythonPackage rec {
pname = "openlp";
version = "2.4.6";
src = fetchurl {
url = "https://get.openlp.org/${version}/OpenLP-${version}.tar.gz";
sha256 = "f63dcf5f1f8a8199bf55e806b44066ad920d26c9cf67ae432eb8cdd1e761fc30";
};
doCheck = false;
# FIXME: checks must be disabled because they are lacking the qt env.
# They fail like this, even if built and wrapped with all Qt and
# runtime dependencies:
#
# running install tests
# qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
# This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
#
# Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.
#
# See also https://discourse.nixos.org/t/qt-plugin-path-unset-in-test-phase/
#checkInputs = [ mock nose ];
nativeBuildInputs = [ qt5.qttools ];
propagatedBuildInputs = [
alembic
beautifulsoup4
chardet
lxml
Mako
pyenchant
pyqt5_with_qtwebkit
pyxdg
sip
sqlalchemy
sqlalchemy_migrate
];
prePatch = ''
echo 'from vlc import *' > openlp/core/ui/media/vendor/vlc.py
'';
dontWrapQtApps = true;
dontWrapGApps = true;
postInstall = ''
( # use subshell because of cd
tdestdir="$out/i18n"
mkdir -p "$tdestdir"
cd ./resources/i18n
for file in *.ts; do
lconvert -i "$file" -o "$tdestdir/''${file%%ts}qm"
done
)
'';
preFixup = ''
rm -r $out/${python.sitePackages}/tests
rm -r $out/bin
'';
meta = with lib; {
description = "Free church presentation software";
homepage = "https://openlp.org/";
downloadPage = "https://openlp.org/#downloads";
platforms = platforms.unix;
license = licenses.gpl2Only;
maintainers = [ maintainers.jorsn ];
longDescription = ''
OpenLP is a free church presentation software.
Features:
* Cross platform between Linux, Windows, OS X and FreeBSD
* Display songs, Bible verses, presentations, images, audio and video
* Control OpenLP remotely via the Android remote, iOS remote or mobile web browser
* Quickly and easily import songs from other popular presentation packages
* Easy enough to use to get up and running in less than 10 minutes
Remark: This pkg only supports sqlite dbs. If you wish to have support for
mysql or postgresql dbs, or Jenkins, please contact the maintainer.
Bugs which affect this software packaged in Nixpkgs:
1. The package must disable checks, because they are lacking the qt env.
(see pkg source and https://discourse.nixos.org/t/qt-plugin-path-unset-in-test-phase/)
2. There is a segfault on exit. Not a real problem, according to debug log, everything
shuts down correctly. Maybe related to https://forums.openlp.org/discussion/3620/crash-on-exit.
Plan: Wait for OpenLP-3, since it is already in beta 1
(2021-02-09; news: https://openlp.org/blog/).
'';
};
}

View file

@ -0,0 +1,25 @@
{ buildGoModule, fetchFromSourcehut, lib }:
buildGoModule rec {
pname = "openring";
version = "unstable-2021-04-03";
src = fetchFromSourcehut {
owner = "~sircmpwn";
repo = pname;
rev = "f13edb5dfd882ce608d61cf6b6740650ce9d84a3";
sha256 = "sha256-Z65V77JZ9jCzBg7T2+d5Agxxd+MV2R7nYcLedYP5eOE=";
};
vendorSha256 = "sha256-BbBTmkGyLrIWphXC+dBaHaVzHuXRZ+4N/Jt2k3nF7Z4=";
# The package has no tests.
doCheck = false;
meta = with lib; {
description = "A webring for static site generators";
homepage = "https://git.sr.ht/~sircmpwn/openring";
license = licenses.gpl3Only;
maintainers = with maintainers; [ sumnerevans ];
};
}

View file

@ -4,7 +4,7 @@
, makeWrapper , makeWrapper
, pkg-config , pkg-config
, which , which
, yacc , bison
, gnuplot , gnuplot
, libxls , libxls
, libxml2 , libxml2
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
makeWrapper makeWrapper
pkg-config pkg-config
which which
yacc bison
]; ];
buildInputs = [ buildInputs = [

View file

@ -1,29 +1,30 @@
{ lib { lib
, fetchurl , fetchurl
, mkDerivation , mkDerivation
, libkcddb
, kinit
, kdelibs4support
, solid
, kxmlgui
, karchive
, kfilemetadata
, khtml
, knewstuff
, libksane
, cmake , cmake
, exempi , exempi
, extra-cmake-modules , extra-cmake-modules
, libcdio , karchive
, poppler
, makeWrapper
, kdoctools , kdoctools
, kfilemetadata
, khtml
, kitemmodels
, knewstuff
, kxmlgui
, libcdio
, libkcddb
, libksane
, makeWrapper
, poppler
, qtcharts
, qtwebengine
, solid
, taglib , taglib
}: }:
mkDerivation rec { mkDerivation rec {
name = "tellico"; pname = "tellico";
version = "3.3.3"; version = "3.4";
src = fetchurl { src = fetchurl {
# version 3.3.0 just uses 3.3 in its name # version 3.3.0 just uses 3.3 in its name
@ -31,7 +32,7 @@ mkDerivation rec {
"https://tellico-project.org/files/tellico-${version}.tar.xz" "https://tellico-project.org/files/tellico-${version}.tar.xz"
"https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz" "https://tellico-project.org/files/tellico-${lib.versions.majorMinor version}.tar.xz"
]; ];
sha256 = "sha256-9cdbUTa2Mt3/yNylOSdGjgDETD74sR0dU4C58uW0Y6o="; sha256 = "sha256-YXMJrAkfehe3ox4WZ19igyFbXwtjO5wxN3bmgP01jPs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -43,17 +44,18 @@ mkDerivation rec {
buildInputs = [ buildInputs = [
exempi exempi
extra-cmake-modules
karchive karchive
libkcddb
kdelibs4support
kfilemetadata kfilemetadata
khtml khtml
kitemmodels
knewstuff knewstuff
kxmlgui kxmlgui
libcdio libcdio
libkcddb
libksane libksane
poppler poppler
qtcharts
qtwebengine
solid solid
taglib taglib
]; ];

View file

@ -17,7 +17,7 @@
, glib , glib
, gtk3 , gtk3
, icu , icu
, iproute , iproute2
, krb5 , krb5
, lib , lib
, mesa , mesa
@ -169,7 +169,7 @@ stdenv.mkDerivation rec {
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "$ORIGIN:$out/opt/appgate/service/:$out/opt/appgate/:${rpath}" $binary patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "$ORIGIN:$out/opt/appgate/service/:$out/opt/appgate/:${rpath}" $binary
done done
wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${lib.makeBinPath [ iproute networkmanager dnsmasq ]} wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${lib.makeBinPath [ iproute2 networkmanager dnsmasq ]}
wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH
''; '';
meta = with lib; { meta = with lib; {

View file

@ -8,7 +8,7 @@
, libusb1, pciutils, nss, re2 , libusb1, pciutils, nss, re2
, python2Packages, perl, pkg-config , python2Packages, perl, pkg-config
, nspr, systemd, kerberos , nspr, systemd, libkrb5
, util-linux, alsaLib , util-linux, alsaLib
, bison, gperf , bison, gperf
, glib, gtk3, dbus-glib , glib, gtk3, dbus-glib
@ -135,7 +135,7 @@ let
buildInputs = defaultDependencies ++ [ buildInputs = defaultDependencies ++ [
nspr nss systemd nspr nss systemd
util-linux alsaLib util-linux alsaLib
bison gperf kerberos bison gperf libkrb5
glib gtk3 dbus-glib glib gtk3 dbus-glib
libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL libXScrnSaver libXcursor libXtst libxshmfence libGLU libGL
pciutils protobuf speechd libXdamage at-spi2-core pciutils protobuf speechd libXdamage at-spi2-core

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, xlibsWrapper, bzip2, zlib { lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, xlibsWrapper, bzip2, zlib
, brotli, zstd, lzma, openssl, autoreconfHook, gettext, pkg-config, libev , brotli, zstd, xz, openssl, autoreconfHook, gettext, pkg-config, libev
, gpm, libidn, tre, expat , gpm, libidn, tre, expat
, # Incompatible licenses, LGPLv3 - GPLv2 , # Incompatible licenses, LGPLv3 - GPLv2
enableGuile ? false, guile ? null enableGuile ? false, guile ? null
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
ncurses xlibsWrapper bzip2 zlib brotli zstd lzma ncurses xlibsWrapper bzip2 zlib brotli zstd xz
openssl libidn tre expat libev openssl libidn tre expat libev
] ]
++ lib.optional stdenv.isLinux gpm ++ lib.optional stdenv.isLinux gpm

View file

@ -13,7 +13,7 @@
, glibc , glibc
, gtk2 , gtk2
, gtk3 , gtk3
, kerberos , libkrb5
, libX11 , libX11
, libXScrnSaver , libXScrnSaver
, libxcb , libxcb
@ -106,7 +106,7 @@ stdenv.mkDerivation {
glibc glibc
gtk2 gtk2
gtk3 gtk3
kerberos libkrb5
mesa mesa
libX11 libX11
libXScrnSaver libXScrnSaver

View file

@ -24,7 +24,7 @@
, gtk3Support ? true, gtk2, gtk3, wrapGAppsHook , gtk3Support ? true, gtk2, gtk3, wrapGAppsHook
, waylandSupport ? true, libxkbcommon , waylandSupport ? true, libxkbcommon
, ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages , ltoSupport ? (stdenv.isLinux && stdenv.is64bit), overrideCC, buildPackages
, gssSupport ? true, kerberos , gssSupport ? true, libkrb5
, pipewireSupport ? waylandSupport && webrtcSupport, pipewire , pipewireSupport ? waylandSupport && webrtcSupport, pipewire
## privacy-related options ## privacy-related options
@ -174,7 +174,7 @@ buildStdenv.mkDerivation ({
++ lib.optional alsaSupport alsaLib ++ lib.optional alsaSupport alsaLib
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed ++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
++ lib.optional gtk3Support gtk3 ++ lib.optional gtk3Support gtk3
++ lib.optional gssSupport kerberos ++ lib.optional gssSupport libkrb5
++ lib.optional waylandSupport libxkbcommon ++ lib.optional waylandSupport libxkbcommon
++ lib.optional pipewireSupport pipewire ++ lib.optional pipewireSupport pipewire
++ lib.optional (lib.versionAtLeast ffversion "82") gnum4 ++ lib.optional (lib.versionAtLeast ffversion "82") gnum4

View file

@ -8,7 +8,7 @@
, tridactyl-native , tridactyl-native
, fx_cast_bridge , fx_cast_bridge
, udev , udev
, kerberos , libkrb5
, libva , libva
, mesa # firefox wants gbm for drm+dmabuf , mesa # firefox wants gbm for drm+dmabuf
}: }:
@ -65,7 +65,7 @@ let
libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver ] libs = lib.optionals stdenv.isLinux [ udev libva mesa libnotify xorg.libXScrnSaver ]
++ lib.optional (pipewireSupport && lib.versionAtLeast version "83") pipewire ++ lib.optional (pipewireSupport && lib.versionAtLeast version "83") pipewire
++ lib.optional ffmpegSupport ffmpeg ++ lib.optional ffmpegSupport ffmpeg
++ lib.optional gssSupport kerberos ++ lib.optional gssSupport libkrb5
++ lib.optional useGlvnd libglvnd ++ lib.optional useGlvnd libglvnd
++ lib.optionals (cfg.enableQuakeLive or false) ++ lib.optionals (cfg.enableQuakeLive or false)
(with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ]) (with xorg; [ stdenv.cc libX11 libXxf86dga libXxf86vm libXext libXt alsaLib zlib ])

View file

@ -5,7 +5,7 @@
, libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb , libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb
, alsaLib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups , alsaLib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups
, dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core , dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core
, kerberos, libdrm, mesa , libkrb5, libdrm, mesa
, libxkbcommon, wayland # ozone/wayland , libxkbcommon, wayland # ozone/wayland
# Command line programs # Command line programs
@ -66,7 +66,7 @@ let
liberation_ttf curl util-linux xdg-utils wget liberation_ttf curl util-linux xdg-utils wget
flac harfbuzz icu libpng opusWithCustomModes snappy speechd flac harfbuzz icu libpng opusWithCustomModes snappy speechd
bzip2 libcap at-spi2-atk at-spi2-core bzip2 libcap at-spi2-atk at-spi2-core
kerberos libdrm mesa coreutils libkrb5 libdrm mesa coreutils
libxkbcommon wayland libxkbcommon wayland
] ++ optional pulseSupport libpulseaudio ] ++ optional pulseSupport libpulseaudio
++ optional libvaSupport libva ++ optional libvaSupport libva

View file

@ -3,7 +3,7 @@
, makeWrapper , makeWrapper
, socat , socat
, iptables , iptables
, iproute , iproute2
, bridge-utils , bridge-utils
, conntrack-tools , conntrack-tools
, buildGoPackage , buildGoPackage
@ -240,7 +240,7 @@ stdenv.mkDerivation rec {
kmod kmod
socat socat
iptables iptables
iproute iproute2
bridge-utils bridge-utils
ethtool ethtool
util-linux util-linux

View file

@ -1,5 +1,5 @@
{ lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, util-linux { lib, fetchFromGitHub, buildGoPackage, which, go-bindata, rsync, util-linux
, coreutils, kerberos, ncurses, clang, installShellFiles , coreutils, libkrb5, ncurses, clang, installShellFiles
, components ? [ , components ? [
"cmd/oc" "cmd/oc"
"cmd/openshift" "cmd/openshift"
@ -33,7 +33,7 @@ in buildGoPackage rec {
goPackagePath = "github.com/openshift/origin"; goPackagePath = "github.com/openshift/origin";
buildInputs = [ kerberos ncurses ]; buildInputs = [ libkrb5 ncurses ];
nativeBuildInputs = [ which rsync go-bindata clang installShellFiles ]; nativeBuildInputs = [ which rsync go-bindata clang installShellFiles ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "qbec"; pname = "qbec";
version = "0.14.1"; version = "0.14.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "splunk"; owner = "splunk";
repo = "qbec"; repo = "qbec";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-+CzY/ifH+U3I36uHXyO2FSkPCz+SWRpSPnxfd2LHHhY="; sha256 = "sha256-F5xnW9069Xrl6isvmeYtfTZUZSiSq47HLs5/p3HCf6E=";
}; };
vendorSha256 = "sha256-wtpXqIixjRYYSIPe43Q5627g6mu05WdvwCi9cXVgCBs="; vendorSha256 = "sha256-wtpXqIixjRYYSIPe43Q5627g6mu05WdvwCi9cXVgCBs=";

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "velero"; pname = "velero";
version = "1.5.3"; version = "1.5.4";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "vmware-tanzu"; owner = "vmware-tanzu";
repo = "velero"; repo = "velero";
sha256 = "sha256-DZ6phJxc8n9LCSsER09K3j+pUJxkYrBZQaI4h+bcV94="; sha256 = "sha256-YHBqIM3NV2L13w9WCzldUWmdBMec7ZndzYgGHblS8Dg=";
}; };
buildFlagsArray = '' buildFlagsArray = ''

View file

@ -1,5 +1,5 @@
{ autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, libctemplate, libmaxminddb { autoconf, automake, boost, cbor-diag, cddl, fetchFromGitHub, file, libctemplate, libmaxminddb
, libpcap, libtins, libtool, lzma, openssl, pkg-config, lib, stdenv, tcpdump, wireshark-cli , libpcap, libtins, libtool, xz, openssl, pkg-config, lib, stdenv, tcpdump, wireshark-cli
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
libpcap libpcap
openssl openssl
libtins libtins
lzma xz
libctemplate libctemplate
libmaxminddb libmaxminddb
]; ];

View file

@ -1,5 +1,5 @@
{ stdenv, lib, fetchFromGitHub, pkgs { stdenv, lib, fetchFromGitHub, pkgs
, autoconf, automake, curl, iprange, iproute, ipset, iptables, iputils , autoconf, automake, curl, iprange, iproute2, ipset, iptables, iputils
, kmod, nettools, procps, tcpdump, traceroute, util-linux, whois , kmod, nettools, procps, tcpdump, traceroute, util-linux, whois
# If true, just install FireQOS without FireHOL # If true, just install FireQOS without FireHOL
@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoconf automake ]; nativeBuildInputs = [ autoconf automake ];
buildInputs = [ buildInputs = [
curl iprange iproute ipset iptables iputils kmod curl iprange iproute2 ipset iptables iputils kmod
nettools procps tcpdump traceroute util-linux whois nettools procps tcpdump traceroute util-linux whois
]; ];

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, fetchpatch, cmake, openssl, libedit, flex, bison, qt4, makeWrapper { lib, stdenv, fetchurl, fetchpatch, cmake, openssl, libedit, flex, bison, qt4, makeWrapper
, gcc, nettools, iproute, linuxHeaders }: , gcc, nettools, iproute2, linuxHeaders }:
# NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp"; # NOTE: use $out/etc/iked.conf as sample configuration and also set: dhcp_file "/etc/iked.dhcp";
# launch with "iked -f /etc/iked.conf" # launch with "iked -f /etc/iked.conf"
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
]; ];
nativeBuildInputs = [ cmake flex bison makeWrapper ]; nativeBuildInputs = [ cmake flex bison makeWrapper ];
buildInputs = [ openssl libedit qt4 nettools iproute ]; buildInputs = [ openssl libedit qt4 nettools iproute2 ];
postPatch = '' postPatch = ''
# fix build with bison3 # fix build with bison3

View file

@ -1,6 +1,6 @@
{ mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja { mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja
, qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft , qtbase, qtimageformats, libdbusmenu, hunspell, xdg-utils, ffmpeg_3, openalSoft
, lzma, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected , xz, lz4, xxHash, zlib, minizip, openssl, libtgvoip, microsoft_gsl, tl-expected
, range-v3 , range-v3
}: }:
@ -21,7 +21,7 @@ mkDerivation rec {
nativeBuildInputs = [ pkg-config python3 cmake ninja ]; nativeBuildInputs = [ pkg-config python3 cmake ninja ];
buildInputs = [ buildInputs = [
qtbase qtimageformats ffmpeg_3 openalSoft lzma lz4 xxHash libdbusmenu qtbase qtimageformats ffmpeg_3 openalSoft xz lz4 xxHash libdbusmenu
zlib minizip openssl hunspell libtgvoip microsoft_gsl tl-expected range-v3 zlib minizip openssl hunspell libtgvoip microsoft_gsl tl-expected range-v3
]; ];

View file

@ -29,11 +29,11 @@
assert pulseaudioSupport -> libpulseaudio != null; assert pulseaudioSupport -> libpulseaudio != null;
let let
version = "5.5.7938.0228"; version = "5.6.13632.0328";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz"; url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
sha256 = "KM8o2tgIn0lecOM4gKdTOdk/zsohlFqtNX+ca/S6FGY="; sha256 = "0nskpg3rbv40jcbih95sfdr0kfv5hjv50z9jdz1cddl8v7hbqg71";
}; };
}; };

View file

@ -1,4 +1,4 @@
{lib, stdenv, fetchurl, ncurses, tcl, openssl, pam, kerberos {lib, stdenv, fetchurl, ncurses, tcl, openssl, pam, libkrb5
, openldap , openldap
}: }:
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
ncurses tcl openssl pam kerberos openldap ncurses tcl openssl pam libkrb5 openldap
]; ];
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View file

@ -4,7 +4,7 @@
, cyrus_sasl ? null , cyrus_sasl ? null
, gnupg ? null , gnupg ? null
, gpgme ? null , gpgme ? null
, kerberos ? null , libkrb5 ? null
, headerCache ? true , headerCache ? true
, sslSupport ? true , sslSupport ? true
, saslSupport ? true , saslSupport ? true
@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
[ ncurses which perl ] [ ncurses which perl ]
++ optional headerCache gdbm ++ optional headerCache gdbm
++ optional sslSupport openssl ++ optional sslSupport openssl
++ optional gssSupport kerberos ++ optional gssSupport libkrb5
++ optional saslSupport cyrus_sasl ++ optional saslSupport cyrus_sasl
++ optional gpgmeSupport gpgme; ++ optional gpgmeSupport gpgme;

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which { lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl , ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn, libxml2, notmuch, openssl
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib , lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib
}: }:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
}; };
buildInputs = [ buildInputs = [
cyrus_sasl gss gpgme kerberos libidn ncurses cyrus_sasl gss gpgme libkrb5 libidn ncurses
notmuch openssl perl lmdb notmuch openssl perl lmdb
mailcap sqlite mailcap sqlite
]; ];

View file

@ -16,7 +16,7 @@
, glibc , glibc
, gtk2 , gtk2
, gtk3 , gtk3
, kerberos , libkrb5
, libX11 , libX11
, libXScrnSaver , libXScrnSaver
, libXcomposite , libXcomposite
@ -94,7 +94,7 @@ stdenv.mkDerivation {
glibc glibc
gtk2 gtk2
gtk3 gtk3
kerberos libkrb5
libX11 libX11
libXScrnSaver libXScrnSaver
libXcomposite libXcomposite

View file

@ -20,7 +20,7 @@
, gpgme , gpgme
, gtk2 , gtk2
, gtk3 , gtk3
, kerberos , libkrb5
, libcanberra , libcanberra
, libGL , libGL
, libGLU , libGLU
@ -93,7 +93,7 @@ stdenv.mkDerivation {
glibc glibc
gtk2 gtk2
gtk3 gtk3
kerberos libkrb5
libX11 libX11
libXScrnSaver libXScrnSaver
libXcomposite libXcomposite

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