Merge staging-next into staging
This commit is contained in:
commit
07165c7226
@ -309,6 +309,32 @@
|
|||||||
Based on <xref linkend="opt-system.stateVersion" />, existing installations will continue to work.
|
Based on <xref linkend="opt-system.stateVersion" />, existing installations will continue to work.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
The prometheus json exporter is now managed by the prometheus community. Together with additional features
|
||||||
|
some backwards incompatibilities were introduced.
|
||||||
|
Most importantly the exporter no longer accepts a fixed command-line parameter to specify the URL of the
|
||||||
|
endpoint serving JSON. It now expects this URL to be passed as an URL parameter, when scraping the exporter's
|
||||||
|
<literal>/probe</literal> endpoint.
|
||||||
|
In the prometheus scrape configuration the scrape target might look like this:
|
||||||
|
<programlisting>
|
||||||
|
http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/endpoint
|
||||||
|
</programlisting>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Existing configuration for the exporter needs to be updated, but can partially be re-used.
|
||||||
|
Documentation is available in the upstream repository and a small example for NixOS is available
|
||||||
|
in the corresponding NixOS test.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
These changes also affect <xref linkend="opt-services.prometheus.exporters.rspamd.enable" />, which is
|
||||||
|
just a preconfigured instance of the json exporter.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
For more information, take a look at the <link xlink:href="https://github.com/prometheus-community/json_exporter">
|
||||||
|
official documentation</link> of the json_exporter.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -394,7 +394,7 @@ let
|
|||||||
${optionalString cfg.requireWheel
|
${optionalString cfg.requireWheel
|
||||||
"auth required pam_wheel.so use_uid"}
|
"auth required pam_wheel.so use_uid"}
|
||||||
${optionalString cfg.logFailures
|
${optionalString cfg.logFailures
|
||||||
"auth required pam_tally.so"}
|
"auth required pam_faillock.so"}
|
||||||
${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth)
|
${optionalString (config.security.pam.enableSSHAgentAuth && cfg.sshAgentAuth)
|
||||||
"auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles}"}
|
"auth sufficient ${pkgs.pam_ssh_agent_auth}/libexec/pam_ssh_agent_auth.so file=${lib.concatStringsSep ":" config.services.openssh.authorizedKeysFiles}"}
|
||||||
${optionalString cfg.fprintAuth
|
${optionalString cfg.fprintAuth
|
||||||
|
@ -585,10 +585,10 @@ let
|
|||||||
regular expression matches.
|
regular expression matches.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
action = mkDefOpt (types.enum ["replace" "keep" "drop"]) "replace" ''
|
action =
|
||||||
|
mkDefOpt (types.enum ["replace" "keep" "drop" "hashmod" "labelmap" "labeldrop" "labelkeep"]) "replace" ''
|
||||||
Action to perform based on regex matching.
|
Action to perform based on regex matching.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -236,8 +236,6 @@ in
|
|||||||
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
|
services.prometheus.exporters.minio.minioAddress = mkDefault "http://localhost:9000";
|
||||||
services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;
|
services.prometheus.exporters.minio.minioAccessKey = mkDefault config.services.minio.accessKey;
|
||||||
services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
|
services.prometheus.exporters.minio.minioAccessSecret = mkDefault config.services.minio.secretKey;
|
||||||
})] ++ [(mkIf config.services.rspamd.enable {
|
|
||||||
services.prometheus.exporters.rspamd.url = mkDefault "http://localhost:11334/stat";
|
|
||||||
})] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable {
|
})] ++ [(mkIf config.services.prometheus.exporters.rtl_433.enable {
|
||||||
hardware.rtl-sdr.enable = mkDefault true;
|
hardware.rtl-sdr.enable = mkDefault true;
|
||||||
})] ++ [(mkIf config.services.nginx.enable {
|
})] ++ [(mkIf config.services.nginx.enable {
|
||||||
|
@ -8,28 +8,36 @@ in
|
|||||||
{
|
{
|
||||||
port = 7979;
|
port = 7979;
|
||||||
extraOpts = {
|
extraOpts = {
|
||||||
url = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
URL to scrape JSON from.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
configFile = mkOption {
|
configFile = mkOption {
|
||||||
type = types.path;
|
type = types.path;
|
||||||
description = ''
|
description = ''
|
||||||
Path to configuration file.
|
Path to configuration file.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
listenAddress = {}; # not used
|
|
||||||
};
|
};
|
||||||
serviceOpts = {
|
serviceOpts = {
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
|
${pkgs.prometheus-json-exporter}/bin/json_exporter \
|
||||||
--port ${toString cfg.port} \
|
--config.file ${escapeShellArg cfg.configFile} \
|
||||||
${cfg.url} ${escapeShellArg cfg.configFile} \
|
--web.listen-address="${cfg.listenAddress}:${toString cfg.port}" \
|
||||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
imports = [
|
||||||
|
(mkRemovedOptionModule [ "url" ] ''
|
||||||
|
This option was removed. The URL of the endpoint serving JSON
|
||||||
|
must now be provided to the exporter by prometheus via the url
|
||||||
|
parameter `target'.
|
||||||
|
|
||||||
|
In prometheus a scrape URL would look like this:
|
||||||
|
|
||||||
|
http://some.json-exporter.host:7979/probe?target=https://example.com/some/json/endpoint
|
||||||
|
|
||||||
|
For more information, take a look at the official documentation
|
||||||
|
(https://github.com/prometheus-community/json_exporter) of the json_exporter.
|
||||||
|
'')
|
||||||
|
({ options.warnings = options.warnings; options.assertions = options.assertions; })
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -10,64 +10,55 @@ let
|
|||||||
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq '.' > $out
|
echo '${builtins.toJSON conf}' | ${pkgs.buildPackages.jq}/bin/jq '.' > $out
|
||||||
'';
|
'';
|
||||||
|
|
||||||
generateConfig = extraLabels: (map (path: {
|
generateConfig = extraLabels: {
|
||||||
name = "rspamd_${replaceStrings [ "." " " ] [ "_" "_" ] path}";
|
metrics = (map (path: {
|
||||||
path = "$.${path}";
|
name = "rspamd_${replaceStrings [ "." " " ] [ "_" "_" ] path}";
|
||||||
labels = extraLabels;
|
path = "$.${path}";
|
||||||
}) [
|
labels = extraLabels;
|
||||||
"actions.'add header'"
|
}) [
|
||||||
"actions.'no action'"
|
"actions.'add header'"
|
||||||
"actions.'rewrite subject'"
|
"actions.'no action'"
|
||||||
"actions.'soft reject'"
|
"actions.'rewrite subject'"
|
||||||
"actions.greylist"
|
"actions.'soft reject'"
|
||||||
"actions.reject"
|
"actions.greylist"
|
||||||
"bytes_allocated"
|
"actions.reject"
|
||||||
"chunks_allocated"
|
"bytes_allocated"
|
||||||
"chunks_freed"
|
"chunks_allocated"
|
||||||
"chunks_oversized"
|
"chunks_freed"
|
||||||
"connections"
|
"chunks_oversized"
|
||||||
"control_connections"
|
"connections"
|
||||||
"ham_count"
|
"control_connections"
|
||||||
"learned"
|
"ham_count"
|
||||||
"pools_allocated"
|
"learned"
|
||||||
"pools_freed"
|
"pools_allocated"
|
||||||
"read_only"
|
"pools_freed"
|
||||||
"scanned"
|
"read_only"
|
||||||
"shared_chunks_allocated"
|
"scanned"
|
||||||
"spam_count"
|
"shared_chunks_allocated"
|
||||||
"total_learns"
|
"spam_count"
|
||||||
]) ++ [{
|
"total_learns"
|
||||||
name = "rspamd_statfiles";
|
]) ++ [{
|
||||||
type = "object";
|
name = "rspamd_statfiles";
|
||||||
path = "$.statfiles[*]";
|
type = "object";
|
||||||
labels = recursiveUpdate {
|
path = "$.statfiles[*]";
|
||||||
symbol = "$.symbol";
|
labels = recursiveUpdate {
|
||||||
type = "$.type";
|
symbol = "$.symbol";
|
||||||
} extraLabels;
|
type = "$.type";
|
||||||
values = {
|
} extraLabels;
|
||||||
revision = "$.revision";
|
values = {
|
||||||
size = "$.size";
|
revision = "$.revision";
|
||||||
total = "$.total";
|
size = "$.size";
|
||||||
used = "$.used";
|
total = "$.total";
|
||||||
languages = "$.languages";
|
used = "$.used";
|
||||||
users = "$.users";
|
languages = "$.languages";
|
||||||
};
|
users = "$.users";
|
||||||
}];
|
};
|
||||||
|
}];
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
port = 7980;
|
port = 7980;
|
||||||
extraOpts = {
|
extraOpts = {
|
||||||
listenAddress = {}; # not used
|
|
||||||
|
|
||||||
url = mkOption {
|
|
||||||
type = types.str;
|
|
||||||
description = ''
|
|
||||||
URL to the rspamd metrics endpoint.
|
|
||||||
Defaults to http://localhost:11334/stat when
|
|
||||||
<option>services.rspamd.enable</option> is true.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
extraLabels = mkOption {
|
extraLabels = mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
default = {
|
default = {
|
||||||
@ -84,9 +75,25 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
serviceOpts.serviceConfig.ExecStart = ''
|
serviceOpts.serviceConfig.ExecStart = ''
|
||||||
${pkgs.prometheus-json-exporter}/bin/prometheus-json-exporter \
|
${pkgs.prometheus-json-exporter}/bin/json_exporter \
|
||||||
--port ${toString cfg.port} \
|
--config.file ${prettyJSON (generateConfig cfg.extraLabels)} \
|
||||||
${cfg.url} ${prettyJSON (generateConfig cfg.extraLabels)} \
|
--web.listen-address "${cfg.listenAddress}:${toString cfg.port}" \
|
||||||
${concatStringsSep " \\\n " cfg.extraFlags}
|
${concatStringsSep " \\\n " cfg.extraFlags}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
(mkRemovedOptionModule [ "url" ] ''
|
||||||
|
This option was removed. The URL of the rspamd metrics endpoint
|
||||||
|
must now be provided to the exporter by prometheus via the url
|
||||||
|
parameter `target'.
|
||||||
|
|
||||||
|
In prometheus a scrape URL would look like this:
|
||||||
|
|
||||||
|
http://some.rspamd-exporter.host:7980/probe?target=http://some.rspamd.host:11334/stat
|
||||||
|
|
||||||
|
For more information, take a look at the official documentation
|
||||||
|
(https://github.com/prometheus-community/json_exporter) of the json_exporter.
|
||||||
|
'')
|
||||||
|
({ options.warnings = options.warnings; options.assertions = options.assertions; })
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
@ -222,10 +222,11 @@ let
|
|||||||
exporterConfig = {
|
exporterConfig = {
|
||||||
enable = true;
|
enable = true;
|
||||||
url = "http://localhost";
|
url = "http://localhost";
|
||||||
configFile = pkgs.writeText "json-exporter-conf.json" (builtins.toJSON [{
|
configFile = pkgs.writeText "json-exporter-conf.json" (builtins.toJSON {
|
||||||
name = "json_test_metric";
|
metrics = [
|
||||||
path = "$.test";
|
{ name = "json_test_metric"; path = "$.test"; }
|
||||||
}]);
|
];
|
||||||
|
});
|
||||||
};
|
};
|
||||||
metricProvider = {
|
metricProvider = {
|
||||||
systemd.services.prometheus-json-exporter.after = [ "nginx.service" ];
|
systemd.services.prometheus-json-exporter.after = [ "nginx.service" ];
|
||||||
@ -241,7 +242,9 @@ let
|
|||||||
wait_for_open_port(80)
|
wait_for_open_port(80)
|
||||||
wait_for_unit("prometheus-json-exporter.service")
|
wait_for_unit("prometheus-json-exporter.service")
|
||||||
wait_for_open_port(7979)
|
wait_for_open_port(7979)
|
||||||
succeed("curl -sSf localhost:7979/metrics | grep -q 'json_test_metric 1'")
|
succeed(
|
||||||
|
"curl -sSf 'localhost:7979/probe?target=http://localhost' | grep -q 'json_test_metric 1'"
|
||||||
|
)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -659,7 +662,7 @@ let
|
|||||||
wait_for_open_port(11334)
|
wait_for_open_port(11334)
|
||||||
wait_for_open_port(7980)
|
wait_for_open_port(7980)
|
||||||
wait_until_succeeds(
|
wait_until_succeeds(
|
||||||
"curl -sSf localhost:7980/metrics | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'"
|
"curl -sSf 'localhost:7980/probe?target=http://localhost:11334/stat' | grep -q 'rspamd_scanned{host=\"rspamd\"} 0'"
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
@ -2,6 +2,7 @@ let
|
|||||||
password1 = "foobar";
|
password1 = "foobar";
|
||||||
password2 = "helloworld";
|
password2 = "helloworld";
|
||||||
password3 = "bazqux";
|
password3 = "bazqux";
|
||||||
|
password4 = "asdf123";
|
||||||
in import ./make-test-python.nix ({ pkgs, ... }: {
|
in import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
name = "shadow";
|
name = "shadow";
|
||||||
meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ nequissimus ]; };
|
meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ nequissimus ]; };
|
||||||
@ -19,6 +20,10 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
|
|||||||
password = password2;
|
password = password2;
|
||||||
shell = pkgs.shadow;
|
shell = pkgs.shadow;
|
||||||
};
|
};
|
||||||
|
users.ash = {
|
||||||
|
password = password4;
|
||||||
|
shell = pkgs.bash;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -41,6 +46,15 @@ in import ./make-test-python.nix ({ pkgs, ... }: {
|
|||||||
shadow.wait_for_file("/tmp/1")
|
shadow.wait_for_file("/tmp/1")
|
||||||
assert "emma" in shadow.succeed("cat /tmp/1")
|
assert "emma" in shadow.succeed("cat /tmp/1")
|
||||||
|
|
||||||
|
with subtest("Switch user"):
|
||||||
|
shadow.send_chars("su - ash\n")
|
||||||
|
shadow.sleep(2)
|
||||||
|
shadow.send_chars("${password4}\n")
|
||||||
|
shadow.sleep(2)
|
||||||
|
shadow.send_chars("whoami > /tmp/3\n")
|
||||||
|
shadow.wait_for_file("/tmp/3")
|
||||||
|
assert "ash" in shadow.succeed("cat /tmp/3")
|
||||||
|
|
||||||
with subtest("Change password"):
|
with subtest("Change password"):
|
||||||
shadow.send_key("alt-f3")
|
shadow.send_key("alt-f3")
|
||||||
shadow.wait_until_succeeds(f"[ $(fgconsole) = 3 ]")
|
shadow.wait_until_succeeds(f"[ $(fgconsole) = 3 ]")
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, makeWrapper, fetchFromBitbucket, fetchFromGitHub, pkgconfig
|
{ stdenv, makeWrapper, fetchzip, fetchFromGitHub, pkgconfig
|
||||||
, alsaLib, curl, glew, glfw, gtk2-x11, jansson, libjack2, libXext, libXi
|
, alsaLib, curl, glew, glfw, gtk2-x11, jansson, libjack2, libXext, libXi
|
||||||
, libzip, rtaudio, rtmidi, speex, libsamplerate }:
|
, libzip, rtaudio, rtmidi, speex, libsamplerate }:
|
||||||
|
|
||||||
@ -7,10 +7,8 @@ let
|
|||||||
# Others are downloaded with `make deps`. Due to previous issues with the
|
# Others are downloaded with `make deps`. Due to previous issues with the
|
||||||
# `glfw` submodule (see above) and because we can not access the network when
|
# `glfw` submodule (see above) and because we can not access the network when
|
||||||
# building in a sandbox, we fetch the dependency source manually.
|
# building in a sandbox, we fetch the dependency source manually.
|
||||||
pfft-source = fetchFromBitbucket {
|
pfft-source = fetchzip {
|
||||||
owner = "jpommier";
|
url = "https://vcvrack.com/downloads/dep/pffft.zip";
|
||||||
repo = "pffft";
|
|
||||||
rev = "74d7261be17cf659d5930d4830609406bd7553e3";
|
|
||||||
sha256 = "084csgqa6f1a270bhybjayrh3mpyi2jimc87qkdgsqcp8ycsx1l1";
|
sha256 = "084csgqa6f1a270bhybjayrh3mpyi2jimc87qkdgsqcp8ycsx1l1";
|
||||||
};
|
};
|
||||||
nanovg-source = fetchFromGitHub {
|
nanovg-source = fetchFromGitHub {
|
||||||
|
@ -5,16 +5,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dasel";
|
pname = "dasel";
|
||||||
version = "1.11.0";
|
version = "1.12.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "TomWright";
|
owner = "TomWright";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1xyh41vb2rypajjzbysw6k8x39bna8j3fmxcqyjcrqs0dzx78nk3";
|
sha256 = "69igz0Q7pT0f6PsbZWHcwUiTKRTTzj7r5E6E5ExUoJo=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1il1vnv0v97qh8f47md5i6qaac2k8par0pd0z7zqg67vxq6gim85";
|
vendorSha256 = "BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
|
||||||
|
|
||||||
buildFlagsArray = ''
|
buildFlagsArray = ''
|
||||||
-ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version}
|
-ldflags=-s -w -X github.com/tomwright/dasel/internal.Version=${version}
|
||||||
|
@ -12,8 +12,8 @@ in buildPythonApplication rec {
|
|||||||
version = "5.1.3";
|
version = "5.1.3";
|
||||||
pname = "gramps";
|
pname = "gramps";
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapGAppsHook gettext ];
|
nativeBuildInputs = [ wrapGAppsHook intltool gettext ];
|
||||||
buildInputs = [ intltool gtk3 gobject-introspection pango gexiv2 ]
|
buildInputs = [ gtk3 gobject-introspection pango gexiv2 ]
|
||||||
# Map support
|
# Map support
|
||||||
++ stdenv.lib.optional enableOSM osm-gps-map
|
++ stdenv.lib.optional enableOSM osm-gps-map
|
||||||
# Graphviz support
|
# Graphviz support
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{ stdenv, fetchFromGitHub, zlib, tbb, python, perl }:
|
{ stdenv, fetchFromGitHub, cmake, tbb, zlib }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bowtie2";
|
pname = "bowtie2";
|
||||||
version = "2.3.5.1";
|
version = "2.4.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "BenLangmead";
|
owner = "BenLangmead";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1l1f0yhjqqvy4lpxfml1xwv7ayimwbpzazvp0281gb4jb5f5mr1a";
|
sha256 = "11apzq7l1lk3yxw97g9dfr0gwnvfh58x6apifcblgd66gbip3y1y";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib tbb python perl ];
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
installFlags = [ "prefix=$(out)" ];
|
buildInputs = [ tbb zlib ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "An ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences";
|
description = "An ultrafast and memory-efficient tool for aligning sequencing reads to long reference sequences";
|
||||||
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
|||||||
homepage = "http://bowtie-bio.sf.net/bowtie2";
|
homepage = "http://bowtie-bio.sf.net/bowtie2";
|
||||||
maintainers = with maintainers; [ rybern ];
|
maintainers = with maintainers; [ rybern ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
broken = stdenv.isAarch64;
|
broken = stdenv.isAarch64; # only x86 is supported
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -20,13 +20,14 @@ let
|
|||||||
in rec {
|
in rec {
|
||||||
# [["good/relative/source/file" true] ["bad.tmpfile" false]] -> root -> path
|
# [["good/relative/source/file" true] ["bad.tmpfile" false]] -> root -> path
|
||||||
filterPattern = patterns: root:
|
filterPattern = patterns: root:
|
||||||
let
|
(name: _type:
|
||||||
filters = map (pair: relPath: if match (head pair) relPath == null then true else last pair) patterns;
|
let
|
||||||
in
|
relPath = lib.removePrefix ((toString root) + "/") name;
|
||||||
name: _type:
|
matches = pair: (match (head pair) relPath) != null;
|
||||||
let
|
matched = map (pair: [(matches pair) (last pair)]) patterns;
|
||||||
relPath = lib.removePrefix ((toString root) + "/") name;
|
in
|
||||||
in foldl' (acc: f: if acc == true then f relPath else acc) true filters;
|
last (last ([[true true]] ++ (filter head matched)))
|
||||||
|
);
|
||||||
|
|
||||||
# string -> [[regex bool]]
|
# string -> [[regex bool]]
|
||||||
gitignoreToPatterns = gitignore:
|
gitignoreToPatterns = gitignore:
|
||||||
@ -90,9 +91,7 @@ in rec {
|
|||||||
(filter (l: !isList l && !isComment l)
|
(filter (l: !isList l && !isComment l)
|
||||||
(split "\n" gitignore));
|
(split "\n" gitignore));
|
||||||
|
|
||||||
gitignoreFilter = ign: let
|
gitignoreFilter = ign: root: filterPattern (gitignoreToPatterns ign) root;
|
||||||
patterns = gitignoreToPatterns ign;
|
|
||||||
in root: filterPattern patterns root;
|
|
||||||
|
|
||||||
# string|[string|file] (→ [string|file] → [string]) -> string
|
# string|[string|file] (→ [string|file] → [string]) -> string
|
||||||
gitignoreCompileIgnore = file_str_patterns: root:
|
gitignoreCompileIgnore = file_str_patterns: root:
|
||||||
@ -101,10 +100,9 @@ in rec {
|
|||||||
str_patterns = map (onPath readFile) (lib.toList file_str_patterns);
|
str_patterns = map (onPath readFile) (lib.toList file_str_patterns);
|
||||||
in concatStringsSep "\n" str_patterns;
|
in concatStringsSep "\n" str_patterns;
|
||||||
|
|
||||||
gitignoreFilterPure = filter: patterns: root: let
|
gitignoreFilterPure = filter: patterns: root: name: type:
|
||||||
compiledFilter = gitignoreCompileIgnore patterns root;
|
gitignoreFilter (gitignoreCompileIgnore patterns root) root name type
|
||||||
filterFn = gitignoreFilter compiledFilter;
|
&& filter name type;
|
||||||
in name: type: filterFn root name type && filter name type;
|
|
||||||
|
|
||||||
# This is a very hacky way of programming this!
|
# This is a very hacky way of programming this!
|
||||||
# A better way would be to reuse existing filtering by making multiple gitignore functions per each root.
|
# A better way would be to reuse existing filtering by making multiple gitignore functions per each root.
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ fetchFromGitHub, stdenv, makeWrapper, unzip, libxml2, m4, uthash, which }:
|
{ fetchFromGitHub, stdenv, makeWrapper, unzip, libxml2, m4, uthash, which }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "z88dk-unstable";
|
pname = "z88dk";
|
||||||
version = "2020-01-27";
|
version = "2.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "z88dk";
|
owner = "z88dk";
|
||||||
repo = "z88dk";
|
repo = "z88dk";
|
||||||
rev = "efdd07c2e2229cac7cfef97ec01f478004846e39";
|
rev = "v${version}";
|
||||||
sha256 = "0jcks5ygp256lmzmllffp4yb38cxjgdyqnnimkj4s65095cfasyb";
|
sha256 = "14r9bjw6lgz85a59a4ajspvg12swiqxi17zicl8r7p29pi9lsibp";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,10 +50,10 @@ stdenv.mkDerivation rec {
|
|||||||
installTargets = [ "libs" "install" ];
|
installTargets = [ "libs" "install" ];
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = "https://www.z88dk.org";
|
homepage = "https://www.z88dk.org";
|
||||||
description = "z80 Development Kit";
|
description = "z80 Development Kit";
|
||||||
license = licenses.clArtistic;
|
license = licenses.clArtistic;
|
||||||
maintainers = [ ];
|
maintainers = [ maintainers.siraben ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
{ self, callPackage, lib }:
|
{ self, callPackage, lib }:
|
||||||
callPackage ./default.nix {
|
callPackage ./default.nix {
|
||||||
inherit self;
|
inherit self;
|
||||||
version = "2.0.5-2020-09-27";
|
version = "2.0.5-2020-12-28";
|
||||||
rev = "e8ec6fe";
|
rev = "56c04accf975bff2519c34721dccbbdb7b8e6963";
|
||||||
isStable = true;
|
isStable = true;
|
||||||
sha256 = "0v7g216j0zrjp32nfjqqxzgxgvgbdx89h3x0djbqg3avsgxjwnbk";
|
sha256 = "0mmx7dy843iqdpyxxdfks860np0311gg58gi4zczx10h62y6jacm";
|
||||||
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
|
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
|
||||||
platforms = with lib; filter (p: p != "aarch64-linux")
|
platforms = with lib; filter (p: p != "aarch64-linux")
|
||||||
(platforms.linux ++ platforms.darwin);
|
(platforms.linux ++ platforms.darwin);
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ self, callPackage }:
|
{ self, callPackage }:
|
||||||
callPackage ./default.nix {
|
callPackage ./default.nix {
|
||||||
inherit self;
|
inherit self;
|
||||||
version = "2.1.0-2020-09-30";
|
version = "2.1.0-2020-12-28";
|
||||||
rev = "e9af1ab";
|
rev = "65378759f38bb946e40f31799992434effd01bba";
|
||||||
isStable = false;
|
isStable = false;
|
||||||
sha256 = "081vrr4snr1c38cscbq1a8barv7abc9czqqlm4qlbdksa8g32bbj";
|
sha256 = "1h78gydlrmvkdrql4ra5a3xr78iiq12bfmny6kiq65v1jbk8f19g";
|
||||||
}
|
}
|
||||||
|
@ -2,23 +2,19 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "libmd";
|
pname = "libmd";
|
||||||
version = "1.0.1";
|
version = "1.0.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
|
url = "https://archive.hadrons.org/software/${pname}/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1";
|
sha256 = "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoreconfHook ];
|
nativeBuildInputs = [ autoreconfHook ];
|
||||||
|
|
||||||
# Writing the version to a .dist-version file is required for the get-version
|
|
||||||
# shell script because fetchgit removes the .git directory.
|
|
||||||
prePatch = ''
|
|
||||||
echo '${version}' > .dist-version;
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = "https://www.hadrons.org/software/${pname}/";
|
homepage = "https://www.hadrons.org/software/${pname}/";
|
||||||
|
changelog = "https://archive.hadrons.org/software/libmd/libmd-${version}.announce";
|
||||||
|
# Git: https://git.hadrons.org/cgit/libmd.git
|
||||||
description = "Message Digest functions from BSD systems";
|
description = "Message Digest functions from BSD systems";
|
||||||
license = with licenses; [ bsd3 bsd2 isc beerware publicDomain ];
|
license = with licenses; [ bsd3 bsd2 isc beerware publicDomain ];
|
||||||
maintainers = with maintainers; [ primeos ];
|
maintainers = with maintainers; [ primeos ];
|
||||||
|
@ -1,11 +1,14 @@
|
|||||||
{ lua, writeText, toLuaModule }:
|
{ lua, writeText, toLuaModule }:
|
||||||
|
|
||||||
{ disabled ? false, ... } @ attrs:
|
{ disabled ? false
|
||||||
|
, propagatedBuildInputs ? [ ]
|
||||||
|
, ...
|
||||||
|
} @ attrs:
|
||||||
|
|
||||||
if disabled then
|
if disabled then
|
||||||
throw "${attrs.name} not supported by interpreter lua-${lua.luaversion}"
|
throw "${attrs.name} not supported by interpreter lua-${lua.luaversion}"
|
||||||
else
|
else
|
||||||
toLuaModule( lua.stdenv.mkDerivation (
|
toLuaModule (lua.stdenv.mkDerivation (
|
||||||
{
|
{
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"PREFIX=$(out)"
|
"PREFIX=$(out)"
|
||||||
@ -18,8 +21,8 @@ else
|
|||||||
//
|
//
|
||||||
{
|
{
|
||||||
name = "lua${lua.luaversion}-" + attrs.name;
|
name = "lua${lua.luaversion}-" + attrs.name;
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = propagatedBuildInputs ++ [
|
||||||
lua # propagate it for its setup-hook
|
lua # propagate it for its setup-hook
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
) )
|
))
|
||||||
|
36
pkgs/development/python-modules/aiomultiprocess/default.nix
Normal file
36
pkgs/development/python-modules/aiomultiprocess/default.nix
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{ lib
|
||||||
|
, buildPythonPackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, pytestCheckHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "aiomultiprocess";
|
||||||
|
version = "0.8.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "omnilib";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0vkj1vgvlv828pi3sn0hjzdy9f0j63gljs2ylibbsaixa7mbkpvy";
|
||||||
|
};
|
||||||
|
|
||||||
|
checkInputs = [ pytestCheckHook ];
|
||||||
|
|
||||||
|
pytestFlagsArray = [ "aiomultiprocess/tests/*.py" ];
|
||||||
|
pythonImportsCheck = [ "aiomultiprocess" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Python module to improve performance";
|
||||||
|
longDescription = ''
|
||||||
|
aiomultiprocess presents a simple interface, while running a full
|
||||||
|
AsyncIO event loop on each child process, enabling levels of
|
||||||
|
concurrency never before seen in a Python application. Each child
|
||||||
|
process can execute multiple coroutines at once, limited only by
|
||||||
|
the workload and number of cores available.
|
||||||
|
'';
|
||||||
|
homepage = "https://github.com/omnilib/aiomultiprocess";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
|
maintainers = [ maintainers.fab ];
|
||||||
|
};
|
||||||
|
}
|
@ -3,14 +3,14 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "denonavr";
|
pname = "denonavr";
|
||||||
version = "0.9.9";
|
version = "0.9.10";
|
||||||
disabled = isPy27;
|
disabled = isPy27;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "scarface-4711";
|
owner = "scarface-4711";
|
||||||
repo = "denonavr";
|
repo = "denonavr";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "08zh8rdadmxcgr707if6g5k5j2xz21s6jrn4kxh1c7xqpgdfggd9";
|
sha256 = "sha256-3ap8F3ayBTpaR98md+gT0+hkIWlFBNxStTGWT5AL//A=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
{ buildPythonPackage, fetchPypi, flask, isPy27, lib, prometheus_client
|
{ buildPythonPackage, fetchPypi, flask, isPy27, lib, nixosTests
|
||||||
, py-air-control, pytestCheckHook, pytestcov, pytestrunner, setuptools_scm }:
|
, prometheus_client, py-air-control, pytestCheckHook, pytestcov, pytestrunner
|
||||||
|
, setuptools_scm }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "py-air-control-exporter";
|
pname = "py-air-control-exporter";
|
||||||
@ -15,6 +16,8 @@ buildPythonPackage rec {
|
|||||||
checkInputs = [ pytestCheckHook pytestcov pytestrunner ];
|
checkInputs = [ pytestCheckHook pytestcov pytestrunner ];
|
||||||
propagatedBuildInputs = [ flask prometheus_client py-air-control ];
|
propagatedBuildInputs = [ flask prometheus_client py-air-control ];
|
||||||
|
|
||||||
|
passthru.tests = { inherit (nixosTests.prometheus-exporters) py-air-control; };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Exports Air Quality Metrics to Prometheus.";
|
description = "Exports Air Quality Metrics to Prometheus.";
|
||||||
homepage = "https://github.com/urbas/py-air-control-exporter";
|
homepage = "https://github.com/urbas/py-air-control-exporter";
|
||||||
|
@ -7,11 +7,11 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "sqlmap";
|
pname = "sqlmap";
|
||||||
version = "1.4.11";
|
version = "1.4.12";
|
||||||
|
|
||||||
src = fetchPypi {
|
src = fetchPypi {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
sha256 = "5c91d13f090c8e891201c7b924cc2b2feccf12042b42075a5623b4986b9c9ee7";
|
sha256 = "166adazdrv92azx4p0qng0cm3va6i301vfsr4yyf0azj3sdg0waj";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
@ -26,6 +26,8 @@ buildPythonPackage rec {
|
|||||||
# No tests in archive
|
# No tests in archive
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "sqlmap" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "http://sqlmap.org";
|
homepage = "http://sqlmap.org";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "xmodem";
|
pname = "xmodem";
|
||||||
version = "0.4.5";
|
version = "0.4.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tehmaze";
|
owner = "tehmaze";
|
||||||
repo = "xmodem";
|
repo = "xmodem";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "0nz2gxwaq3ys1knpw6zlz3xrc3ziambcirg3fmp3nvzjdq8ma3h0";
|
sha256 = "1xx7wd8bnswxa1fv3bfim2gcamii79k7qmwg7dbxbjvrhbcjjc0l";
|
||||||
};
|
};
|
||||||
|
|
||||||
checkInputs = [ pytest which lrzsz ];
|
checkInputs = [ pytest which lrzsz ];
|
||||||
|
@ -1,19 +1,19 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, perf
|
{ lib, stdenv, fetchFromGitHub, rustPlatform, makeWrapper, perf, nix-update-script
|
||||||
, Security
|
, Security
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "cargo-flamegraph";
|
pname = "cargo-flamegraph";
|
||||||
version = "0.3.0";
|
version = "0.4.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "flamegraph-rs";
|
owner = "flamegraph-rs";
|
||||||
repo = "flamegraph";
|
repo = "flamegraph";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0d6k2qr76p93na39j4zbcpc9kaswd806wrqhcwisqxdrcxrjbwhk";
|
sha256 = "sha256-IpmvFUWNaFQ1ls7u625vvj1TnRYXR+X1mAGdBcwRFLk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "1qz4a1b58j3bv3akqvc3bcgvqq4bi8cbm3gzws6a52dz7ycrgq46";
|
cargoSha256 = "sha256-2YHkEQZqjKEvg4h9kIVhqmgq+SMF1c3r8UbSQivZh7w=";
|
||||||
|
|
||||||
nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
|
nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
|
||||||
buildInputs = lib.optionals stdenv.isDarwin [
|
buildInputs = lib.optionals stdenv.isDarwin [
|
||||||
@ -22,11 +22,15 @@ rustPlatform.buildRustPackage rec {
|
|||||||
|
|
||||||
postFixup = lib.optionalString stdenv.isLinux ''
|
postFixup = lib.optionalString stdenv.isLinux ''
|
||||||
wrapProgram $out/bin/cargo-flamegraph \
|
wrapProgram $out/bin/cargo-flamegraph \
|
||||||
--suffix PATH ':' ${perf}/bin
|
--set-default PERF ${perf}/bin/perf
|
||||||
wrapProgram $out/bin/flamegraph \
|
wrapProgram $out/bin/flamegraph \
|
||||||
--suffix PATH ':' ${perf}/bin
|
--set-default PERF ${perf}/bin/perf
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script {
|
||||||
|
attrPath = pname;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3";
|
description = "Easy flamegraphs for Rust projects and everything else, without Perl or pipes <3";
|
||||||
homepage = "https://github.com/ferrous-systems/flamegraph";
|
homepage = "https://github.com/ferrous-systems/flamegraph";
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "tokei";
|
pname = "tokei";
|
||||||
version = "12.0.4";
|
version = "12.1.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "XAMPPRocky";
|
owner = "XAMPPRocky";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0vj6xpp5ss82n1zxljy5893s8l1pdhar5xqay5vvglkp8bzblin6";
|
sha256 = "1n5n7lxlw6zhrdf4jbmqpyn9k02dpn4wqm93qgiin4i8j8bxwjw8";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "02c2pdjzd49qznm1yj3rnli48267ajjdklrb1cpj0rhpirw4rh1j";
|
cargoSha256 = "0bph6n8i5dfy5ryr3nyd3pxyrl1032vvg63s4s44g01qjm9rfdvf";
|
||||||
|
|
||||||
buildInputs = stdenv.lib.optionals stdenv.isDarwin [
|
buildInputs = stdenv.lib.optionals stdenv.isDarwin [
|
||||||
libiconv darwin.apple_sdk.frameworks.Security
|
libiconv darwin.apple_sdk.frameworks.Security
|
||||||
|
32
pkgs/development/tools/rust/cargo-wipe/default.nix
Normal file
32
pkgs/development/tools/rust/cargo-wipe/default.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ stdenv
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
, nix-update-script
|
||||||
|
}:
|
||||||
|
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "cargo-wipe";
|
||||||
|
version = "0.3.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "mihai-dinculescu";
|
||||||
|
repo = "cargo-wipe";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "1kwkifdp98zsinh7xcsz2va252wxbw73xlrv0r7h3m0bn51d52vw";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoSha256 = "15snr1b1pybwcjzwddxybvry3jyllcmrp8dyfm9yiagks3wrcfb4";
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = nix-update-script {
|
||||||
|
attrPath = pname;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = ''Cargo subcommand "wipe": recursively finds and optionally wipes all "target" or "node_modules" folders'';
|
||||||
|
homepage = "https://github.com/mihai-dinculescu/cargo-wipe";
|
||||||
|
license = with licenses; [ mit ];
|
||||||
|
maintainers = with maintainers; [ otavio ];
|
||||||
|
};
|
||||||
|
}
|
@ -4717,6 +4717,18 @@ let
|
|||||||
meta.homepage = "https://github.com/sunaku/vim-dasht/";
|
meta.homepage = "https://github.com/sunaku/vim-dasht/";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
vim-DetectSpellLang = buildVimPluginFrom2Nix {
|
||||||
|
pname = "vim-DetectSpellLang";
|
||||||
|
version = "2020-01-13";
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "konfekt";
|
||||||
|
repo = "vim-DetectSpellLang";
|
||||||
|
rev = "d8b545ef138a9ff013f8243f85c79b277b26f5e1";
|
||||||
|
sha256 = "0c1bxryw4rg4cyql7vfp2gwhkl2d0b8inc6shmgfy7jg4svhzs0w";
|
||||||
|
};
|
||||||
|
meta.homepage = "https://github.com/Konfekt/vim-DetectSpellLang/";
|
||||||
|
};
|
||||||
|
|
||||||
vim-devicons = buildVimPluginFrom2Nix {
|
vim-devicons = buildVimPluginFrom2Nix {
|
||||||
pname = "vim-devicons";
|
pname = "vim-devicons";
|
||||||
version = "2020-12-10";
|
version = "2020-12-10";
|
||||||
|
@ -246,6 +246,7 @@ keith/swift.vim
|
|||||||
kien/rainbow_parentheses.vim
|
kien/rainbow_parentheses.vim
|
||||||
knubie/vim-kitty-navigator
|
knubie/vim-kitty-navigator
|
||||||
konfekt/fastfold
|
konfekt/fastfold
|
||||||
|
konfekt/vim-DetectSpellLang
|
||||||
kristijanhusak/defx-git
|
kristijanhusak/defx-git
|
||||||
kristijanhusak/defx-icons
|
kristijanhusak/defx-icons
|
||||||
kristijanhusak/deoplete-phpactor
|
kristijanhusak/deoplete-phpactor
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
{ stdenv, buildPackages, fetchurl, fetchpatch, flex, cracklib, db4 }:
|
{ stdenv, buildPackages, fetchurl, fetchpatch, flex, cracklib, db4
|
||||||
|
, nixosTests
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "linux-pam";
|
pname = "linux-pam";
|
||||||
@ -63,6 +65,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
doCheck = false; # fails
|
doCheck = false; # fails
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
inherit (nixosTests) pam-oath-login pam-u2f shadow;
|
||||||
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = "http://www.linux-pam.org/";
|
homepage = "http://www.linux-pam.org/";
|
||||||
description = "Pluggable Authentication Modules, a flexible mechanism for authenticating user";
|
description = "Pluggable Authentication Modules, a flexible mechanism for authenticating user";
|
||||||
|
@ -8,11 +8,11 @@ with stdenv.lib;
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "pdns-recursor";
|
pname = "pdns-recursor";
|
||||||
version = "4.4.1";
|
version = "4.4.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
|
url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
|
||||||
sha256 = "162nczipxnsbgg7clap697yikxjz1vdsjkaxxsn6hb6l6m3a6zzr";
|
sha256 = "1kzmliim2pwh04y3y6bpai9fm0qmdicrmff09fv5h5wahi4pzfdh";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
|
@ -1,31 +1,23 @@
|
|||||||
# This file was generated by go2nix.
|
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
|
||||||
{ buildGoPackage, fetchFromGitHub, fetchpatch, lib, nixosTests }:
|
|
||||||
|
|
||||||
buildGoPackage {
|
buildGoModule rec {
|
||||||
pname = "prometheus-json-exporter";
|
pname = "prometheus-json-exporter";
|
||||||
version = "unstable-2017-10-06";
|
version = "0.2.0";
|
||||||
|
|
||||||
goPackagePath = "github.com/kawamuray/prometheus-json-exporter";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kawamuray";
|
owner = "prometheus-community";
|
||||||
repo = "prometheus-json-exporter";
|
repo = "json_exporter";
|
||||||
rev = "51e3dc02a30ab818bb73e5c98c3853231c2dbb5f";
|
rev = "v${version}";
|
||||||
sha256 = "1v1p4zcqnb3d3rm55r695ydn61h6gz95f55cpa22hzw18dasahdh";
|
sha256 = "1aabvd75a2223x5wnbyryigj7grw6l05jhr3g3s97b1f1hfigz6d";
|
||||||
};
|
};
|
||||||
|
|
||||||
goDeps = ./json-exporter_deps.nix;
|
vendorSha256 = "03kb0gklq08krl7qnvs7267siw1pkyy346b42dsk1d9gr5302wsw";
|
||||||
|
|
||||||
patches = [(fetchpatch { # adds bool support
|
|
||||||
url = "https://patch-diff.githubusercontent.com/raw/kawamuray/prometheus-json-exporter/pull/17.patch";
|
|
||||||
sha256 = "0mc5axhd2bykci41dgswl4r1552d70jsmb17lbih7czhsy6rgmrm";
|
|
||||||
})];
|
|
||||||
|
|
||||||
passthru.tests = { inherit (nixosTests.prometheus-exporters) json; };
|
passthru.tests = { inherit (nixosTests.prometheus-exporters) json; };
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A prometheus exporter which scrapes remote JSON by JSONPath";
|
description = "A prometheus exporter which scrapes remote JSON by JSONPath";
|
||||||
homepage = "https://github.com/kawamuray/prometheus-json-exporter";
|
homepage = "https://github.com/prometheus-community/json_exporter";
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ willibutz ];
|
maintainers = with maintainers; [ willibutz ];
|
||||||
};
|
};
|
||||||
|
@ -1,111 +0,0 @@
|
|||||||
# This file was generated by go2nix.
|
|
||||||
[
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/Sirupsen/logrus";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/Sirupsen/logrus";
|
|
||||||
rev = "a437dfd2463eaedbec3dfe443e477d3b0a810b3f";
|
|
||||||
sha256 = "1904s2bbc7p88anzjp6fyj3jrbm5p6wbb8j4490674dq10kkcfbj";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/beorn7/perks";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/beorn7/perks";
|
|
||||||
rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
|
|
||||||
sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/golang/protobuf";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/golang/protobuf";
|
|
||||||
rev = "8ee79997227bf9b34611aee7946ae64735e6fd93";
|
|
||||||
sha256 = "0qm1lpdhf97k2hxgivq2cpjgawhlmmz39y230kgxijhm96xijxb8";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/kawamuray/jsonpath";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/kawamuray/jsonpath";
|
|
||||||
rev = "5c448ebf973557834ef870e788b0b2d95ac68d12";
|
|
||||||
sha256 = "1i1id1i85rf09rldp03h0ibyi6zg0fz9p9l5qj7i8dfs6h6y8f0a";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/kawamuray/prometheus-exporter-harness";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/kawamuray/prometheus-exporter-harness";
|
|
||||||
rev = "97eeea7b8b0619ea2a065d75c0f0f5909327afa6";
|
|
||||||
sha256 = "12al8irf8jb6p2xmm4wbh0wjqsyrdywynr4w122wxxnsx2n56xyv";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/matttproud/golang_protobuf_extensions";
|
|
||||||
rev = "c12348ce28de40eed0136aa2b644d0ee0650e56c";
|
|
||||||
sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/prometheus/client_golang";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/prometheus/client_golang";
|
|
||||||
rev = "575f371f7862609249a1be4c9145f429fe065e32";
|
|
||||||
sha256 = "0hyvszjv5m6i40k2fn21c3bjr8jhlfdqavk1r6g2v5dybyj47vps";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/prometheus/client_model";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/prometheus/client_model";
|
|
||||||
rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
|
|
||||||
sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/prometheus/common";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/prometheus/common";
|
|
||||||
rev = "0d5de9d6d8629cb8bee6d4674da4127cd8b615a3";
|
|
||||||
sha256 = "1zlvvgw67p66fz9nswkydq15j4a5z5kkiskl0jxps8i27ya1baq0";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/prometheus/procfs";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/prometheus/procfs";
|
|
||||||
rev = "abf152e5f3e97f2fafac028d2cc06c1feb87ffa5";
|
|
||||||
sha256 = "0cp8lznv1b4zhi3wnbjkfxwzhkqd3wbmiy6mwgjanip8l9l3ykws";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "github.com/urfave/cli";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://github.com/urfave/cli";
|
|
||||||
rev = "0bdeddeeb0f650497d603c4ad7b20cfe685682f6";
|
|
||||||
sha256 = "1ny63c7bfwfrsp7vfkvb4i0xhq4v7yxqnwxa52y4xlfxs4r6v6fg";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
goPackagePath = "gopkg.in/yaml.v2";
|
|
||||||
fetch = {
|
|
||||||
type = "git";
|
|
||||||
url = "https://gopkg.in/yaml.v2";
|
|
||||||
rev = "a5b47d31c556af34a302ce5d659e6fea44d90de0";
|
|
||||||
sha256 = "0v6l48fshdjrqzyq1kwn22gy7vy434xdr1i0lm3prsf6jbln9fam";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,4 +1,4 @@
|
|||||||
{ lib, python3, fetchFromGitHub, nixosTests }:
|
{ lib, python3, fetchFromGitHub, nixosTests, fetchpatch }:
|
||||||
|
|
||||||
let
|
let
|
||||||
python = python3.override {
|
python = python3.override {
|
||||||
@ -25,7 +25,7 @@ in with python.pkgs; buildPythonApplication rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
poetry
|
poetry-core
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
@ -43,6 +43,14 @@ in with python.pkgs; buildPythonApplication rec {
|
|||||||
pytest
|
pytest
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# Use poetry-core instead of poetry. Fixed in 1.2.3
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/supakeen/pinnwand/commit/38ff5729c59abb97e4b416d3ca66466528b0eac7.patch";
|
||||||
|
sha256 = "F3cZe29z/7glmS3KWzcfmZnhYmC0LrLLS0zHk7WS2rQ=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
passthru.tests = nixosTests.pinnwand;
|
passthru.tests = nixosTests.pinnwand;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "bdf2psf";
|
pname = "bdf2psf";
|
||||||
version = "1.199";
|
version = "1.200";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
|
url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
|
||||||
sha256 = "0qs0qrdagvnh4z20wp4v3v4ry6j5jihlpv3iqzzhdzzxjfrw9m9y";
|
sha256 = "07z686h2fv9b3446fcym0sfzxwgkm9cc4bd3zhpv6j8bdfadnjxw";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ dpkg ];
|
nativeBuildInputs = [ dpkg ];
|
||||||
|
@ -6,7 +6,7 @@ GEM
|
|||||||
ethon (0.12.0)
|
ethon (0.12.0)
|
||||||
ffi (>= 1.3.0)
|
ffi (>= 1.3.0)
|
||||||
ffi (1.14.2)
|
ffi (1.14.2)
|
||||||
html-proofer (3.18.3)
|
html-proofer (3.18.5)
|
||||||
addressable (~> 2.3)
|
addressable (~> 2.3)
|
||||||
mercenary (~> 0.3)
|
mercenary (~> 0.3)
|
||||||
nokogumbo (~> 2.0)
|
nokogumbo (~> 2.0)
|
||||||
|
@ -37,10 +37,10 @@
|
|||||||
platforms = [];
|
platforms = [];
|
||||||
source = {
|
source = {
|
||||||
remotes = ["https://rubygems.org"];
|
remotes = ["https://rubygems.org"];
|
||||||
sha256 = "0l0nkk0px6bc4g3xwc1c5fyi0c3n8sgl1zy94vqdzllfmkjvfggc";
|
sha256 = "0bz0041fizdmggc5k9an4s3qk6diyybn2agcia2wr96vymfb2qjh";
|
||||||
type = "gem";
|
type = "gem";
|
||||||
};
|
};
|
||||||
version = "3.18.3";
|
version = "3.18.5";
|
||||||
};
|
};
|
||||||
mercenary = {
|
mercenary = {
|
||||||
groups = ["default"];
|
groups = ["default"];
|
||||||
|
@ -18,11 +18,11 @@ buildPythonPackage rec {
|
|||||||
# The websites youtube-dl deals with are a very moving target. That means that
|
# The websites youtube-dl deals with are a very moving target. That means that
|
||||||
# downloads break constantly. Because of that, updates should always be backported
|
# downloads break constantly. Because of that, updates should always be backported
|
||||||
# to the latest stable release.
|
# to the latest stable release.
|
||||||
version = "2020.12.31";
|
version = "2021.01.03";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
|
||||||
sha256 = "0ncqkzzaasda2hd89psgc0j34r2jinn1dcsfcapzrsd902qghkh9";
|
sha256 = "0qqixcr748nfhnihkjzayzdja26kgrsds45q5s8krmfm3b79ipli";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
||||||
|
@ -2,16 +2,16 @@
|
|||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "corerad";
|
pname = "corerad";
|
||||||
version = "0.2.8";
|
version = "0.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mdlayher";
|
owner = "mdlayher";
|
||||||
repo = "corerad";
|
repo = "corerad";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "053rihi8lqai3z837ddi441yl41lsg1zj9gl62s9vbjmq5l11fjh";
|
sha256 = "1q4wcliifas8xvwy7kcq4fbc1iv7dha3k6j1nbwl7pjqmyggs3f4";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "1ra4yfplmgzxzs1nlbm0izg339fjnkfrw071y8w4m6q6wnzdhljb";
|
vendorSha256 = "07khxs15z9xzcmp4gyggdwqyz361y96h6ib92qax8k83cr0l494p";
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchgit, autoreconfHook, pkg-config, glib, fuse, curl, glib-networking
|
{ stdenv, fetchgit, autoreconfHook, pkg-config, glib, fuse, curl, glib-networking
|
||||||
, asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsHook }:
|
, asciidoc, libxml2, docbook_xsl, docbook_xml_dtd_45, libxslt, wrapGAppsNoGuiHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "megatools";
|
pname = "megatools";
|
||||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook pkg-config wrapGAppsHook asciidoc libxml2
|
autoreconfHook pkg-config wrapGAppsNoGuiHook asciidoc libxml2
|
||||||
docbook_xsl docbook_xml_dtd_45 libxslt
|
docbook_xsl docbook_xml_dtd_45 libxslt
|
||||||
];
|
];
|
||||||
buildInputs = [ glib glib-networking curl ]
|
buildInputs = [ glib glib-networking curl ]
|
||||||
|
@ -10294,6 +10294,7 @@ in
|
|||||||
cargo-watch = callPackage ../development/tools/rust/cargo-watch {
|
cargo-watch = callPackage ../development/tools/rust/cargo-watch {
|
||||||
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
inherit (darwin.apple_sdk.frameworks) CoreServices;
|
||||||
};
|
};
|
||||||
|
cargo-wipe = callPackage ../development/tools/rust/cargo-wipe { };
|
||||||
cargo-xbuild = callPackage ../development/tools/rust/cargo-xbuild { };
|
cargo-xbuild = callPackage ../development/tools/rust/cargo-xbuild { };
|
||||||
cargo-generate = callPackage ../development/tools/rust/cargo-generate {
|
cargo-generate = callPackage ../development/tools/rust/cargo-generate {
|
||||||
inherit (darwin.apple_sdk.frameworks) Security;
|
inherit (darwin.apple_sdk.frameworks) Security;
|
||||||
|
@ -237,6 +237,8 @@ in {
|
|||||||
|
|
||||||
aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { };
|
aiolifx-effects = callPackage ../development/python-modules/aiolifx-effects { };
|
||||||
|
|
||||||
|
aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { };
|
||||||
|
|
||||||
aiomysql = callPackage ../development/python-modules/aiomysql { };
|
aiomysql = callPackage ../development/python-modules/aiomysql { };
|
||||||
|
|
||||||
aionotify = callPackage ../development/python-modules/aionotify { };
|
aionotify = callPackage ../development/python-modules/aionotify { };
|
||||||
|
Loading…
Reference in New Issue
Block a user