Merge staging-next into staging

Changed files
+147 -317
nixos
doc
modules
programs
services
logging
misc
tests
pkgs
applications
misc
calibre
networking
cluster
terragrunt
version-management
data
misc
v2ray-geoip
development
libraries
aws-c-sdkutils
jellyfin-ffmpeg
python-modules
aiomysensors
asyncio_mqtt
canonicaljson
jsonmerge
mockupdb
shtab
slither-analyzer
tools
oh-my-posh
pgloader
ruff
web
tools
admin
misc
debootstrap
mutagen
vector
networking
netbird
s3cmd
virtualization
cloud-init
+3 -4
nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
···
<listitem>
<para>
The logrotate module also has been updated to freeform syntax:
-
<link linkend="opt-services.logrotate.paths">services.logrotate.paths</link>
-
and
-
<link linkend="opt-services.logrotate.extraConfig">services.logrotate.extraConfig</link>
-
will work, but issue deprecation warnings and
<link linkend="opt-services.logrotate.settings">services.logrotate.settings</link>
should now be used instead.
</para>
···
<listitem>
<para>
The logrotate module also has been updated to freeform syntax:
+
<literal>services.logrotate.paths</literal> and
+
<literal>services.logrotate.extraConfig</literal> will work,
+
but issue deprecation warnings and
<link linkend="opt-services.logrotate.settings">services.logrotate.settings</link>
should now be used instead.
</para>
+9
nixos/doc/manual/from_md/release-notes/rl-2211.section.xml
···
</listitem>
<listitem>
<para>
The <literal>isPowerPC</literal> predicate, found on
<literal>platform</literal> attrsets
(<literal>hostPlatform</literal>,
···
</listitem>
<listitem>
<para>
+
Deprecated settings <literal>logrotate.paths</literal> and
+
<literal>logrotate.extraConfig</literal> have been removed.
+
Please convert any uses to
+
<link linkend="opt-services.logrotate.settings">services.logrotate.settings</link>
+
instead.
+
</para>
+
</listitem>
+
<listitem>
+
<para>
The <literal>isPowerPC</literal> predicate, found on
<literal>platform</literal> attrsets
(<literal>hostPlatform</literal>,
+2 -2
nixos/doc/manual/release-notes/rl-2205.section.md
···
- [services.logrotate.enable](#opt-services.logrotate.enable) now defaults to true if any rotate path has
been defined, and some paths have been added by default.
-
- The logrotate module also has been updated to freeform syntax: [services.logrotate.paths](#opt-services.logrotate.paths)
-
and [services.logrotate.extraConfig](#opt-services.logrotate.extraConfig) will work, but issue deprecation
warnings and [services.logrotate.settings](#opt-services.logrotate.settings) should now be used instead.
- `security.pam.ussh` has been added, which allows authorizing PAM sessions based on SSH _certificates_ held within an SSH agent, using [pam-ussh](https://github.com/uber/pam-ussh).
···
- [services.logrotate.enable](#opt-services.logrotate.enable) now defaults to true if any rotate path has
been defined, and some paths have been added by default.
+
- The logrotate module also has been updated to freeform syntax: `services.logrotate.paths`
+
and `services.logrotate.extraConfig` will work, but issue deprecation
warnings and [services.logrotate.settings](#opt-services.logrotate.settings) should now be used instead.
- `security.pam.ussh` has been added, which allows authorizing PAM sessions based on SSH _certificates_ held within an SSH agent, using [pam-ussh](https://github.com/uber/pam-ussh).
+4
nixos/doc/manual/release-notes/rl-2211.section.md
···
This got partially copied over from the minimal profile and reduces the final system size by up to 200MB.
If you require all locales installed set the option to ``[ "all" ]``.
- The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`.
- The `fetchgit` fetcher now uses [cone mode](https://www.git-scm.com/docs/git-sparse-checkout/2.37.0#_internalscone_mode_handling) by default for sparse checkouts. [Non-cone mode](https://www.git-scm.com/docs/git-sparse-checkout/2.37.0#_internalsnon_cone_problems) can be enabled by passing `nonConeMode = true`, but note that non-cone mode is deprecated and this option may be removed alongside a future Git update without notice.
···
This got partially copied over from the minimal profile and reduces the final system size by up to 200MB.
If you require all locales installed set the option to ``[ "all" ]``.
+
- Deprecated settings `logrotate.paths` and `logrotate.extraConfig` have
+
been removed. Please convert any uses to
+
[services.logrotate.settings](#opt-services.logrotate.settings) instead.
+
- The `isPowerPC` predicate, found on `platform` attrsets (`hostPlatform`, `buildPlatform`, `targetPlatform`, etc) has been removed in order to reduce confusion. The predicate was was defined such that it matches only the 32-bit big-endian members of the POWER/PowerPC family, despite having a name which would imply a broader set of systems. If you were using this predicate, you can replace `foo.isPowerPC` with `(with foo; isPower && is32bit && isBigEndian)`.
- The `fetchgit` fetcher now uses [cone mode](https://www.git-scm.com/docs/git-sparse-checkout/2.37.0#_internalscone_mode_handling) by default for sparse checkouts. [Non-cone mode](https://www.git-scm.com/docs/git-sparse-checkout/2.37.0#_internalsnon_cone_problems) can be enabled by passing `nonConeMode = true`, but note that non-cone mode is deprecated and this option may be removed alongside a future Git update without notice.
+1 -1
nixos/modules/programs/fish.nix
···
'';
babelfishTranslate = path: name:
-
pkgs.runCommand "${name}.fish" {
nativeBuildInputs = [ pkgs.babelfish ];
} "${pkgs.babelfish}/bin/babelfish < ${path} > $out;";
···
'';
babelfishTranslate = path: name:
+
pkgs.runCommandLocal "${name}.fish" {
nativeBuildInputs = [ pkgs.babelfish ];
} "${pkgs.babelfish}/bin/babelfish < ${path} > $out;";
+23 -179
nixos/modules/services/logging/logrotate.nix
···
let
cfg = config.services.logrotate;
-
# deprecated legacy compat settings
-
# these options will be removed before 22.11 in the following PR:
-
# https://github.com/NixOS/nixpkgs/pull/164169
-
pathOpts = { name, ... }: {
-
options = {
-
enable = mkOption {
-
type = types.bool;
-
default = true;
-
description = lib.mdDoc ''
-
Whether to enable log rotation for this path. This can be used to explicitly disable
-
logging that has been configured by NixOS.
-
'';
-
};
-
-
name = mkOption {
-
type = types.str;
-
internal = true;
-
};
-
-
path = mkOption {
-
type = with types; either str (listOf str);
-
default = name;
-
defaultText = "attribute name";
-
description = lib.mdDoc ''
-
The path to log files to be rotated.
-
Spaces are allowed and normal shell quoting rules apply,
-
with ', ", and \ characters supported.
-
'';
-
};
-
-
user = mkOption {
-
type = with types; nullOr str;
-
default = null;
-
description = lib.mdDoc ''
-
The user account to use for rotation.
-
'';
-
};
-
-
group = mkOption {
-
type = with types; nullOr str;
-
default = null;
-
description = lib.mdDoc ''
-
The group to use for rotation.
-
'';
-
};
-
-
frequency = mkOption {
-
type = types.enum [ "hourly" "daily" "weekly" "monthly" "yearly" ];
-
default = "daily";
-
description = lib.mdDoc ''
-
How often to rotate the logs.
-
'';
-
};
-
-
keep = mkOption {
-
type = types.int;
-
default = 20;
-
description = lib.mdDoc ''
-
How many rotations to keep.
-
'';
-
};
-
-
extraConfig = mkOption {
-
type = types.lines;
-
default = "";
-
description = lib.mdDoc ''
-
Extra logrotate config options for this path. Refer to
-
<https://linux.die.net/man/8/logrotate> for details.
-
'';
-
};
-
-
priority = mkOption {
-
type = types.int;
-
default = 1000;
-
description = lib.mdDoc ''
-
Order of this logrotate block in relation to the others. The semantics are
-
the same as with `lib.mkOrder`. Smaller values have a greater priority.
-
'';
-
};
-
};
-
-
config.name = name;
-
};
-
generateLine = n: v:
if builtins.elem n [ "files" "priority" "enable" "global" ] || v == null then null
-
else if builtins.elem n [ "extraConfig" "frequency" ] then "${v}\n"
else if builtins.elem n [ "firstaction" "lastaction" "prerotate" "postrotate" "preremove" ]
then "${n}\n ${v}\n endscript\n"
else if isInt v then "${n} ${toString v}\n"
···
${generateSection 2 settings}}
'';
-
# below two mapPaths are compat functions
-
mapPathOptToSetting = n: v:
-
if n == "keep" then nameValuePair "rotate" v
-
else if n == "path" then nameValuePair "files" v
-
else nameValuePair n v;
-
-
mapPathsToSettings = path: pathOpts:
-
nameValuePair path (
-
filterAttrs (n: v: ! builtins.elem n [ "user" "group" "name" ] && v != "") (
-
(mapAttrs' mapPathOptToSetting pathOpts) //
-
{
-
su =
-
if pathOpts.user != null
-
then "${pathOpts.user} ${pathOpts.group}"
-
else null;
-
}
-
)
-
);
-
settings = sortProperties (attrValues (filterAttrs (_: settings: settings.enable) (
foldAttrs recursiveUpdate { } [
{
···
frequency = "weekly";
rotate = 4;
};
-
# compat section
-
extraConfig = {
-
enable = (cfg.extraConfig != "");
-
global = true;
-
extraConfig = cfg.extraConfig;
-
priority = 101;
-
};
}
-
(mapAttrs' mapPathsToSettings cfg.paths)
cfg.settings
{ header = { global = true; priority = 100; }; }
]
···
in
{
imports = [
-
(mkRenamedOptionModule [ "services" "logrotate" "config" ] [ "services" "logrotate" "extraConfig" ])
];
options = {
···
or settings common to all further files settings.
Refer to <https://linux.die.net/man/8/logrotate> for details.
'';
type = types.attrsOf (types.submodule ({ name, ... }: {
freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ]));
···
in this case you can disable the failing check with this option.
'';
};
-
-
# deprecated legacy compat settings
-
paths = mkOption {
-
type = with types; attrsOf (submodule pathOpts);
-
default = { };
-
description = lib.mdDoc ''
-
Attribute set of paths to rotate. The order each block appears in the generated configuration file
-
can be controlled by the [priority](#opt-services.logrotate.paths._name_.priority) option
-
using the same semantics as `lib.mkOrder`. Smaller values have a greater priority.
-
This setting has been deprecated in favor of [logrotate settings](#opt-services.logrotate.settings).
-
'';
-
example = literalExpression ''
-
{
-
httpd = {
-
path = "/var/log/httpd/*.log";
-
user = config.services.httpd.user;
-
group = config.services.httpd.group;
-
keep = 7;
-
};
-
-
myapp = {
-
path = "/var/log/myapp/*.log";
-
user = "myuser";
-
group = "mygroup";
-
frequency = "weekly";
-
keep = 5;
-
priority = 1;
-
};
-
}
-
'';
-
};
-
-
extraConfig = mkOption {
-
default = "";
-
type = types.lines;
-
description = lib.mdDoc ''
-
Extra contents to append to the logrotate configuration file. Refer to
-
<https://linux.die.net/man/8/logrotate> for details.
-
This setting has been deprecated in favor of
-
[logrotate settings](#opt-services.logrotate.settings).
-
'';
-
};
};
};
config = mkIf cfg.enable {
-
assertions =
-
mapAttrsToList
-
(name: pathOpts:
-
{
-
assertion = (pathOpts.user != null) == (pathOpts.group != null);
-
message = ''
-
If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified.
-
'';
-
})
-
cfg.paths;
-
-
warnings =
-
(mapAttrsToList
-
(name: pathOpts: ''
-
Using config.services.logrotate.paths.${name} is deprecated and will become unsupported in a future release.
-
Please use services.logrotate.settings instead.
-
'')
-
cfg.paths
-
) ++
-
(optional (cfg.extraConfig != "") ''
-
Using config.services.logrotate.extraConfig is deprecated and will become unsupported in a future release.
-
Please use services.logrotate.settings with globals=true instead.
-
'');
-
systemd.services.logrotate = {
description = "Logrotate Service";
startAt = "hourly";
···
let
cfg = config.services.logrotate;
generateLine = n: v:
if builtins.elem n [ "files" "priority" "enable" "global" ] || v == null then null
+
else if builtins.elem n [ "frequency" ] then "${v}\n"
else if builtins.elem n [ "firstaction" "lastaction" "prerotate" "postrotate" "preremove" ]
then "${n}\n ${v}\n endscript\n"
else if isInt v then "${n} ${toString v}\n"
···
${generateSection 2 settings}}
'';
settings = sortProperties (attrValues (filterAttrs (_: settings: settings.enable) (
foldAttrs recursiveUpdate { } [
{
···
frequency = "weekly";
rotate = 4;
};
}
cfg.settings
{ header = { global = true; priority = 100; }; }
]
···
in
{
imports = [
+
(mkRemovedOptionModule [ "services" "logrotate" "config" ] "Modify services.logrotate.settings.header instead")
+
(mkRemovedOptionModule [ "services" "logrotate" "extraConfig" ] "Modify services.logrotate.settings.header instead")
+
(mkRemovedOptionModule [ "services" "logrotate" "paths" ] "Add attributes to services.logrotate.settings instead")
];
options = {
···
or settings common to all further files settings.
Refer to <https://linux.die.net/man/8/logrotate> for details.
'';
+
example = literalExpression ''
+
{
+
# global options
+
header = {
+
dateext = true;
+
};
+
# example custom files
+
"/var/log/mylog.log" = {
+
frequency = "daily";
+
rotate = 3;
+
};
+
"multiple paths" = {
+
files = [
+
"/var/log/first*.log"
+
"/var/log/second.log"
+
];
+
};
+
};
+
'';
type = types.attrsOf (types.submodule ({ name, ... }: {
freeformType = with types; attrsOf (nullOr (oneOf [ int bool str ]));
···
in this case you can disable the failing check with this option.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.logrotate = {
description = "Logrotate Service";
startAt = "hourly";
+1 -10
nixos/modules/services/misc/gitlab.nix
···
(mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
(mkRenamedOptionModule [ "services" "gitlab" "backupPath" ] [ "services" "gitlab" "backup" "path" ])
(mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
];
options = {
···
default = 30;
description = lib.mdDoc "How many rotations to keep.";
};
-
-
extraConfig = mkOption {
-
type = types.lines;
-
default = "";
-
description = lib.mdDoc ''
-
Extra logrotate config options for this path. Refer to
-
<https://linux.die.net/man/8/logrotate> for details.
-
'';
-
};
};
workhorse.config = mkOption {
···
rotate = cfg.logrotate.keep;
copytruncate = true;
compress = true;
-
extraConfig = cfg.logrotate.extraConfig;
};
};
};
···
(mkRenamedOptionModule [ "services" "gitlab" "stateDir" ] [ "services" "gitlab" "statePath" ])
(mkRenamedOptionModule [ "services" "gitlab" "backupPath" ] [ "services" "gitlab" "backup" "path" ])
(mkRemovedOptionModule [ "services" "gitlab" "satelliteDir" ] "")
+
(mkRemovedOptionModule [ "services" "gitlab" "logrotate" "extraConfig" ] "Modify services.logrotate.settings.gitlab directly instead")
];
options = {
···
default = 30;
description = lib.mdDoc "How many rotations to keep.";
};
};
workhorse.config = mkOption {
···
rotate = cfg.logrotate.keep;
copytruncate = true;
compress = true;
};
};
};
-29
nixos/tests/logrotate.nix
···
notifempty = true;
};
};
-
# extraConfig compatibility - should be added to top level, early.
-
services.logrotate.extraConfig = ''
-
nomail
-
'';
-
# paths compatibility
-
services.logrotate.paths = {
-
compat_path = {
-
path = "compat_test_path";
-
};
-
# user/group should be grouped as 'su user group'
-
compat_user = {
-
user = config.users.users.root.name;
-
group = "root";
-
};
-
# extraConfig in path should be added to block
-
compat_extraConfig = {
-
extraConfig = "dateext";
-
};
-
# keep -> rotate
-
compat_keep = {
-
keep = 1;
-
};
-
};
};
};
···
"sed -ne '/\"postrotate\" {/,/}/p' /tmp/logrotate.conf | grep endscript",
"grep '\"file1\"\n\"file2\" {' /tmp/logrotate.conf",
"sed -ne '/\"import\" {/,/}/p' /tmp/logrotate.conf | grep noolddir",
-
"sed -ne '1,/^\"/p' /tmp/logrotate.conf | grep nomail",
-
"grep '\"compat_test_path\" {' /tmp/logrotate.conf",
-
"sed -ne '/\"compat_user\" {/,/}/p' /tmp/logrotate.conf | grep 'su root root'",
-
"sed -ne '/\"compat_extraConfig\" {/,/}/p' /tmp/logrotate.conf | grep dateext",
-
"[[ $(sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w rotate) = \" rotate 1\" ]]",
-
"! sed -ne '/\"compat_keep\" {/,/}/p' /tmp/logrotate.conf | grep -w keep",
)
# also check configFile option
failingMachine.succeed(
···
notifempty = true;
};
};
};
};
···
"sed -ne '/\"postrotate\" {/,/}/p' /tmp/logrotate.conf | grep endscript",
"grep '\"file1\"\n\"file2\" {' /tmp/logrotate.conf",
"sed -ne '/\"import\" {/,/}/p' /tmp/logrotate.conf | grep noolddir",
)
# also check configFile option
failingMachine.succeed(
+2 -2
pkgs/applications/misc/calibre/default.nix
···
stdenv.mkDerivation rec {
pname = "calibre";
-
version = "6.7.1";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
-
hash = "sha256-B//rBsvOXA5UqGjd2MLcAhDFCvreI7UmtfEpuxaIsa0=";
};
# https://sources.debian.org/patches/calibre/${version}+dfsg-1
···
stdenv.mkDerivation rec {
pname = "calibre";
+
version = "6.8.0";
src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${pname}-${version}.tar.xz";
+
hash = "sha256-d9JaWjAjJzKldjyrdrl6OyX1JSatp9U8agRog7K5n2s=";
};
# https://sources.debian.org/patches/calibre/${version}+dfsg-1
+2 -2
pkgs/applications/networking/cluster/terragrunt/default.nix
···
buildGoModule rec {
pname = "terragrunt";
-
version = "0.39.2";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-YHPtOcWhUDcCqtAmxy/veBgpYY+UmnmK2IwplI5uRh0=";
};
vendorSha256 = "sha256-CqImT90jFFLi6XR7jfzFKwhnCHK6B+aM+Ba/L+G3bEg=";
···
buildGoModule rec {
pname = "terragrunt";
+
version = "0.40.0";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-ZDoGlm/H2xh9+azb7N1EWUXwfF919K9B4PmQZol4RV8=";
};
vendorSha256 = "sha256-CqImT90jFFLi6XR7jfzFKwhnCHK6B+aM+Ba/L+G3bEg=";
+2 -2
pkgs/applications/version-management/got/default.nix
···
stdenv.mkDerivation rec {
pname = "got";
-
version = "0.77";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-
sha256 = "sha256-/O9u7Ei6f0rGr7LRWcG9FUQd7Z+qpq2/6H01jNR1C7o=";
};
nativeBuildInputs = [ pkg-config bison ];
···
stdenv.mkDerivation rec {
pname = "got";
+
version = "0.78";
src = fetchurl {
url = "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
+
sha256 = "sha256-fi0YF0YCOtzA02Ix42BU6fi1UKgF/X6mG3S0fP/ZwxE=";
};
nativeBuildInputs = [ pkg-config bison ];
+3 -3
pkgs/data/misc/v2ray-geoip/default.nix
···
stdenv.mkDerivation rec {
pname = "v2ray-geoip";
-
version = "202210270100";
src = fetchFromGitHub {
owner = "v2fly";
repo = "geoip";
-
rev = "7558586fefca29c5d1705777187677fd8a4c4e6f";
-
sha256 = "sha256-8UKcmkaRe51X4JgQ5pqPE46BnVF0AlXETD/Pliwx9xk=";
};
installPhase = ''
···
stdenv.mkDerivation rec {
pname = "v2ray-geoip";
+
version = "202211030059";
src = fetchFromGitHub {
owner = "v2fly";
repo = "geoip";
+
rev = "b7d16c8aea9bbe2555fe4aabddd1fb86f9785229";
+
sha256 = "sha256-1WxqD9a0uJY+/DiFwESkEceN2EJvDl5qhLg4oEs5uSA=";
};
installPhase = ''
+2 -2
pkgs/development/libraries/aws-c-sdkutils/default.nix
···
stdenv.mkDerivation rec {
pname = "aws-c-sdkutils";
-
version = "0.1.3";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-c-sdkutils";
rev = "v${version}";
-
sha256 = "sha256-mbleTBNZegfYeaRgEup36+mAwYs/2FReA3gW2tp4ctk=";
};
nativeBuildInputs = [
···
stdenv.mkDerivation rec {
pname = "aws-c-sdkutils";
+
version = "0.1.4";
src = fetchFromGitHub {
owner = "awslabs";
repo = "aws-c-sdkutils";
rev = "v${version}";
+
sha256 = "sha256-B7BTafeN60csYhhscuHsynI183AvCqLljQgm8NgE6xo=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/libraries/jellyfin-ffmpeg/default.nix
···
nv-codec-headers = nv-codec-headers-11;
}).overrideAttrs (old: rec {
pname = "jellyfin-ffmpeg";
-
version = "5.1.2-2";
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-ffmpeg";
rev = "v${version}";
-
sha256 = "sha256-7Icp1vFnvhuohipGK7BqnxhhtX0iB02v5TXvh5sss3c=";
};
configureFlags = old.configureFlags ++ [
···
nv-codec-headers = nv-codec-headers-11;
}).overrideAttrs (old: rec {
pname = "jellyfin-ffmpeg";
+
version = "5.1.2-4";
src = fetchFromGitHub {
owner = "jellyfin";
repo = "jellyfin-ffmpeg";
rev = "v${version}";
+
sha256 = "sha256-yzaS50sPgyRRLnvzaOiKOEaHKL3Yuf89KsHyPebjoL8=";
};
configureFlags = old.configureFlags ++ [
+2 -2
pkgs/development/python-modules/aiomysensors/default.nix
···
buildPythonPackage rec {
pname = "aiomysensors";
-
version = "0.3.1";
format = "pyproject";
disabled = pythonOlder "3.9";
···
owner = "MartinHjelmare";
repo = pname;
rev = "v${version}";
-
hash = "sha256-uzVtgJ4R2MK6lqruvmoqgkzVCLhjyaEV92X6U6+lwG4=";
};
nativeBuildInputs = [
···
buildPythonPackage rec {
pname = "aiomysensors";
+
version = "0.3.2";
format = "pyproject";
disabled = pythonOlder "3.9";
···
owner = "MartinHjelmare";
repo = pname;
rev = "v${version}";
+
hash = "sha256-XPvnZOshA+PdFOzOlJXMfRTRYSue0uHsNwQsCwv3WOU=";
};
nativeBuildInputs = [
+18 -12
pkgs/development/python-modules/asyncio_mqtt/default.nix
···
{ lib
, buildPythonPackage
-
, pythonOlder
-
, fetchPypi
-
, async_generator
, paho-mqtt
}:
buildPythonPackage rec {
pname = "asyncio-mqtt";
-
version = "0.12.1";
format = "setuptools";
-
src = fetchPypi {
-
pname = "asyncio_mqtt";
-
inherit version;
-
sha256 = "sha256-bb+FpF+U0m50ZUEWgK2jlHtQVG6YII1dUuegp+16fDg=";
};
propagatedBuildInputs = [
paho-mqtt
-
] ++ lib.optionals (pythonOlder "3.7") [
-
async_generator
];
-
doCheck = false; # no tests
-
pythonImportsCheck = [ "asyncio_mqtt" ];
meta = with lib; {
description = "Idomatic asyncio wrapper around paho-mqtt";
···
{ lib
, buildPythonPackage
+
, fetchFromGitHub
, paho-mqtt
+
, pythonOlder
+
, typing-extensions
}:
buildPythonPackage rec {
pname = "asyncio-mqtt";
+
version = "0.13.0";
format = "setuptools";
+
disabled = pythonOlder "3.7";
+
+
src = fetchFromGitHub {
+
owner = "sbtinstruments";
+
repo = pname;
+
rev = "refs/tags/v${version}";
+
hash = "sha256-On4N5KPnbwYrJguWwBdrnaNq58ZeGIPYSFzIRBfojpQ=";
};
propagatedBuildInputs = [
paho-mqtt
+
] ++ lib.optionals (pythonOlder "3.10") [
+
typing-extensions
];
+
# Module will have tests starting with > 0.13.0
+
doCheck = false;
+
pythonImportsCheck = [
+
"asyncio_mqtt"
+
];
meta = with lib; {
description = "Idomatic asyncio wrapper around paho-mqtt";
+2 -2
pkgs/development/python-modules/canonicaljson/default.nix
···
buildPythonPackage rec {
pname = "canonicaljson";
-
version = "1.6.3";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-yll2C8J0qJmg2nWAnWkJrkPlEjOB/W7wQKRNGVLAtEg=";
};
nativeBuildInputs = [
···
buildPythonPackage rec {
pname = "canonicaljson";
+
version = "1.6.4";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
+
hash = "sha256-bAmyEZUR8w6xEmz82XOhCCTiDxz9JQOc3j0SGN2cjY8=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/jsonmerge/default.nix
···
buildPythonPackage rec {
pname = "jsonmerge";
-
version = "1.8.0";
src = fetchPypi {
inherit pname version;
-
sha256 = "a86bfc44f32f6a28b749743df8960a4ce1930666b3b73882513825f845cb9558";
};
propagatedBuildInputs = [ jsonschema ];
···
buildPythonPackage rec {
pname = "jsonmerge";
+
version = "1.9.0";
src = fetchPypi {
inherit pname version;
+
sha256 = "sha256-otH4ACHFwdcKSeMfhitfBo+dsGYIDYVh6AZU3nSjWE0=";
};
propagatedBuildInputs = [ jsonschema ];
+28 -4
pkgs/development/python-modules/mockupdb/default.nix
···
-
{ lib, buildPythonPackage, fetchPypi
, pymongo
}:
buildPythonPackage rec {
pname = "mockupdb";
version = "1.8.1";
src = fetchPypi {
inherit pname version;
-
sha256 = "d36d0e5b6445ff9141e34d012fa2b5dfe589847aa1e3ecb8d774074962af944e";
};
-
propagatedBuildInputs = [ pymongo ];
-
pythonImportsCheck = [ "mockupdb" ];
meta = with lib; {
description = "Simulate a MongoDB server";
···
+
{ lib
+
, buildPythonPackage
+
, fetchPypi
, pymongo
+
, pythonOlder
+
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "mockupdb";
version = "1.8.1";
+
format = "setuptools";
+
+
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit pname version;
+
hash = "sha256-020OW2RF/5FB400BL6K13+WJhHqh4+y413QHSWKvlE4=";
};
+
propagatedBuildInputs = [
+
pymongo
+
];
+
checkInputs = [
+
pytestCheckHook
+
];
+
+
pythonImportsCheck = [
+
"mockupdb"
+
];
+
+
disabledTests = [
+
# AssertionError: expected to receive Request(), got nothing
+
"test_flags"
+
"test_iteration"
+
"test_ok"
+
"test_ssl_basic"
+
"test_unix_domain_socket"
+
];
meta = with lib; {
description = "Simulate a MongoDB server";
+2 -2
pkgs/development/python-modules/shtab/default.nix
···
buildPythonPackage rec {
pname = "shtab";
-
version = "1.5.6";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "iterative";
repo = pname;
rev = "refs/tags/v${version}";
-
hash = "sha256-w04wvmzWcp92slPIc2f1En+52J9Z/XvjGHHntCeuTd0=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
···
buildPythonPackage rec {
pname = "shtab";
+
version = "1.5.7";
format = "setuptools";
disabled = pythonOlder "3.7";
···
owner = "iterative";
repo = pname;
rev = "refs/tags/v${version}";
+
hash = "sha256-BIUUg+Y6bbgjnIWPU/bZO2axSLSzIsRJwyu7lBVQz/Q=";
};
SETUPTOOLS_SCM_PRETEND_VERSION = version;
+2 -2
pkgs/development/python-modules/slither-analyzer/default.nix
···
buildPythonPackage rec {
pname = "slither-analyzer";
-
version = "0.9.0";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "crytic";
repo = "slither";
rev = "refs/tags/${version}";
-
hash = "sha256-Td7WBPpc+ZYlFroZNzvUqQZJag0lbkCgj8TVOPrAAPY=";
};
nativeBuildInputs = [
···
buildPythonPackage rec {
pname = "slither-analyzer";
+
version = "0.9.1";
format = "setuptools";
disabled = pythonOlder "3.8";
···
owner = "crytic";
repo = "slither";
rev = "refs/tags/${version}";
+
hash = "sha256-u9uA4eq6gYQXHhZ1ruk1vkEIRTKsgN87zENuR1Fhew4=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/tools/oh-my-posh/default.nix
···
buildGoModule rec {
pname = "oh-my-posh";
-
version = "12.10.0";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-iPSaJL1mvPjzZjXtgqeFS1p1jlOqc6B/R1/Zwym0j3g=";
};
vendorSha256 = "sha256-OrtKFkWXqVoXKmN6BT8YbCNjR1gRTT4gPNwmirn7fjU=";
···
buildGoModule rec {
pname = "oh-my-posh";
+
version = "12.12.1";
src = fetchFromGitHub {
owner = "jandedobbeleer";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-6h/TV9Ddv+1pYPV7ZvOfEOOvbocRpLXdeR6EchTvV/A=";
};
vendorSha256 = "sha256-OrtKFkWXqVoXKmN6BT8YbCNjR1gRTT4gPNwmirn7fjU=";
+3 -3
pkgs/development/tools/pgloader/default.nix
···
{ lib, stdenv, fetchurl, makeWrapper, sbcl_2_2_6, sqlite, freetds, libzip, curl, git, cacert, openssl }:
stdenv.mkDerivation rec {
pname = "pgloader";
-
version = "3.6.8";
src = fetchurl {
-
url = "https://github.com/dimitri/pgloader/releases/download/v3.6.8/pgloader-bundle-3.6.8.tgz";
-
sha256 = "sha256-h5vB+KOapbXsSVNIVWEsaanyczaCfl81+SXdiNmNboE=";
};
nativeBuildInputs = [ git makeWrapper ];
···
{ lib, stdenv, fetchurl, makeWrapper, sbcl_2_2_6, sqlite, freetds, libzip, curl, git, cacert, openssl }:
stdenv.mkDerivation rec {
pname = "pgloader";
+
version = "3.6.9";
src = fetchurl {
+
url = "https://github.com/dimitri/pgloader/releases/download/v3.6.9/pgloader-bundle-3.6.9.tgz";
+
sha256 = "sha256-pdCcRmoJnrfVnkhbT0WqLrRbCtOEmRgGRsXK+3uByeA=";
};
nativeBuildInputs = [ git makeWrapper ];
+3 -3
pkgs/development/tools/ruff/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "ruff";
-
version = "0.0.99";
src = fetchFromGitHub {
owner = "charliermarsh";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-nDquTrdHv7t4XBuO1HUe6ZF+QKy06F2kjzNxlINZcPQ=";
};
-
cargoSha256 = "sha256-QG1EXsYuzrUgPCUWz/2NrtOpbFQHZjr9TVIyalnTvCc=";
buildInputs = lib.optionals stdenv.isDarwin [
CoreServices
···
rustPlatform.buildRustPackage rec {
pname = "ruff";
+
version = "0.0.100";
src = fetchFromGitHub {
owner = "charliermarsh";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-kFWYSaRKx63X6Nfxd1knkusiJRKVRTNdd1jOQXBCRFQ=";
};
+
cargoSha256 = "sha256-eew1ZTCm/C3qY/eZvWYkcLprgM/cRaTb6e2O66SNwk8=";
buildInputs = lib.optionals stdenv.isDarwin [
CoreServices
+2 -2
pkgs/development/web/nodejs/v14.nix
···
in
buildNodejs {
inherit enableNpm;
-
version = "14.21.0";
-
sha256 = "sha256-O0vawbrMxUuu4uPbyre7Y1Ikxxbudu5Jqk9vVMKPeZE=";
patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
}
···
in
buildNodejs {
inherit enableNpm;
+
version = "14.21.1";
+
sha256 = "sha256-PbldbKcolXvwkLYwGnqdLYBxSyoG2Jih22XG5Csdp6w=";
patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
}
+2 -2
pkgs/development/web/nodejs/v16.nix
···
in
buildNodejs {
inherit enableNpm;
-
version = "16.18.0";
-
sha256 = "sha256-/P5q0jQPIpBh0+galN8Wf+P3fgFxLe3AFEoOfVjixps=";
patches = [
./disable-darwin-v8-system-instrumentation.patch
./bypass-darwin-xcrun-node16.patch
···
in
buildNodejs {
inherit enableNpm;
+
version = "16.18.1";
+
sha256 = "sha256-H4BRqI+G9CBk9EFf56mA5ZsKUC7Mje9YP2MDvE1EUjg=";
patches = [
./disable-darwin-v8-system-instrumentation.patch
./bypass-darwin-xcrun-node16.patch
+2 -2
pkgs/development/web/nodejs/v18.nix
···
in
buildNodejs {
inherit enableNpm;
-
version = "18.12.0";
-
sha256 = "sha256-c6fwHimZ6xl3Y87WZqbNVErVgOrvtz4KhJYDs+gE9C4=";
patches = [
(fetchpatch {
# Fixes cross compilation to aarch64-linux by reverting https://github.com/nodejs/node/pull/43200
···
in
buildNodejs {
inherit enableNpm;
+
version = "18.12.1";
+
sha256 = "sha256-T6QGRRvFJlmikOUs/bIWKnYL1UnaS4u+vmop8pbZON8=";
patches = [
(fetchpatch {
# Fixes cross compilation to aarch64-linux by reverting https://github.com/nodejs/node/pull/43200
+2 -2
pkgs/development/web/nodejs/v19.nix
···
in
buildNodejs {
inherit enableNpm;
-
version = "19.0.0";
-
sha256 = "sha256-C3LSB6WBXxznskezPL+aLIb20BJT+jmQyXROJdl1BQ0=";
patches = [
(fetchpatch {
# Fixes cross compilation to aarch64-linux by reverting https://github.com/nodejs/node/pull/43200
···
in
buildNodejs {
inherit enableNpm;
+
version = "19.0.1";
+
sha256 = "sha256-7OXCjOtHY/Xn8nb4ySUbNiHh+m5FyULnV8TRUfi/AW0=";
patches = [
(fetchpatch {
# Fixes cross compilation to aarch64-linux by reverting https://github.com/nodejs/node/pull/43200
+2 -2
pkgs/tools/admin/syft/default.nix
···
buildGoModule rec {
pname = "syft";
-
version = "0.60.2";
src = fetchFromGitHub {
owner = "anchore";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-qOsKpJwX+8wFvVt/vLdVJ47rfoOn+11phq4HsQVLV6M=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
···
buildGoModule rec {
pname = "syft";
+
version = "0.60.3";
src = fetchFromGitHub {
owner = "anchore";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-btPH92cLCAZFzlVoRxivBBhqzDK1bASrKbk3jvwDNo8=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
+2 -2
pkgs/tools/misc/debootstrap/default.nix
···
];
in stdenv.mkDerivation rec {
pname = "debootstrap";
-
version = "1.0.127";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "installer-team";
repo = pname;
rev = version;
-
sha256 = "sha256-KKH9F0e4HEO2FFh1/V5UIY5C95ZOUm4nUhVUGqpZWaI=";
};
nativeBuildInputs = [ makeWrapper ];
···
];
in stdenv.mkDerivation rec {
pname = "debootstrap";
+
version = "1.0.128";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "installer-team";
repo = pname;
rev = version;
+
sha256 = "sha256-WybWWyRPreokjUAdWfZ2MUjgZhF1GTncpbLajQ3rh0E=";
};
nativeBuildInputs = [ makeWrapper ];
+4 -4
pkgs/tools/misc/mutagen/default.nix
···
buildGoModule rec {
pname = "mutagen";
-
version = "0.14.0";
src = fetchFromGitHub {
owner = "mutagen-io";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-OoRXf0QboRQkZE4zcwlGFyoToGOy1bbgGSo17BQLqCE=";
};
-
vendorSha256 = "sha256-dkPpz0SZEAMPR7mq11kDHGCgeIpnXj2lRnJo1Ws32Cc=";
agents = fetchzip {
name = "mutagen-agents-${version}";
···
postFetch = ''
rm $out/mutagen # Keep only mutagen-agents.tar.gz.
'';
-
sha256 = "sha256-AlAo55/ewTE04WfS0beVonGA97AmpR1pAw/QxKAYjv8=";
};
doCheck = false;
···
buildGoModule rec {
pname = "mutagen";
+
version = "0.16.0";
src = fetchFromGitHub {
owner = "mutagen-io";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-nKt/A1LIr+cPWASWFYiOebxsuWcbzd23CQ32GgnWvLA=";
};
+
vendorSha256 = "sha256-feQOrZmJ656yD3HsxnN8JFXoP/XM2Gobyzj5MHyH/Xw=";
agents = fetchzip {
name = "mutagen-agents-${version}";
···
postFetch = ''
rm $out/mutagen # Keep only mutagen-agents.tar.gz.
'';
+
sha256 = "sha256-QkleSf/Npbqrx2049tKxxwJk+996gM5AU/BIoyplDYo=";
};
doCheck = false;
+3 -21
pkgs/tools/misc/vector/default.nix
···
let
pname = "vector";
-
version = "0.24.1";
in
rustPlatform.buildRustPackage {
inherit pname version;
···
owner = "vectordotdev";
repo = pname;
rev = "v${version}";
-
hash = "sha256-RfKg14r3B5Jx2vIa4gpJs5vXRqSXKOXKRFmmQmzQorQ=";
};
-
patches = [
-
(fetchpatch {
-
name = "rust-1.64-part1.patch";
-
url = "https://github.com/vectordotdev/vector/commit/e7437df97711b6a660a3532fe5026244472a900f.patch";
-
hash = "sha256-EyheI3nngt72+ZZNNsjp3KV1CuRb9CZ7wUCHt0twFVs=";
-
})
-
(fetchpatch {
-
name = "rust-1.64-part2.patch";
-
url = "https://github.com/vectordotdev/vector/commit/e80c7afaf7601cf936c7c3468bd7b4b230ef6149.patch";
-
hash = "sha256-pHcq7XLn+9PKs0DnBTK5FawN5KSF8BuJf7sBO9u5Gb8=";
-
excludes = [
-
# There are too many conflicts to easily resolve patching this file, but
-
# the changes here do not block compilation.
-
"lib/lookup/src/lookup_v2/owned.rs"
-
];
-
})
-
];
-
-
cargoHash = "sha256-l2rrT2SeeH4bYYlzSiFASNBxtg4TBm1dRA4cFRfvpkk=";
nativeBuildInputs = [ pkg-config cmake perl ];
buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
···
let
pname = "vector";
+
version = "0.25.0";
in
rustPlatform.buildRustPackage {
inherit pname version;
···
owner = "vectordotdev";
repo = pname;
rev = "v${version}";
+
hash = "sha256-2hCgHf7iBPl9BQITXyUDwgAz/i2HhXT4eczWrExCUDk=";
};
+
cargoHash = "sha256-E23m8/XCEXeEpz1itIzCit9RpoB1/PRrYVWxt+VVfxA=";
nativeBuildInputs = [ pkg-config cmake perl ];
buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
+2 -2
pkgs/tools/networking/netbird/default.nix
···
in
buildGoModule rec {
pname = "netbird";
-
version = "0.10.3";
src = fetchFromGitHub {
owner = "netbirdio";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-JytK4wmQepSSml6jmP2TWRICt/s26E56ntACpFdiTDU=";
};
vendorSha256 = "sha256-3gpA0EGdcVeUCU7iozpjQJM/iid34PRm3gpxUiwzDEk=";
···
in
buildGoModule rec {
pname = "netbird";
+
version = "0.10.4";
src = fetchFromGitHub {
owner = "netbirdio";
repo = pname;
rev = "v${version}";
+
sha256 = "sha256-Z67imUrs/NUoBfbqIBmfTNMb1+X1NpYX4KxB5jU4C9c=";
};
vendorSha256 = "sha256-3gpA0EGdcVeUCU7iozpjQJM/iid34PRm3gpxUiwzDEk=";
+3 -3
pkgs/tools/networking/s3cmd/default.nix
···
buildPythonApplication rec {
pname = "s3cmd";
-
version = "2.2.0";
src = fetchFromGitHub {
owner = "s3tools";
repo = "s3cmd";
-
rev = "v${version}";
-
sha256 = "0w4abif05mp52qybh4hjg6jbbj2caljq5xdhfiha3g0s5zsq46ri";
};
propagatedBuildInputs = [ python-magic python-dateutil ];
···
buildPythonApplication rec {
pname = "s3cmd";
+
version = "2.3.0";
src = fetchFromGitHub {
owner = "s3tools";
repo = "s3cmd";
+
rev = "refs/tags/v${version}";
+
sha256 = "sha256-nb4WEH8ELaG/bIe4NtjD4p99VJoG90UQ662iWyvnr2U=";
};
propagatedBuildInputs = [ python-magic python-dateutil ];
+3 -3
pkgs/tools/virtualization/cloud-init/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "cloud-init";
-
version = "22.3.3";
namePrefix = "";
src = fetchFromGitHub {
owner = "canonical";
repo = "cloud-init";
-
rev = version;
-
hash = "sha256-9vdFPSmkkdJDlVfA9DgqczRoOBMmSMezdl3D/0OSbsQ=";
};
patches = [ ./0001-add-nixos-support.patch ];
···
python3.pkgs.buildPythonApplication rec {
pname = "cloud-init";
+
version = "22.3.4";
namePrefix = "";
src = fetchFromGitHub {
owner = "canonical";
repo = "cloud-init";
+
rev = "refs/tags/${version}";
+
hash = "sha256-agffkTEaURjw/Ro8znYRQLKhDP2Ey0LimuzqbW5xb28=";
};
patches = [ ./0001-add-nixos-support.patch ];