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
Agda can be installed from `agda`:
```
```ShellSession
$ 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:
```
```nix
agda.withPackages [ agdaPackages.standard-library ]
```
or
```
```nix
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:
* Call `agda` with the library flag:
```
```ShellSession
$ 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:
@ -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.
This can be overridden by a different version of `ghc` as follows:
```
```nix
agda.withPackages {
pkgs = [ ... ];
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
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 }:
```
and `mkDerivation` should be called instead of `agdaPackages.mkDerivation`. Here is an example skeleton derivation for iowa-stdlib:
```
```nix
mkDerivation {
version = "1.5.0";
pname = "iowa-stdlib";

View file

@ -4,7 +4,7 @@
For local development, it's recommended to use nix-shell to create a dotnet environment:
```
```nix
# shell.nix
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`:
```
```nix
with import <nixpkgs> {};
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:
```
```ShellSesssion
$ dotnet --info
.NET Core SDK (reflecting any global.json):
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:
```
```ShellSesssion
$ # On NixOS
$ nix-env -i nixos.idris
$ # On non-NixOS
@ -21,7 +21,7 @@ self: super: {
And then:
```
```ShellSesssion
$ # On NixOS
$ nix-env -iA nixos.myIdris
$ # On non-NixOS
@ -29,7 +29,7 @@ $ nix-env -iA nixpkgs.myIdris
```
To see all available Idris packages:
```
```ShellSesssion
$ # On NixOS
$ nix-env -qaPA nixos.idrisPackages
$ # On non-NixOS
@ -37,7 +37,7 @@ $ nix-env -qaPA nixpkgs.idrisPackages
```
Similarly, entering a `nix-shell`:
```
```ShellSesssion
$ 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:
```
```ShellSesssion
$ nix-shell -p 'idrisPackages.with-packages (with idrisPackages; [ contrib pruviloj ])'
[nix-shell:~]$ idris -p contrib -p pruviloj
```
A listing of all available packages the Idris binary has access to is available via `--listlibs`:
```
```ShellSesssion
$ idris --listlibs
00prelude-idx.ibc
pruviloj
@ -105,7 +105,7 @@ build-idris-package {
Assuming this file is saved as `yaml.nix`, it's buildable using
```
```ShellSesssion
$ 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
```
```ShellSesssion
$ nix-build -A yaml
```
@ -133,7 +133,7 @@ Specifically, you can set `idrisBuildOptions`, `idrisTestOptions`, `idrisInstall
For example you could set
```
```nix
build-idris-package {
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
`PATH`, so if we then run:
```
```Python console
[nix-shell:~/src/nixpkgs]$ python3
Python 3.8.1 (default, Dec 18 2019, 19:06:26)
[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
installed into our user environment as a dependency of a Python application:
```
```Python console
>>> import requests
Traceback (most recent call last):
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
in the previous section, we could startup a shell and just run it like so:
```
nix-shell -p 'python38.withPackages(ps: with ps; [ numpy ])' --run 'python3 foo.py'
```ShellSesssion
$ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy ])' --run 'python3 foo.py'
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}
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}
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`.
```
```nix
{
# ...

View file

@ -2,13 +2,14 @@
To install the rust compiler and cargo put
```
rustc
cargo
```nix
environment.systemPackages = [
rustc
cargo
];
```
into the `environment.systemPackages` or bring them into
scope with `nix-shell -p rustc cargo`.
into your `configuration.nix` or bring them into scope with `nix-shell -p rustc cargo`.
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),
@ -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`:
```
```nix
{ lib, rustPlatform }:
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
used for [SRI](https://www.w3.org/TR/SRI/) hashes. For example:
```
```nix
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
`cargoSha256` as follows:
```
```nix
cargoSha256 = lib.fakeSha256;
```
For `cargoHash` you can use:
```
```nix
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
the `cargoPatches` attribute to update or add it.
```
```nix
rustPlatform.buildRustPackage rec {
(...)
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:
```
```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }:
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
following nix file:
```
```nix
# Generated by carnix 0.6.5: carnix -o hello.nix --src ./. Cargo.lock --standalone
{ stdenv, buildRustCrate, fetchgit }:
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
or build inputs by overriding the hello crate in a seperate file.
```
```nix
with import <nixpkgs> {};
((import ./hello.nix).hello {}).override {
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
patches the derivation:
```
```nix
with import <nixpkgs> {};
((import ./hello.nix).hello {}).override {
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
crate, we could do:
```
```nix
with import <nixpkgs> {};
((import hello.nix).hello {}).override {
crateOverrides = defaultCrateOverrides // {
@ -630,27 +631,27 @@ general. A number of other parameters can be overridden:
- The version of rustc used to compile the crate:
```
```nix
(hello {}).override { rust = pkgs.rust; };
```
- Whether to build in release mode or debug mode (release mode by
default):
```
```nix
(hello {}).override { release = false; };
```
- Whether to print the commands sent to rustc when building
(equivalent to `--verbose` in cargo:
```
```nix
(hello {}).override { verbose = false; };
```
- Extra arguments to be passed to `rustc`:
```
```nix
(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
before running the build script:
```
```nix
(hello {}).override {
preConfigure = ''
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
features, we would write:
```
```nix
(callPackage ./diesel.nix {}).diesel {
default = false;
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:
```
```nix
with import <nixpkgs> {};
stdenv.mkDerivation {
@ -721,7 +722,7 @@ stdenv.mkDerivation {
```
You should now be able to run the following:
```
```ShellSesssion
$ nix-shell --pure
$ cargo build
$ cargo test
@ -731,7 +732,7 @@ $ cargo test
To control your rust version (i.e. use nightly) from within `shell.nix` (or
other nix expressions) you can use the following `shell.nix`
```
```nix
# Latest Nightly
with import <nixpkgs> {};
let src = fetchFromGitHub {
@ -759,7 +760,7 @@ stdenv.mkDerivation {
```
Now run:
```
```ShellSession
$ rustc --version
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:
```
```nix
{ pkgs ? import <nixpkgs> {
overlays = [
(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:
```
```vim
"tlib"
{'name': 'vim-addon-sql'}
{'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 can add your Vim to your system's configuration file like this and start it by "vim-my":
```
```nix
my-vim =
let plugins = let inherit (vimUtils) buildVimPluginFrom2Nix; in {
copy paste output1 here
@ -217,7 +217,7 @@ my-vim =
Sample output1:
```
```nix
"reload" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
name = "reload";
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:
```
```nix
deoplete-fish = super.deoplete-fish.overrideAttrs(old: {
dependencies = with super; [ deoplete-nvim vim-fish ];
});

View file

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

View file

@ -698,6 +698,16 @@
githubId = 1078530;
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 = {
email = "aria@ar1as.space";
github = "ar1a";
@ -1300,6 +1310,12 @@
githubId = 50839;
name = "Brian Jones";
};
bootstrap-prime = {
email = "bootstrap.prime@gmail.com";
github = "bootstrap-prime";
githubId = 68566724;
name = "bootstrap-prime";
};
commandodev = {
email = "ben@perurbis.com";
github = "commandodev";
@ -2413,6 +2429,12 @@
githubId = 10913120;
name = "Dje4321";
};
djwf = {
email = "dave@weller-fahy.com";
github = "djwf";
githubId = 73162;
name = "David J. Weller-Fahy";
};
dkabot = {
email = "dkabot@dkabot.com";
github = "dkabot";
@ -2769,6 +2791,12 @@
githubId = 1753498;
name = "Dejan Lukan";
};
electrified = {
email = "ed@maidavale.org";
github = "electrified";
githubId = 103082;
name = "Ed Brindley";
};
elliottvillars = {
email = "elliottvillars@gmail.com";
github = "elliottvillars";
@ -3677,6 +3705,12 @@
githubId = 343415;
name = "Greg Roodt";
};
gschwartz = {
email = "gsch@pennmedicine.upenn.edu";
github = "GregorySchwartz";
githubId = 2490088;
name = "Gregory Schwartz";
};
gtrunsec = {
email = "gtrunsec@hardenedlinux.org";
github = "GTrunSec";
@ -5006,6 +5040,12 @@
githubId = 16481032;
name = "Kiba Fox";
};
kidd = {
email = "raimonster@gmail.com";
github = "kidd";
githubId = 25607;
name = "Raimon Grau";
};
kierdavis = {
email = "kierdavis@gmail.com";
github = "kierdavis";
@ -8675,6 +8715,12 @@
githubId = 19472270;
name = "Sebastian";
};
sebbadk = {
email = "sebastian@sebba.dk";
github = "SEbbaDK";
githubId = 1567527;
name = "Sebastian Hyberts";
};
sellout = {
email = "greg@technomadic.org";
github = "sellout";

View file

@ -591,8 +591,8 @@ in {
# password or an SSH authorized key. Privileged accounts are
# root and users in the wheel group.
assertion = !cfg.mutableUsers ->
any id ((mapAttrsToList (name: cfg:
(name == "root"
any id ((mapAttrsToList (_: cfg:
(cfg.name == "root"
|| cfg.group == "wheel"
|| elem "wheel" cfg.extraGroups)
&&
@ -613,16 +613,16 @@ in {
assertion = (user.hashedPassword != null)
-> (builtins.match ".*:.*" user.hashedPassword == null);
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
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 =
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]
# informal standard. Since this depends largely on the OS or the
# specific implementation of crypt(3) we only support the (sane)
@ -645,9 +645,9 @@ in {
&& user.hashedPassword != "" # login without password
&& builtins.match mcf user.hashedPassword == null)
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
check the value of option `users.users."${name}".hashedPassword`.''
check the value of option `users.users."${user.name}".hashedPassword`.''
else null
));

View file

@ -126,6 +126,7 @@
./programs/dconf.nix
./programs/digitalbitbox/default.nix
./programs/dmrconfig.nix
./programs/droidcam.nix
./programs/environment.nix
./programs/evince.nix
./programs/file-roller.nix
@ -233,6 +234,7 @@
./services/audio/alsa.nix
./services/audio/jack.nix
./services/audio/icecast.nix
./services/audio/jmusicbot.nix
./services/audio/liquidsoap.nix
./services/audio/mpd.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;
generatedPath = with pkgs; makeSearchPath "bin" [
iperf ethtool iproute socat
iperf ethtool iproute2 socat
];
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;
saneConfig = pkgs.mkSaneConfig { paths = backends; };
saneConfig = pkgs.mkSaneConfig { paths = backends; inherit (config.hardware.sane) disabledDefaultBackends; };
enabled = config.hardware.sane.enable || config.services.saned.enable;
@ -73,6 +73,16 @@ in
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 {
type = types.str;
internal = true;

View file

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

View file

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

View file

@ -1,55 +1,60 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.packagekit;
packagekitConf = ''
[Daemon]
DefaultBackend=${cfg.backend}
KeepCache=false
'';
inherit (lib)
mkEnableOption mkOption mkIf mkRemovedOptionModule types
listToAttrs recursiveUpdate;
vendorConf = ''
[PackagesNotFound]
DefaultUrl=https://github.com/NixOS/nixpkgs
CodecUrl=https://github.com/NixOS/nixpkgs
HardwareUrl=https://github.com/NixOS/nixpkgs
FontUrl=https://github.com/NixOS/nixpkgs
MimeUrl=https://github.com/NixOS/nixpkgs
'';
iniFmt = pkgs.formats.ini { };
confFiles = [
(iniFmt.generate "PackageKit.conf" (recursiveUpdate
{
Daemon = {
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
{
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 = {
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.
'';
settings = mkOption {
type = iniFmt.type;
default = { };
description = "Additional settings passed straight through to PackageKit.conf";
};
# TODO: integrate with PolicyKit if the nix backend matures to the point
# where it will require elevated permissions
backend = mkOption {
type = types.enum [ "test_nop" ];
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.
'';
};
vendorSettings = mkOption {
type = iniFmt.type;
default = { };
description = "Additional settings passed straight through to Vendor.conf";
};
};
@ -59,7 +64,9 @@ in
systemd.packages = with pkgs; [ packagekit ];
environment.etc."PackageKit/PackageKit.conf".text = packagekitConf;
environment.etc."PackageKit/Vendor.conf".text = vendorConf;
environment.etc = listToAttrs (map
(e:
lib.nameValuePair "PackageKit/${e.name}" { source = e; })
confFiles);
};
}

View file

@ -225,7 +225,7 @@ in {
};
};
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 = {
description = "Datadog Agent User";
@ -239,7 +239,7 @@ in {
systemd.services = let
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" ];
serviceConfig = {
User = "datadog";

View file

@ -25,6 +25,7 @@ let
"artifactory"
"bind"
"bird"
"bitcoin"
"blackbox"
"collectd"
"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)";
wantedBy = [ "multi-user.target" ];
path = [ pkgs.coreutils pkgs.iproute ];
path = [ pkgs.coreutils pkgs.iproute2 ];
serviceConfig = {
User = cfg.user;

View file

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

View file

@ -10,7 +10,7 @@ let
name = "ircd-hybrid-service";
scripts = [ "=>/bin" ./control.in ];
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;

View file

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

View file

@ -465,7 +465,7 @@ in {
restartTriggers = [ configFile overrideNameserversScript ];
# 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" ];
};

View file

@ -63,7 +63,7 @@ let
wantedBy = optional cfg.autoStart "multi-user.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.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"; }
];
in {
path = [ pkgs.iptables pkgs.iproute pkgs.procps ];
path = [ pkgs.iptables pkgs.iproute2 pkgs.procps ];
preStart = ''
# Cleanup old iptables entries which might be still there

View file

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

View file

@ -152,7 +152,7 @@ in
systemd.services.strongswan = {
description = "strongSwan IPSec Service";
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" ];
environment = {
STRONGSWAN_CONF = strongswanConf { inherit setup connections ca secretsFile managePlugins enabledPlugins; };

View file

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

View file

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

View file

@ -108,8 +108,8 @@ in {
partOf = optional config.networking.firewall.enable "firewall.service";
path = with pkgs; if config.networking.nftables.enable
then [ nftables iproute systemd ]
else [ iptables ipset iproute systemd ];
then [ nftables iproute2 systemd ]
else [ iptables ipset iproute2 systemd ];
# The sshguard ipsets must exist before we invoke
# 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-random-seed.unitConfig.ConditionVirtualization = "!container";
boot.kernel.sysctl = mkIf (!cfg.coredump.enable) {
"kernel.core_pattern" = "core";
};
boot.kernel.sysctl."kernel.core_pattern" = mkIf (!cfg.coredump.enable) "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";
};

View file

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

View file

@ -1171,7 +1171,7 @@ in
wantedBy = [ "network.target" ];
after = [ "network-pre.target" ];
unitConfig.ConditionCapability = "CAP_NET_ADMIN";
path = [ pkgs.iproute ];
path = [ pkgs.iproute2 ];
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
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 == "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.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.
@ -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 == "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.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.

View file

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

View file

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

View file

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

View file

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

View file

@ -17,7 +17,7 @@ in {
wantedBy = [ "multi-user.target" ];
after = [ "xe-linux-distribution.service" ];
requires = [ "proc-xen.mount" ];
path = [ pkgs.coreutils pkgs.iproute ];
path = [ pkgs.coreutils pkgs.iproute2 ];
serviceConfig = {
PIDFile = "/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.
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 = {
description = "Xen Store Daemon";

View file

@ -2,7 +2,7 @@ import ./../make-test-python.nix ({ pkgs, ...} :
let
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 {
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 = {
exporterConfig = {
enable = true;

View file

@ -52,9 +52,9 @@ import ../make-test-python.nix ({ pkgs, lib, ...} :
inherit (wg-snakeoil-keys.peer0) publicKey;
};
postSetup = let inherit (pkgs) iproute; in ''
${iproute}/bin/ip route replace 10.23.42.1/32 dev wg0
${iproute}/bin/ip route replace fc00::1/128 dev wg0
postSetup = let inherit (pkgs) iproute2; in ''
${iproute2}/bin/ip route replace 10.23.42.1/32 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 {
name = packageName + "-" + version ;
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
doCheck = false;
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsaLib minixml jack2Full ];
buildInputs = [ alsaLib minixml jack2 ];
meta = with lib; {
description = "Tool for storing/restoring JACK and/or ALSA connections to/from cml files";

View file

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

View file

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

View file

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
pname = "ft2-clone";
version = "1.44_fix";
version = "1.46";
src = fetchFromGitHub {
owner = "8bitbubsy";
repo = "ft2-clone";
rev = "v${version}";
sha256 = "sha256-2HhG2cDzAvpSm655M1KQnjbfVvqqOZDz2ty7xnttskA=";
sha256 = "sha256-Y6FgIbNCsxnM/B2bEB7oufBjU1BnBYaz7/oysWttIOc=";
};
# 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
, libsndfile, jack2Full
, libsndfile, jack2
, libGLU, libGL, lv2, cairo
, ladspaH, php }:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config php makeWrapper ];
buildInputs = [ jack2Full libsndfile libGLU libGL lv2 cairo ladspaH ];
buildInputs = [ jack2 libsndfile libGLU libGL lv2 cairo ladspaH ];
makeFlags = [
"PREFIX=${placeholder "out"}"

File diff suppressed because it is too large Load diff

View file

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "netease-music-tui";
version = "v0.1.2";
version = "0.1.3";
src = fetchFromGitHub {
owner = "betta-cyber";
repo = "netease-music-tui";
rev = version;
sha256 = "0m5b3q493d32kxznm4apn56216l07b1c49km236i03mpfvdw7m1f";
rev = "v${version}";
sha256 = "09355a6d197ckayh9833y39dsarklgpgrq3raapiv25z59di30qq";
};
cargoPatches = [ ./cargo-lock.patch ];
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsaLib openssl ];
cargoSha256 = "1kfbnwy3lkbhz0ggxwr5n6qd1plipkr1ycr3z2r7c0amrzzbkc7l";
cargoSha256 = "0f06wc7h2zjipifvxsskxvihjf6mykrjrm7yk0zf98ra079bc9g9";
meta = with lib; {
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
, boost
, bash
, jack2Full
, jack2
, supercollider
, qwt
, osmid
@ -102,7 +102,7 @@ mkDerivation rec {
dontWrapQtApps = true;
preFixup = ''
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"
'';

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchurl, makeWrapper
, expat, fftwFloat, fontconfig, freetype, libjack2, jack2Full, libclthreads, libclxclient
, expat, fftwFloat, fontconfig, freetype, libjack2, jack2, libclthreads, libclxclient
, libsndfile, libxcb, xorg
}:
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
postInstall = ''
# 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; {

View file

@ -1,6 +1,6 @@
import ./generic.nix (rec {
version = "27.1";
sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
version = "27.2";
sha256 = "sha256-tKfMTnjmPzeGJOCRkhW5EK9bsqCvyBn60pgnLp9Awbk=";
patches = [
./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
index 34a234c..b5a471c 100644
index 9e26c8fd6d..fa220e513c 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -122,6 +122,7 @@
(tramp-compat-funcall 'dbus-get-unique-name :system)
(tramp-compat-funcall 'dbus-get-unique-name :session)
(or (tramp-compat-process-running-p "gvfs-fuse-daemon")
@@ -125,5 +125,6 @@
;; for some processes. Better we don't check.
(<= emacs-major-version 25)
(tramp-compat-process-running-p "gvfs-fuse-daemon")
+ (tramp-compat-process-running-p ".gvfsd-fuse-wrapped")
(tramp-compat-process-running-p "gvfsd-fuse"))))
"Non-nil when GVFS is available.")

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
{ 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, }:
let source = import ./source.nix { inherit fetchFromGitHub; };
in stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ in stdenv.mkDerivation rec {
libtiff
libusb1
lz4
lzma
xz
lzo
openblas
qtbase

View file

@ -1,9 +1,10 @@
{ lib, stdenv }:
{ paths }:
{ paths, disabledDefaultBackends ? [] }:
with lib;
let installSanePath = path: ''
let
installSanePath = path: ''
if [ -e "${path}/lib/sane" ]; then
find "${path}/lib/sane" -maxdepth 1 -not -type d | while read backend; do
symlink "$backend" "$out/lib/sane/$(basename "$backend")"
@ -27,6 +28,10 @@ let installSanePath = path: ''
done
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
stdenv.mkDerivation {
name = "sane-config";
@ -42,5 +47,7 @@ stdenv.mkDerivation {
}
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,
extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mysql, qttools,
signond, lzma,
kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools,
signond, xz,
}:
mkDerivation {
@ -21,15 +21,15 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules shared-mime-info ];
buildInputs = [
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 ];
outputs = [ "out" "dev" ];
CXXFLAGS = [
''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mysql}/bin/mysqld\"''
''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mysql}/bin/mysqladmin\"''
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mysql}/bin/mysql_install_db\"''
''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mysql}/bin/mysqlcheck\"''
''-DNIXPKGS_MYSQL_MYSQLD=\"${lib.getBin mariadb}/bin/mysqld\"''
''-DNIXPKGS_MYSQL_MYSQLADMIN=\"${lib.getBin mariadb}/bin/mysqladmin\"''
''-DNIXPKGS_MYSQL_MYSQL_INSTALL_DB=\"${lib.getBin mariadb}/bin/mysql_install_db\"''
''-DNIXPKGS_MYSQL_MYSQLCHECK=\"${lib.getBin mariadb}/bin/mysqlcheck\"''
''-DNIXPKGS_POSTGRES_PG_CTL=\"\"''
''-DNIXPKGS_POSTGRES_PG_UPGRADE=\"\"''
''-DNIXPKGS_POSTGRES_INITDB=\"\"''

View file

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

View file

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

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages, libspnav }:
let
@ -6,13 +6,13 @@ let
octoprint = stdenv.mkDerivation rec {
pname = "Cura-OctoPrintPlugin";
version = "3.5.16";
version = "3.5.18";
src = fetchFromGitHub {
owner = "fieldOfView";
repo = pname;
rev = "8affa8aa9796cb37129d3b7222fff03f86c936cd";
sha256 = "0l4qfcashkdmpdm8nm3klz6hmi1f0bmbpb9b1yn4mvg0fam6c5xi";
rev = "7bd73946fbf22d18337dc900a81a011ece26bee0";
sha256 = "057b2f5f49p96lkh2wsr9w6yh2003x4a85irqsgbzp6igmk8imdn";
};
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

View file

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
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 {
owner = "dbeaver";
repo = "dbeaver";
rev = version;
sha256 = "sha256-9l8604STqmdoUjD+EJCp4aDk4juKsPCmFnD/WYpajxo=";
sha256 = "sha256-3EMSiEq1wdg4dxBU90RVVv0Hrf5dXPc1MPI0+WMk48k=";
};
fetchedMavenDeps = stdenv.mkDerivation {

View file

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

View file

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

View file

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

View file

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

View file

@ -1,29 +1,30 @@
{ lib
, fetchurl
, mkDerivation
, libkcddb
, kinit
, kdelibs4support
, solid
, kxmlgui
, karchive
, kfilemetadata
, khtml
, knewstuff
, libksane
, cmake
, exempi
, extra-cmake-modules
, libcdio
, poppler
, makeWrapper
, karchive
, kdoctools
, kfilemetadata
, khtml
, kitemmodels
, knewstuff
, kxmlgui
, libcdio
, libkcddb
, libksane
, makeWrapper
, poppler
, qtcharts
, qtwebengine
, solid
, taglib
}:
mkDerivation rec {
name = "tellico";
version = "3.3.3";
pname = "tellico";
version = "3.4";
src = fetchurl {
# 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-${lib.versions.majorMinor version}.tar.xz"
];
sha256 = "sha256-9cdbUTa2Mt3/yNylOSdGjgDETD74sR0dU4C58uW0Y6o=";
sha256 = "sha256-YXMJrAkfehe3ox4WZ19igyFbXwtjO5wxN3bmgP01jPs=";
};
nativeBuildInputs = [
@ -43,17 +44,18 @@ mkDerivation rec {
buildInputs = [
exempi
extra-cmake-modules
karchive
libkcddb
kdelibs4support
kfilemetadata
khtml
kitemmodels
knewstuff
kxmlgui
libcdio
libkcddb
libksane
poppler
qtcharts
qtwebengine
solid
taglib
];

View file

@ -17,7 +17,7 @@
, glib
, gtk3
, icu
, iproute
, iproute2
, krb5
, lib
, 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
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
'';
meta = with lib; {

View file

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

View file

@ -1,5 +1,5 @@
{ 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
, # Incompatible licenses, LGPLv3 - GPLv2
enableGuile ? false, guile ? null
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
ncurses xlibsWrapper bzip2 zlib brotli zstd lzma
ncurses xlibsWrapper bzip2 zlib brotli zstd xz
openssl libidn tre expat libev
]
++ lib.optional stdenv.isLinux gpm

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +1,5 @@
{ 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 {
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
libpcap
openssl
libtins
lzma
xz
libctemplate
libmaxminddb
];

View file

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

View file

@ -1,5 +1,5 @@
{ 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";
# launch with "iked -f /etc/iked.conf"
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
];
nativeBuildInputs = [ cmake flex bison makeWrapper ];
buildInputs = [ openssl libedit qt4 nettools iproute ];
buildInputs = [ openssl libedit qt4 nettools iproute2 ];
postPatch = ''
# fix build with bison3

View file

@ -1,6 +1,6 @@
{ mkDerivation, lib, fetchFromGitHub, pkg-config, python3, cmake, ninja
, 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
}:
@ -21,7 +21,7 @@ mkDerivation rec {
nativeBuildInputs = [ pkg-config python3 cmake ninja ];
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
];

View file

@ -29,11 +29,11 @@
assert pulseaudioSupport -> libpulseaudio != null;
let
version = "5.5.7938.0228";
version = "5.6.13632.0328";
srcs = {
x86_64-linux = fetchurl {
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
}:
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
ncurses tcl openssl pam kerberos openldap
ncurses tcl openssl pam libkrb5 openldap
];
hardeningDisable = [ "format" ];

View file

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

View file

@ -1,5 +1,5 @@
{ 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
}:
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
cyrus_sasl gss gpgme kerberos libidn ncurses
cyrus_sasl gss gpgme libkrb5 libidn ncurses
notmuch openssl perl lmdb
mailcap sqlite
];

View file

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

View file

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

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