Project import generated by Copybara.

GitOrigin-RevId: 16105403bdd843540cbef9c63fc0f16c1c6eaa70
This commit is contained in:
Default email 2021-07-21 09:28:18 +02:00
parent d87170d3f2
commit 5b567aa208
630 changed files with 5609 additions and 3853 deletions

View file

@ -0,0 +1,21 @@
name: "No channel PR"
on:
pull_request:
branches:
- 'nixos-**'
- 'nixpkgs-**'
jobs:
fail:
name: "This PR is is targeting a channel branch"
runs-on: ubuntu-latest
steps:
- run: |
cat <<EOF
The nixos-* and nixpkgs-* branches are pushed to by the channel
release script and should not be merged into directly.
Please target the equivalent release-* branch or master instead.
EOF
exit 1

View file

@ -8,7 +8,7 @@
Several versions of the Python interpreter are available on Nix, as well as a
high amount of packages. The attribute `python3` refers to the default
interpreter, which is currently CPython 3.8. The attribute `python` refers to
interpreter, which is currently CPython 3.9. The attribute `python` refers to
CPython 2.7 for backwards-compatibility. It is also possible to refer to
specific versions, e.g. `python38` refers to CPython 3.8, and `pypy` refers to
the default PyPy interpreter.
@ -839,7 +839,7 @@ sets are
and the aliases
* `pkgs.python2Packages` pointing to `pkgs.python27Packages`
* `pkgs.python3Packages` pointing to `pkgs.python38Packages`
* `pkgs.python3Packages` pointing to `pkgs.python39Packages`
* `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
#### `buildPythonPackage` function {#buildpythonpackage-function}

View file

@ -120,7 +120,7 @@ After that you can install your special grafted `myVim` or `myNeovim` packages.
If one of your favourite plugins isn't packaged, you can package it yourself:
```
```nix
{ config, pkgs, ... }:
let
@ -154,6 +154,33 @@ in
}
```
### Specificities for some plugins
#### Tree sitter
By default `nvim-treesitter` encourages you to download, compile and install
the required tree-sitter grammars at run time with `:TSInstall`. This works
poorly on NixOS. Instead, to install the `nvim-treesitter` plugins with a set
of precompiled grammars, you can use `nvim-treesitter.withPlugins` function:
```nix
(pkgs.neovim.override {
configure = {
packages.myPlugins = with pkgs.vimPlugins; {
start = [
(nvim-treesitter.withPlugins (
plugins: with plugins; [
tree-sitter-nix
tree-sitter-python
]
))
];
};
};
})
```
To enable all grammars packaged in nixpkgs, use `(pkgs.vimPlugins.nvim-treesitter.withPlugins (plugins: pkgs.tree-sitter.allGrammars))`.
## Managing plugins with vim-plug {#managing-plugins-with-vim-plug}
To use [vim-plug](https://github.com/junegunn/vim-plug) to manage your Vim

View file

@ -49,12 +49,18 @@
})).config;
moduleDeclarationFile =
(builtins.unsafeGetAttrPos "modules" args).file;
let
# Even though `modules` is a mandatory argument for `nixosSystem`, it doesn't
# mean that the evaluator always keeps track of its position. If there
# are too many levels of indirection, the position gets lost at some point.
intermediatePos = builtins.unsafeGetAttrPos "modules" args;
in
if intermediatePos == null then null else intermediatePos.file;
# Add the invoking file as error message location for modules
# that don't have their own locations; presumably inline modules.
addModuleDeclarationFile =
m: {
m: if moduleDeclarationFile == null then m else {
_file = moduleDeclarationFile;
imports = [ m ];
};

View file

@ -2469,6 +2469,12 @@
githubId = 452652;
name = "Kosyrev Serge";
};
DeeUnderscore = {
email = "d.anzorge@gmail.com";
github = "DeeUnderscore";
githubId = 156239;
name = "D Anzorge";
};
delan = {
name = "Delan Azabani";
email = "delan@azabani.com";
@ -4213,6 +4219,12 @@
githubId = 6430643;
name = "Henry Till";
};
heph2 = {
email = "srht@mrkeebs.eu";
github = "heph2";
githubId = 87579883;
name = "Marco";
};
herberteuler = {
email = "herberteuler@gmail.com";
github = "herberteuler";
@ -5490,6 +5502,12 @@
githubId = 25607;
name = "Raimon Grau";
};
kidonng = {
email = "hi@xuann.wang";
github = "kidonng";
githubId = 44045911;
name = "Kid";
};
kierdavis = {
email = "kierdavis@gmail.com";
github = "kierdavis";
@ -7582,6 +7600,12 @@
githubId = 26231126;
name = "Nils ANDRÉ-CHANG";
};
nils-degroot = {
email = "nils@peeko.nl";
github = "nils-degroot";
githubId = 53556985;
name = "Nils de Groot";
};
ninjatrappeur = {
email = "felix@alternativebit.fr";
github = "ninjatrappeur";
@ -11326,6 +11350,12 @@
githubId = 19174984;
name = "Alex Whitt";
};
whonore = {
email = "wolfhonore@gmail.com";
github = "whonore";
githubId = 7121530;
name = "Wolf Honoré";
};
wildsebastian = {
name = "Sebastian Wild";
email = "sebastian@wild-siena.com";

View file

@ -165,6 +165,20 @@ elsif (defined $expr) {
my $hash = $fetch->{hash};
my $name = $fetch->{name};
if ($hash =~ /^([a-z0-9]+)-([A-Za-z0-9+\/=]+)$/) {
$algo = $1;
$hash = `nix hash to-base16 $hash` or die;
chomp $hash;
}
next unless $algo =~ /^[a-z0-9]+$/;
# Convert non-SRI base-64 to base-16.
if ($hash =~ /^[A-Za-z0-9+\/=]+$/) {
$hash = `nix hash to-base16 --type '$algo' $hash` or die;
chomp $hash;
}
if (defined $ENV{DEBUG}) {
print "$url $algo $hash\n";
next;
@ -184,7 +198,7 @@ elsif (defined $expr) {
my $storePath = makeFixedOutputPath(0, $algo, $hash, $name);
print STDERR "mirroring $url ($storePath)...\n";
print STDERR "mirroring $url ($storePath, $algo, $hash)...\n";
if ($dryRun) {
$mirrored++;

View file

@ -14,7 +14,7 @@
</itemizedlist>
<section xml:id="sec-release-21.11-highlights">
<title>Highlights</title>
<itemizedlist spacing="compact">
<itemizedlist>
<listitem>
<para>
PHP now defaults to PHP 8.0, updated from 7.4.
@ -26,6 +26,12 @@
default runtime.
</para>
</listitem>
<listitem>
<para>
<literal>python3</literal> now defaults to Python 3.9, updated
from Python 3.8.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-new-services">
@ -40,6 +46,13 @@
<link xlink:href="options.html#opt-services.brtbk.instances">services.btrbk</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/xrelkd/clipcat/">clipcat</link>,
an X11 clipboard manager written in Rust. Available at
[services.clipcat](options.html#o pt-services.clipcat.enable).
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/maxmind/geoipupdate">geoipupdate</link>,
@ -92,6 +105,21 @@
<link linkend="opt-snapraid.enable">snapraid</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/hockeypuck/hockeypuck">Hockeypuck</link>,
a OpenPGP Key Server. Available as
<link linkend="opt-services.hockeypuck.enable">services.hockeypuck</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/buildkite/buildkite-agent-metrics">buildkite-agent-metrics</link>,
a command-line tool for collecting Buildkite agent metrics,
now has a Prometheus exporter available as
<link linkend="opt-services.prometheus.exporters.buildkite-agent.enable">services.prometheus.exporters.buildkite-agent</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-incompatibilities">
@ -510,6 +538,12 @@
changelog</link>.
</para>
</listitem>
<listitem>
<para>
The <literal>isabelle</literal> package has been upgraded from
2020 to 2021
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-notable-changes">
@ -545,6 +579,14 @@
<literal>rxvt-unicode</literal> explicitly.
</para>
</listitem>
<listitem>
<para>
<literal>python3</literal> now defaults to Python 3.9. Python
3.9 introduces many deprecation warnings, please look at the
<link xlink:href="https://docs.python.org/3/whatsnew/3.9.html">Whats
New In Python 3.9 post</link> for more information.
</para>
</listitem>
<listitem>
<para>
The <literal>claws-mail</literal> package now references the

View file

@ -9,10 +9,15 @@ In addition to numerous new and upgraded packages, this release has the followin
- PHP now defaults to PHP 8.0, updated from 7.4.
- kOps now defaults to 1.21.0, which uses containerd as the default runtime.
- `python3` now defaults to Python 3.9, updated from Python 3.8.
## New Services {#sec-release-21.11-new-services}
- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
- [clipcat](https://github.com/xrelkd/clipcat/), an X11 clipboard manager written in Rust. Available at [services.clipcat](options.html#o
pt-services.clipcat.enable).
- [geoipupdate](https://github.com/maxmind/geoipupdate), a GeoIP database updater from MaxMind. Available as [services.geoipupdate](options.html#opt-services.geoipupdate.enable).
- [Kea](https://www.isc.org/kea/), ISCs 2nd generation DHCP and DDNS server suite. Available at [services.kea](options.html#opt-services.kea).
@ -28,6 +33,9 @@ In addition to numerous new and upgraded packages, this release has the followin
- [snapraid](https://www.snapraid.it/), a backup program for disk arrays.
Available as [snapraid](#opt-snapraid.enable).
- [Hockeypuck](https://github.com/hockeypuck/hockeypuck), a OpenPGP Key Server. Available as [services.hockeypuck](#opt-services.hockeypuck.enable).
- [buildkite-agent-metrics](https://github.com/buildkite/buildkite-agent-metrics), a command-line tool for collecting Buildkite agent metrics, now has a Prometheus exporter available as [services.prometheus.exporters.buildkite-agent](#opt-services.prometheus.exporters.buildkite-agent.enable).
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
@ -128,6 +136,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- `icingaweb2` was upgraded to a new release which requires a manual database upgrade, see [upstream changelog](https://github.com/Icinga/icingaweb2/releases/tag/v2.9.0).
- The `isabelle` package has been upgraded from 2020 to 2021
## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
@ -136,6 +146,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- Sway: The terminal emulator `rxvt-unicode` is no longer installed by default via `programs.sway.extraPackages`. The current default configuration uses `alacritty` (and soon `foot`) so this is only an issue when using a customized configuration and not installing `rxvt-unicode` explicitly.
- `python3` now defaults to Python 3.9. Python 3.9 introduces many deprecation warnings, please look at the [What's New In Python 3.9 post](https://docs.python.org/3/whatsnew/3.9.html) for more information.
- The `claws-mail` package now references the new GTK+ 3 release branch, major version 4. To use the GTK+ 2 releases, one can install the `claws-mail-gtk2` package.
- The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver). Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites).

View file

@ -499,7 +499,7 @@ class Machine:
output += out
return output
def wait_until_succeeds(self, command: str) -> str:
def wait_until_succeeds(self, command: str, timeout: int = 900) -> str:
"""Wait until a command returns success and return its output.
Throws an exception on timeout.
"""
@ -511,7 +511,7 @@ class Machine:
return status == 0
with self.nested("waiting for success: {}".format(command)):
retry(check_success)
retry(check_success, timeout)
return output
def wait_until_fails(self, command: str) -> str:

View file

@ -1,6 +1,7 @@
{
x86_64-linux = "/nix/store/d1ppfhjhdwcsb4npfzyifv5z8i00fzsk-nix-2.3.11";
i686-linux = "/nix/store/c6ikndcrzwpfn2sb5b9xb1f17p9b8iga-nix-2.3.11";
aarch64-linux = "/nix/store/fb0lfrn0m8s197d264jzd64vhz9c8zbx-nix-2.3.11";
x86_64-darwin = "/nix/store/qvb86ffv08q3r66qbd6nqifz425lyyhf-nix-2.3.11";
x86_64-linux = "/nix/store/qsgz2hhn6mzlzp53a7pwf9z2pq3l5z6h-nix-2.3.14";
i686-linux = "/nix/store/1yw40bj04lykisw2jilq06lir3k9ga4a-nix-2.3.14";
aarch64-linux = "/nix/store/32yzwmynmjxfrkb6y6l55liaqdrgkj4a-nix-2.3.14";
x86_64-darwin = "/nix/store/06j0vi2d13w4l0p3jsigq7lk4x6gkycj-nix-2.3.14";
aarch64-darwin = "/nix/store/77wi7vpbrghw5rgws25w30bwb8yggnk9-nix-2.3.14";
}

View file

@ -475,6 +475,7 @@
./services/misc/calibre-server.nix
./services/misc/cfdyndns.nix
./services/misc/clipmenu.nix
./services/misc/clipcat.nix
./services/misc/cpuminer-cryptonight.nix
./services/misc/cgminer.nix
./services/misc/confd.nix
@ -886,6 +887,7 @@
./services/security/fprot.nix
./services/security/haka.nix
./services/security/haveged.nix
./services/security/hockeypuck.nix
./services/security/hologram-server.nix
./services/security/hologram-agent.nix
./services/security/munge.nix

View file

@ -108,8 +108,8 @@ in {
type = types.attrsOf (types.submodule ({config, options, ...}: {
freeformType = datasetSettingsType;
options = commonOptions // datasetOptions;
config.use_template = mkAliasDefinitions (options.useTemplate or {});
config.process_children_only = mkAliasDefinitions (options.processChildrenOnly or {});
config.use_template = mkAliasDefinitions (mkDefault options.useTemplate or {});
config.process_children_only = mkAliasDefinitions (mkDefault options.processChildrenOnly or {});
}));
default = {};
description = "Datasets to snapshot.";

View file

@ -67,6 +67,12 @@ in
default = false;
description = "Only run the server. This option only makes sense for a server.";
};
configPath = mkOption {
type = types.nullOr types.path;
default = null;
description = "File path containing the k3s YAML config. This is useful when the config is generated (for example on boot).";
};
};
# implementation
@ -74,12 +80,12 @@ in
config = mkIf cfg.enable {
assertions = [
{
assertion = cfg.role == "agent" -> cfg.serverAddr != "";
message = "serverAddr should be set if role is 'agent'";
assertion = cfg.role == "agent" -> (cfg.configPath != null || cfg.serverAddr != "");
message = "serverAddr or configPath (with 'server' key) should be set if role is 'agent'";
}
{
assertion = cfg.role == "agent" -> cfg.token != "" || cfg.tokenFile != null;
message = "token or tokenFile should be set if role is 'agent'";
assertion = cfg.role == "agent" -> cfg.configPath != null || cfg.tokenFile != null || cfg.token != "";
message = "token or tokenFile or configPath (with 'token' or 'token-file' keys) should be set if role is 'agent'";
}
];
@ -115,12 +121,10 @@ in
"${cfg.package}/bin/k3s ${cfg.role}"
] ++ (optional cfg.docker "--docker")
++ (optional cfg.disableAgent "--disable-agent")
++ (optional (cfg.role == "agent") "--server ${cfg.serverAddr} ${
if cfg.tokenFile != null then
"--token-file ${cfg.tokenFile}"
else
"--token ${cfg.token}"
}")
++ (optional (cfg.serverAddr != "") "--server ${cfg.serverAddr}")
++ (optional (cfg.token != "") "--token ${cfg.token}")
++ (optional (cfg.tokenFile != null) "--token-file ${cfg.tokenFile}")
++ (optional (cfg.configPath != null) "--config ${cfg.configPath}")
++ [ cfg.extraFlags ]
);
};

View file

@ -105,7 +105,7 @@ let
pkgs.stdenv.mkDerivation {
name = "hercules-ci-check-system-nix-src";
inherit (config.nix.package) src patches;
configurePhase = ":";
dontConfigure = true;
buildPhase = ''
echo "Checking in-memory pathInfoCache expiry"
if ! grep 'PathInfoCacheValue' src/libstore/store-api.hh >/dev/null; then

View file

@ -54,8 +54,7 @@ stdenv.mkDerivation {
${addAllNetDev netDevices}
'';
installPhase = ":";
dontInstall = true;
dontStrip = true;
dontPatchELF = true;

View file

@ -0,0 +1,31 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.clipcat;
in {
options.services.clipcat= {
enable = mkEnableOption "Clipcat clipboard daemon";
package = mkOption {
type = types.package;
default = pkgs.clipcat;
defaultText = "pkgs.clipcat";
description = "clipcat derivation to use.";
};
};
config = mkIf cfg.enable {
systemd.user.services.clipcat = {
enable = true;
description = "clipcat daemon";
wantedBy = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig.ExecStart = "${cfg.package}/bin/clipcatd --no-daemon";
};
environment.systemPackages = [ cfg.package ];
};
}

View file

@ -2,7 +2,6 @@
with lib;
let
cfg = config.services.klipper;
package = pkgs.klipper;
format = pkgs.formats.ini { mkKeyValue = generators.mkKeyValueDefault {} ":"; };
in
{
@ -11,12 +10,51 @@ in
services.klipper = {
enable = mkEnableOption "Klipper, the 3D printer firmware";
package = mkOption {
type = types.package;
default = pkgs.klipper;
description = "The Klipper package.";
};
inputTTY = mkOption {
type = types.path;
default = "/run/klipper/tty";
description = "Path of the virtual printer symlink to create.";
};
apiSocket = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/klipper/api";
description = "Path of the API socket to create.";
};
octoprintIntegration = mkOption {
type = types.bool;
default = false;
description = "Allows Octoprint to control Klipper.";
};
user = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
User account under which Klipper runs.
If null is specified (default), a temporary user will be created by systemd.
'';
};
group = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Group account under which Klipper runs.
If null is specified (default), a temporary user will be created by systemd.
'';
};
settings = mkOption {
type = format.type;
default = { };
@ -30,26 +68,40 @@ in
##### implementation
config = mkIf cfg.enable {
assertions = [{
assertion = cfg.octoprintIntegration -> config.services.octoprint.enable;
message = "Option klipper.octoprintIntegration requires Octoprint to be enabled on this system. Please enable services.octoprint to use it.";
}];
assertions = [
{
assertion = cfg.octoprintIntegration -> config.services.octoprint.enable;
message = "Option klipper.octoprintIntegration requires Octoprint to be enabled on this system. Please enable services.octoprint to use it.";
}
{
assertion = cfg.user != null -> cfg.group != null;
message = "Option klipper.group is not set when a user is specified.";
}
];
environment.etc."klipper.cfg".source = format.generate "klipper.cfg" cfg.settings;
systemd.services.klipper = {
services.klipper = mkIf cfg.octoprintIntegration {
user = config.services.octoprint.user;
group = config.services.octoprint.group;
};
systemd.services.klipper = let
klippyArgs = "--input-tty=${cfg.inputTTY}"
+ optionalString (cfg.apiSocket != null) " --api-server=${cfg.apiSocket}";
in {
description = "Klipper 3D Printer Firmware";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = "${package}/lib/klipper/klippy.py --input-tty=/run/klipper/tty /etc/klipper.cfg";
ExecStart = "${cfg.package}/lib/klipper/klippy.py ${klippyArgs} /etc/klipper.cfg";
RuntimeDirectory = "klipper";
SupplementaryGroups = [ "dialout" ];
WorkingDirectory = "${package}/lib";
} // (if cfg.octoprintIntegration then {
Group = config.services.octoprint.group;
User = config.services.octoprint.user;
WorkingDirectory = "${cfg.package}/lib";
} // (if cfg.user != null then {
Group = cfg.group;
User = cfg.user;
} else {
DynamicUser = true;
User = "klipper";

View file

@ -27,6 +27,7 @@ let
"bird"
"bitcoin"
"blackbox"
"buildkite-agent"
"collectd"
"dnsmasq"
"domain"

View file

@ -0,0 +1,64 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.buildkite-agent;
in
{
port = 9876;
extraOpts = {
tokenPath = mkOption {
type = types.nullOr types.path;
apply = final: if final == null then null else toString final;
description = ''
The token from your Buildkite "Agents" page.
A run-time path to the token file, which is supposed to be provisioned
outside of Nix store.
'';
};
interval = mkOption {
type = types.str;
default = "30s";
example = "1min";
description = ''
How often to update metrics.
'';
};
endpoint = mkOption {
type = types.str;
default = "https://agent.buildkite.com/v3";
description = ''
The Buildkite Agent API endpoint.
'';
};
queues = mkOption {
type = with types; nullOr (listOf str);
default = null;
example = literalExample ''[ "my-queue1" "my-queue2" ]'';
description = ''
Which specific queues to process.
'';
};
};
serviceOpts = {
script =
let
queues = concatStringsSep " " (map (q: "-queue ${q}") cfg.queues);
in
''
export BUILDKITE_AGENT_TOKEN="$(cat ${toString cfg.tokenPath})"
exec ${pkgs.buildkite-agent-metrics}/bin/buildkite-agent-metrics \
-backend prometheus \
-interval ${cfg.interval} \
-endpoint ${cfg.endpoint} \
${optionalString (cfg.queues != null) queues} \
-prometheus-addr "${cfg.listenAddress}:${toString cfg.port}" ${concatStringsSep " " cfg.extraFlags}
'';
serviceConfig = {
DynamicUser = false;
RuntimeDirectory = "buildkite-agent-metrics";
};
};
}

View file

@ -0,0 +1,104 @@
{ config, lib, pkgs, ... }:
let
cfg = config.services.hockeypuck;
settingsFormat = pkgs.formats.toml { };
in {
meta.maintainers = with lib.maintainers; [ etu ];
options.services.hockeypuck = {
enable = lib.mkEnableOption "Hockeypuck OpenPGP Key Server";
port = lib.mkOption {
default = 11371;
type = lib.types.port;
description = "HKP port to listen on.";
};
settings = lib.mkOption {
type = settingsFormat.type;
default = { };
example = lib.literalExample ''
{
hockeypuck = {
loglevel = "INFO";
logfile = "/var/log/hockeypuck/hockeypuck.log";
indexTemplate = "''${pkgs.hockeypuck-web}/share/templates/index.html.tmpl";
vindexTemplate = "''${pkgs.hockeypuck-web}/share/templates/index.html.tmpl";
statsTemplate = "''${pkgs.hockeypuck-web}/share/templates/stats.html.tmpl";
webroot = "''${pkgs.hockeypuck-web}/share/webroot";
hkp.bind = ":''${toString cfg.port}";
openpgp.db = {
driver = "postgres-jsonb";
dsn = "database=hockeypuck host=/var/run/postgresql sslmode=disable";
};
};
}
'';
description = ''
Configuration file for hockeypuck, here you can override
certain settings (<literal>loglevel</literal> and
<literal>openpgp.db.dsn</literal>) by just setting those values.
For other settings you need to use lib.mkForce to override them.
This service doesn't provision or enable postgres on your
system, it rather assumes that you enable postgres and create
the database yourself.
Example:
<literal>
services.postgresql = {
enable = true;
ensureDatabases = [ "hockeypuck" ];
ensureUsers = [{
name = "hockeypuck";
ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES";
}];
};
</literal>
'';
};
};
config = lib.mkIf cfg.enable {
services.hockeypuck.settings.hockeypuck = {
loglevel = lib.mkDefault "INFO";
logfile = "/var/log/hockeypuck/hockeypuck.log";
indexTemplate = "${pkgs.hockeypuck-web}/share/templates/index.html.tmpl";
vindexTemplate = "${pkgs.hockeypuck-web}/share/templates/index.html.tmpl";
statsTemplate = "${pkgs.hockeypuck-web}/share/templates/stats.html.tmpl";
webroot = "${pkgs.hockeypuck-web}/share/webroot";
hkp.bind = ":${toString cfg.port}";
openpgp.db = {
driver = "postgres-jsonb";
dsn = lib.mkDefault "database=hockeypuck host=/var/run/postgresql sslmode=disable";
};
};
users.users.hockeypuck = {
isSystemUser = true;
description = "Hockeypuck user";
};
systemd.services.hockeypuck = {
description = "Hockeypuck OpenPGP Key Server";
after = [ "network.target" "postgresql.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
WorkingDirectory = "/var/lib/hockeypuck";
User = "hockeypuck";
ExecStart = "${pkgs.hockeypuck}/bin/hockeypuck -config ${settingsFormat.generate "config.toml" cfg.settings}";
Restart = "always";
RestartSec = "5s";
LogsDirectory = "hockeypuck";
LogsDirectoryMode = "0755";
StateDirectory = "hockeypuck";
};
};
};
}

View file

@ -6,7 +6,7 @@ let
cfg = config.services.getty;
baseArgs = [
"--login-program" "${pkgs.shadow}/bin/login"
"--login-program" "${cfg.loginProgram}"
] ++ optionals (cfg.autologinUser != null) [
"--autologin" cfg.autologinUser
] ++ optionals (cfg.loginOptions != null) [
@ -39,6 +39,14 @@ in
'';
};
loginProgram = mkOption {
type = types.path;
default = "${pkgs.shadow}/bin/login";
description = ''
Path to the login binary executed by agetty.
'';
};
loginOptions = mkOption {
type = types.nullOr types.str;
default = null;

View file

@ -6,6 +6,9 @@ let
crioPackage = (pkgs.cri-o.override { inherit (cfg) extraPackages; });
format = pkgs.formats.toml { };
cfgFile = format.generate "00-default.conf" cfg.settings;
in
{
imports = [
@ -13,7 +16,7 @@ in
];
meta = {
maintainers = lib.teams.podman.members;
maintainers = teams.podman.members;
};
options.virtualisation.cri-o = {
@ -55,7 +58,7 @@ in
extraPackages = mkOption {
type = with types; listOf package;
default = [ ];
example = lib.literalExample ''
example = literalExample ''
[
pkgs.gvisor
]
@ -65,7 +68,7 @@ in
'';
};
package = lib.mkOption {
package = mkOption {
type = types.package;
default = crioPackage;
internal = true;
@ -80,6 +83,15 @@ in
description = "Override the network_dir option.";
internal = true;
};
settings = mkOption {
type = format.type;
default = { };
description = ''
Configuration for cri-o, see
<link xlink:href="https://github.com/cri-o/cri-o/blob/master/docs/crio.conf.5.md"/>.
'';
};
};
config = mkIf cfg.enable {
@ -87,36 +99,38 @@ in
environment.etc."crictl.yaml".source = utils.copyFile "${pkgs.cri-o-unwrapped.src}/crictl.yaml";
environment.etc."crio/crio.conf.d/00-default.conf".text = ''
[crio]
storage_driver = "${cfg.storageDriver}"
virtualisation.cri-o.settings.crio = {
storage_driver = cfg.storageDriver;
[crio.image]
${optionalString (cfg.pauseImage != null) ''pause_image = "${cfg.pauseImage}"''}
${optionalString (cfg.pauseCommand != null) ''pause_command = "${cfg.pauseCommand}"''}
image = {
pause_image = mkIf (cfg.pauseImage != null) cfg.pauseImage;
pause_command = mkIf (cfg.pauseCommand != null) cfg.pauseCommand;
};
[crio.network]
plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
${optionalString (cfg.networkDir != null) ''network_dir = "${cfg.networkDir}"''}
network = {
plugin_dirs = [ "${pkgs.cni-plugins}/bin" ];
network_dir = mkIf (cfg.networkDir != null) cfg.networkDir;
};
[crio.runtime]
cgroup_manager = "systemd"
log_level = "${cfg.logLevel}"
pinns_path = "${cfg.package}/bin/pinns"
hooks_dir = [
${lib.optionalString config.virtualisation.containers.ociSeccompBpfHook.enable
''"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",''}
]
runtime = {
cgroup_manager = "systemd";
log_level = cfg.logLevel;
manage_ns_lifecycle = true;
pinns_path = "${cfg.package}/bin/pinns";
hooks_dir =
optional (config.virtualisation.containers.ociSeccompBpfHook.enable)
config.boot.kernelPackages.oci-seccomp-bpf-hook;
${optionalString (cfg.runtime != null) ''
default_runtime = "${cfg.runtime}"
[crio.runtime.runtimes]
[crio.runtime.runtimes.${cfg.runtime}]
''}
'';
default_runtime = mkIf (cfg.runtime != null) cfg.runtime;
runtimes = mkIf (cfg.runtime != null) {
"${cfg.runtime}" = { };
};
};
};
environment.etc."cni/net.d/10-crio-bridge.conf".source = utils.copyFile "${pkgs.cri-o-unwrapped.src}/contrib/cni/10-crio-bridge.conf";
environment.etc."cni/net.d/99-loopback.conf".source = utils.copyFile "${pkgs.cri-o-unwrapped.src}/contrib/cni/99-loopback.conf";
environment.etc."crio/crio.conf.d/00-default.conf".source = cfgFile;
# Enable common /etc/containers configuration
virtualisation.containers.enable = true;
@ -139,6 +153,7 @@ in
TimeoutStartSec = "0";
Restart = "on-abnormal";
};
restartTriggers = [ cfgFile ];
};
};
}

View file

@ -174,6 +174,7 @@ in
hitch = handleTest ./hitch {};
hledger-web = handleTest ./hledger-web.nix {};
hocker-fetchdocker = handleTest ./hocker-fetchdocker {};
hockeypuck = handleTest ./hockeypuck.nix { };
home-assistant = handleTest ./home-assistant.nix {};
hostname = handleTest ./hostname.nix {};
hound = handleTest ./hound.nix {};
@ -423,6 +424,7 @@ in
taskserver = handleTest ./taskserver.nix {};
telegraf = handleTest ./telegraf.nix {};
tiddlywiki = handleTest ./tiddlywiki.nix {};
tigervnc = handleTest ./tigervnc.nix {};
timezone = handleTest ./timezone.nix {};
tinc = handleTest ./tinc {};
tinydns = handleTest ./tinydns.nix {};

View file

@ -0,0 +1,63 @@
import ./make-test-python.nix ({ lib, pkgs, ... }:
let
gpgKeyring = (pkgs.runCommandNoCC "gpg-keyring" { buildInputs = [ pkgs.gnupg ]; } ''
mkdir -p $out
export GNUPGHOME=$out
cat > foo <<EOF
%echo Generating a basic OpenPGP key
%no-protection
Key-Type: DSA
Key-Length: 1024
Subkey-Type: ELG-E
Subkey-Length: 1024
Name-Real: Foo Example
Name-Email: foo@example.org
Expire-Date: 0
# Do a commit here, so that we can later print "done"
%commit
%echo done
EOF
gpg --batch --generate-key foo
rm $out/S.gpg-agent $out/S.gpg-agent.*
'');
in {
name = "hockeypuck";
meta.maintainers = with lib.maintainers; [ etu ];
machine = { ... }: {
# Used for test
environment.systemPackages = [ pkgs.gnupg ];
services.hockeypuck.enable = true;
services.postgresql = {
enable = true;
ensureDatabases = [ "hockeypuck" ];
ensureUsers = [{
name = "hockeypuck";
ensurePermissions."DATABASE hockeypuck" = "ALL PRIVILEGES";
}];
};
};
testScript = ''
machine.wait_for_unit("hockeypuck.service")
machine.wait_for_open_port(11371)
response = machine.succeed("curl -vvv -s http://127.0.0.1:11371/")
assert "<title>OpenPGP Keyserver</title>" in response, "HTML title not found"
# Copy the keyring
machine.succeed("cp -R ${gpgKeyring} /tmp/GNUPGHOME")
# Extract our GPG key id
keyId = machine.succeed("GNUPGHOME=/tmp/GNUPGHOME gpg --list-keys | grep dsa1024 --after-context=1 | grep -v dsa1024").strip()
# Send the key to our local keyserver
machine.succeed("GNUPGHOME=/tmp/GNUPGHOME gpg --keyserver hkp://127.0.0.1:11371 --send-keys " + keyId)
# Recieve the key from our local keyserver to a separate directory
machine.succeed("GNUPGHOME=$(mktemp -d) gpg --keyserver hkp://127.0.0.1:11371 --recv-keys " + keyId)
'';
})

View file

@ -0,0 +1,53 @@
{ system ? builtins.currentSystem
, config ? {}
, pkgs ? import ../.. { inherit system config; }
}:
with import ../lib/testing-python.nix { inherit system pkgs; };
makeTest {
name = "tigervnc";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ lheckemann ];
};
nodes = {
server = { pkgs, ...}: {
environment.systemPackages = with pkgs; [
tigervnc # for Xvnc
xorg.xwininfo
imagemagickBig # for display with working label: support
];
networking.firewall.allowedTCPPorts = [ 5901 ];
};
client = { pkgs, ... }: {
imports = [ ./common/x11.nix ];
# for vncviewer
environment.systemPackages = [ pkgs.tigervnc ];
};
};
enableOCR = true;
testScript = ''
start_all()
for host in [server, client]:
host.succeed("echo foobar | vncpasswd -f > vncpasswd")
server.succeed("Xvnc -geometry 720x576 :1 -PasswordFile vncpasswd &")
server.wait_until_succeeds("nc -z localhost 5901", timeout=10)
server.succeed("DISPLAY=:1 xwininfo -root | grep 720x576")
server.execute("DISPLAY=:1 display -size 360x200 -font sans -gravity south label:'HELLO VNC WORLD' &")
client.wait_for_x()
client.execute("vncviewer server:1 -PasswordFile vncpasswd &")
client.wait_for_window(r"VNC")
client.screenshot("screenshot")
text = client.get_screen_text()
# Displayed text
assert 'HELLO VNC WORLD' in text
# Client window title
assert 'TigerVNC' in text
'';
}

View file

@ -1,7 +1,8 @@
{ lib, stdenv, fetchFromGitLab, fetchpatch }:
stdenv.mkDerivation {
name = "aacgain-1.9.0";
stdenv.mkDerivation rec {
pname = "aacgain";
version = "1.9.0";
src = fetchFromGitLab {
owner = "mulx";

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
pname = "bitwig-studio";
version = "4.0";
version = "4.0.1";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
sha256 = "38381c1a382abd9543931f34d5ae1789c31ec1217a1c852b5c5c442ccaf97063";
sha256 = "sha256-yhCAKlbLjyBywkSYY1aqbUGFlAHBLR8g8xPDIqoUIZk=";
};
nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];

View file

@ -1,10 +1,11 @@
{ lib, stdenv, fetchurl, gnu-config, IOKit, Carbon }:
stdenv.mkDerivation rec {
name = "cdparanoia-III-10.2";
pname = "cdparanoia-III";
version = "10.2";
src = fetchurl {
url = "http://downloads.xiph.org/releases/cdparanoia/${name}.src.tgz";
url = "https://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-${version}.src.tgz";
sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
};

View file

@ -19,9 +19,10 @@
with lib;
stdenv.mkDerivation rec {
name = "crip-3.9";
pname = "crip";
version = "3.9";
src = fetchurl {
url = "http://bach.dynet.com/crip/src/${name}.tar.gz";
url = "http://bach.dynet.com/${pname}/src/${pname}-${version}.tar.gz";
sha256 = "0pk9152wll6fmkj1pki3fz3ijlf06jyk32v31yarwvdkwrk7s9xz";
};

View file

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
# When updating, please check if https://github.com/csound/csound/issues/1078
# has been fixed in the new version so we can use the normal fluidsynth
# version and remove fluidsynth 1.x from nixpkgs again.
version = "6.15.0";
version = "6.16.2";
hardeningDisable = [ "format" ];
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
owner = "csound";
repo = "csound";
rev = version;
sha256 = "1vld6v55jxvv3ddr21kh41s4cdkhnm5wpffvd097zqrqh1aq08r0";
sha256 = "sha256-1rcS3kOspU9ACx45yB8betph4G0hso1OSJQRiabX6tE=";
};
cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp

View file

@ -1,7 +1,8 @@
{ lib, stdenv, fetchFromGitHub, libsndfile, libsamplerate, liblo, libjack2 }:
stdenv.mkDerivation {
name = "dirt-2018-01-01";
pname = "dirt";
version = "unstable-2018-01-01";
src = fetchFromGitHub {
repo = "Dirt";
owner = "tidalcycles";

View file

@ -5,10 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "gmu-0.10.1";
pname = "gmu";
version = "0.10.1";
src = fetchurl {
url = "http://wejp.k.vu/files/${name}.tar.gz";
url = "https://wej.k.vu/files/${pname}-${version}.tar.gz";
sha256 = "03x0mc0xw2if0bpf0a15yprcyx1xccki039zvl2099dagwk6xskv";
};

View file

@ -1,8 +1,9 @@
{ lib, stdenv, fetchurl, pkg-config, libjack2, ladspaH, gtk2, alsa-lib, libxml2, lrdf }:
stdenv.mkDerivation rec {
name = "jack-rack-1.4.7";
pname = "jack-rack";
version = "1.4.7";
src = fetchurl {
url = "mirror://sourceforge/jack-rack/${name}.tar.bz2";
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
sha256 = "1lmibx9gicagcpcisacj6qhq6i08lkl5x8szysjqvbgpxl9qg045";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -1,10 +1,11 @@
{ lib, stdenv, fetchurl, libjack2, pkg-config }:
stdenv.mkDerivation rec {
name = "jackmeter-0.4";
pname = "jackmeter";
version = "0.4";
src = fetchurl {
url = "https://www.aelius.com/njh/jackmeter/${name}.tar.gz";
url = "https://www.aelius.com/njh/${pname}/${pname}-${version}.tar.gz";
sha256 = "1cnvgx3jv0yvxlqy0l9k285zgvazmh5k8m4l7lxckjfm5bn6hm1r";
};

View file

@ -1,10 +1,11 @@
{ lib, stdenv, fetchurl, libmikmod, ncurses }:
stdenv.mkDerivation rec {
name = "mikmod-3.2.8";
pname = "mikmod";
version = "3.2.8";
src = fetchurl {
url = "mirror://sourceforge/mikmod/${name}.tar.gz";
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "1k54p8pn3jinha0f2i23ad15pf1pamibzcxjrbzjbklpcz1ipc6v";
};

View file

@ -1,9 +1,10 @@
{ lib, stdenv, fetchurl, fetchpatch, unzip, mpg123 }:
stdenv.mkDerivation {
name = "mp3gain-1.6.2";
stdenv.mkDerivation rec {
pname = "mp3gain";
version = "1.6.2";
src = fetchurl {
url = "mirror://sourceforge/mp3gain/mp3gain-1_6_2-src.zip";
url = "mirror://sourceforge/${pname}/${pname}-${lib.replaceStrings ["."] ["_"] version}-src.zip";
sha256 = "0varr6y7k8zarr56b42r0ad9g3brhn5vv3xjg1c0v19jxwr4gh2w";
};

View file

@ -1,10 +1,11 @@
{ fetchurl, lib, stdenv, ncurses, pkg-config, gtk2 }:
stdenv.mkDerivation rec {
name = "mp3info-0.8.5a";
pname = "mp3info";
version = "0.8.5a";
src = fetchurl {
url = "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/${name}.tgz";
url = "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/${pname}/${pname}-${version}.tgz";
sha256 = "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04";
};

View file

@ -7,10 +7,11 @@
}:
stdenv.mkDerivation rec {
name = "mpg123-1.26.5";
pname = "mpg123";
version = "1.26.5";
src = fetchurl {
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
sha256 = "sha256-UCqX4Nk1vn432YczgCHY8wG641wohPKoPVnEtSRm7wY=";
};

View file

@ -3,10 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "nootka-1.4.7";
pname = "nootka";
version = "1.4.7";
src = fetchurl {
url = "mirror://sourceforge/nootka/${name}-source.tar.bz2";
url = "mirror://sourceforge/nootka/${pname}-${version}-source.tar.bz2";
sha256 = "1y9wlwri74v2z9dwbcfjs7xri54yra24vpwq19xi2lfv1nbs518x";
};

View file

@ -1,9 +1,11 @@
{lib, stdenv, fetchurl, libogg, libao, pkg-config, flac, opusfile, libopusenc}:
stdenv.mkDerivation rec {
name = "opus-tools-0.2";
pname = "opus-tools";
version = "0.2";
src = fetchurl {
url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
url = "https://downloads.xiph.org/releases/opus/${pname}-${version}.tar.gz";
sha256 = "11pzl27s4vcz4m18ch72nivbhww2zmzn56wspb7rll1y1nq6rrdl";
};

View file

@ -29,10 +29,11 @@
# handle that.
mkDerivation rec {
name = "qmmp-1.4.4";
pname = "qmmp";
version = "1.4.4";
src = fetchurl {
url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
url = "https://qmmp.ylsoftware.com/files/${pname}-${version}.tar.bz2";
sha256 = "sha256-sZRZVhCf2ceETuV4AULA0kVkuIMn3C+aYdKThqvPnVQ=";
};

View file

@ -35,13 +35,13 @@
mkDerivation rec {
pname = "strawberry";
version = "0.9.2";
version = "0.9.3";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
sha256 = "sha256:0d9asg21j9ai23sb35cimws8bd8fsnpha777rgscraa7i09q0rx2";
sha256 = "sha256-OOdHsii6O4okVHDhrqCNJ7WVB0VKPs8q0AhEY+IvflE=";
};
buildInputs = [
@ -77,7 +77,10 @@ mkDerivation rec {
++ lib.optional withVlc libvlc;
nativeBuildInputs = [
cmake ninja pkg-config qttools
cmake
ninja
pkg-config
qttools
] ++ lib.optionals stdenv.isLinux [
util-linux
];

View file

@ -5,10 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "tony-2.1.1";
pname = "tony";
version = "2.1.1";
src = fetchurl {
url = "https://code.soundsoftware.ac.uk/attachments/download/2616/${name}.tar.gz";
url = "https://code.soundsoftware.ac.uk/attachments/download/2616/${pname}-${version}.tar.gz";
sha256 = "03g2bmlj08lmgvh54dyd635xccjn730g4wwlhpvsw04bffz8b7fp";
};

View file

@ -2,9 +2,10 @@
, lzo, libdvdread, pkg-config, x264, libmpeg2, xvidcore }:
stdenv.mkDerivation rec {
name = "transcode-1.1.7";
pname = "transcode";
version = "1.1.7";
src = fetchurl {
url = "https://bitbucket.org/france/transcode-tcforge/downloads/${name}.tar.bz2";
url = "https://bitbucket.org/france/transcode-tcforge/downloads/${pname}-${version}.tar.bz2";
sha256 = "1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92";
};

View file

@ -1,7 +1,8 @@
{ lib, stdenv, fetchurl, pkg-config, alsa-lib, libxmp }:
stdenv.mkDerivation rec {
name = "xmp-4.1.0";
pname = "xmp";
version = "4.1.0";
meta = with lib; {
description = "Extended module player";
@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
};
src = fetchurl {
url = "mirror://sourceforge/xmp/xmp/${name}.tar.gz";
url = "mirror://sourceforge/${pname}/${pname}/${pname}-${version}.tar.gz";
sha256 = "17i8fc7x7yn3z1x963xp9iv108gxfakxmdgmpv3mlm438w3n3g8x";
};

View file

@ -1,10 +1,11 @@
{ lib, stdenv, fetchurl, alsa-lib, libjack2, zita-alsa-pcmi, zita-resampler }:
stdenv.mkDerivation rec {
name = "zita-ajbridge-0.8.4";
pname = "zita-ajbridge";
version = "0.8.4";
src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "0g5v0l0zmqh049mhv62n8s5bpm0yrlby7mkxxhs5qwadp8v4w9mw";
};

View file

@ -4,10 +4,11 @@
}:
stdenv.mkDerivation rec {
name = "zita-at1-0.6.2";
pname = "zita-at1";
version = "0.6.2";
src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "0mxfn61zvhlq3r1mqipyqzjbanrfdkk8x4nxbz8nlbdk0bf3vfqr";
};

View file

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper,
dotnetPackages, dotnetCorePackages
dotnetPackages, dotnetCorePackages, altcoinSupport ? false
}:
let
@ -34,8 +34,8 @@ stdenv.mkDerivation rec {
nuget sources Add -Name tmpsrc -Source $TMP/nuget
nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
dotnet restore --source $TMP/nuget BTCPayServer/BTCPayServer.csproj
dotnet publish --no-restore --output $out/share/$pname -c Release BTCPayServer/BTCPayServer.csproj
dotnet restore --source $TMP/nuget ${lib.optionalString altcoinSupport ''/p:Configuration="Altcoins-Release"''} BTCPayServer/BTCPayServer.csproj
dotnet publish --no-restore --output $out/share/$pname ${lib.optionalString altcoinSupport "-c Altcoins-Release"} BTCPayServer/BTCPayServer.csproj
'';
# btcpayserver requires the publish directory as its working dir

View file

@ -84,6 +84,11 @@
version = "3.2.435";
sha256 = "0ksmby0lzgsxkv0xfzr840262kcqra9vds91mcx0rf20blksfvsk";
})
(fetchNuGet {
name = "Common.Logging.Core";
version = "3.4.1";
sha256 = "06h80c7l12nh6gnkzskcs4w8741xhprv72vf88f33ilzfy37h5jy";
})
(fetchNuGet {
name = "CsvHelper";
version = "15.0.5";
@ -759,6 +764,11 @@
version = "2.0.31";
sha256 = "13gcfsxpfq8slmsvgzf6iv581x7n535zq0p9c88bqs5p88r6lygm";
})
(fetchNuGet {
name = "NBitcoin";
version = "5.0.33";
sha256 = "030q609b9lhapq4wfl1w3impjw5m40kz2rg1s9jn3bn8yjfmsi4a";
})
(fetchNuGet {
name = "NBitcoin";
version = "5.0.4";
@ -794,6 +804,86 @@
version = "3.0.21";
sha256 = "1asri2wsjq3ljf2p4r4x52ba9cirh8ccc5ysxpnv4cvladkdazbi";
})
(fetchNuGet {
name = "Nethereum.ABI";
version = "3.8.0";
sha256 = "10saq2qsqqgsf9d5cjji4lay74ydwkvkqgnns6gxikqicci8yx5c";
})
(fetchNuGet {
name = "Nethereum.Accounts";
version = "3.8.0";
sha256 = "03dq4l1gsd6r2hah5flas8d8pfys7hh5srd279kiidaaxrp8fv2m";
})
(fetchNuGet {
name = "Nethereum.BlockchainProcessing";
version = "3.8.0";
sha256 = "0sz6710a3rvzbj1ghx8dx9adfpsaydw8129c5nj2bqvvh6shi4ax";
})
(fetchNuGet {
name = "Nethereum.Contracts";
version = "3.8.0";
sha256 = "0989as81dqz4j0h8b5a9f5hnd4lrjdj851cfc4j5h6hd633a13f8";
})
(fetchNuGet {
name = "Nethereum.HdWallet";
version = "3.8.0";
sha256 = "0dy1bcm0gsp137286q3bx5q9gyd8lymrdmnh1ip3sszs5j31l9k2";
})
(fetchNuGet {
name = "Nethereum.Hex";
version = "3.8.0";
sha256 = "0sbi982jnfs39sp7w85wf8lb51mijpwr9mpsmws08zrm90n93kb6";
})
(fetchNuGet {
name = "Nethereum.JsonRpc.Client";
version = "3.8.0";
sha256 = "0gmdvsxhs398cj14f16r3dl8yv52iaxr9c9214k2ra28r14gfd1l";
})
(fetchNuGet {
name = "Nethereum.JsonRpc.RpcClient";
version = "3.8.0";
sha256 = "05k5f0dfcx4afbkc1w7cfnz514i7840j2haxyzsxkp8818yvfg0a";
})
(fetchNuGet {
name = "Nethereum.KeyStore";
version = "3.8.0";
sha256 = "05pj95vcfznlk4saq9dw19377gd1sqgmjcg5h92b5rzpgm9v811s";
})
(fetchNuGet {
name = "Nethereum.Model";
version = "3.8.0";
sha256 = "1qfhzqirj9bi49zb6rdcy7w5bm9jyv3a79q7crmgpq3qx4lmz5yh";
})
(fetchNuGet {
name = "Nethereum.RLP";
version = "3.8.0";
sha256 = "16142ag09h95394ip0ffkci09hchxh2i5xaw2rq46qcr8xd3kiym";
})
(fetchNuGet {
name = "Nethereum.RPC";
version = "3.8.0";
sha256 = "1m2p10dds1k0r3gci25lh6cxl9z7ciw18g6wwa4yqi1hsw7n59vb";
})
(fetchNuGet {
name = "Nethereum.Signer";
version = "3.8.0";
sha256 = "175acfqjqacc5zwh2kmrfnwd15jm3fjpv0xlgpyqry52mqxd9khf";
})
(fetchNuGet {
name = "Nethereum.StandardTokenEIP20";
version = "3.8.0";
sha256 = "0xqb32x5b9y9r380frhj52i1lxsfs92nfgcpmys3shjxz6fnwf6g";
})
(fetchNuGet {
name = "Nethereum.Util";
version = "3.8.0";
sha256 = "1ig1zkzpglq2q465n4c0ckv8w9gca9cfxz1qnrdhap0f1z90jyg8";
})
(fetchNuGet {
name = "Nethereum.Web3";
version = "3.8.0";
sha256 = "0n18chc9h1cxqp01kncik9lqfgiqrzl2zr8jgzbb05drlf6k0f3i";
})
(fetchNuGet {
name = "NETStandard.Library";
version = "1.6.1";
@ -914,6 +1004,11 @@
version = "2.2.1";
sha256 = "1w6s9wjbsyvq8cnqknkdzm9chnv0g5gcsrq5i94zp6br9vg7c627";
})
(fetchNuGet {
name = "Portable.BouncyCastle";
version = "1.8.2";
sha256 = "0xqc8q40lr4r7ahsmzpa1q0jagp12abb6rsj80p37q34hsv5284q";
})
(fetchNuGet {
name = "QRCoder";
version = "1.4.1";

View file

@ -8,4 +8,5 @@ echo "Updating nbxplorer"
../nbxplorer/update.sh
echo
echo "Updating btcpayserver"
../nbxplorer/util/update-common.sh btcpayserver deps.nix
# Include Razor SDK packages in deps.nix
../nbxplorer/util/update-common.sh btcpayserver deps.nix '"/p:Configuration="Altcoins-Release" /p:RazorCompileOnBuild=false'

View file

@ -7,13 +7,13 @@
with lib;
stdenv.mkDerivation rec {
name = "dogecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "1.14.2";
version = "1.14.3";
src = fetchFromGitHub {
owner = "dogecoin";
repo = "dogecoin";
rev = "v${version}";
sha256 = "1gw46q63mjzwvb17ck6p1bap2xpdrap08szw2kjhasa3yvd5swyy";
sha256 = "sha256-kozUnIislQDtgjeesYHKu4sB1j9juqaWvyax+Lb/0pc=";
};
nativeBuildInputs = [ pkg-config autoreconfHook ];

View file

@ -0,0 +1,38 @@
{ lib
, stdenv
, fetchzip
, jq
, openjdk11
}:
stdenv.mkDerivation rec {
pname = "eclair";
version = "0.6.1";
revision = "d3ae323";
src = fetchzip {
url = "https://github.com/ACINQ/eclair/releases/download/v${version}/eclair-node-${version}-${revision}-bin.zip";
sha256 = "0hmdssj6pxhvadrgr1svb2lh7hfbd2axr5wsl7glizv1a21g0l2c";
};
propagatedBuildInputs = [ jq openjdk11 ];
installPhase = ''
runHook preInstall
mkdir $out
cp -a * $out
mv $out/bin/eclair-node.sh $out/bin/eclair-node
rm $out/bin/eclair-node.bat
runHook postInstall
'';
meta = with lib; {
description = "A scala implementation of the Lightning Network";
homepage = "https://github.com/ACINQ/eclair";
license = licenses.asl20;
maintainers = with maintainers; [ prusnak ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View file

@ -9,17 +9,17 @@ let
in buildGoModule rec {
pname = "go-ethereum";
version = "1.10.4";
version = "1.10.5";
src = fetchFromGitHub {
owner = "ethereum";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DRlIiO3iXUsQnmOf5T9uk3560tVbS+Hrs8QtVkmllAI=";
sha256 = "sha256:1226picbgnph71fk2y0n1hyfrh6m8sh54kgn3pmikydnw176k9j1";
};
runVend = true;
vendorSha256 = "sha256-a/vY9iyqSM9QPs7lGFF6E7e2cMjIerVkNf5KwiWdyr0=";
vendorSha256 = "sha256:1nf2gamamlgr2sl5ibib5wai1pipj66xhbhnb4s4480j5pbv9a76";
doCheck = false;

View file

@ -1,21 +1,21 @@
{ buildGoModule
, fetchFromGitHub
, lib
, tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" "routerrpc" ]
, tags ? [ "autopilotrpc" "signrpc" "walletrpc" "chainrpc" "invoicesrpc" "watchtowerrpc" "routerrpc" "monitoring" ]
}:
buildGoModule rec {
pname = "lnd";
version = "0.13.0-beta";
version = "0.13.1-beta";
src = fetchFromGitHub {
owner = "lightningnetwork";
repo = "lnd";
rev = "v${version}";
sha256 = "0fwidjkfzzd7k891x5z7jrx2arl0kwj6vm9z2acsyy7riv4zfjbq";
sha256 = "07cs9yq83laajmfwfv42xfkfai3q873wg4qg7bfzw18w5fllivkg";
};
vendorSha256 = "19myr9f5zh05y6lagd9pra60y8df7pz837310cbpq9a6zzwpdxk2";
vendorSha256 = "1hk67x8nlc0wm1pg8k8hywih623p4c0klfhfyy26b7mqq62lazia";
subPackages = ["cmd/lncli" "cmd/lnd"];

View file

@ -3,4 +3,4 @@ set -euo pipefail
scriptDir=$(cd "${BASH_SOURCE[0]%/*}" && pwd)
getVersionFromTags=1 "$scriptDir"/util/update-common.sh nbxplorer "$scriptDir"/deps.nix
getVersionFromTags=1 "$scriptDir"/util/update-common.sh nbxplorer "$scriptDir"/deps.nix ''

View file

@ -7,6 +7,7 @@ set -euo pipefail
pkgSrc=$1
depsFile=$(realpath "$2")
customFlags=$3
sln=$(cd "$pkgSrc"; find * -maxdepth 0 -name '*.sln' | head -1)
[[ $sln ]] || { echo "No .sln file in $pkgSrc" ; exit 1; }
@ -20,7 +21,7 @@ pushd "$tmpdir" > /dev/null
mkdir home
echo "Running dotnet restore for $sln"
HOME=home DOTNET_CLI_TELEMETRY_OPTOUT=1 \
dotnet restore -v normal --no-cache "$sln" > restore_log
dotnet restore $customFlags -v normal --no-cache "$sln" > restore_log
echo "{ fetchNuGet }: [" > "$depsFile"
while read pkgSpec; do

View file

@ -8,6 +8,7 @@ set -euo pipefail
pkgName=$1
depsFile=$2
customFlags=$3
: ${getVersionFromTags:=}
: ${refetch:=}
@ -71,4 +72,4 @@ echo
# Create deps file
storeSrc="$(nix-build "$nixpkgs" -A $pkgName.src --no-out-link)"
. "$scriptDir"/create-deps.sh "$storeSrc" "$depsFile"
. "$scriptDir"/create-deps.sh "$storeSrc" "$depsFile" "$customFlags"

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation {
buildInputs = [ emacs ];
buildPhase = ":";
dontBuild = true;
installPhase = ''
install -d $out/share/emacs/site-lisp

View file

@ -27,7 +27,7 @@ rec {
});
buildKakounePluginFrom2Nix = attrs: buildKakounePlugin ({
buildPhase = ":";
configurePhase = ":";
dontBuild = true;
dontConfigure = true;
} // attrs);
}

View file

@ -1,32 +1,68 @@
{ lib, mkDerivation, fetchFromGitHub, cmake
, qtbase, qtscript, qtwebkit, libXfixes, libXtst, qtx11extras, git
, webkitSupport ? true
{ lib
, mkDerivation
, fetchFromGitHub
, cmake
, extra-cmake-modules
, qtbase
, qtscript
, libXfixes
, libXtst
, qtx11extras
, git
, knotifications
, qtwayland
, wayland
, fetchpatch
}:
mkDerivation rec {
pname = "CopyQ";
version = "3.13.0";
version = "4.1.0";
src = fetchFromGitHub {
src = fetchFromGitHub {
owner = "hluk";
repo = "CopyQ";
rev = "v${version}";
sha256 = "0qssyavx0dkgsyj2myqg8n7sih8niy960nyb1yknsbjm37iqraah";
sha256 = "1iacnd9dn0mrajff80r2g5nlks5sch9lmpl633mnyqmih9dwx2li";
};
nativeBuildInputs = [ cmake ];
nativeBuildInputs = [
cmake
extra-cmake-modules
];
buildInputs = [
git qtbase qtscript libXfixes libXtst qtx11extras
] ++ lib.optional webkitSupport qtwebkit;
qtbase
qtscript
libXfixes
libXtst
qtx11extras
knotifications
qtwayland
wayland
];
patches = [
# Install the bash completion script correctly
# Remove once 4.1.1 is released
(fetchpatch {
url = "https://github.com/hluk/CopyQ/commit/aca7222ec28589af0b08f63686104b992d63ee42.patch";
sha256 = "0d440d0zsdzm9cd0b6c42y9qbrvxg7gdam0qmif62mr8qa0ylidl";
})
];
postPatch = ''
substituteInPlace shared/com.github.hluk.copyq.desktop.in \
--replace copyq "$out/bin/copyq"
'';
meta = with lib; {
homepage = "https://hluk.github.io/CopyQ";
homepage = "https://hluk.github.io/CopyQ";
description = "Clipboard Manager with Advanced Features";
license = licenses.gpl3;
maintainers = [ maintainers.willtim ];
license = licenses.gpl3Only;
maintainers = with maintainers; [ willtim artturin ];
# NOTE: CopyQ supports windows and osx, but I cannot test these.
# OSX build requires QT5.
platforms = platforms.linux;
platforms = platforms.linux;
};
}

View file

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "heimer";
version = "2.5.0";
version = "2.6.0";
src = fetchFromGitHub {
owner = "juzzlin";
repo = pname;
rev = version;
sha256 = "sha256-CY7n9eq/FtQ6srZ9L31nJi0b9rOQq60kNOY3iTFws/E=";
sha256 = "sha256-VSj6bSb92XMsfvDH+cey2GXLnJajUBaCqLMgkv2fnSo=";
};
nativeBuildInputs = [ cmake ];

View file

@ -2,6 +2,7 @@
, python3Packages
, fetchFromGitHub
, wrapQtAppsHook
, cups
}:
with python3Packages;
@ -17,6 +18,11 @@ buildPythonApplication rec {
sha256 = "0px0xdv6kyzkkpmvryrdfavv1qy2xrqdxkpmhvx1gj649xcabv32";
};
postPatch = ''
substituteInPlace inkcut/device/transports/printer/plugin.py \
--replace ", 'lpr', " ", '${cups}/bin/lpr', "
'';
nativeBuildInputs = [ wrapQtAppsHook ];
propagatedBuildInputs = [

View file

@ -2,7 +2,7 @@
let
pname = "joplin-desktop";
version = "1.8.5";
version = "2.1.9";
name = "${pname}-${version}";
inherit (stdenv.hostPlatform) system;
@ -16,8 +16,8 @@ let
src = fetchurl {
url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}.${suffix}";
sha256 = {
x86_64-linux = "11csbr72i5kac2bk7wpa877lay2z1n58s0yildkfnjy552ihdxny";
x86_64-darwin = "1n0ni3ixml99ag83bcn5wg6f0kldjhwkkddd9km37ykr8vxxl952";
x86_64-linux = "1s7zydi90yzafii42m3aaf3niqlmdy2m494j2b3yrz2j26njj4q9";
x86_64-darwin = "1pvl08yhcrnrvdybfmkigaidhfrrg42bb6rzv96zyq9w4k0l0lm8";
}.${system} or throwSystem;
};

View file

@ -0,0 +1,24 @@
{ fetchFromGitHub, rustPlatform, lib }:
with lib;
rustPlatform.buildRustPackage rec {
pname = "rm-improved";
version = "0.13.0";
cargoSha256 = "0wgpr6gx9dpvf02xgvrdbyiqfz1k9vipnvriz3jg0cz7n1afqisj";
src = fetchFromGitHub {
owner = "nivekuil";
repo = "rip";
rev = "0.13.0";
sha256 = "0d065xia4mwdhxkiqfg7pic6scfzipzmsvvx7l6l97w62lzpiqx3";
};
meta = {
description = "Replacement for rm with focus on safety, ergonomics and performance";
homepage = "https://github.com/nivekuil/rip";
maintainers = with maintainers; [ nils-degroot ];
license = licenses.gpl3Plus;
};
}

View file

@ -21,7 +21,6 @@ python3Packages.buildPythonApplication rec {
blinker
natsort
# extras_require
boto
brotli
feedgenerator
zopfli

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "skytemple";
version = "1.2.3";
version = "1.2.5";
src = fetchFromGitHub {
owner = "SkyTemple";
repo = pname;
rev = version;
sha256 = "0l2c4qngv58j6zkp0va6m96zksx8gqn3mjc3isqybfnhjr6nd3v9";
sha256 = "0780517gjc97wb2g67pwdv3fz3sqxm2ica1hdbrhqm4rfbnb28xr";
};
buildInputs = [

View file

@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
srcs = [
(fetchurl {
url = " https://github.com/GothenburgBitFactory/taskwarrior/releases/download/v${version}/${sourceRoot}.tar.gz";
url = "https://github.com/GothenburgBitFactory/taskwarrior/releases/download/v${version}/${sourceRoot}.tar.gz";
sha256 = "0fwnxshhlha21hlgg5z1ad01w13zm1hlmncs274y5n8i15gdfhvj";
})
(fetchurl {

View file

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
chmod +x $out/bin/thinkingrock
'';
installPhase = ":";
dontInstall = true;
meta = with lib; {
description = "Task management system";

View file

@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0yfzr80pw632lkayg4qfmwzrqk02y30yz8br7isyhmgkswyp5rnx";
};
phases = "installPhase";
dontUnpack = true;
installPhase = ''
mkdir -p "$out"/{share/vue,bin}

View file

@ -88,7 +88,7 @@ mkChromiumDerivation (base: rec {
license = if enableWideVine then licenses.unfree else licenses.bsd3;
platforms = platforms.linux;
mainProgram = "chromium";
hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium")
hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium" || channel == "beta")
then ["aarch64-linux" "x86_64-linux"]
else [];
timeout = 172800; # 48 hours (increased from the Hydra default of 10h)

View file

@ -18,9 +18,9 @@
}
},
"beta": {
"version": "92.0.4515.101",
"sha256": "1jcas265hhlqd9f63h4zw4n4xsl26c5zmjlmbf1px5icvcjfb2xd",
"sha256bin64": "0sb5l5nzfzisvrnhcfwhdh9rn6z6pkzqz4p92c40q2mlhmjrfhj0",
"version": "92.0.4515.107",
"sha256": "04khamgxwzgbm2rn7is53j5g55vm5qfyz7zwxqc51sd429jsqlbf",
"sha256bin64": "179i18lckd85i6cc60mqpvv2jqdshc338m686yackdgz9qjrrlwd",
"deps": {
"gn": {
"version": "2021-05-07",

View file

@ -7,10 +7,10 @@ in
rec {
firefox = common rec {
pname = "firefox";
ffversion = "90.0";
ffversion = "90.0.1";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "233ad59e4ab2f08d2253b49235b51b26fa32fb7c285928110573ccbe67c79965d9401a6c58a3af2ad22b8a58ca5d9b3154e3e8c9d29b153acd16152d9b75442c";
sha512 = "9f87c3f3dad33e42a7a9d2161d7f23ff2e7184b2274f9081511c7982957ae9954784bd844a2348ff4744231415aac195d1f12971392db90be0375b4738acb590";
};
meta = {

View file

@ -52,14 +52,14 @@ let
in
stdenv.mkDerivation rec {
pname = "palemoon";
version = "29.2.1";
version = "29.3.0";
src = fetchFromGitHub {
githubBase = "repo.palemoon.org";
owner = "MoonchildProductions";
repo = "Pale-Moon";
rev = "${version}_Release";
sha256 = "0djjl79jrnny16p32db5w7pwwv0a24dc8mg1s1bnavhlvmmk52vq";
sha256 = "1q0w1ffmdfk22df4p2ks4n55zmz44ir8fbcdn5a5h4ihy73nf6xp";
fetchSubmodules = true;
};

View file

@ -0,0 +1,38 @@
{ stdenv
, lib
, fetchurl
, pkg-config
, bison
, libevent
, libressl
, ncurses
}:
stdenv.mkDerivation rec {
pname = "telescope";
version = "0.3.1";
src = fetchurl {
url = "https://github.com/omar-polo/telescope/releases/download/${version}/telescope-${version}.tar.gz";
sha256 = "11xrsh064ph1idhygh52y4mqapgwn1cqr0l3naj5n2a2p7lcsvvw";
};
nativeBuildInputs = [
pkg-config
bison
];
buildInputs = [
libevent
libressl
ncurses
];
meta = with lib; {
description = "Telescope is a w3m-like browser for Gemini";
homepage = "https://telescope.omarpolo.com/";
license = licenses.isc;
maintainers = with maintainers; [ heph2 ];
platforms = platforms.unix;
};
}

View file

@ -88,19 +88,19 @@ let
fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
# Upstream source
version = "10.0.18";
version = "10.5.2";
lang = "en-US";
srcs = {
x86_64-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz";
sha256 = "15ni33mkg3awfmk3ynr0vi4max1h2k0s10xw3dpmdx6chzv4ll14";
sha256 = "16zk7d0sxm2j00vb002mjj38wxcxxlahnfdb9lmkmkfms9p9xfkb";
};
i686-linux = fetchurl {
url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz";
sha256 = "16lx8wkxli1fzq5f6gcw3im4p8k3xdmnmf6w0p7n8hd8681b1w5s";
sha256 = "0xc3ac2y9xf7ff3pqrp5n6l9j8i5hk3y2y3zwykwhnycnfi6dfv4";
};
};
in
@ -311,6 +311,13 @@ stdenv.mkDerivation rec {
# chance that TBB would continue using old font files.
rm -rf "\$HOME/.cache/fontconfig"
# Manually specify data paths (by default TB attempts to create these in the store)
{
echo "user_pref(\"extensions.torlauncher.toronionauthdir_path\", \"\$HOME/TorBrowser/Data/Tor/onion-auth\");"
echo "user_pref(\"extensions.torlauncher.torrc_path\", \"\$HOME/TorBrowser/Data/Tor/torrc\");"
echo "user_pref(\"extensions.torlauncher.tordatadir_path\", \"\$HOME/TorBrowser/Data/Tor\");"
} >> "\$HOME/TorBrowser/Data/Browser/profile.default/prefs.js"
# Lift-off
#
# XAUTHORITY and DISPLAY are required for TBB to work at all.

View file

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "istioctl";
version = "1.10.2";
version = "1.10.3";
src = fetchFromGitHub {
owner = "istio";
repo = "istio";
rev = version;
sha256 = "sha256-jzLffTAGlNeglzoJ3AG4d0pwrkXmT5ttJxr2z4MwP90=";
sha256 = "sha256-MHERRJ9t7EG4sd4gevUnZLA25UnRqZprCXFWkp5roms=";
};
vendorSha256 = "sha256-q/m1H6gcnn35ULi+e8fVuJg8eIXhzizGwXJmyf1Hfy4=";
vendorSha256 = "sha256-lzRIXZXrNQOwgl774B9r6OW/O8QwykSk3Mv5oGmvDuY=";
doCheck = false;

View file

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "kubernetes";
version = "1.21.2";
version = "1.21.3";
src = fetchFromGitHub {
owner = "kubernetes";
repo = "kubernetes";
rev = "v${version}";
sha256 = "sha256-GAX8ODjGj5LM44KgJC0N5uuOH4z33lDWoQgImOl8/xo=";
sha256 = "sha256-GMigdVuqJN6eIN0nhY5PVUEnCqjAYUzitetk2QmX5wQ=";
};
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];

View file

@ -10,16 +10,16 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.10.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "containerd";
repo = pname;
rev = "v${version}";
sha256 = "sha256-cqIIpdkQ6DF7DKXvwCoJBQKG0+lL8iP/Vx0q7rL8prg=";
sha256 = "sha256-uYiGerxZb5GW1dOcflERF3wvgJ8VOtRmQkyzC/ztwjk=";
};
vendorSha256 = "sha256-0+k1e7Sn+NYGAJDVUbUm0oedc1t2blezUhsjDIuIKvA=";
vendorSha256 = "sha256-kGSibuXutyOvDkmajIQ0AqrwR3VUiWoM1Y2zk3MwwyU=";
nativeBuildInputs = [ makeWrapper installShellFiles ];

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "temporal";
version = "1.10.5";
version = "1.11.1";
src = fetchFromGitHub {
owner = "temporalio";
repo = "temporal";
rev = "v${version}";
sha256 = "sha256-+rU/Tn3k/VmAgZl169tVZsRf5SL4bI9r3p1svVfKN2E=";
sha256 = "sha256-upoWftm82QBdax0lbeu+Nmwscsj/fsOzGUPI+fzcKUM=";
};
vendorSha256 = "sha256-jbQPhGfZPPxjYTSJ9wMLzQIOhAwxJZypRzqwL421RfM=";
vendorSha256 = "sha256-eO/23MQpdXQNPCIzMC9nxvrgUFuEPABJ7vkBZKv+XZI";
# Errors:
# > === RUN TestNamespaceHandlerGlobalNamespaceDisabledSuite

View file

@ -21,13 +21,13 @@ with lib;
stdenv.mkDerivation rec {
pname = "profanity";
version = "0.10.0";
version = "0.11.0";
src = fetchFromGitHub {
owner = "profanity-im";
repo = "profanity";
rev = version;
sha256 = "0a9rzhnivxcr8v02xxzrbck7pvvv4c66ap2zy0gzxhri5p8ac03r";
sha256 = "0xmzsh0szm8x3hgw65j0cd2bp8cmrnq5pjz49lqajircyzflsngm";
};
patches = [

View file

@ -1,8 +1,8 @@
{ mkDerivation, lib, fetchFromGitHub, callPackage
{ mkDerivation, lib, fetchFromGitHub, callPackage, fetchpatch
, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo
, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash
, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
, tl-expected, hunspell, glibmm, webkitgtk
, tl-expected, hunspell, glibmm, webkitgtk, jemalloc
, libtgvoip, rnnoise, abseil-cpp, extra-cmake-modules
# Transitive dependencies:
, pcre, xorg, util-linux, libselinux, libsepol, epoxy
@ -23,7 +23,7 @@ let
tg_owt = callPackage ./tg_owt.nix {};
in mkDerivation rec {
pname = "telegram-desktop";
version = "2.8.4";
version = "2.8.11";
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
# Telegram-Desktop with submodules
@ -32,9 +32,17 @@ in mkDerivation rec {
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-IN3GQgdNM66/GxKa5EGKB/LIkgBxS8Y4mkPBaSEphmw=";
sha256 = "020ycgb77vx7rza590i3csrvq1zgm15rvpxqqcp0xkb4yh71i3hb";
};
patches = [(fetchpatch {
# ref: https://github.com/desktop-app/lib_webview/pull/9
url = "https://github.com/desktop-app/lib_webview/commit/75e924934eee8624020befbef1f3cb5b865d3b86.patch";
sha256 = "sha256-rN4FVK4KT+xNf9IVdcpbxMqT0+t3SINJPRRQPyMiDP0=";
stripLen = 1;
extraPrefix = "Telegram/lib_webview/";
})];
postPatch = ''
substituteInPlace Telegram/CMakeLists.txt \
--replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
@ -49,7 +57,7 @@ in mkDerivation rec {
buildInputs = [
qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash
ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
tl-expected hunspell glibmm webkitgtk
tl-expected hunspell glibmm webkitgtk jemalloc
libtgvoip rnnoise abseil-cpp extra-cmake-modules
tg_owt
# Transitive dependencies:

View file

@ -24,7 +24,8 @@ stdenv.mkDerivation rec {
src = notmuch.src;
phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
dontConfigure = true;
dontBuild = true;
installPhase = ''
${coreutils}/bin/install -Dm755 \
@ -36,7 +37,6 @@ stdenv.mkDerivation rec {
'';
meta = with lib; {
inherit version;
description = "Mutt support for notmuch";
homepage = "https://notmuchmail.org/";
license = with licenses; gpl3;

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, scdoc
{ lib, stdenv, fetchFromGitHub, meson, pkg-config, ninja, scdoc, wayland-scanner
, pixman, libxkbcommon, wayland, neatvnc, libdrm, libX11, aml, pam
}:
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
sha256 = "0q48fgh6gf3jicy4bk3kq18h9lhqfq9qz32ri6j9ffvbb8mcw64s";
};
nativeBuildInputs = [ meson pkg-config ninja scdoc wayland ];
nativeBuildInputs = [ meson pkg-config ninja scdoc wayland-scanner ];
buildInputs = [ pixman libxkbcommon wayland neatvnc libdrm libX11 aml pam ];
meta = with lib; {

View file

@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
dontUnpack = true;
dontBuild = true;
unpackPhase = ":";
installPhase = ''
runHook preInstall

View file

@ -1,26 +1,18 @@
{ stdenv, fetchFromGitHub, fetchpatch, lib, python3
{ stdenv, fetchFromGitHub, lib, python3
, cmake, lingeling, btor2tools, gtest, gmp
}:
stdenv.mkDerivation rec {
pname = "boolector";
version = "3.2.1";
version = "3.2.2";
src = fetchFromGitHub {
owner = "boolector";
repo = "boolector";
rev = "refs/tags/${version}";
sha256 = "0jkmaw678njqgkflzj9g374yk1mci8yqvsxkrqzlifn6bwhwb7ci";
rev = version;
sha256 = "1smcy6yp8wvnw2brgnv5bf40v87k4v4fbdbrhi7987vja632k50z";
};
# excludes development artifacts from install, will be included in next release
patches = [
(fetchpatch {
url = "https://github.com/Boolector/boolector/commit/4d240436e34e65096671099766344dd9126145b1.patch";
sha256 = "1girsbvlhkkl1hldl2gsjynwc3m92jskn798qhx0ydg6whrfgcgw";
})
];
postPatch = ''
sed s@REPLACEME@file://${gtest.src}@ ${./cmake-gtest.patch} | patch -p1
'';

View file

@ -1,20 +1,20 @@
{ lib, stdenv, fetchurl, perl, perlPackages, makeWrapper, nettools, java, polyml, z3, rlwrap }:
{ lib, stdenv, fetchurl, perl, perlPackages, makeWrapper, nettools, java, polyml, z3, rlwrap, makeDesktopItem }:
# nettools needed for hostname
stdenv.mkDerivation rec {
pname = "isabelle";
version = "2020";
version = "2021";
dirname = "Isabelle${version}";
src = if stdenv.isDarwin
then fetchurl {
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
sha256 = "1sfr5filsaqj93g5y4p9n8g5652dhr4whj25x4lifdxr2pp560xx";
sha256 = "1c2qm2ksmpyxyccyyn4lyj2wqj5m74nz2i0c5abrd1hj45zcnh1m";
}
else fetchurl {
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
sha256 = "1bibabhlsvf6qsjjkgxcpq3cvl1z7r8yfcgqbhbvsiv69n3gyfk3";
sha256 = "1isgc9w4q95638dcag9gxz1kmf97pkin3jz1dm2lhd64b2k12y2x";
};
nativeBuildInputs = [ makeWrapper ];
@ -48,6 +48,8 @@ stdenv.mkDerivation rec {
ISABELLE_JDK_HOME=${java}
EOF
sed -i -e 's/naproche_server : bool = true/naproche_server : bool = false/' contrib/naproche-*/etc/options
echo ISABELLE_LINE_EDITOR=${rlwrap}/bin/rlwrap >>etc/settings
for comp in contrib/jdk* contrib/polyml-* contrib/z3-*; do
@ -66,9 +68,26 @@ stdenv.mkDerivation rec {
cd $out/$dirname
bin/isabelle install $out/bin
# icon
mkdir -p "$out/share/icons/hicolor/isabelle/apps"
cp "$out/Isabelle${version}/lib/icons/isabelle.xpm" "$out/share/icons/hicolor/isabelle/apps/"
# desktop item
mkdir -p "$out/share"
cp -r "${desktopItem}/share/applications" "$out/share/applications"
wrapProgram $out/$dirname/src/HOL/Tools/ATP/scripts/remote_atp --set PERL5LIB ${perlPackages.makeFullPerlPath [ perlPackages.LWP ]}
'';
desktopItem = makeDesktopItem {
name = "isabelle";
exec = "isabelle jedit";
icon = "isabelle";
desktopName = "Isabelle";
comment = meta.description;
categories = "Education;Science;Math;";
};
meta = with lib; {
description = "A generic proof assistant";

View file

@ -1,29 +1,28 @@
{ lib, stdenv, fetchurl, jre, makeWrapper }:
let version = "2.7.1"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "logisim";
inherit version;
version = "2.7.1";
src = fetchurl {
url = "mirror://sourceforge/project/circuit/2.7.x/${version}/logisim-generic-${version}.jar";
url = "mirror://sourceforge/project/circuit/${lib.versions.majorMinor version}.x/${version}/logisim-generic-${version}.jar";
sha256 = "1hkvc9zc7qmvjbl9579p84hw3n8wl3275246xlzj136i5b0phain";
};
phases = [ "installPhase" ];
dontUnpack = true;
nativeBuildInputs = [makeWrapper];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -pv $out/bin
mkdir -p $out/bin
makeWrapper ${jre}/bin/java $out/bin/logisim --add-flags "-jar $src"
'';
meta = {
meta = with lib; {
homepage = "http://ozark.hendrix.edu/~burch/logisim";
description = "Educational tool for designing and simulating digital logic circuits";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with maintainers; [ ];
license = licenses.gpl2Plus;
platforms = platforms.unix;
};
}

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitLab, cmake, perl, python3, boost, valgrind
{ lib, stdenv, fetchFromGitLab, fetchpatch, cmake, perl, python3, boost, valgrind
# Optional requirements
# Lua 5.3 needed and not available now
#, luaSupport ? false, lua5
@ -18,17 +18,26 @@ in
stdenv.mkDerivation rec {
pname = "simgrid";
version = "3.27";
version = "3.28";
src = fetchFromGitLab {
domain = "framagit.org";
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "13nwsyk030fhl3srhpc28j5s6594z0m38606f4ygc4qhv9wxw011";
sha256 = "0vylwgd4i89bvhbgfay0wq953324dwfmmr8jp9b4vvlc9m0017r9";
};
nativeBuildInputs = [ cmake perl python3 boost valgrind ]
patches = [
(fetchpatch {
name = "fix-smpi-dirs-absolute.patch";
url = "https://framagit.org/simgrid/simgrid/-/commit/71f01e667577be1076646eb841e0a57bd5388545.patch";
sha256 = "0x3y324b6269687zfy43ilc48bwrs4nb7svh2mpg88lrz53rky15";
})
];
propagatedBuildInputs = [ boost ];
nativeBuildInputs = [ cmake perl python3 valgrind ]
++ optionals fortranSupport [ gfortran ]
++ optionals buildJavaBindings [ openjdk ]
++ optionals buildDocumentation [ transfig ghostscript doxygen ]
@ -90,6 +99,9 @@ stdenv.mkDerivation rec {
cat <<EOW >CTestCustom.cmake
SET(CTEST_CUSTOM_TESTS_IGNORE smpi-replay-multiple)
EOW
# make sure tests are built in parallel (this can be long otherwise)
make tests -j $NIX_BUILD_CORES
'';
meta = {

View file

@ -2,7 +2,7 @@
python3Packages.buildPythonApplication rec {
pname = "snakemake";
version = "6.5.3";
version = "6.6.1";
propagatedBuildInputs = with python3Packages; [
appdirs
@ -12,10 +12,13 @@ python3Packages.buildPythonApplication rec {
docutils
filelock
GitPython
jinja2
jsonschema
nbformat
networkx
psutil
pulp
pygraphviz
pyyaml
ratelimiter
requests
@ -28,7 +31,7 @@ python3Packages.buildPythonApplication rec {
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "a06839346425c74542e6e2e6047db3133cd747ef89e1ebd87dad1fbba041f62d";
sha256 = "91637a801342f3bc349c033b284fef7c0201b4e5e29d5650cb6c7f69096d4184";
};
doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json

View file

@ -27,7 +27,7 @@
}:
let
version = "1.8.1";
version = "1.8.2";
# build stimuli file for PGO build and the script to generate it
# independently of the foot's build, so we can cache the result
@ -95,7 +95,7 @@ stdenv.mkDerivation rec {
src = fetchzip {
url = "https://codeberg.org/dnkl/${pname}/archive/${version}.tar.gz";
sha256 = "0yrz7n0wls8g8w7ja934icwxmng3sxh70x87qmzc9c9cb1wyd989";
sha256 = "1k0alz991cslls4926c5gq02pdq0vfw9jfpprh2a1vb59xgikv7h";
};
depsBuildBuild = [

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "gh";
version = "1.12.1";
version = "1.13.1";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-P9fbkJSXRYZdVD1EKWWs0FKs8aQdPqHWESUqjsGgyPU=";
sha256 = "sha256-6ur1ZIJRghkZk5tLMJUmKn+XfjVGFE0MRSQ/Uz+Eans=";
};
vendorSha256 = "sha256-ndsjmY/UCFyegm8yP7BopYMh5eZ8/fftWfxW4r5los0=";
vendorSha256 = "sha256-JJNyzMYAQT/pS1+eGYQsUpxDiwa6DP7JWhIBuTtnOiE=";
nativeBuildInputs = [ installShellFiles ];

View file

@ -4,13 +4,13 @@
with lib;
stdenv.mkDerivation rec {
pname = "ccextractor";
version = "0.89";
version = "0.90";
src = fetchFromGitHub {
owner = "CCExtractor";
repo = pname;
rev = "v${version}";
sha256 = "sha256-847yt6pUTsDnVbrMQQPJ0pqu6UnKmYmr8UtR8+TP11A=";
sha256 = "sha256-NVFCwUZZVt8GrWXWyvoF8UrUZ/ix+GWubKtc3218k7o=";
};
sourceRoot = "source/src";

View file

@ -2,13 +2,13 @@
buildKodiBinaryAddon rec {
pname = "inputstream-adaptive";
namespace = "inputstream.adaptive";
version = "2.6.17";
version = "2.6.20";
src = fetchFromGitHub {
owner = "xbmc";
repo = "inputstream.adaptive";
rev = "${version}-${rel}";
sha256 = "sha256-MHwLTSyMF7vYiVTof3xePW2eOySCr4/xYlPvWSzBZUg=";
sha256 = "0g0pvfdmnd3frsd5sdckv3llwyjiw809rqy1slq3xj6i08xhcmd5";
};
extraNativeBuildInputs = [ gtest ];

View file

@ -3,13 +3,13 @@
buildKodiBinaryAddon rec {
pname = "inputstream-ffmpegdirect";
namespace = "inputstream.ffmpegdirect";
version = "1.21.3";
version = "1.21.8";
src = fetchFromGitHub {
owner = "xbmc";
repo = "inputstream.ffmpegdirect";
rev = "${version}-${rel}";
sha256 = "sha256-OShd6sPGXXu0rlSwuQFMWqrLscE6Y0I2eV2YJYyZNMs=";
sha256 = "0iq89vfb3p3b5qhivxs95xk122vgmbpixdvqpmkxp19rlyn3z9j6";
};
extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];

View file

@ -3,13 +3,13 @@
buildKodiAddon rec {
pname = "netflix";
namespace = "plugin.video.netflix";
version = "1.16.0";
version = "1.16.2";
src = fetchFromGitHub {
owner = "CastagnaIT";
repo = namespace;
rev = "v${version}";
sha256 = "0k5jz6zjsazf0z2xv7gk848p4hvkzd79d0kl71a5d20f96g3938k";
sha256 = "0yycwm8vrpkr4fsbf713mhpnaxfd849nhzp5r1898sb9vldab4xk";
};
propagatedBuildInputs = [

View file

@ -2,13 +2,13 @@
buildKodiBinaryAddon rec {
pname = "pvr-hts";
namespace = "pvr.hts";
version = "8.3.0";
version = "8.3.4";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hts";
rev = "${version}-${rel}";
sha256 = "1lqd0kkfv06n8ax8ywsi1rx9glvx3pwi9yj9yb3fdf39xmd3hz7y";
sha256 = "15gv499r6jf89chp7xpv0z4v0nia907czs83lz57lxydqcbmmjnn";
};
meta = with lib; {

View file

@ -6,13 +6,13 @@
buildKodiBinaryAddon rec {
pname = "pvr-iptvsimple";
namespace = "pvr.iptvsimple";
version = "7.6.5";
version = "7.6.9";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.iptvsimple";
rev = "${version}-${rel}";
sha256 = "sha256-Z4H+5dUYJ3vAgodPxWmttVhPVdPVYTJbmYxo1lzLHNA=";
sha256 = "1nj4qgr35cw5ly16w2fdgscz5245d7mgvm4sxgxy19jkyv7jmzn3";
};
extraBuildInputs = [

View file

@ -7,13 +7,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "streamlink";
version = "2.1.1";
version = "2.2.0";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = version;
sha256 = "14vqh4pck3q766qln7c57n9bz8zrlgfqrpkdn8x0ac9zhlhfn1zm";
sha256 = "1323v1pavmbb2vk3djdkxd8j6i3yrcgrkyl2d7xwkb7nwlla1x1v";
};
checkInputs = with python3.pkgs; [
@ -43,7 +43,7 @@ python3.pkgs.buildPythonApplication rec {
homepage = "https://github.com/streamlink/streamlink";
description = "CLI for extracting streams from various websites to video player of your choosing";
longDescription = ''
Streamlink is a CLI utility that pipes flash videos from online
Streamlink is a CLI utility that pipes videos from online
streaming services to a variety of video players such as VLC, or
alternatively, a browser.
@ -51,6 +51,6 @@ python3.pkgs.buildPythonApplication rec {
'';
license = licenses.bsd2;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ dezgeg zraexy ];
maintainers = with maintainers; [ dezgeg zraexy DeeUnderscore ];
};
}

View file

@ -225,7 +225,7 @@ in {
mkdir -p $out/lib/vdr
'';
installPhase = ":";
dontInstall = true;
meta = with lib; {
homepage = "https://projects.vdr-developer.org/projects/plg-text2skin";

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