Merge branch 'master' into staging-next
This commit is contained in:
commit
c04a14edd6
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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" ]
|
||||
|
||||
|
@ -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
|
||||
```
|
||||
|
||||
|
@ -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
|
||||
{
|
||||
# ...
|
||||
|
||||
|
@ -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))
|
||||
|
@ -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 ];
|
||||
});
|
||||
|
@ -158,7 +158,7 @@ rec {
|
||||
seq deepSeq genericClosure;
|
||||
|
||||
|
||||
## nixpks version strings
|
||||
## nixpkgs version strings
|
||||
|
||||
/* Returns the current full nixpkgs version number. */
|
||||
version = release + versionSuffix;
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
));
|
||||
|
||||
|
@ -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
|
||||
|
16
nixos/modules/programs/droidcam.nix
Normal file
16
nixos/modules/programs/droidcam.nix
Normal 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" ];
|
||||
};
|
||||
}
|
@ -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 ]);
|
||||
|
41
nixos/modules/services/audio/jmusicbot.nix
Normal file
41
nixos/modules/services/audio/jmusicbot.nix
Normal 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 ];
|
||||
}
|
@ -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;
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ let
|
||||
};
|
||||
|
||||
in {
|
||||
meta.maintainers = with maintainers; [ dotlambda ];
|
||||
meta.maintainers = with maintainers; [ ];
|
||||
|
||||
options.services.home-assistant = {
|
||||
enable = mkEnableOption "Home Assistant";
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -25,6 +25,7 @@ let
|
||||
"artifactory"
|
||||
"bind"
|
||||
"bird"
|
||||
"bitcoin"
|
||||
"blackbox"
|
||||
"collectd"
|
||||
"dnsmasq"
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -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}
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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" ];
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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; };
|
||||
|
@ -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";
|
||||
|
@ -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)";
|
||||
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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}"
|
||||
|
@ -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} \
|
||||
|
@ -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.
|
||||
|
@ -119,7 +119,7 @@ in
|
||||
wants = [ "network-online.target" ];
|
||||
after = [ "network-online.target" ];
|
||||
|
||||
path = [ pkgs.wget pkgs.iproute ];
|
||||
path = [ pkgs.wget pkgs.iproute2 ];
|
||||
|
||||
script =
|
||||
''
|
||||
|
@ -19,7 +19,7 @@ with lib;
|
||||
wantedBy = [ "multi-user.target" "sshd.service" ];
|
||||
before = [ "sshd.service" ];
|
||||
|
||||
path = [ pkgs.iproute ];
|
||||
path = [ pkgs.iproute2 ];
|
||||
|
||||
script =
|
||||
''
|
||||
|
@ -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";
|
||||
|
@ -739,7 +739,7 @@ in
|
||||
|
||||
unitConfig.RequiresMountsFor = "/var/lib/containers/%i";
|
||||
|
||||
path = [ pkgs.iproute ];
|
||||
path = [ pkgs.iproute2 ];
|
||||
|
||||
environment = {
|
||||
root = "/var/lib/containers/%i";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
@ -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";
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ faust
|
||||
, gtk2
|
||||
, jack2Full
|
||||
, jack2
|
||||
, alsaLib
|
||||
, opencv
|
||||
, libsndfile
|
||||
@ -18,7 +18,7 @@ faust.wrapWithBuildEnv {
|
||||
|
||||
propagatedBuildInputs = [
|
||||
gtk2
|
||||
jack2Full
|
||||
jack2
|
||||
alsaLib
|
||||
opencv
|
||||
libsndfile
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ faust
|
||||
, jack2Full
|
||||
, jack2
|
||||
, qt4
|
||||
, libsndfile
|
||||
, alsaLib
|
||||
@ -16,7 +16,7 @@ faust.wrapWithBuildEnv {
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
jack2Full
|
||||
jack2
|
||||
qt4
|
||||
libsndfile
|
||||
alsaLib
|
||||
|
@ -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)
|
||||
|
31
pkgs/applications/audio/jmusicbot/default.nix
Normal file
31
pkgs/applications/audio/jmusicbot/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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
@ -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";
|
||||
|
@ -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"
|
@ -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"
|
||||
'';
|
||||
|
||||
|
@ -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; {
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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.")
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
]
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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=\"\"''
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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; {
|
||||
|
@ -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
|
||||
|
86
pkgs/applications/misc/openlp/default.nix
Normal file
86
pkgs/applications/misc/openlp/default.nix
Normal 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;
|
||||
};
|
||||
}
|
103
pkgs/applications/misc/openlp/lib.nix
Normal file
103
pkgs/applications/misc/openlp/lib.nix
Normal 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/).
|
||||
'';
|
||||
};
|
||||
}
|
25
pkgs/applications/misc/openring/default.nix
Normal file
25
pkgs/applications/misc/openring/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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; {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 ])
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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=";
|
||||
|
@ -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 = ''
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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" ];
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user