Merge staging-next into staging

Changed files
+2376 -650
.github
workflows
nixos
pkgs
applications
gis
misc
shell-genie
ttyper
networking
cluster
kubefirst
kubelogin
science
biology
by-name
ei
eigenlayer
fi
firefly-iii
gi
gl
glider
ho
home-manager
kc
kcl-cli
mq
ne
netbird-dashboard
nw
nwg-hello
of
offat
ot
oterm
sh
shadow-tls
ss
ssh-tpm-agent
to
tootik
uv
wa
waycheck
development
compilers
graalvm
community-edition
truffleruby
llvm
common
libcxx
zig
interpreters
libraries
flatpak
libzim
xdg-desktop-portal
python-modules
aiojobs
aiomisc
apkinspector
aspy-yaml
boto3-stubs
botocore-stubs
camel-converter
clarifai
cloudsmith-api
google-generativeai
grpcio-health-checking
grpcio-reflection
influxdb3-python
lacuscore
llama-index-embeddings-openai
llama-index-llms-openai
openai-triton
playwrightcapture
plexapi
plugwise
prefixed
publicsuffixlist
pylitterbot
pyowm
pysolcast
qtile
smpp-pdu
std-uritemplate
tencentcloud-sdk-python
vt-py
tools
analysis
checkov
database
sqlfluff
rust
cargo-dist
sqldef
servers
monitoring
unpoller
pocketbase
tools
misc
markdown-anki-decks
pspg
networking
dnsproxy
juicity
openapi-generator-cli
security
top-level
+1 -1
.github/workflows/basic-eval.yml
···
name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
# explicit list of supportedSystems is needed until aarch64-darwin becomes part of the trunk jobset
-
- run: nix-build pkgs/top-level/release.nix -A tarball.nixpkgs-basic-release-checks --arg supportedSystems '[ "aarch64-darwin" "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]'
+
- run: nix-build pkgs/top-level/release.nix -A release-checks --arg supportedSystems '[ "aarch64-darwin" "aarch64-linux" "x86_64-linux" "x86_64-darwin" ]'
+4
nixos/doc/manual/release-notes/rl-2405.section.md
···
- [Suwayomi Server](https://github.com/Suwayomi/Suwayomi-Server), a free and open source manga reader server that runs extensions built for [Tachiyomi](https://tachiyomi.org). Available as [services.suwayomi-server](#opt-services.suwayomi-server.enable).
+
- A self-hosted management server for the [Netbird](https://netbird.io). Available as [services.netbird.server](#opt-services.netbird.server.enable).
+
- [ping_exporter](https://github.com/czerwonk/ping_exporter), a Prometheus exporter for ICMP echo requests. Available as [services.prometheus.exporters.ping](#opt-services.prometheus.exporters.ping.enable).
- [Prometheus DNSSEC Exporter](https://github.com/chrj/prometheus-dnssec-exporter), check for validity and expiration in DNSSEC signatures and expose metrics for Prometheus. Available as [services.prometheus.exporters.dnssec](#opt-services.prometheus.exporters.dnssec.enable).
···
- [Scrutiny](https://github.com/AnalogJ/scrutiny), a S.M.A.R.T monitoring tool for hard disks with a web frontend.
- [davis](https://github.com/tchapi/davis), a simple CardDav and CalDav server inspired by Baïkal. Available as [services.davis]($opt-services-davis.enable).
+
+
- [Firefly-iii](https://www.firefly-iii.org), a free and open source personal finance manager. Available as [services.firefly-iii](#opt-services.firefly-iii.enable)
- [systemd-lock-handler](https://git.sr.ht/~whynothugo/systemd-lock-handler/), a bridge between logind D-Bus events and systemd targets. Available as [services.systemd-lock-handler.enable](#opt-services.systemd-lock-handler.enable).
+2
nixos/modules/module-list.nix
···
./services/networking/ndppd.nix
./services/networking/nebula.nix
./services/networking/netbird.nix
+
./services/networking/netbird/server.nix
./services/networking/netclient.nix
./services/networking/networkd-dispatcher.nix
./services/networking/networkmanager.nix
···
./services/web-apps/dolibarr.nix
./services/web-apps/engelsystem.nix
./services/web-apps/ethercalc.nix
+
./services/web-apps/firefly-iii.nix
./services/web-apps/fluidd.nix
./services/web-apps/freshrss.nix
./services/web-apps/galene.nix
+36 -2
nixos/modules/services/misc/ollama.nix
···
example = "/home/foo";
description = ''
The home directory that the ollama service is started in.
+
+
See also `services.ollama.writablePaths` and `services.ollama.sandbox`.
'';
};
models = lib.mkOption {
···
example = "/path/to/ollama/models";
description = ''
The directory that the ollama service will read models from and download new models to.
+
+
See also `services.ollama.writablePaths` and `services.ollama.sandbox`
+
if downloading models or other mutation of the filesystem is required.
+
'';
+
};
+
sandbox = lib.mkOption {
+
type = types.bool;
+
default = true;
+
example = false;
+
description = ''
+
Whether to enable systemd's sandboxing capabilities.
+
+
This sets [`DynamicUser`](
+
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#DynamicUser=
+
), which runs the server as a unique user with read-only access to most of the filesystem.
+
+
See also `services.ollama.writablePaths`.
+
'';
+
};
+
writablePaths = lib.mkOption {
+
type = types.listOf types.str;
+
default = [ ];
+
example = [ "/home/foo" "/mnt/foo" ];
+
description = ''
+
Paths that the server should have write access to.
+
+
This sets [`ReadWritePaths`](
+
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#ReadWritePaths=
+
), which allows specified paths to be written to through the default sandboxing.
+
+
See also `services.ollama.sandbox`.
'';
};
listenAddress = lib.mkOption {
···
type = types.attrsOf types.str;
default = { };
example = {
-
HOME = "/tmp";
OLLAMA_LLM_LIBRARY = "cpu";
+
HIP_VISIBLE_DEVICES = "0,1";
};
description = ''
Set arbitrary environment variables for the ollama service.
···
ExecStart = "${lib.getExe ollamaPackage} serve";
WorkingDirectory = cfg.home;
StateDirectory = [ "ollama" ];
-
DynamicUser = true;
+
DynamicUser = cfg.sandbox;
+
ReadWritePaths = cfg.writablePaths;
};
};
+160
nixos/modules/services/networking/netbird/coturn.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
+
+
let
+
inherit (lib)
+
getExe
+
literalExpression
+
mkAfter
+
mkEnableOption
+
mkIf
+
mkMerge
+
mkOption
+
optionalAttrs
+
optionalString
+
;
+
+
inherit (lib.types)
+
bool
+
listOf
+
nullOr
+
path
+
port
+
str
+
;
+
+
cfg = config.services.netbird.server.coturn;
+
in
+
+
{
+
options.services.netbird.server.coturn = {
+
enable = mkEnableOption "a Coturn server for Netbird, will also open the firewall on the configured range";
+
+
useAcmeCertificates = mkOption {
+
type = bool;
+
default = false;
+
description = ''
+
Whether to use ACME certificates corresponding to the given domain for the server.
+
'';
+
};
+
+
domain = mkOption {
+
type = str;
+
description = "The domain under which the coturn server runs.";
+
};
+
+
user = mkOption {
+
type = str;
+
default = "netbird";
+
description = ''
+
The username used by netbird to connect to the coturn server.
+
'';
+
};
+
+
password = mkOption {
+
type = nullOr str;
+
default = null;
+
description = ''
+
The password of the user used by netbird to connect to the coturn server.
+
'';
+
};
+
+
passwordFile = mkOption {
+
type = nullOr path;
+
default = null;
+
description = ''
+
The path to a file containing the password of the user used by netbird to connect to the coturn server.
+
'';
+
};
+
+
openPorts = mkOption {
+
type = listOf port;
+
default = with config.services.coturn; [
+
listening-port
+
alt-listening-port
+
tls-listening-port
+
alt-tls-listening-port
+
];
+
defaultText = literalExpression ''
+
with config.services.coturn; [
+
listening-port
+
alt-listening-port
+
tls-listening-port
+
alt-tls-listening-port
+
];
+
'';
+
+
description = ''
+
The list of ports used by coturn for listening to open in the firewall.
+
'';
+
};
+
};
+
+
config = mkIf cfg.enable (mkMerge [
+
{
+
assertions = [
+
{
+
assertion = (cfg.password == null) != (cfg.passwordFile == null);
+
message = "Exactly one of `password` or `passwordFile` must be given for the coturn setup.";
+
}
+
];
+
+
services.coturn =
+
{
+
enable = true;
+
+
realm = cfg.domain;
+
lt-cred-mech = true;
+
no-cli = true;
+
+
extraConfig = ''
+
fingerprint
+
user=${cfg.user}:${if cfg.password != null then cfg.password else "@password@"}
+
no-software-attribute
+
'';
+
}
+
// (optionalAttrs cfg.useAcmeCertificates {
+
cert = "@cert@";
+
pkey = "@pkey@";
+
});
+
+
systemd.services.coturn =
+
let
+
dir = config.security.acme.certs.${cfg.domain}.directory;
+
preStart' =
+
(optionalString (cfg.passwordFile != null) ''
+
${getExe pkgs.replace-secret} @password@ ${cfg.passwordFile} /run/coturn/turnserver.cfg
+
'')
+
+ (optionalString cfg.useAcmeCertificates ''
+
${getExe pkgs.replace-secret} @cert@ "$CREDENTIALS_DIRECTORY/cert.pem" /run/coturn/turnserver.cfg
+
${getExe pkgs.replace-secret} @pkey@ "$CREDENTIALS_DIRECTORY/pkey.pem" /run/coturn/turnserver.cfg
+
'');
+
in
+
(optionalAttrs (preStart' != "") { preStart = mkAfter preStart'; })
+
// (optionalAttrs cfg.useAcmeCertificates {
+
serviceConfig.LoadCredential = [
+
"cert.pem:${dir}/fullchain.pem"
+
"pkey.pem:${dir}/key.pem"
+
];
+
});
+
+
security.acme.certs.${cfg.domain}.postRun = optionalString cfg.useAcmeCertificates "systemctl restart coturn.service";
+
+
networking.firewall = {
+
allowedUDPPorts = cfg.openPorts;
+
allowedTCPPorts = cfg.openPorts;
+
+
allowedUDPPortRanges = [
+
{
+
from = cfg.minPort;
+
to = cfg.maxPort;
+
}
+
];
+
};
+
}
+
]);
+
}
+186
nixos/modules/services/networking/netbird/dashboard.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
...
+
}:
+
+
let
+
inherit (lib)
+
boolToString
+
concatStringsSep
+
hasAttr
+
isBool
+
mapAttrs
+
mkDefault
+
mkEnableOption
+
mkIf
+
mkOption
+
mkPackageOption
+
;
+
+
inherit (lib.types)
+
attrsOf
+
bool
+
either
+
package
+
str
+
submodule
+
;
+
+
toStringEnv = value: if isBool value then boolToString value else toString value;
+
+
cfg = config.services.netbird.server.dashboard;
+
in
+
+
{
+
options.services.netbird.server.dashboard = {
+
enable = mkEnableOption "the static netbird dashboard frontend";
+
+
package = mkPackageOption pkgs "netbird-dashboard" { };
+
+
enableNginx = mkEnableOption "Nginx reverse-proxy to serve the dashboard.";
+
+
domain = mkOption {
+
type = str;
+
default = "localhost";
+
description = "The domain under which the dashboard runs.";
+
};
+
+
managementServer = mkOption {
+
type = str;
+
description = "The address of the management server, used for the API endpoints.";
+
};
+
+
settings = mkOption {
+
type = submodule { freeformType = attrsOf (either str bool); };
+
+
defaultText = ''
+
{
+
AUTH_AUDIENCE = "netbird";
+
AUTH_CLIENT_ID = "netbird";
+
AUTH_SUPPORTED_SCOPES = "openid profile email";
+
NETBIRD_TOKEN_SOURCE = "idToken";
+
USE_AUTH0 = false;
+
}
+
'';
+
+
description = ''
+
An attribute set that will be used to substitute variables when building the dashboard.
+
Any values set here will be templated into the frontend and be public for anyone that can reach your website.
+
The exact values sadly aren't documented anywhere.
+
A starting point when searching for valid values is this [script](https://github.com/netbirdio/dashboard/blob/main/docker/init_react_envs.sh)
+
The only mandatory value is 'AUTH_AUTHORITY' as we cannot set a default value here.
+
'';
+
};
+
+
finalDrv = mkOption {
+
readOnly = true;
+
type = package;
+
description = ''
+
The derivation containing the final templated dashboard.
+
'';
+
};
+
};
+
+
config = mkIf cfg.enable {
+
assertions = [
+
{
+
assertion = hasAttr "AUTH_AUTHORITY" cfg.settings;
+
message = "The setting AUTH_AUTHORITY is required for the dasboard to function.";
+
}
+
];
+
+
services.netbird.server.dashboard = {
+
settings =
+
{
+
# Due to how the backend and frontend work this secret will be templated into the backend
+
# and then served statically from your website
+
# This enables you to login without the normally needed indirection through the backend
+
# but this also means anyone that can reach your website can
+
# fetch this secret, which is why there is no real need to put it into
+
# special options as its public anyway
+
# As far as I know leaking this secret is just
+
# an information leak as one can fetch some basic app
+
# informations from the IDP
+
# To actually do something one still needs to have login
+
# data and this secret so this being public will not
+
# suffice for anything just decreasing security
+
AUTH_CLIENT_SECRET = "";
+
+
NETBIRD_MGMT_API_ENDPOINT = cfg.managementServer;
+
NETBIRD_MGMT_GRPC_API_ENDPOINT = cfg.managementServer;
+
}
+
// (mapAttrs (_: mkDefault) {
+
# Those values have to be easily overridable
+
AUTH_AUDIENCE = "netbird"; # must be set for your devices to be able to log in
+
AUTH_CLIENT_ID = "netbird";
+
AUTH_SUPPORTED_SCOPES = "openid profile email";
+
NETBIRD_TOKEN_SOURCE = "idToken";
+
USE_AUTH0 = false;
+
});
+
+
# The derivation containing the templated dashboard
+
finalDrv =
+
pkgs.runCommand "netbird-dashboard"
+
{
+
nativeBuildInputs = [ pkgs.gettext ];
+
env = {
+
ENV_STR = concatStringsSep " " [
+
"$AUTH_AUDIENCE"
+
"$AUTH_AUTHORITY"
+
"$AUTH_CLIENT_ID"
+
"$AUTH_CLIENT_SECRET"
+
"$AUTH_REDIRECT_URI"
+
"$AUTH_SILENT_REDIRECT_URI"
+
"$AUTH_SUPPORTED_SCOPES"
+
"$NETBIRD_DRAG_QUERY_PARAMS"
+
"$NETBIRD_GOOGLE_ANALYTICS_ID"
+
"$NETBIRD_HOTJAR_TRACK_ID"
+
"$NETBIRD_MGMT_API_ENDPOINT"
+
"$NETBIRD_MGMT_GRPC_API_ENDPOINT"
+
"$NETBIRD_TOKEN_SOURCE"
+
"$USE_AUTH0"
+
];
+
} // (mapAttrs (_: toStringEnv) cfg.settings);
+
}
+
''
+
cp -R ${cfg.package} build
+
+
find build -type d -exec chmod 755 {} \;
+
OIDC_TRUSTED_DOMAINS="build/OidcTrustedDomains.js"
+
+
envsubst "$ENV_STR" < "$OIDC_TRUSTED_DOMAINS.tmpl" > "$OIDC_TRUSTED_DOMAINS"
+
+
for f in $(grep -R -l AUTH_SUPPORTED_SCOPES build/); do
+
mv "$f" "$f.copy"
+
envsubst "$ENV_STR" < "$f.copy" > "$f"
+
rm "$f.copy"
+
done
+
+
cp -R build $out
+
'';
+
};
+
+
services.nginx = mkIf cfg.enableNginx {
+
enable = true;
+
+
virtualHosts.${cfg.domain} = {
+
locations = {
+
"/" = {
+
root = cfg.finalDrv;
+
tryFiles = "$uri $uri.html $uri/ =404";
+
};
+
+
"/404.html".extraConfig = ''
+
internal;
+
'';
+
};
+
+
extraConfig = ''
+
error_page 404 /404.html;
+
'';
+
};
+
};
+
};
+
}
+460
nixos/modules/services/networking/netbird/management.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
utils,
+
...
+
}:
+
+
let
+
inherit (lib)
+
any
+
concatMap
+
getExe'
+
literalExpression
+
mkEnableOption
+
mkIf
+
mkOption
+
mkPackageOption
+
optional
+
recursiveUpdate
+
;
+
+
inherit (lib.types)
+
bool
+
enum
+
listOf
+
port
+
str
+
;
+
+
inherit (utils) escapeSystemdExecArgs genJqSecretsReplacementSnippet;
+
+
stateDir = "/var/lib/netbird-mgmt";
+
+
settingsFormat = pkgs.formats.json { };
+
+
defaultSettings = {
+
Stuns = [
+
{
+
Proto = "udp";
+
URI = "stun:${cfg.turnDomain}:3478";
+
Username = "";
+
Password = null;
+
}
+
];
+
+
TURNConfig = {
+
Turns = [
+
{
+
Proto = "udp";
+
URI = "turn:${cfg.turnDomain}:${builtins.toString cfg.turnPort}";
+
Username = "netbird";
+
Password = "netbird";
+
}
+
];
+
+
CredentialsTTL = "12h";
+
Secret = "not-secure-secret";
+
TimeBasedCredentials = false;
+
};
+
+
Signal = {
+
Proto = "https";
+
URI = "${cfg.domain}:443";
+
Username = "";
+
Password = null;
+
};
+
+
ReverseProxy = {
+
TrustedHTTPProxies = [ ];
+
TrustedHTTPProxiesCount = 0;
+
TrustedPeers = [ "0.0.0.0/0" ];
+
};
+
+
Datadir = "${stateDir}/data";
+
DataStoreEncryptionKey = "very-insecure-key";
+
StoreConfig = {
+
Engine = "sqlite";
+
};
+
+
HttpConfig = {
+
Address = "127.0.0.1:${builtins.toString cfg.port}";
+
IdpSignKeyRefreshEnabled = true;
+
OIDCConfigEndpoint = cfg.oidcConfigEndpoint;
+
};
+
+
IdpManagerConfig = {
+
ManagerType = "none";
+
ClientConfig = {
+
Issuer = "";
+
TokenEndpoint = "";
+
ClientID = "netbird";
+
ClientSecret = "";
+
GrantType = "client_credentials";
+
};
+
+
ExtraConfig = { };
+
Auth0ClientCredentials = null;
+
AzureClientCredentials = null;
+
KeycloakClientCredentials = null;
+
ZitadelClientCredentials = null;
+
};
+
+
DeviceAuthorizationFlow = {
+
Provider = "none";
+
ProviderConfig = {
+
Audience = "netbird";
+
Domain = null;
+
ClientID = "netbird";
+
TokenEndpoint = null;
+
DeviceAuthEndpoint = "";
+
Scope = "openid profile email";
+
UseIDToken = false;
+
};
+
};
+
+
PKCEAuthorizationFlow = {
+
ProviderConfig = {
+
Audience = "netbird";
+
ClientID = "netbird";
+
ClientSecret = "";
+
AuthorizationEndpoint = "";
+
TokenEndpoint = "";
+
Scope = "openid profile email";
+
RedirectURLs = [ "http://localhost:53000" ];
+
UseIDToken = false;
+
};
+
};
+
};
+
+
managementConfig = recursiveUpdate defaultSettings cfg.settings;
+
+
managementFile = settingsFormat.generate "config.json" managementConfig;
+
+
cfg = config.services.netbird.server.management;
+
in
+
+
{
+
options.services.netbird.server.management = {
+
enable = mkEnableOption "Netbird Management Service.";
+
+
package = mkPackageOption pkgs "netbird" { };
+
+
domain = mkOption {
+
type = str;
+
description = "The domain under which the management API runs.";
+
};
+
+
turnDomain = mkOption {
+
type = str;
+
description = "The domain of the TURN server to use.";
+
};
+
+
turnPort = mkOption {
+
type = port;
+
default = 3478;
+
description = ''
+
The port of the TURN server to use.
+
'';
+
};
+
+
dnsDomain = mkOption {
+
type = str;
+
default = "netbird.selfhosted";
+
description = "Domain used for peer resolution.";
+
};
+
+
singleAccountModeDomain = mkOption {
+
type = str;
+
default = "netbird.selfhosted";
+
description = ''
+
Enables single account mode.
+
This means that all the users will be under the same account grouped by the specified domain.
+
If the installation has more than one account, the property is ineffective.
+
'';
+
};
+
+
disableAnonymousMetrics = mkOption {
+
type = bool;
+
default = true;
+
description = "Disables push of anonymous usage metrics to NetBird.";
+
};
+
+
disableSingleAccountMode = mkOption {
+
type = bool;
+
default = false;
+
description = ''
+
If set to true, disables single account mode.
+
The `singleAccountModeDomain` property will be ignored and every new user will have a separate NetBird account.
+
'';
+
};
+
+
port = mkOption {
+
type = port;
+
default = 8011;
+
description = "Internal port of the management server.";
+
};
+
+
extraOptions = mkOption {
+
type = listOf str;
+
default = [ ];
+
description = ''
+
Additional options given to netbird-mgmt as commandline arguments.
+
'';
+
};
+
+
oidcConfigEndpoint = mkOption {
+
type = str;
+
description = "The oidc discovery endpoint.";
+
example = "https://example.eu.auth0.com/.well-known/openid-configuration";
+
};
+
+
settings = mkOption {
+
inherit (settingsFormat) type;
+
+
defaultText = literalExpression ''
+
defaultSettings = {
+
Stuns = [
+
{
+
Proto = "udp";
+
URI = "stun:''${cfg.turnDomain}:3478";
+
Username = "";
+
Password = null;
+
}
+
];
+
+
TURNConfig = {
+
Turns = [
+
{
+
Proto = "udp";
+
URI = "turn:''${cfg.turnDomain}:3478";
+
Username = "netbird";
+
Password = "netbird";
+
}
+
];
+
+
CredentialsTTL = "12h";
+
Secret = "not-secure-secret";
+
TimeBasedCredentials = false;
+
};
+
+
Signal = {
+
Proto = "https";
+
URI = "''${cfg.domain}:443";
+
Username = "";
+
Password = null;
+
};
+
+
ReverseProxy = {
+
TrustedHTTPProxies = [ ];
+
TrustedHTTPProxiesCount = 0;
+
TrustedPeers = [ "0.0.0.0/0" ];
+
};
+
+
Datadir = "''${stateDir}/data";
+
DataStoreEncryptionKey = "genEVP6j/Yp2EeVujm0zgqXrRos29dQkpvX0hHdEUlQ=";
+
StoreConfig = { Engine = "sqlite"; };
+
+
HttpConfig = {
+
Address = "127.0.0.1:''${builtins.toString cfg.port}";
+
IdpSignKeyRefreshEnabled = true;
+
OIDCConfigEndpoint = cfg.oidcConfigEndpoint;
+
};
+
+
IdpManagerConfig = {
+
ManagerType = "none";
+
ClientConfig = {
+
Issuer = "";
+
TokenEndpoint = "";
+
ClientID = "netbird";
+
ClientSecret = "";
+
GrantType = "client_credentials";
+
};
+
+
ExtraConfig = { };
+
Auth0ClientCredentials = null;
+
AzureClientCredentials = null;
+
KeycloakClientCredentials = null;
+
ZitadelClientCredentials = null;
+
};
+
+
DeviceAuthorizationFlow = {
+
Provider = "none";
+
ProviderConfig = {
+
Audience = "netbird";
+
Domain = null;
+
ClientID = "netbird";
+
TokenEndpoint = null;
+
DeviceAuthEndpoint = "";
+
Scope = "openid profile email offline_access api";
+
UseIDToken = false;
+
};
+
};
+
+
PKCEAuthorizationFlow = {
+
ProviderConfig = {
+
Audience = "netbird";
+
ClientID = "netbird";
+
ClientSecret = "";
+
AuthorizationEndpoint = "";
+
TokenEndpoint = "";
+
Scope = "openid profile email offline_access api";
+
RedirectURLs = "http://localhost:53000";
+
UseIDToken = false;
+
};
+
};
+
};
+
'';
+
+
default = { };
+
+
description = ''
+
Configuration of the netbird management server.
+
Options containing secret data should be set to an attribute set containing the attribute _secret
+
- a string pointing to a file containing the value the option should be set to.
+
See the example to get a better picture of this: in the resulting management.json file,
+
the `DataStoreEncryptionKey` key will be set to the contents of the /run/agenix/netbird_mgmt-data_store_encryption_key file.
+
'';
+
+
example = {
+
DataStoreEncryptionKey = {
+
_secret = "/run/agenix/netbird_mgmt-data_store_encryption_key";
+
};
+
};
+
};
+
+
logLevel = mkOption {
+
type = enum [
+
"ERROR"
+
"WARN"
+
"INFO"
+
"DEBUG"
+
];
+
default = "INFO";
+
description = "Log level of the netbird services.";
+
};
+
+
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird management service.";
+
};
+
+
config = mkIf cfg.enable {
+
warnings =
+
concatMap
+
(
+
{ check, name }:
+
optional check "${name} is world-readable in the Nix Store, you should provide it as a _secret."
+
)
+
[
+
{
+
check = builtins.isString managementConfig.TURNConfig.Secret;
+
name = "The TURNConfig.secret";
+
}
+
{
+
check = builtins.isString managementConfig.DataStoreEncryptionKey;
+
name = "The DataStoreEncryptionKey";
+
}
+
{
+
check = any (T: (T ? Password) && builtins.isString T.Password) managementConfig.TURNConfig.Turns;
+
name = "A Turn configuration's password";
+
}
+
];
+
+
systemd.services.netbird-management = {
+
description = "The management server for Netbird, a wireguard VPN";
+
documentation = [ "https://netbird.io/docs/" ];
+
+
after = [ "network.target" ];
+
wantedBy = [ "multi-user.target" ];
+
restartTriggers = [ managementFile ];
+
+
preStart = genJqSecretsReplacementSnippet managementConfig "${stateDir}/management.json";
+
+
serviceConfig = {
+
ExecStart = escapeSystemdExecArgs (
+
[
+
(getExe' cfg.package "netbird-mgmt")
+
"management"
+
# Config file
+
"--config"
+
"${stateDir}/management.json"
+
# Data directory
+
"--datadir"
+
"${stateDir}/data"
+
# DNS domain
+
"--dns-domain"
+
cfg.dnsDomain
+
# Port to listen on
+
"--port"
+
cfg.port
+
# Log to stdout
+
"--log-file"
+
"console"
+
# Log level
+
"--log-level"
+
cfg.logLevel
+
#
+
"--idp-sign-key-refresh-enabled"
+
# Domain for internal resolution
+
"--single-account-mode-domain"
+
cfg.singleAccountModeDomain
+
]
+
++ (optional cfg.disableAnonymousMetrics "--disable-anonymous-metrics")
+
++ (optional cfg.disableSingleAccountMode "--disable-single-account-mode")
+
++ cfg.extraOptions
+
);
+
Restart = "always";
+
RuntimeDirectory = "netbird-mgmt";
+
StateDirectory = [
+
"netbird-mgmt"
+
"netbird-mgmt/data"
+
];
+
WorkingDirectory = stateDir;
+
+
# hardening
+
LockPersonality = true;
+
MemoryDenyWriteExecute = true;
+
NoNewPrivileges = true;
+
PrivateMounts = true;
+
PrivateTmp = true;
+
ProtectClock = true;
+
ProtectControlGroups = true;
+
ProtectHome = true;
+
ProtectHostname = true;
+
ProtectKernelLogs = true;
+
ProtectKernelModules = true;
+
ProtectKernelTunables = true;
+
ProtectSystem = true;
+
RemoveIPC = true;
+
RestrictNamespaces = true;
+
RestrictRealtime = true;
+
RestrictSUIDSGID = true;
+
};
+
+
stopIfChanged = false;
+
};
+
+
services.nginx = mkIf cfg.enableNginx {
+
enable = true;
+
+
virtualHosts.${cfg.domain} = {
+
locations = {
+
"/api".proxyPass = "http://localhost:${builtins.toString cfg.port}";
+
+
"/management.ManagementService/".extraConfig = ''
+
# This is necessary so that grpc connections do not get closed early
+
# see https://stackoverflow.com/a/67805465
+
client_body_timeout 1d;
+
+
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+
grpc_pass grpc://localhost:${builtins.toString cfg.port};
+
grpc_read_timeout 1d;
+
grpc_send_timeout 1d;
+
grpc_socket_keepalive on;
+
'';
+
};
+
};
+
};
+
};
+
}
+42
nixos/modules/services/networking/netbird/server.md
···
+
# Netbird server {#module-services-netbird-server}
+
+
NetBird is a VPN built on top of WireGuard® making it easy to create secure private networks for your organization or home.
+
+
## Quickstart {#module-services-netbird-server-quickstart}
+
+
To fully setup Netbird as a self-hosted server, we need both a Coturn server and an identity provider, the list of supported SSOs and their setup are available [on Netbird's documentation](https://docs.netbird.io/selfhosted/selfhosted-guide#step-3-configure-identity-provider-idp).
+
+
There are quite a few settings that need to be passed to Netbird for it to function, and a minimal config looks like :
+
+
```nix
+
services.netbird.server = {
+
enable = true;
+
+
domain = "netbird.example.selfhosted";
+
+
enableNginx = true;
+
+
coturn = {
+
enable = true;
+
+
passwordFile = "/path/to/a/secret/password";
+
};
+
+
management = {
+
oidcConfigEndpoint = "https://sso.example.selfhosted/oauth2/openid/netbird/.well-known/openid-configuration";
+
+
settings = {
+
TURNConfig = {
+
Turns = [
+
{
+
Proto = "udp";
+
URI = "turn:netbird.example.selfhosted:3478";
+
Username = "netbird";
+
Password._secret = "/path/to/a/secret/password";
+
}
+
];
+
};
+
};
+
};
+
};
+
```
+67
nixos/modules/services/networking/netbird/server.nix
···
+
{ config, lib, ... }:
+
+
let
+
inherit (lib)
+
mkEnableOption
+
mkIf
+
mkOption
+
optionalAttrs
+
;
+
+
inherit (lib.types) str;
+
+
cfg = config.services.netbird.server;
+
in
+
+
{
+
meta = {
+
maintainers = with lib.maintainers; [ thubrecht ];
+
doc = ./server.md;
+
};
+
+
# Import the separate components
+
imports = [
+
./coturn.nix
+
./dashboard.nix
+
./management.nix
+
./signal.nix
+
];
+
+
options.services.netbird.server = {
+
enable = mkEnableOption "Netbird Server stack, comprising the dashboard, management API and signal service";
+
+
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird server services.";
+
+
domain = mkOption {
+
type = str;
+
description = "The domain under which the netbird server runs.";
+
};
+
};
+
+
config = mkIf cfg.enable {
+
services.netbird.server = {
+
dashboard = {
+
inherit (cfg) enable domain enableNginx;
+
+
managementServer = "https://${cfg.domain}";
+
};
+
+
management =
+
{
+
inherit (cfg) enable domain enableNginx;
+
}
+
// (optionalAttrs cfg.coturn.enable {
+
turnDomain = cfg.domain;
+
turnPort = config.services.coturn.tls-listening-port;
+
});
+
+
signal = {
+
inherit (cfg) enable domain enableNginx;
+
};
+
+
coturn = {
+
inherit (cfg) domain;
+
};
+
};
+
};
+
}
+123
nixos/modules/services/networking/netbird/signal.nix
···
+
{
+
config,
+
lib,
+
pkgs,
+
utils,
+
...
+
}:
+
+
let
+
inherit (lib)
+
getExe'
+
mkEnableOption
+
mkIf
+
mkPackageOption
+
mkOption
+
;
+
+
inherit (lib.types) enum port str;
+
+
inherit (utils) escapeSystemdExecArgs;
+
+
cfg = config.services.netbird.server.signal;
+
in
+
+
{
+
options.services.netbird.server.signal = {
+
enable = mkEnableOption "Netbird's Signal Service";
+
+
package = mkPackageOption pkgs "netbird" { };
+
+
enableNginx = mkEnableOption "Nginx reverse-proxy for the netbird signal service.";
+
+
domain = mkOption {
+
type = str;
+
description = "The domain name for the signal service.";
+
};
+
+
port = mkOption {
+
type = port;
+
default = 8012;
+
description = "Internal port of the signal server.";
+
};
+
+
logLevel = mkOption {
+
type = enum [
+
"ERROR"
+
"WARN"
+
"INFO"
+
"DEBUG"
+
];
+
default = "INFO";
+
description = "Log level of the netbird signal service.";
+
};
+
};
+
+
config = mkIf cfg.enable {
+
systemd.services.netbird-signal = {
+
after = [ "network.target" ];
+
wantedBy = [ "multi-user.target" ];
+
+
serviceConfig = {
+
ExecStart = escapeSystemdExecArgs [
+
(getExe' cfg.package "netbird-signal")
+
"run"
+
# Port to listen on
+
"--port"
+
cfg.port
+
# Log to stdout
+
"--log-file"
+
"console"
+
# Log level
+
"--log-level"
+
cfg.logLevel
+
];
+
+
Restart = "always";
+
RuntimeDirectory = "netbird-mgmt";
+
StateDirectory = "netbird-mgmt";
+
WorkingDirectory = "/var/lib/netbird-mgmt";
+
+
# hardening
+
LockPersonality = true;
+
MemoryDenyWriteExecute = true;
+
NoNewPrivileges = true;
+
PrivateMounts = true;
+
PrivateTmp = true;
+
ProtectClock = true;
+
ProtectControlGroups = true;
+
ProtectHome = true;
+
ProtectHostname = true;
+
ProtectKernelLogs = true;
+
ProtectKernelModules = true;
+
ProtectKernelTunables = true;
+
ProtectSystem = true;
+
RemoveIPC = true;
+
RestrictNamespaces = true;
+
RestrictRealtime = true;
+
RestrictSUIDSGID = true;
+
};
+
+
stopIfChanged = false;
+
};
+
+
services.nginx = mkIf cfg.enableNginx {
+
enable = true;
+
+
virtualHosts.${cfg.domain} = {
+
locations."/signalexchange.SignalExchange/".extraConfig = ''
+
# This is necessary so that grpc connections do not get closed early
+
# see https://stackoverflow.com/a/67805465
+
client_body_timeout 1d;
+
+
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+
+
grpc_pass grpc://localhost:${builtins.toString cfg.port};
+
grpc_read_timeout 1d;
+
grpc_send_timeout 1d;
+
grpc_socket_keepalive on;
+
'';
+
};
+
};
+
};
+
}
+367
nixos/modules/services/web-apps/firefly-iii.nix
···
+
{ pkgs, config, lib, ... }:
+
+
let
+
inherit (lib) optionalString mkDefault mkIf mkOption mkEnableOption literalExpression;
+
inherit (lib.types) nullOr attrsOf oneOf str int bool path package enum submodule;
+
inherit (lib.strings) concatMapStringsSep removePrefix toShellVars removeSuffix hasSuffix;
+
inherit (lib.attrsets) attrValues genAttrs filterAttrs mapAttrs' nameValuePair;
+
inherit (builtins) isInt isString toString typeOf;
+
+
cfg = config.services.firefly-iii;
+
+
user = cfg.user;
+
group = cfg.group;
+
+
defaultUser = "firefly-iii";
+
defaultGroup = "firefly-iii";
+
+
artisan = "${cfg.package}/artisan";
+
+
env-file-values = mapAttrs' (n: v: nameValuePair (removeSuffix "_FILE" n) v)
+
(filterAttrs (n: v: hasSuffix "_FILE" n) cfg.settings);
+
env-nonfile-values = filterAttrs (n: v: ! hasSuffix "_FILE" n) cfg.settings;
+
+
envfile = pkgs.writeText "firefly-iii-env" ''
+
${toShellVars env-file-values}
+
${toShellVars env-nonfile-values}
+
'';
+
+
fileenv-func = ''
+
cp --no-preserve=mode ${envfile} /tmp/firefly-iii-env
+
${concatMapStringsSep "\n"
+
(n: "${pkgs.replace-secret}/bin/replace-secret ${n} ${n} /tmp/firefly-iii-env")
+
(attrValues env-file-values)}
+
set -a
+
. /tmp/firefly-iii-env
+
set +a
+
'';
+
+
firefly-iii-maintenance = pkgs.writeShellScript "firefly-iii-maintenance.sh" ''
+
${fileenv-func}
+
+
${optionalString (cfg.settings.DB_CONNECTION == "sqlite")
+
"touch ${cfg.dataDir}/storage/database/database.sqlite"}
+
${artisan} migrate --seed --no-interaction --force
+
${artisan} firefly-iii:decrypt-all
+
${artisan} firefly-iii:upgrade-database
+
${artisan} firefly-iii:correct-database
+
${artisan} firefly-iii:report-integrity
+
${artisan} firefly-iii:laravel-passport-keys
+
${artisan} cache:clear
+
+
mv /tmp/firefly-iii-env /run/phpfpm/firefly-iii-env
+
'';
+
+
commonServiceConfig = {
+
Type = "oneshot";
+
User = user;
+
Group = group;
+
StateDirectory = "${removePrefix "/var/lib/" cfg.dataDir}";
+
WorkingDirectory = cfg.package;
+
PrivateTmp = true;
+
PrivateDevices = true;
+
CapabilityBoundingSet = "";
+
AmbientCapabilities = "";
+
ProtectSystem = "strict";
+
ProtectKernelTunables = true;
+
ProtectKernelModules = true;
+
ProtectControlGroups = true;
+
ProtectClock = true;
+
ProtectHostname = true;
+
ProtectHome = "tmpfs";
+
ProtectKernelLogs = true;
+
ProtectProc = "invisible";
+
ProcSubset = "pid";
+
PrivateNetwork = false;
+
RestrictAddressFamilies = "AF_INET AF_INET6 AF_UNIX";
+
SystemCallArchitectures = "native";
+
SystemCallFilter = [
+
"@system-service @resources"
+
"~@obsolete @privileged"
+
];
+
RestrictSUIDSGID = true;
+
RemoveIPC = true;
+
NoNewPrivileges = true;
+
RestrictRealtime = true;
+
RestrictNamespaces = true;
+
LockPersonality = true;
+
PrivateUsers = true;
+
};
+
+
in {
+
+
options.services.firefly-iii = {
+
+
enable = mkEnableOption "Firefly III: A free and open source personal finance manager";
+
+
user = mkOption {
+
type = str;
+
default = defaultUser;
+
description = "User account under which firefly-iii runs.";
+
};
+
+
group = mkOption {
+
type = str;
+
default = if cfg.enableNginx then "nginx" else defaultGroup;
+
defaultText = "If `services.firefly-iii.enableNginx` is true then `nginx` else ${defaultGroup}";
+
description = ''
+
Group under which firefly-iii runs. It is best to set this to the group
+
of whatever webserver is being used as the frontend.
+
'';
+
};
+
+
dataDir = mkOption {
+
type = path;
+
default = "/var/lib/firefly-iii";
+
description = ''
+
The place where firefly-iii stores its state.
+
'';
+
};
+
+
package = mkOption {
+
type = package;
+
default = pkgs.firefly-iii;
+
defaultText = literalExpression "pkgs.firefly-iii";
+
description = ''
+
The firefly-iii package served by php-fpm and the webserver of choice.
+
This option can be used to point the webserver to the correct root. It
+
may also be used to set the package to a different version, say a
+
development version.
+
'';
+
apply = firefly-iii : firefly-iii.override (prev: {
+
dataDir = cfg.dataDir;
+
});
+
};
+
+
enableNginx = mkOption {
+
type = bool;
+
default = false;
+
description = ''
+
Whether to enable nginx or not. If enabled, an nginx virtual host will
+
be created for access to firefly-iii. If not enabled, then you may use
+
`''${config.services.firefly-iii.package}` as your document root in
+
whichever webserver you wish to setup.
+
'';
+
};
+
+
virtualHost = mkOption {
+
type = str;
+
description = ''
+
The hostname at which you wish firefly-iii to be served. If you have
+
enabled nginx using `services.firefly-iii.enableNginx` then this will
+
be used.
+
'';
+
};
+
+
poolConfig = mkOption {
+
type = attrsOf (oneOf [ str int bool ]);
+
default = {
+
"pm" = "dynamic";
+
"pm.max_children" = 32;
+
"pm.start_servers" = 2;
+
"pm.min_spare_servers" = 2;
+
"pm.max_spare_servers" = 4;
+
"pm.max_requests" = 500;
+
};
+
description = ''
+
Options for the Firefly III PHP pool. See the documentation on <literal>php-fpm.conf</literal>
+
for details on configuration directives.
+
'';
+
};
+
+
settings = mkOption {
+
description = ''
+
Options for firefly-iii configuration. Refer to
+
<https://github.com/firefly-iii/firefly-iii/blob/main/.env.example> for
+
details on supported values. All <option>_FILE values supported by
+
upstream are supported here.
+
+
APP_URL will be set by `services.firefly-iii.virtualHost`, do not
+
redefine it here.
+
'';
+
example = literalExpression ''
+
{
+
APP_ENV = "production";
+
APP_KEY_FILE = "/var/secrets/firefly-iii-app-key.txt";
+
SITE_OWNER = "mail@example.com";
+
DB_CONNECTION = "mysql";
+
DB_HOST = "db";
+
DB_PORT = 3306;
+
DB_DATABASE = "firefly";
+
DB_USERNAME = "firefly";
+
DB_PASSWORD_FILE = "/var/secrets/firefly-iii-mysql-password.txt;
+
}
+
'';
+
default = {};
+
type = submodule {
+
freeformType = attrsOf (oneOf [str int bool]);
+
options = {
+
DB_CONNECTION = mkOption {
+
type = enum [ "sqlite" "pgsql" "mysql" ];
+
default = "sqlite";
+
example = "pgsql";
+
description = ''
+
The type of database you wish to use. Can be one of "sqlite",
+
"mysql" or "pgsql".
+
'';
+
};
+
APP_ENV = mkOption {
+
type = enum [ "local" "production" "testing" ];
+
default = "local";
+
example = "production";
+
description = ''
+
The app environment. It is recommended to keep this at "local".
+
Possible values are "local", "production" and "testing"
+
'';
+
};
+
DB_PORT = mkOption {
+
type = nullOr int;
+
default = if cfg.settings.DB_CONNECTION == "sqlite" then null
+
else if cfg.settings.DB_CONNECTION == "mysql" then 3306
+
else 5432;
+
defaultText = ''
+
`null` if DB_CONNECTION is "sqlite", `3306` if "mysql", `5432` if "pgsql"
+
'';
+
description = ''
+
The port your database is listening at. sqlite does not require
+
this value to be filled.
+
'';
+
};
+
APP_KEY_FILE = mkOption {
+
type = path;
+
description = ''
+
The path to your appkey. The file should contain a 32 character
+
random app key. This may be set using `echo "base64:$(head -c 32
+
/dev/urandom | base64)" > /path/to/key-file`.
+
'';
+
};
+
};
+
};
+
};
+
};
+
+
config = mkIf cfg.enable {
+
+
services.firefly-iii = {
+
settings = {
+
APP_URL = cfg.virtualHost;
+
};
+
};
+
+
services.phpfpm.pools.firefly-iii = {
+
inherit user group;
+
phpPackage = cfg.package.phpPackage;
+
phpOptions = ''
+
log_errors = on
+
'';
+
settings = {
+
"listen.mode" = "0660";
+
"listen.owner" = user;
+
"listen.group" = group;
+
"clear_env" = "no";
+
} // cfg.poolConfig;
+
};
+
+
systemd.services.phpfpm-firefly-iii.serviceConfig = {
+
EnvironmentFile = "/run/phpfpm/firefly-iii-env";
+
ExecStartPost = "${pkgs.coreutils}/bin/rm /run/phpfpm/firefly-iii-env";
+
};
+
+
systemd.services.firefly-iii-setup = {
+
requiredBy = [ "phpfpm-firefly-iii.service" ];
+
before = [ "phpfpm-firefly-iii.service" ];
+
serviceConfig = {
+
ExecStart = firefly-iii-maintenance;
+
RuntimeDirectory = "phpfpm";
+
RuntimeDirectoryPreserve = true;
+
} // commonServiceConfig;
+
unitConfig.JoinsNamespaceOf = "phpfpm-firefly-iii.service";
+
};
+
+
systemd.services.firefly-iii-cron = {
+
description = "Daily Firefly III cron job";
+
script = ''
+
${fileenv-func}
+
${artisan} firefly-iii:cron
+
'';
+
serviceConfig = commonServiceConfig;
+
};
+
+
systemd.timers.firefly-iii-cron = {
+
description = "Trigger Firefly Cron";
+
timerConfig = {
+
OnCalendar = "Daily";
+
RandomizedDelaySec = "1800s";
+
Persistent = true;
+
};
+
wantedBy = [ "timers.target" ];
+
};
+
+
services.nginx = mkIf cfg.enableNginx {
+
enable = true;
+
recommendedTlsSettings = mkDefault true;
+
recommendedOptimisation = mkDefault true;
+
recommendedGzipSettings = mkDefault true;
+
virtualHosts.${cfg.virtualHost} = {
+
root = "${cfg.package}/public";
+
locations = {
+
"/" = {
+
tryFiles = "$uri $uri/ /index.php?$query_string";
+
index = "index.php";
+
extraConfig = ''
+
sendfile off;
+
'';
+
};
+
"~ \.php$" = {
+
extraConfig = ''
+
include ${config.services.nginx.package}/conf/fastcgi_params ;
+
fastcgi_param SCRIPT_FILENAME $request_filename;
+
fastcgi_param modHeadersAvailable true; #Avoid sending the security headers twice
+
fastcgi_pass unix:${config.services.phpfpm.pools.firefly-iii.socket};
+
'';
+
};
+
};
+
};
+
};
+
+
systemd.tmpfiles.settings."10-firefly-iii" = genAttrs [
+
"${cfg.dataDir}/storage"
+
"${cfg.dataDir}/storage/app"
+
"${cfg.dataDir}/storage/database"
+
"${cfg.dataDir}/storage/export"
+
"${cfg.dataDir}/storage/framework"
+
"${cfg.dataDir}/storage/framework/cache"
+
"${cfg.dataDir}/storage/framework/sessions"
+
"${cfg.dataDir}/storage/framework/views"
+
"${cfg.dataDir}/storage/logs"
+
"${cfg.dataDir}/storage/upload"
+
"${cfg.dataDir}/cache"
+
] (n: {
+
d = {
+
group = group;
+
mode = "0700";
+
user = user;
+
};
+
}) // {
+
"${cfg.dataDir}".d = {
+
group = group;
+
mode = "0710";
+
user = user;
+
};
+
};
+
+
users = {
+
users = mkIf (user == defaultUser) {
+
${defaultUser} = {
+
description = "Firefly-iii service user";
+
inherit group;
+
isSystemUser = true;
+
home = cfg.dataDir;
+
};
+
};
+
groups = mkIf (group == defaultGroup) {
+
${defaultGroup} = {};
+
};
+
};
+
};
+
}
+4 -1
nixos/release-combined.nix
···
(onFullSupported "nixpkgs.emacs")
(onFullSupported "nixpkgs.jdk")
(onSystems ["x86_64-linux"] "nixpkgs.mesa_i686") # i686 sanity check + useful
-
["nixpkgs.tarball"]
+
[
+
"nixpkgs.tarball"
+
"nixpkgs.release-checks"
+
]
];
};
}
+1
nixos/release-small.nix
···
[
"nixos.channel"
"nixpkgs.tarball"
+
"nixpkgs.release-checks"
]
(map (onSystems [ "x86_64-linux" ]) [
"nixos.tests.boot.biosCdrom"
+1
nixos/tests/all-tests.nix
···
ferm = handleTest ./ferm.nix {};
ferretdb = handleTest ./ferretdb.nix {};
filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
+
firefly-iii = handleTest ./firefly-iii.nix {};
firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; };
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
+26
nixos/tests/firefly-iii.nix
···
+
import ./make-test-python.nix ({ lib, pkgs, ... }: {
+
name = "firefly-iii";
+
meta.maintainers = [ lib.maintainers.savyajha ];
+
+
nodes.machine = { config, ... }: {
+
environment.etc = {
+
"firefly-iii-appkey".text = "TestTestTestTestTestTestTestTest";
+
};
+
services.firefly-iii = {
+
enable = true;
+
virtualHost = "http://localhost";
+
enableNginx = true;
+
settings = {
+
APP_KEY_FILE = "/etc/firefly-iii-appkey";
+
LOG_CHANNEL = "stdout";
+
SITE_OWNER = "mail@example.com";
+
};
+
};
+
};
+
+
testScript = ''
+
machine.wait_for_unit("phpfpm-firefly-iii.service")
+
machine.wait_for_unit("nginx.service")
+
machine.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'")
+
'';
+
})
+2 -2
pkgs/applications/gis/qgis/unwrapped-ltr.nix
···
urllib3
];
in mkDerivation rec {
-
version = "3.34.5";
+
version = "3.34.6";
pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-
hash = "sha256-TRSS1YclGUfBjNz+Lo8U8YlN4kdJ9JLcwd7qpgwRbG0=";
+
hash = "sha256-eWd8oIINWVN5Dt6s4bc1RtQbytFd0foPgIcd/N2hsMw=";
};
passthru = {
+2 -2
pkgs/applications/gis/qgis/unwrapped.nix
···
urllib3
];
in mkDerivation rec {
-
version = "3.36.1";
+
version = "3.36.2";
pname = "qgis-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-
hash = "sha256-/0wVPcQoliJFgY8Kn506gUHfY+kDTdLgzbp/0KLSAkI=";
+
hash = "sha256-/8mpzl/6UpjrMVjae2nqpS2DBRCq86rE+B3INzoRz8g=";
};
passthru = {
+6 -3
pkgs/applications/misc/shell-genie/default.nix
···
"typer"
];
+
build-system = [
+
poetry-core
+
];
+
nativeBuildInputs = [
-
poetry-core
pythonRelaxDepsHook
];
-
propagatedBuildInputs = [
+
dependencies = [
colorama
openai
pyperclip
···
meta = with lib; {
description = "Describe your shell commands in natural language";
-
mainProgram = "shell-genie";
homepage = "https://github.com/dylanjcastillo/shell-genie";
license = licenses.mit;
maintainers = with maintainers; [ onny ];
+
mainProgram = "shell-genie";
};
}
+3 -3
pkgs/applications/misc/ttyper/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "ttyper";
-
version = "1.4.1";
+
version = "1.5.0";
src = fetchFromGitHub {
owner = "max-niederman";
repo = pname;
rev = "v${version}";
-
hash = "sha256-IvAx65b2rGsMdDUhRxTx8cyqnG7oxC+MseCFIJil1e0=";
+
hash = "sha256-L6xdJ659ZWKNg9CGQs+5TQIKoIAZ5KHdFSk7NCp9a2Q=";
};
-
cargoHash = "sha256-o3J2bEAV5NnWKFadJdSGTqUS8K2qpBKPQz6xAbfLtg4=";
+
cargoHash = "sha256-iOeyn4oXk6y/NqZeBwkStBjt3hVVw4s2L5Lm58tq1BY=";
meta = with lib; {
description = "Terminal-based typing test";
+2 -2
pkgs/applications/networking/cluster/kubefirst/default.nix
···
buildGoModule rec {
pname = "kubefirst";
-
version = "2.4.3";
+
version = "2.4.5";
src = fetchFromGitHub {
owner = "kubefirst";
repo = "kubefirst";
rev = "refs/tags/v${version}";
-
hash = "sha256-wxIXXCB7+s3RfDjSxwlp0BBTZMb/9GFZ7cYm7L471U8=";
+
hash = "sha256-CkssgMr/4VGNQHyvaPnXBOf6HdExnhB7MjpJ3yQ9kfI=";
};
vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U=";
+3 -3
pkgs/applications/networking/cluster/kubelogin/default.nix
···
buildGoModule rec {
pname = "kubelogin";
-
version = "0.1.1";
+
version = "0.1.2";
src = fetchFromGitHub {
owner = "Azure";
repo = pname;
rev = "v${version}";
-
sha256 = "sha256-JBP2lE1/46VB/oKgDlNTQ8RFpgIlQE0If5vND7dzo7A=";
+
sha256 = "sha256-mQSQrcLzEZqNpXNuZFCVk3FRcfkrtvN19VhwqyrmwIU=";
};
-
vendorHash = "sha256-EwL/aiq2jyojM1r7wNZkA07TswHy6MLUUPQJFnaDG4A=";
+
vendorHash = "sha256-Xh4htBknBW59xdJVYw7A7BT2GB5WW8SnV05is7dWAS8=";
ldflags = [
"-X main.version=${version}"
+1 -1
pkgs/applications/science/biology/nest/default.nix
···
owner = "nest";
repo = "nest-simulator";
rev = "v${version}";
-
hash = "sha256-KoeehD0HNG6Uafv6ICf8d4gjggJ7+/8RBJCpttf7AGk=";
+
hash = "sha256-EwhpsfRmBLJnPiH6hXQXgG9jSNoC2oqq5lZ6t038VpI=";
};
postPatch = ''
+3 -3
pkgs/by-name/ei/eigenlayer/package.nix
···
}:
buildGoModule rec {
pname = "eigenlayer";
-
version = "0.7.2";
+
version = "0.7.3";
src = fetchFromGitHub {
owner = "Layr-Labs";
repo = "eigenlayer-cli";
rev = "v${version}";
-
hash = "sha256-vGXu6xQUeXLUkmLqJEXaVNXhxXZSmVlnQicBZAfj768=";
+
hash = "sha256-HsDuDe2ANxL+cTJ3mm1enLoKRewZ9Ey/YajpsLO66JA=";
};
-
vendorHash = "sha256-9DbyfUKJjzqbZcX7j/df6fdtgZt3RY1kq2H2RK+5Vfk=";
+
vendorHash = "sha256-aclRbQtGg6yQMJtaO1WjtHLXU7cE1HX1ZDckRIEtw6o=";
ldflags = ["-s" "-w"];
subPackages = ["cmd/eigenlayer"];
+60
pkgs/by-name/fi/firefly-iii/package.nix
···
+
{ lib
+
, fetchFromGitHub
+
, buildNpmPackage
+
, php83
+
, nixosTests
+
, dataDir ? "/var/lib/firefly-iii"
+
}:
+
+
let
+
pname = "firefly-iii";
+
version = "6.1.13";
+
phpPackage = php83;
+
+
src = fetchFromGitHub {
+
owner = "firefly-iii";
+
repo = "firefly-iii";
+
rev = "v${version}";
+
hash = "sha256-85zI8uCyyoCflzxDkvba6FWa9B3kh179DJfQ2Um6MGM=";
+
};
+
+
assets = buildNpmPackage {
+
pname = "${pname}-assets";
+
inherit version src;
+
npmDepsHash = "sha256-wuPUE6XuzzgKjpxZVgwh2wGut15M61WSBFG+YIZwOFM=";
+
dontNpmBuild = true;
+
installPhase = ''
+
runHook preInstall
+
npm run build
+
cp -r ./public $out/
+
runHook postInstall
+
'';
+
};
+
in
+
+
phpPackage.buildComposerProject (finalAttrs: {
+
inherit pname src version;
+
+
vendorHash = "sha256-CVGKyyLp5hjjpEulDNEYfljU4OgPBaFcYQQAUf6GeGs=";
+
+
passthru = {
+
inherit phpPackage;
+
tests = nixosTests.firefly-iii;
+
};
+
+
postInstall = ''
+
mv $out/share/php/${pname}/* $out/
+
rm -R $out/share $out/storage $out/bootstrap/cache $out/public
+
cp -a ${assets} $out/public
+
ln -s ${dataDir}/storage $out/storage
+
ln -s ${dataDir}/cache $out/bootstrap/cache
+
'';
+
+
meta = {
+
changelog = "https://github.com/firefly-iii/firefly-iii/releases/tag/v${version}";
+
description = "Firefly III: a personal finances manager";
+
homepage = "https://github.com/firefly-iii/firefly-iii";
+
license = lib.licenses.agpl3Only;
+
maintainers = [ lib.maintainers.savyajha ];
+
};
+
})
+3 -3
pkgs/by-name/gi/gitu/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "gitu";
-
version = "0.16.0";
+
version = "0.17.1";
src = fetchFromGitHub {
owner = "altsem";
repo = "gitu";
rev = "v${version}";
-
hash = "sha256-ePyMyKCI8fHKfoNCMYyYeCPkyYF5KyMYaPrB1NtovCs=";
+
hash = "sha256-9OY6zBW7UA4lTH+NI61xuil5p2ChQESXrG2zTxdJblE=";
};
-
cargoHash = "sha256-1komuFSucXYdgeAFWeeuMmZYxb6Mzku7hdltDwKAa7A=";
+
cargoHash = "sha256-gVmoKneAtC5dJh5Z+3aXwxCixrPZTRcxQRpoSh4S1e4=";
nativeBuildInputs = [
pkg-config
+37
pkgs/by-name/gl/glider/package.nix
···
+
{ lib
+
, buildGoModule
+
, fetchFromGitHub
+
}:
+
buildGoModule rec {
+
pname = "glider";
+
version = "0.16.3";
+
+
src = fetchFromGitHub {
+
owner = "nadoo";
+
repo = "glider";
+
rev = "v${version}";
+
hash = "sha256-nM6jKFqyaxZbn0wyEt0xy9uTu9JyLRfGTNsGPTQOXQw=";
+
};
+
+
vendorHash = "sha256-PGIBBop/waZDeQvW7iSi/AzLye/4t7nNXjX8zJsS2eo=";
+
+
ldflags = [
+
"-s"
+
"-w"
+
];
+
+
postInstall = ''
+
substituteInPlace systemd/glider@.service \
+
--replace-fail "/usr/bin/glider" "$out/bin/glider"
+
install -Dm444 -t "$out/lib/systemd/system/" systemd/glider@.service
+
'';
+
+
meta = with lib; {
+
homepage = "https://github.com/nadoo/glider";
+
description = "Forward proxy with multiple protocols support";
+
license = licenses.gpl3Only;
+
mainProgram = "glider";
+
maintainers = with maintainers; [ oluceps ];
+
platforms = platforms.linux;
+
};
+
}
+3 -3
pkgs/by-name/ho/home-manager/package.nix
···
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager";
-
version = "unstable-2024-04-10";
+
version = "unstable-2024-04-16";
src = fetchFromGitHub {
name = "home-manager-source";
owner = "nix-community";
repo = "home-manager";
-
rev = "31357486b0ef6f4e161e002b6893eeb4fafc3ca9";
-
hash = "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY=";
+
rev = "fa8c16e2452bf092ac76f09ee1fb1e9f7d0796e7";
+
hash = "sha256-LmaabaQZdx52MPGKPRt9Opoc9Gd9RbwvCdysUUYQoXI=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/kc/kcl-cli/package.nix
···
buildGoModule rec {
pname = "kcl-cli";
-
version = "0.8.5";
+
version = "0.8.6";
src = fetchFromGitHub {
owner = "kcl-lang";
repo = "cli";
rev = "v${version}";
-
hash = "sha256-ZjEMgQukhBGY3LWqsGmLj3lKfLtNNaQugQs0cSLMb80=";
+
hash = "sha256-A98Y5ktXFwn1XrFTwL8l04VW5zPNcMLtZCUf+niXx6c=";
};
-
vendorHash = "sha256-jmqKMB85HxAlwH7FVjHrLCZQYuAJrguRfzIz1yMypjw=";
+
vendorHash = "sha256-zFTcwyK5HT1cwfHJB3n5Eh2JE3xuXqAluU3McA+FurQ=";
ldflags = [
"-X=kcl-lang.io/cli/pkg/version.version=${version}"
];
+217 -185
pkgs/by-name/mq/mqttui/Cargo.lock
···
[[package]]
name = "ahash"
-
version = "0.8.9"
+
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f"
+
checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [
"cfg-if",
"once_cell",
···
[[package]]
name = "allocator-api2"
-
version = "0.2.16"
+
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
+
checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
[[package]]
name = "android-tzdata"
···
[[package]]
name = "anstream"
-
version = "0.6.12"
+
version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540"
+
checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
dependencies = [
"anstyle",
"anstyle-parse",
···
[[package]]
name = "anyhow"
-
version = "1.0.80"
+
version = "1.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
+
checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
[[package]]
name = "async-tungstenite"
-
version = "0.23.0"
+
version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc"
+
checksum = "2cca750b12e02c389c1694d35c16539f88b8bbaa5945934fdc1b41a776688589"
dependencies = [
"futures-io",
"futures-util",
"log",
"pin-project-lite",
"rustls-native-certs",
+
"rustls-pki-types",
"tokio",
"tokio-rustls",
"tungstenite",
···
[[package]]
name = "autocfg"
-
version = "1.1.0"
+
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]]
name = "backtrace"
-
version = "0.3.69"
+
version = "0.3.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+
checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
dependencies = [
"addr2line",
"cc",
···
[[package]]
name = "base64"
-
version = "0.21.7"
+
version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
+
checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
[[package]]
name = "bitflags"
···
[[package]]
name = "bitflags"
-
version = "2.4.2"
+
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+
checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
[[package]]
name = "block-buffer"
···
[[package]]
name = "bumpalo"
-
version = "3.15.3"
+
version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b"
+
checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
[[package]]
name = "byteorder"
···
[[package]]
name = "bytes"
-
version = "1.5.0"
+
version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223"
+
checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
[[package]]
name = "cassowary"
···
[[package]]
name = "cc"
-
version = "1.0.88"
+
version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc"
+
checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
[[package]]
name = "cfg-if"
···
[[package]]
name = "chrono"
-
version = "0.4.34"
+
version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b"
+
checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [
"android-tzdata",
"iana-time-zone",
"num-traits",
-
"windows-targets 0.52.3",
+
"serde",
+
"windows-targets 0.52.5",
]
[[package]]
name = "clap"
-
version = "4.5.1"
+
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da"
+
checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [
"clap_builder",
"clap_derive",
···
[[package]]
name = "clap_builder"
-
version = "4.5.1"
+
version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb"
+
checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [
"anstream",
"anstyle",
···
[[package]]
name = "clap_complete"
-
version = "4.5.1"
+
version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c"
+
checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e"
dependencies = [
"clap",
]
[[package]]
name = "clap_derive"
-
version = "4.5.0"
+
version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47"
+
checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
dependencies = [
-
"heck",
+
"heck 0.5.0",
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
]
[[package]]
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
dependencies = [
-
"bitflags 2.4.2",
+
"bitflags 2.5.0",
"crossterm_winapi",
"libc",
"mio",
···
[[package]]
name = "either"
-
version = "1.10.0"
+
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
+
checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
[[package]]
name = "errno"
···
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
]
[[package]]
···
[[package]]
name = "getrandom"
-
version = "0.2.12"
+
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+
checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
dependencies = [
"cfg-if",
"libc",
···
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]]
+
name = "heck"
+
version = "0.5.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
+
+
[[package]]
name = "http"
-
version = "0.2.11"
+
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
+
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [
"bytes",
"fnv",
···
[[package]]
name = "indoc"
-
version = "2.0.4"
+
version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
+
checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
[[package]]
name = "itertools"
···
[[package]]
name = "itoa"
-
version = "1.0.10"
+
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c"
+
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "js-sys"
-
version = "0.3.68"
+
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee"
+
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [
"wasm-bindgen",
]
···
[[package]]
name = "log"
-
version = "0.4.20"
+
version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
[[package]]
name = "lru"
···
[[package]]
name = "memchr"
-
version = "2.7.1"
+
version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149"
+
checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]]
name = "miniz_oxide"
···
[[package]]
name = "mio"
-
version = "0.8.10"
+
version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
+
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [
"libc",
"log",
···
[[package]]
name = "mqttui"
-
version = "0.20.0"
+
version = "0.21.0"
dependencies = [
"anyhow",
"chrono",
···
"rustls",
"rustls-native-certs",
"rustls-pemfile",
+
"rustls-pki-types",
+
"serde",
"serde_json",
"tui-tree-widget",
"url",
···
[[package]]
name = "pin-project-lite"
-
version = "0.2.13"
+
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
+
checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]]
name = "pin-utils"
···
[[package]]
name = "proc-macro2"
-
version = "1.0.78"
+
version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae"
+
checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
-
version = "1.0.35"
+
version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
+
checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
dependencies = [
"proc-macro2",
]
···
[[package]]
name = "ratatui"
-
version = "0.26.1"
+
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "bcb12f8fbf6c62614b0d56eb352af54f6a22410c3b079eb53ee93c7b97dd31d8"
+
checksum = "a564a852040e82671dc50a37d88f3aa83bbc690dfc6844cfe7a2591620206a80"
dependencies = [
-
"bitflags 2.4.2",
+
"bitflags 2.5.0",
"cassowary",
"compact_str",
"crossterm",
···
[[package]]
name = "rmp"
-
version = "0.8.12"
+
version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20"
+
checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
dependencies = [
"byteorder",
"num-traits",
···
[[package]]
name = "rmpv"
-
version = "1.0.1"
+
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2e0e0214a4a2b444ecce41a4025792fc31f77c7bb89c46d253953ea8c65701ec"
+
checksum = "e540282f11751956c82bc5529a7fb71b871b998fbf9cf06c2419b22e1b4350df"
dependencies = [
"num-traits",
"rmp",
+
"serde",
+
"serde_bytes",
]
[[package]]
···
[[package]]
name = "rumqttc"
-
version = "0.23.0"
+
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8d8941c6791801b667d52bfe9ff4fc7c968d4f3f9ae8ae7abdaaa1c966feafc8"
+
checksum = "e1568e15fab2d546f940ed3a21f48bbbd1c494c90c99c4481339364a497f94a9"
dependencies = [
"async-tungstenite",
"bytes",
···
[[package]]
name = "rustix"
-
version = "0.38.31"
+
version = "0.38.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+
checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
dependencies = [
-
"bitflags 2.4.2",
+
"bitflags 2.5.0",
"errno",
"libc",
"linux-raw-sys",
···
[[package]]
name = "rustls"
-
version = "0.21.10"
+
version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba"
+
checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
dependencies = [
"log",
"ring",
+
"rustls-pki-types",
"rustls-webpki",
-
"sct",
+
"subtle",
+
"zeroize",
[[package]]
name = "rustls-native-certs"
-
version = "0.6.3"
+
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+
checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792"
dependencies = [
"openssl-probe",
"rustls-pemfile",
+
"rustls-pki-types",
"schannel",
"security-framework",
[[package]]
name = "rustls-pemfile"
-
version = "1.0.4"
+
version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
+
checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
dependencies = [
"base64",
+
"rustls-pki-types",
[[package]]
+
name = "rustls-pki-types"
+
version = "1.4.1"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
+
+
[[package]]
name = "rustls-webpki"
-
version = "0.101.7"
+
version = "0.102.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+
checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
dependencies = [
"ring",
+
"rustls-pki-types",
"untrusted",
[[package]]
name = "rustversion"
-
version = "1.0.14"
+
version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4"
+
checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
[[package]]
name = "ryu"
···
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]]
-
name = "sct"
-
version = "0.7.1"
-
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
-
dependencies = [
-
"ring",
-
"untrusted",
-
]
-
-
[[package]]
name = "security-framework"
-
version = "2.9.2"
+
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+
checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
dependencies = [
"bitflags 1.3.2",
"core-foundation",
···
[[package]]
name = "security-framework-sys"
-
version = "2.9.1"
+
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+
checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
dependencies = [
"core-foundation-sys",
"libc",
···
[[package]]
name = "serde"
-
version = "1.0.197"
+
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2"
+
checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
dependencies = [
"serde_derive",
[[package]]
+
name = "serde_bytes"
+
version = "0.11.14"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
+
dependencies = [
+
"serde",
+
]
+
+
[[package]]
name = "serde_derive"
-
version = "1.0.197"
+
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b"
+
checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
[[package]]
name = "serde_json"
-
version = "1.0.114"
+
version = "1.0.116"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0"
+
checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
dependencies = [
"itoa",
"ryu",
···
[[package]]
name = "smallvec"
-
version = "1.13.1"
+
version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]]
name = "socket2"
···
[[package]]
name = "stability"
-
version = "0.1.1"
+
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce"
+
checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a"
dependencies = [
"quote",
-
"syn 1.0.109",
+
"syn",
[[package]]
···
[[package]]
name = "strsim"
-
version = "0.11.0"
+
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum"
-
version = "0.26.1"
+
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f"
+
checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
dependencies = [
"strum_macros",
[[package]]
name = "strum_macros"
-
version = "0.26.1"
+
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18"
+
checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
dependencies = [
-
"heck",
+
"heck 0.4.1",
"proc-macro2",
"quote",
"rustversion",
-
"syn 2.0.51",
+
"syn",
[[package]]
-
name = "syn"
-
version = "1.0.109"
+
name = "subtle"
+
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
-
dependencies = [
-
"proc-macro2",
-
"quote",
-
"unicode-ident",
-
]
+
checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
[[package]]
name = "syn"
-
version = "2.0.51"
+
version = "2.0.59"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c"
+
checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
dependencies = [
"proc-macro2",
"quote",
···
[[package]]
name = "thiserror"
-
version = "1.0.57"
+
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b"
+
checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
dependencies = [
"thiserror-impl",
[[package]]
name = "thiserror-impl"
-
version = "1.0.57"
+
version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81"
+
checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
[[package]]
···
[[package]]
name = "tokio"
-
version = "1.36.0"
+
version = "1.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931"
+
checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
dependencies = [
"backtrace",
"bytes",
···
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
[[package]]
name = "tokio-rustls"
-
version = "0.24.1"
+
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081"
+
checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
dependencies = [
"rustls",
+
"rustls-pki-types",
"tokio",
···
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
[[package]]
···
[[package]]
name = "tungstenite"
-
version = "0.20.1"
+
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9"
+
checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
dependencies = [
"byteorder",
"bytes",
···
"log",
"rand",
"rustls",
+
"rustls-pki-types",
"sha1",
"thiserror",
"url",
···
[[package]]
name = "wasm-bindgen"
-
version = "0.2.91"
+
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f"
+
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [
"cfg-if",
"wasm-bindgen-macro",
···
[[package]]
name = "wasm-bindgen-backend"
-
version = "0.2.91"
+
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b"
+
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [
"bumpalo",
"log",
"once_cell",
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
"wasm-bindgen-shared",
[[package]]
name = "wasm-bindgen-macro"
-
version = "0.2.91"
+
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed"
+
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
···
[[package]]
name = "wasm-bindgen-macro-support"
-
version = "0.2.91"
+
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66"
+
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
[[package]]
name = "wasm-bindgen-shared"
-
version = "0.2.91"
+
version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
+
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "winapi"
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [
-
"windows-targets 0.52.3",
+
"windows-targets 0.52.5",
[[package]]
···
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
-
"windows-targets 0.52.3",
+
"windows-targets 0.52.5",
[[package]]
···
[[package]]
name = "windows-targets"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f"
+
checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
dependencies = [
-
"windows_aarch64_gnullvm 0.52.3",
-
"windows_aarch64_msvc 0.52.3",
-
"windows_i686_gnu 0.52.3",
-
"windows_i686_msvc 0.52.3",
-
"windows_x86_64_gnu 0.52.3",
-
"windows_x86_64_gnullvm 0.52.3",
-
"windows_x86_64_msvc 0.52.3",
+
"windows_aarch64_gnullvm 0.52.5",
+
"windows_aarch64_msvc 0.52.5",
+
"windows_i686_gnu 0.52.5",
+
"windows_i686_gnullvm",
+
"windows_i686_msvc 0.52.5",
+
"windows_x86_64_gnu 0.52.5",
+
"windows_x86_64_gnullvm 0.52.5",
+
"windows_x86_64_msvc 0.52.5",
[[package]]
···
[[package]]
name = "windows_aarch64_gnullvm"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6"
+
checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
[[package]]
name = "windows_aarch64_msvc"
···
[[package]]
name = "windows_aarch64_msvc"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f"
+
checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
[[package]]
name = "windows_i686_gnu"
···
[[package]]
name = "windows_i686_gnu"
-
version = "0.52.3"
+
version = "0.52.5"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
+
+
[[package]]
+
name = "windows_i686_gnullvm"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb"
+
checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
[[package]]
name = "windows_i686_msvc"
···
[[package]]
name = "windows_i686_msvc"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58"
+
checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
[[package]]
name = "windows_x86_64_gnu"
···
[[package]]
name = "windows_x86_64_gnu"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614"
+
checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
[[package]]
name = "windows_x86_64_gnullvm"
···
[[package]]
name = "windows_x86_64_gnullvm"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c"
+
checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
[[package]]
name = "windows_x86_64_msvc"
···
[[package]]
name = "windows_x86_64_msvc"
-
version = "0.52.3"
+
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6"
+
checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
[[package]]
name = "ws_stream_tungstenite"
-
version = "0.11.0"
+
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "e283cc794a890f5bdc01e358ad7c34535025f79ba83c1b5c7e01e5d6c60b336d"
+
checksum = "a198f414f083fb19fcc1bffcb0fa0cf46d33ccfa229adf248cac12c180e91609"
dependencies = [
"async-tungstenite",
"async_io_stream",
-
"bitflags 2.4.2",
+
"bitflags 2.5.0",
"futures-core",
"futures-io",
"futures-sink",
···
dependencies = [
"proc-macro2",
"quote",
-
"syn 2.0.51",
+
"syn",
+
+
[[package]]
+
name = "zeroize"
+
version = "1.7.0"
+
source = "registry+https://github.com/rust-lang/crates.io-index"
+
checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
+12 -8
pkgs/by-name/mq/mqttui/package.nix
···
-
{ lib
-
, stdenv
-
, fetchFromGitHub
-
, rustPlatform
-
, darwin
+
{
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
rustPlatform,
+
darwin,
}:
rustPlatform.buildRustPackage rec {
pname = "mqttui";
-
version = "0.20.0";
+
version = "0.21.0";
src = fetchFromGitHub {
owner = "EdJoPaTo";
repo = "mqttui";
rev = "refs/tags/v${version}";
-
hash = "sha256-NfRPuZFZMZl1ulEGD5oQkS25oJdBVyLiN3QCQWrDej8=";
+
hash = "sha256-aIvT1js+xY1rauZYVCkl71JLfIDjIEGy3W8WdIaTyxY=";
};
cargoLock = {
···
homepage = "https://github.com/EdJoPaTo/mqttui";
changelog = "https://github.com/EdJoPaTo/mqttui/blob/v${version}/CHANGELOG.md";
license = licenses.gpl3Only;
-
maintainers = with maintainers; [ fab sikmir ];
+
maintainers = with maintainers; [
+
fab
+
sikmir
+
];
mainProgram = "mqttui";
};
}
+35
pkgs/by-name/ne/netbird-dashboard/package.nix
···
+
{
+
lib,
+
buildNpmPackage,
+
fetchFromGitHub,
+
}:
+
+
buildNpmPackage rec {
+
pname = "netbird-dashboard";
+
version = "2.3.0";
+
+
src = fetchFromGitHub {
+
owner = "netbirdio";
+
repo = "dashboard";
+
rev = "v${version}";
+
hash = "sha256-4aZ7WGLhjpTHOggJ+sRdln0YOG3jf7TKT9/bH/n3LmQ=";
+
};
+
+
npmDepsHash = "sha256-ts3UuThIMf+wwSr3DpZ+k1i9RnHi/ltvhD/7lomVxQk=";
+
npmFlags = [ "--legacy-peer-deps" ];
+
+
installPhase = ''
+
cp -R out $out
+
'';
+
+
env = {
+
CYPRESS_INSTALL_BINARY = 0;
+
};
+
+
meta = with lib; {
+
description = "NetBird Management Service Web UI Panel";
+
homepage = "https://github.com/netbirdio/dashboard";
+
license = licenses.bsd3;
+
maintainers = with maintainers; [ thubrecht ];
+
};
+
}
+2 -2
pkgs/by-name/nw/nwg-hello/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "nwg-hello";
-
version = "0.1.9";
+
version = "0.1.10";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = "nwg-hello";
rev = "refs/tags/v${version}";
-
hash = "sha256-Z5Pwn/uJERWfHELXK+1SJ2vh//ZV9gqblD/GqnznJII=";
+
hash = "sha256-naYouinDYgdGwySVxdEOZpNTK0vwnIyUKTkPgYaneew=";
};
nativeBuildInputs = [
+2 -2
pkgs/by-name/of/offat/package.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "offat";
-
version = "0.17.0";
+
version = "0.17.2";
pyproject = true;
src = fetchFromGitHub {
owner = "OWASP";
repo = "OFFAT";
rev = "refs/tags/v${version}";
-
hash = "sha256-tSLlMgvKIDlzHL71gH1OznKI5jEyUoJUy9d9Z8tNXjk=";
+
hash = "sha256-tyQoTc/cfzYxK+vLg9TvZdbKRX3B4tL1Do/wDMArJSA=";
};
sourceRoot = "${src.name}/src";
+2 -2
pkgs/by-name/ot/oterm/package.nix
···
python3Packages.buildPythonApplication rec {
pname = "oterm";
-
version = "0.2.5";
+
version = "0.2.6";
pyproject = true;
src = fetchFromGitHub {
owner = "ggozad";
repo = "oterm";
rev = "refs/tags/${version}";
-
hash = "sha256-s+TqDrgy7sR0sli8BGKlF546TW1+vzF0k3IkAQV6TpM=";
+
hash = "sha256-I/0U4lYqYZ6QCmWbDYhSOTCQ8o09W2cdd8kW7iN9iHU=";
};
pythonRelaxDeps = [
+32
pkgs/by-name/sh/shadow-tls/package.nix
···
+
{ lib
+
, fetchFromGitHub
+
, rustPlatform
+
}:
+
+
rustPlatform.buildRustPackage rec{
+
pname = "shadow-tls";
+
version = "0.2.25";
+
+
src = fetchFromGitHub {
+
owner = "ihciah";
+
repo = "shadow-tls";
+
rev = "v${version}";
+
hash = "sha256-T+GPIrcME6Wq5sdfIt4t426/3ew5sUQMykYeZ6zw1ko=";
+
};
+
+
cargoHash = "sha256-w+DQeiQAtVsTw1VJhntX1FXymgS0fxsXiUmd6OjVWLQ=";
+
+
RUSTC_BOOTSTRAP = 1;
+
+
# network required
+
doCheck = false;
+
+
meta = with lib; {
+
homepage = "https://github.com/ihciah/shadow-tls";
+
description = "A proxy to expose real tls handshake to the firewall";
+
license = licenses.mit;
+
mainProgram = "shadow-tls";
+
maintainers = with maintainers; [ oluceps ];
+
platforms = platforms.linux;
+
};
+
}
+1 -1
pkgs/by-name/ss/ssh-tpm-agent/package.nix
···
meta = with lib; {
description = "SSH agent with support for TPM sealed keys for public key authentication";
-
homepage = "https://github.com/Foxboron/ssh-agent-tpm";
+
homepage = "https://github.com/Foxboron/ssh-tpm-agent";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ sgo ];
+2 -2
pkgs/by-name/to/tootik/package.nix
···
buildGoModule rec {
pname = "tootik";
-
version = "0.10.0";
+
version = "0.10.2";
src = fetchFromGitHub {
owner = "dimkr";
repo = "tootik";
rev = version;
-
hash = "sha256-5rv+hkIBRu5uIUYsy7drJvcAHwL9tY8qD/dTj1mbarQ=";
+
hash = "sha256-roB1mrhq9LQcdi7ynPzI9UmeawSw9fX7jl3bb6+ygfM=";
};
vendorHash = "sha256-Lsc8nK4I1gZEW7RbEapHr3IJ6wTATLElX3XfNX1LwvM=";
+6 -5
pkgs/by-name/uv/uv/Cargo.lock
···
"indoc",
"libc",
"memoffset 0.9.1",
-
"parking_lot 0.12.1",
+
"parking_lot 0.11.2",
"portable-atomic",
"pyo3-build-config",
"pyo3-ffi",
···
[[package]]
name = "reqwest"
-
version = "0.12.3"
+
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-
checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19"
+
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [
"async-compression",
"base64 0.22.0",
···
[[package]]
name = "uv"
-
version = "0.1.34"
+
version = "0.1.35"
dependencies = [
"anstream",
"anyhow",
···
"clap",
"itertools 0.12.1",
"pep508_rs",
+
"platform-tags",
"rustc-hash",
"schemars",
"serde",
···
[[package]]
name = "uv-version"
-
version = "0.1.34"
+
version = "0.1.35"
[[package]]
name = "uv-virtualenv"
+2 -2
pkgs/by-name/uv/uv/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "uv";
-
version = "0.1.34";
+
version = "0.1.35";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "uv";
rev = version;
-
hash = "sha256-B0UvQM1A1DRPb59HcLMNZo4r86lF4fcI+R8/fLWHkHM=";
+
hash = "sha256-GcAvpX7oanJ8G1dgTyTa8jk9xhTroF2G+ir8j7Yua1M=";
};
cargoLock = {
+8 -7
pkgs/by-name/wa/waycheck/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "waycheck";
-
version = "1.1.1";
+
version = "1.2.0";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "serebit";
repo = "waycheck";
rev = "v${finalAttrs.version}";
-
hash = "sha256-kwkdTMA15oJHz9AXEkBGeuzYdEUpNuv/xnhzoKOHCE4=";
+
hash = "sha256-sDfIR+F2W59mh50jXoOrcNZ1nuckm3r7jN613BH4Eog=";
};
nativeBuildInputs = [
···
dontWrapGApps = true;
+
postPatch = ''
+
substituteInPlace scripts/mesonPostInstall.sh \
+
--replace-fail "#!/usr/bin/env sh" "#!${stdenv.shell}" \
+
--replace-fail "update-desktop-database -q" "update-desktop-database $out/share/applications"
+
'';
+
preFixup = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
-
'';
-
-
preInstall = ''
-
substituteInPlace ../scripts/mesonPostInstall.sh \
-
--replace "update-desktop-database -q" "update-desktop-database $out/share/applications"
'';
meta = {
+9 -9
pkgs/development/compilers/graalvm/community-edition/truffleruby/hashes.nix
···
# Generated by update.sh script
{
-
"version" = "24.0.0";
+
"version" = "24.0.1";
"hashes" = {
"aarch64-linux" = {
-
sha256 = "0nq2wnc7kb3x37m68b2ylay6c341fzv4453k150a47fnj0p4d85p";
-
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-linux-aarch64.tar.gz";
+
sha256 = "145199fv1kpf992gvidcbs0zs2950gbbvmm8qg17sbi8fg1ggqkq";
+
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-linux-aarch64.tar.gz";
};
"x86_64-linux" = {
-
sha256 = "1h8zqf9clxg3azma86gdm6yl8mif2sgmyhnvqdilap28vmj4mpns";
-
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-linux-amd64.tar.gz";
+
sha256 = "06vc8ym8bwyw057i4bjybbi92af8v3ic2yq4n1fms374n3iism4a";
+
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-linux-amd64.tar.gz";
};
"x86_64-darwin" = {
-
sha256 = "03c4bxdzdz5m7n1kkmzsb8x0m1h4ms6ah29p9m4wrz8pjsb8682l";
-
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-macos-amd64.tar.gz";
+
sha256 = "0q419zpa02zlmf5lgmn9a12wlizm83d3ikwjzayp2h6mrg8zv825";
+
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-macos-amd64.tar.gz";
};
"aarch64-darwin" = {
-
sha256 = "0ph6ki66w4kqwnznbpgfd8k85xx6cgqslzy07v4sywhp9k246qld";
-
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-macos-aarch64.tar.gz";
+
sha256 = "02ri76ain3vjg3d0v8jf7ii0b0ppmqq7nbc73mvzvg7hl3hxlir7";
+
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-macos-aarch64.tar.gz";
};
};
}
+1 -1
pkgs/development/compilers/llvm/common/libcxx/default.nix
···
# libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't
# support linker scripts so the external cxxabi needs to be symlinked in
postInstall = lib.optionalString (cxxabi != null) ''
-
lndir ${lib.getDev cxxabi}/include $out/include/c++/v1
+
lndir ${lib.getDev cxxabi}/include $dev/include/c++/v1
lndir ${lib.getLib cxxabi}/lib $out/lib
'';
+37
pkgs/development/compilers/zig/0.12.nix
···
+
{ lib
+
, stdenv
+
, fetchFromGitHub
+
, cmake
+
, llvmPackages
+
, libxml2
+
, zlib
+
, coreutils
+
, callPackage
+
}@args:
+
+
import ./generic.nix args {
+
version = "0.12.0";
+
+
hash = "sha256-RNZiUZtaKXoab5kFrDij6YCAospeVvlLWheTc3FGMks=";
+
+
outputs = [ "out" "doc" ];
+
+
cmakeFlags = [
+
# file RPATH_CHANGE could not write new RPATH
+
(lib.cmakeBool "CMAKE_SKIP_BUILD_RPATH" true)
+
+
# always link against static build of LLVM
+
(lib.cmakeBool "ZIG_STATIC_LLVM" true)
+
+
# ensure determinism in the compiler build
+
(lib.cmakeFeature "ZIG_TARGET_MCPU" "baseline")
+
];
+
+
postBuild = ''
+
stage3/bin/zig run ../tools/docgen.zig -- ../doc/langref.html.in langref.html --zig $PWD/stage3/bin/zig
+
'';
+
+
postInstall = ''
+
install -Dm444 langref.html -t $doc/share/doc/zig-$version/html
+
'';
+
}
+4 -1
pkgs/development/compilers/zig/generic.nix
···
# Zig's build looks at /usr/bin/env to find dynamic linking info. This doesn't
# work in Nix's sandbox. Use env from our coreutils instead.
-
postPatch = ''
+
postPatch = if lib.versionAtLeast args.version "0.12" then ''
+
substituteInPlace lib/std/zig/system.zig \
+
--replace "/usr/bin/env" "${coreutils}/bin/env"
+
'' else ''
substituteInPlace lib/std/zig/system/NativeTargetInfo.zig \
--replace "/usr/bin/env" "${coreutils}/bin/env"
'';
+2 -2
pkgs/development/interpreters/babashka/clojure-tools.nix
···
}:
clojure.overrideAttrs (previousAttrs: {
pname = "babashka-clojure-tools";
-
version = "1.11.1.1435";
+
version = "1.11.2.1446";
src = fetchurl {
url = previousAttrs.src.url;
-
hash = "sha256-RS/FebIED8RYYXRXBKXZPRROO0HqyDo0zhb+p4Q5m8A=";
+
hash = "sha256-qn7/sPyVDfjZPLeWxlUBBljAW/d8cCw6lEm3/deS73E=";
};
})
+2 -2
pkgs/development/interpreters/babashka/default.nix
···
let
babashka-unwrapped = buildGraalvmNativeImage rec {
pname = "babashka-unwrapped";
-
version = "1.3.189";
+
version = "1.3.190";
src = fetchurl {
url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar";
-
sha256 = "sha256-C3N++tTTvebtQid3p+zrnBgHTqQmECQhiS2/3VIEojI=";
+
sha256 = "sha256-zGWUuFyCOZXrcAOJ2sGvzvfJbFti1IlDS1gx9Oye9fg=";
};
graalvmDrv = graalvmCEPackages.graalvm-ce;
+2 -2
pkgs/development/libraries/flatpak/default.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "flatpak";
-
version = "1.14.5";
+
version = "1.14.6";
# TODO: split out lib once we figure out what to do with triggerdir
outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
src = fetchurl {
url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz";
-
sha256 = "sha256-W3DGTOesE04eoIARJW5COuXFTydyl0QVg/d9AT8n/6w="; # Taken from https://github.com/flatpak/flatpak/releases/
+
sha256 = "sha256-U482ssb4xw7v0S0TrVsa2DCCAQaovTqfa45NnegeSUY="; # Taken from https://github.com/flatpak/flatpak/releases/
};
patches = [
+15 -14
pkgs/development/libraries/libzim/default.nix
···
-
{ lib
-
, stdenv
-
, fetchFromGitHub
-
, icu
-
, meson
-
, ninja
-
, pkg-config
-
, python3
-
, xapian
-
, xz
-
, zstd
+
{
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
icu,
+
meson,
+
ninja,
+
pkg-config,
+
python3,
+
xapian,
+
xz,
+
zstd,
}:
stdenv.mkDerivation rec {
pname = "libzim";
-
version = "9.1.0";
+
version = "9.2.0";
src = fetchFromGitHub {
owner = "openzim";
-
repo = pname;
+
repo = "libzim";
rev = "refs/tags/${version}";
-
hash = "sha256-yWnW/+CaQwbemrNLzvQpXw5yvW2Q6LtwDgvA58+fVUs=";
+
hash = "sha256-WAbNSrgm/lTARD7Ml4vVLChQLNR23vEZtyE4MXnhnB4=";
};
nativeBuildInputs = [
+2 -2
pkgs/development/libraries/xdg-desktop-portal/default.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "xdg-desktop-portal";
-
version = "1.18.3";
+
version = "1.18.4";
outputs = [ "out" "installedTests" ];
···
owner = "flatpak";
repo = "xdg-desktop-portal";
rev = finalAttrs.version;
-
hash = "sha256-VqIQLUAf/n5m1tHCvnlxi0eaLOuG1R44tMFI/Hc992A=";
+
hash = "sha256-o+aO7uGewDPrtgOgmp/CE2uiqiBLyo07pVCFrtlORFQ=";
};
patches = [
+8
pkgs/development/python-modules/aiojobs/default.nix
···
, async-timeout
, buildPythonPackage
, fetchFromGitHub
+
, fetchpatch
, pytest-aiohttp
, pytestCheckHook
, pythonOlder
···
rev = "refs/tags/v${version}";
hash = "sha256-LwFXb/SHP6bbqPg1tqYwE03FKHf4Mv1PPOxnPdESH0I=";
};
+
+
patches = [
+
(fetchpatch {
+
url = "https://github.com/aio-libs/aiojobs/commit/1b88049841397b01f88aee7d92174ac5a15217c1.patch";
+
hash = "sha256-b38Ipa29T6bEVsPe04ZO3WCcs6+0fOQDCJM+w8K1bVY=";
+
})
+
];
postPatch = ''
substituteInPlace pytest.ini \
+2 -2
pkgs/development/python-modules/aiomisc/default.nix
···
buildPythonPackage rec {
pname = "aiomisc";
-
version = "17.5.4";
+
version = "17.5.6";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-/2WEaM9ZM9dbMA73XADOE2u5r3SfMAyjH8isOsXaJhE=";
+
hash = "sha256-oq4z+ULN6VYkXX4Oz/JqKZSIh55AHOxFJVLyaNGqaNA=";
};
build-system = [ poetry-core ];
+18 -20
pkgs/development/python-modules/apkinspector/default.nix
···
-
{ lib
-
, buildPythonPackage
-
, fetchPypi
-
, poetry-core
-
, pytestCheckHook
-
, pythonOlder
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
poetry-core,
+
pytestCheckHook,
+
pythonOlder,
}:
buildPythonPackage rec {
pname = "apkinspector";
-
version = "1.2.2";
+
version = "1.2.3";
pyproject = true;
disabled = pythonOlder "3.8";
-
src = fetchPypi {
-
inherit pname version;
-
hash = "sha256-6n5WCQ6V63kbWT6b7t9PEFbrJpxEg1WOE9XV70tHnGA=";
+
src = fetchFromGitHub {
+
owner = "erev0s";
+
repo = "apkInspector";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-n6uVyN5XBEM/nuN7mvhNRwMUgUT5abOsh3CbhKK6ifY=";
};
-
nativeBuildInputs = [
-
poetry-core
-
];
+
build-system = [ poetry-core ];
-
# Tests are not available
-
# https://github.com/erev0s/apkInspector/issues/21
-
doCheck = false;
+
nativeCheckInputs = [ pytestCheckHook ];
-
pythonImportsCheck = [
-
"apkInspector"
-
];
+
pythonImportsCheck = [ "apkInspector" ];
meta = with lib; {
description = "Module designed to provide detailed insights into the zip structure of APK files";
-
mainProgram = "apkInspector";
homepage = "https://github.com/erev0s/apkInspector";
+
changelog = "https://github.com/erev0s/apkInspector/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
+
mainProgram = "apkInspector";
};
}
+3 -2
pkgs/development/python-modules/aspy.yaml/default.nix pkgs/development/python-modules/aspy-yaml/default.nix
···
{ lib, buildPythonPackage, fetchPypi, pyyaml }:
buildPythonPackage rec {
-
pname = "aspy.yaml";
+
pname = "aspy-yaml";
version = "1.3.0";
format = "setuptools";
src = fetchPypi {
-
inherit pname version;
+
pname = "aspy.yaml";
+
inherit version;
sha256 = "0i9z2jm2hjwdxdv4vw4kbs70h2ciz49rv8w73zbawb7z5qw45iz7";
};
+2 -2
pkgs/development/python-modules/boto3-stubs/default.nix
···
buildPythonPackage rec {
pname = "boto3-stubs";
-
version = "1.34.87";
+
version = "1.34.88";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "boto3_stubs";
inherit version;
-
hash = "sha256-fGIC78m332fXc8IYRCcwA/pmx41z7kKE4u9L9rrMCHo=";
+
hash = "sha256-I8qeDNDT53AtZjGh6UpCCKJrOfprEsc0Qn5op/pklHc=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/botocore-stubs/default.nix
···
buildPythonPackage rec {
pname = "botocore-stubs";
-
version = "1.34.87";
+
version = "1.34.88";
pyproject = true;
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "botocore_stubs";
inherit version;
-
hash = "sha256-Dy67vF7mCc19wz/In6b4i+yLvir8+BSteoi+AOp3QdY=";
+
hash = "sha256-ZW6WbqFSpPKCiJKqepZzvJF5mZj1qO/Y6P45D2HC9PE=";
};
nativeBuildInputs = [
+15 -22
pkgs/development/python-modules/camel-converter/default.nix
···
-
{ lib
-
, buildPythonPackage
-
, fetchFromGitHub
-
, poetry-core
-
, pydantic
-
, pytestCheckHook
-
, pythonOlder
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
poetry-core,
+
pydantic,
+
pytestCheckHook,
+
pythonOlder,
}:
buildPythonPackage rec {
pname = "camel-converter";
-
version = "3.1.1";
+
version = "3.1.2";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "sanders41";
repo = "camel-converter";
rev = "refs/tags/v${version}";
-
hash = "sha256-xrdk5Y3H8KlQaGtJYdJNHq16Qfos2p+93uIAfIl098c=";
+
hash = "sha256-CJbflRI3wfUmPoVuLwZDYcobESmySvnS99PdpSDhDLk=";
};
postPatch = ''
substituteInPlace pyproject.toml \
-
--replace "--cov=camel_converter --cov-report term-missing --no-cov-on-fail" ""
+
--replace-fail "--cov=camel_converter --cov-report term-missing --no-cov-on-fail" ""
'';
-
nativeBuildInputs = [
-
poetry-core
-
];
+
build-system = [ poetry-core ];
passthru.optional-dependencies = {
-
pydantic = [
-
pydantic
-
];
+
pydantic = [ pydantic ];
};
-
nativeCheckInputs = [
-
pytestCheckHook
-
] ++ passthru.optional-dependencies.pydantic;
+
nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.pydantic;
-
pythonImportsCheck = [
-
"camel_converter"
-
];
+
pythonImportsCheck = [ "camel_converter" ];
disabledTests = [
# AttributeError: 'Test' object has no attribute 'model_dump'
+2 -2
pkgs/development/python-modules/clarifai/default.nix
···
buildPythonPackage rec {
pname = "clarifai";
-
version = "10.3.0";
+
version = "10.3.1";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "Clarifai";
repo = "clarifai-python";
rev = "refs/tags/${version}";
-
hash = "sha256-8EPs6kGB+Px9Fs2Z+YwDcmEYI5+z/kOIKLraJFMykF0=";
+
hash = "sha256-KCJ1Ev0fgww0JU1tDp9X/A9EIcXQRaFKeA/MRNnp5ng=";
};
pythonRelaxDeps = [ "clarifai-grpc" ];
+2 -2
pkgs/development/python-modules/cloudsmith-api/default.nix
···
buildPythonPackage rec {
pname = "cloudsmith-api";
-
version = "2.0.12";
+
version = "2.0.13";
format = "wheel";
disabled = pythonOlder "3.7";
···
src = fetchPypi {
pname = "cloudsmith_api";
inherit format version;
-
hash = "sha256-a33t963Q5+gnZI9pha4viuyWz3xLHUdcGE4ccw/w0s8=";
+
hash = "sha256-xPPARaxclTRy7thJXtXaMK0F5/91q7o35LyzSmx1HPU=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/google-generativeai/default.nix
···
buildPythonPackage rec {
pname = "google-generativeai";
-
version = "0.5.0";
+
version = "0.5.2";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "google";
repo = "generative-ai-python";
rev = "refs/tags/v${version}";
-
hash = "sha256-WFkzqsiYADrxVUHClBHY0+oYz2sF52DrVblHT+94QYw=";
+
hash = "sha256-R1ndVzGKXWRNkWvvuP4HFBXbuk54bCZZvMJY+yalJGU=";
};
pythonRelaxDeps = [ "google-ai-generativelanguage" ];
+2 -2
pkgs/development/python-modules/grpcio-health-checking/default.nix
···
buildPythonPackage rec {
pname = "grpcio-health-checking";
-
version = "1.62.1";
+
version = "1.62.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-nlYYCpQbHTKgd9dJHgYR0Eg8OWNYr9U0m/ABUmEuRYM=";
+
hash = "sha256-pE0eoeFRC1xiJl2toE2GYhuxSR113ph3E8nA6gBcEKg=";
};
propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/grpcio-reflection/default.nix
···
buildPythonPackage rec {
pname = "grpcio-reflection";
-
version = "1.62.1";
+
version = "1.62.2";
format = "setuptools";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-q9RTABmRhxAxMV7y2Cr/6TCAwEM/o6AHvjS/Qn4oqIo=";
+
hash = "sha256-LdRIBtaNAAZjZSm9pXMBKxmkIoFHjC0FHNquu5HiUWw=";
};
nativeBuildInputs = [
+16 -17
pkgs/development/python-modules/influxdb3-python/default.nix
···
-
{ lib
-
, buildPythonPackage
-
, certifi
-
, fetchFromGitHub
-
, pyarrow
-
, pytestCheckHook
-
, python-dateutil
-
, pythonOlder
-
, reactivex
-
, setuptools
-
, urllib3
+
{
+
lib,
+
buildPythonPackage,
+
certifi,
+
fetchFromGitHub,
+
pyarrow,
+
pytestCheckHook,
+
python-dateutil,
+
pythonOlder,
+
reactivex,
+
setuptools,
+
urllib3,
}:
buildPythonPackage rec {
pname = "influxdb3-python";
-
version = "0.3.6";
+
version = "0.4.0";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "InfluxCommunity";
repo = "influxdb3-python";
rev = "refs/tags/v${version}";
-
hash = "sha256-ZKN3chJvtOenk2jp02rvw+HooJcee0hwxWoLvEYjfcg=";
+
hash = "sha256-qFcXqbYsjn27BPeKxTsWxKJdF6y8Oz3VBrmSyO0vCGo=";
};
-
nativeBuildInputs = [
-
setuptools
-
];
+
build-system = [ setuptools ];
-
propagatedBuildInputs = [
+
dependencies = [
certifi
pyarrow
python-dateutil
+2 -2
pkgs/development/python-modules/lacuscore/default.nix
···
buildPythonPackage rec {
pname = "lacuscore";
-
version = "1.9.1";
+
version = "1.9.2";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "ail-project";
repo = "LacusCore";
rev = "refs/tags/v${version}";
-
hash = "sha256-DUgMql/KCy8g63HvA7qbrv9qia+nchPLIkufWmUXKDg=";
+
hash = "sha256-vfhRbbutNuZW/oI/eCJUXydCn47ThOlWRz2NJJrE3Tw=";
};
pythonRelaxDeps = [
+2 -2
pkgs/development/python-modules/llama-index-embeddings-openai/default.nix
···
buildPythonPackage rec {
pname = "llama-index-embeddings-openai";
-
version = "0.1.7";
+
version = "0.1.8";
pyproject = true;
disabled = pythonOlder "3.8";
···
src = fetchPypi {
pname = "llama_index_embeddings_openai";
inherit version;
-
hash = "sha256-xxzJggaAxM7fyYRdyHuU9oUdHMzh5Ib8kSmPj6jZ8n0=";
+
hash = "sha256-quTOPsL+LLYE2URkaYLHFmOouZ7V+MNwgj7oLu9N3Ts=";
};
build-system = [
+2 -2
pkgs/development/python-modules/llama-index-llms-openai/default.nix
···
buildPythonPackage rec {
pname = "llama-index-llms-openai";
-
version = "0.1.15";
+
version = "0.1.16";
pyproject = true;
disabled = pythonOlder "3.8";
···
src = fetchPypi {
pname = "llama_index_llms_openai";
inherit version;
-
hash = "sha256-a9vzB7HUOpp8KlL3K6fbYcuW2QT5nn6l2IndeBjxCBQ=";
+
hash = "sha256-MTu8F8JBmSQwpr9oahse3EJ2yCVq1rBVCqG+oeD+0aY=";
};
build-system = [ poetry-core ];
+3
pkgs/development/python-modules/openai-triton/default.nix
···
# Avoid GLIBCXX mismatch with other cuda-enabled python packages
preConfigure = ''
+
# Ensure that the build process uses the requested number of cores
+
export MAX_JOBS="$NIX_BUILD_CORES"
+
# Upstream's setup.py tries to write cache somewhere in ~/
export HOME=$(mktemp -d)
+2 -2
pkgs/development/python-modules/playwrightcapture/default.nix
···
buildPythonPackage rec {
pname = "playwrightcapture";
-
version = "1.24.4";
+
version = "1.24.5";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "Lookyloo";
repo = "PlaywrightCapture";
rev = "refs/tags/v${version}";
-
hash = "sha256-/6Sdn4SdJ7e2Lm6Gl0oaLNWeb6XouLgtjNJbVYstL4w=";
+
hash = "sha256-3xbjcvBx5pHlCwqAVJUpiGsa4s9lScORlEB4YLfkvv4=";
};
pythonRelaxDeps = [
+2 -2
pkgs/development/python-modules/plexapi/default.nix
···
buildPythonPackage rec {
pname = "plexapi";
-
version = "4.15.11";
+
version = "4.15.12";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "pkkid";
repo = "python-plexapi";
rev = "refs/tags/${version}";
-
hash = "sha256-OPhmw7nCe0n7VLekXeB5PiLdBk2DPmLoQ1nZiGEwqis=";
+
hash = "sha256-i+Vg1SWxDKprZu+crf0iallaAIApDpidJ//2mivAn18=";
};
build-system = [
+23 -24
pkgs/development/python-modules/plugwise/default.nix
···
-
{ lib
-
, aiohttp
-
, async-timeout
-
, buildPythonPackage
-
, crcmod
-
, defusedxml
-
, fetchFromGitHub
-
, freezegun
-
, jsonpickle
-
, munch
-
, pyserial
-
, pytest-aiohttp
-
, pytest-asyncio
-
, pytestCheckHook
-
, python-dateutil
-
, pythonOlder
-
, semver
-
, setuptools
-
, wheel
+
{
+
lib,
+
aiohttp,
+
async-timeout,
+
buildPythonPackage,
+
crcmod,
+
defusedxml,
+
fetchFromGitHub,
+
freezegun,
+
jsonpickle,
+
munch,
+
pyserial,
+
pytest-aiohttp,
+
pytest-asyncio,
+
pytestCheckHook,
+
python-dateutil,
+
pythonOlder,
+
semver,
+
setuptools,
+
wheel,
}:
buildPythonPackage rec {
pname = "plugwise";
-
version = "0.37.2";
+
version = "0.37.3";
pyproject = true;
disabled = pythonOlder "3.11";
···
owner = "plugwise";
repo = "python-plugwise";
rev = "refs/tags/v${version}";
-
hash = "sha256-zPh4yko35aMhiTTIDbaBgVruRDyolhtvTzTIhF5fo+Y=";
+
hash = "sha256-aQz0p+DNi1XVoFwdFjc3RjpHqA2kGf4pU1QS6m271gU=";
};
postPatch = ''
···
pytestCheckHook
];
-
pythonImportsCheck = [
-
"plugwise"
-
];
+
pythonImportsCheck = [ "plugwise" ];
__darwinAllowLocalNetworking = true;
+2 -2
pkgs/development/python-modules/prefixed/default.nix
···
buildPythonPackage rec {
pname = "prefixed";
-
version = "0.7.0";
+
version = "0.7.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-C1TRXmAuuK9Kwxsdsho36pXOWJDgdBuw3Z3tSTzvu+k=";
+
hash = "sha256-0QrJCs/EzBTYLBQIszCy/ahe187CIGqADUOJn4w4UmU=";
};
nativeCheckInputs = [
+2 -2
pkgs/development/python-modules/publicsuffixlist/default.nix
···
buildPythonPackage rec {
pname = "publicsuffixlist";
-
version = "0.10.0.20240416";
+
version = "0.10.0.20240420";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-Y0QP9SNJQOMGEKAEeDwKNTRQtFiwUOWGLbkGJx66SBk=";
+
hash = "sha256-s8xPkes/xFlejqfOlMZOPLmNK92e2TLK18UZmv3/a6I=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/pylitterbot/default.nix
···
buildPythonPackage rec {
pname = "pylitterbot";
-
version = "2023.4.11";
+
version = "2023.5.0";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "natekspencer";
repo = "pylitterbot";
rev = "refs/tags/v${version}";
-
hash = "sha256-OTyQgcGGNktCgYJN33SZn7La7ec+gwR/yVDuH7kcEh4=";
+
hash = "sha256-MSQdX2PKQohmPGqtRZnUmCCVgKgaf4+cHAUItiPv7pY=";
};
build-system = [
+24 -28
pkgs/development/python-modules/pyowm/default.nix
···
-
{ lib
-
, buildPythonPackage
-
, fetchFromGitHub
-
, geojson
-
, pysocks
-
, pythonOlder
-
, requests
-
, pytestCheckHook
-
, pythonRelaxDepsHook
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
geojson,
+
pysocks,
+
pythonOlder,
+
requests,
+
setuptools,
+
pytestCheckHook,
+
pythonRelaxDepsHook,
}:
buildPythonPackage rec {
pname = "pyowm";
version = "3.3.0";
-
format = "setuptools";
+
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "csparpa";
-
repo = pname;
-
rev = version;
+
repo = "pyowm";
+
rev = "refs/tags/${version}";
hash = "sha256-cSOhm3aDksLBChZzgw1gjUjLQkElR2/xGFMOb9K9RME=";
};
-
pythonRelaxDeps = [
-
"geojson"
-
];
+
pythonRelaxDeps = [ "geojson" ];
+
+
build-system = [ setuptools ];
-
nativeBuildInputs = [
-
pythonRelaxDepsHook
-
];
+
nativeBuildInputs = [ pythonRelaxDepsHook ];
-
propagatedBuildInputs = [
+
dependencies = [
geojson
pysocks
requests
+
setuptools
];
-
nativeCheckInputs = [
-
pytestCheckHook
-
];
+
nativeCheckInputs = [ pytestCheckHook ];
# Run only tests which don't require network access
-
pytestFlagsArray = [
-
"tests/unit"
-
];
+
pytestFlagsArray = [ "tests/unit" ];
-
pythonImportsCheck = [
-
"pyowm"
-
];
+
pythonImportsCheck = [ "pyowm" ];
meta = with lib; {
description = "Python wrapper around the OpenWeatherMap web API";
homepage = "https://pyowm.readthedocs.io/";
+
changelog = "https://github.com/csparpa/pyowm/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
+21 -25
pkgs/development/python-modules/pysolcast/default.nix
···
-
{ lib
-
, anyconfig
-
, buildPythonPackage
-
, fetchFromGitHub
-
, isodate
-
, pytestCheckHook
-
, pythonOlder
-
, pyyaml
-
, requests
-
, responses
-
, poetry-core
-
, pythonRelaxDepsHook
+
{
+
lib,
+
anyconfig,
+
buildPythonPackage,
+
fetchFromGitHub,
+
isodate,
+
pytestCheckHook,
+
pythonOlder,
+
pyyaml,
+
requests,
+
responses,
+
poetry-core,
+
pythonRelaxDepsHook,
}:
buildPythonPackage rec {
pname = "pysolcast";
-
version = "2.0.1";
+
version = "2.0.2";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "mcaulifn";
repo = "solcast";
rev = "refs/tags/v${version}";
-
hash = "sha256-JzGrE6zKj16Uzm3EC8ysMbgP5ouA00Gact7NYXbEkXI=";
+
hash = "sha256-DXJkbAlkxBjUEbziFNdr8SilB2GRUoAwvrr0HY56Deg=";
};
-
pythonRelaxDeps = [
-
"responses"
-
];
+
pythonRelaxDeps = [ "responses" ];
+
+
build-system = [ poetry-core ];
-
nativeBuildInputs = [
-
poetry-core
-
pythonRelaxDepsHook
-
];
+
nativeBuildInputs = [ pythonRelaxDepsHook ];
-
propagatedBuildInputs = [
+
dependencies = [
anyconfig
isodate
pyyaml
···
responses
];
-
pythonImportsCheck = [
-
"pysolcast"
-
];
+
pythonImportsCheck = [ "pysolcast" ];
meta = with lib; {
description = "Python library for interacting with the Solcast API";
+3 -3
pkgs/development/python-modules/qtile/default.nix
···
buildPythonPackage rec {
pname = "qtile";
-
version = "0.24.0";
+
version = "0.25.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "qtile";
repo = "qtile";
-
rev = "v${version}";
-
hash = "sha256-mgMRkoKT0Gp5/OfVQbkeDTkg9QRFn4PU3ziM5E6V+oI=";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-j5hpXfUSDUT9nBr6CafIzqdTYQxSWok+ZlQA7bGdVvk=";
};
patches = [
+1 -1
pkgs/development/python-modules/smpp.pdu/default.nix pkgs/development/python-modules/smpp-pdu/default.nix
···
}:
buildPythonPackage {
-
pname = "smpp.pdu";
+
pname = "smpp-pdu";
version = "unstable-2022-09-02";
format = "pyproject";
+2 -2
pkgs/development/python-modules/std-uritemplate/default.nix
···
buildPythonPackage rec {
pname = "std-uritemplate";
-
version = "0.0.56";
+
version = "0.0.57";
pyproject = true;
disabled = pythonOlder "3.8";
···
src = fetchPypi {
pname = "std_uritemplate";
inherit version;
-
hash = "sha256-85dldY+2WB+Hn6fBBHoKJ7fIe7fDyddYxAjDD83lHGc=";
+
hash = "sha256-9K3HF67BOFYuZSuV2nT8aBWpQiMdlxMUhWuB9DTBuUw=";
};
build-system = [ poetry-core ];
+2 -2
pkgs/development/python-modules/tencentcloud-sdk-python/default.nix
···
buildPythonPackage rec {
pname = "tencentcloud-sdk-python";
-
version = "3.0.1131";
+
version = "3.0.1132";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "TencentCloud";
repo = "tencentcloud-sdk-python";
rev = "refs/tags/${version}";
-
hash = "sha256-7VhDVpBcW/uDOvwkCpB+dHrTa+fC7mu6UWuSbnymJgU=";
+
hash = "sha256-SMdevyChfbUMIY/KynIUE5T3bQAvD23QTW8lyA87kDE=";
};
build-system = [ setuptools ];
+22 -22
pkgs/development/python-modules/vt-py/default.nix
···
-
{ lib
-
, aiohttp
-
, buildPythonPackage
-
, fetchFromGitHub
-
, pytest-asyncio
-
, pytest-httpserver
-
, pytestCheckHook
-
, pythonOlder
-
, setuptools
+
{
+
lib,
+
aiohttp,
+
buildPythonPackage,
+
fetchFromGitHub,
+
pytest-asyncio,
+
pytest-httpserver,
+
pytestCheckHook,
+
pythonRelaxDepsHook,
+
pythonOlder,
+
setuptools,
}:
buildPythonPackage rec {
pname = "vt-py";
-
version = "0.18.0";
+
version = "0.18.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "VirusTotal";
-
repo = pname;
+
repo = "vt-py";
rev = "refs/tags/${version}";
-
hash = "sha256-QEe/ZoKM0uVH7Yqpgo7V17Odn4xqdEgdQeMVB+57xbA=";
+
hash = "sha256-rWzANh7tkayFR6V3JaF3BLhIjUlnrPMmEmI36Ncqz2M=";
};
postPatch = ''
substituteInPlace setup.py \
-
--replace "pytest-runner" ""
+
--replace-fail "pytest-runner" ""
'';
-
nativeBuildInputs = [
-
setuptools
-
];
+
pythonRelaxDeps = [ "aiohttp" ];
-
propagatedBuildInputs = [
-
aiohttp
-
];
+
build-system = [ setuptools ];
+
+
nativeBuildInputs = [ pythonRelaxDepsHook ];
+
+
dependencies = [ aiohttp ];
nativeCheckInputs = [
pytest-asyncio
···
pytestCheckHook
];
-
pythonImportsCheck = [
-
"vt"
-
];
+
pythonImportsCheck = [ "vt" ];
meta = with lib; {
description = "Python client library for VirusTotal";
+2 -2
pkgs/development/tools/analysis/checkov/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "checkov";
-
version = "3.2.69";
+
version = "3.2.72";
pyproject = true;
src = fetchFromGitHub {
owner = "bridgecrewio";
repo = "checkov";
rev = "refs/tags/${version}";
-
hash = "sha256-q2hiIceWxQXwJWLXBuA3V3weqcr634yKbc6/VgQFkcQ=";
+
hash = "sha256-DcheCxZ21/wEwC0dYoL546wXyp1yIIfLkWbjkS0iKC0=";
};
patches = [ ./flake8-compat-5.x.patch ];
+2 -2
pkgs/development/tools/database/sqlfluff/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "sqlfluff";
-
version = "3.0.4";
+
version = "3.0.5";
pyproject = true;
src = fetchFromGitHub {
owner = "sqlfluff";
repo = "sqlfluff";
rev = "refs/tags/${version}";
-
hash = "sha256-C8xH7LMCVXeJerdp8skIsTBQHkz0pPVKgUG+tEwx5GI=";
+
hash = "sha256-jH6o1moyyugKtIIccp8Tbcg5EAMOxzNco9saUgoDzWY=";
};
build-system = with python3.pkgs; [ setuptools ];
+3 -3
pkgs/development/tools/rust/cargo-dist/default.nix
···
rustPlatform.buildRustPackage rec {
pname = "cargo-dist";
-
version = "0.13.1";
+
version = "0.13.2";
src = fetchFromGitHub {
owner = "axodotdev";
repo = "cargo-dist";
rev = "v${version}";
-
hash = "sha256-uav2Q6NG7JW3ZrYkDWXNxR816bI3nxs71KoOdNr/unQ=";
+
hash = "sha256-sD3Y/FFfUgMtvBoSP0BBhS5aCZy+TkyO8S28q8Hoc5I=";
};
-
cargoHash = "sha256-Kd7roUUfXfWlV6IHpu20f0VPoZWmGOPAJjELNqVS3b8=";
+
cargoHash = "sha256-efVhaL1yUEpOgNZ4Bog1OB37lT1yQHJVE9M938jnGeE=";
nativeBuildInputs = [
pkg-config
+3 -3
pkgs/development/tools/sqldef/default.nix
···
buildGoModule rec {
pname = "sqldef";
-
version = "0.17.5";
+
version = "0.17.6";
src = fetchFromGitHub {
owner = "k0kubun";
repo = "sqldef";
rev = "v${version}";
-
hash = "sha256-iEQHrGGXfN/id4aV96MN6WKUl5XGL17u8mlPJKc6cvg=";
+
hash = "sha256-VgPc78xhafRlEUfNMKiYDyWqZVtYDkqwVDQ3BG9r70w=";
};
proxyVendor = true;
-
vendorHash = "sha256-8fKJxnjLIWzWsLx/p9tRb/un63/QgJJzMb4/Y4DSZdY=";
+
vendorHash = "sha256-YmjQj116egYhcpJ9Vps1d30bfCY6pAu/mA9MEzXVJb8=";
ldflags = [ "-s" "-w" "-X main.version=${version}" ];
+3 -3
pkgs/servers/monitoring/unpoller/default.nix
···
buildGoModule rec {
pname = "unpoller";
-
version = "2.11.1";
+
version = "2.11.2";
src = fetchFromGitHub {
owner = "unpoller";
repo = "unpoller";
rev = "v${version}";
-
hash = "sha256-ZCNXwq0kSfXOqF7QktHg1Yw7gqUXkccCgLIs7GTZnuw=";
+
hash = "sha256-/X2hCtF38X0twHsHSjpf23Mdz9aK43z3jhWbfkUo0kQ=";
};
-
vendorHash = "sha256-VK0ekEBHn0O41MgxhuPzueF6FazKiipL0OQRVPco3uk=";
+
vendorHash = "sha256-d7kkdiGMT3bN1dfNo8m+zp3VY8kaZM2BWO3B3iAdUQY=";
ldflags = [
"-w" "-s"
+3 -3
pkgs/servers/pocketbase/default.nix
···
buildGoModule rec {
pname = "pocketbase";
-
version = "0.22.8";
+
version = "0.22.9";
src = fetchFromGitHub {
owner = "pocketbase";
repo = "pocketbase";
rev = "v${version}";
-
hash = "sha256-D9kxi/+e56/DREoT14EozAB4Z5X4QgmkhoD/sw1VAeY=";
+
hash = "sha256-0VzhjiNLAwZNi84ud/l00rWIFV4qPTXY7jZQB/pMD6A=";
};
-
vendorHash = "sha256-5zO0C/+tVVOgV7TH6eC1Sjh6W8AKannU4e0+OITk4XY=";
+
vendorHash = "sha256-/SPJr2x3o1KkV8NgciBFC6zwDNUKmFQBWjEHO2CRgZ4=";
# This is the released subpackage from upstream repo
subPackages = [ "examples/base" ];
+9 -8
pkgs/tools/misc/markdown-anki-decks/default.nix
···
python3.pkgs.buildPythonApplication rec {
pname = "markdown-anki-decks";
version = "1.1.1";
-
format = "pyproject";
+
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-SvKjjE629OwxWsPo2egGf2K6GzlWAYYStarHhA4Ex0w=";
};
-
nativeBuildInputs = with python3.pkgs; [
+
postPatch = ''
+
substituteInPlace pyproject.toml \
+
--replace-fail 'typer = "^0.4.0"' 'typer = "*"'
+
'';
+
+
build-system = with python3.pkgs; [
poetry-core
];
-
propagatedBuildInputs = with python3.pkgs; [
+
dependencies = with python3.pkgs; [
beautifulsoup4
genanki
markdown
···
typer
] ++ typer.optional-dependencies.all;
-
postPatch = ''
-
substituteInPlace pyproject.toml \
-
--replace 'typer = "^0.4.0"' 'typer = "*"'
-
'';
-
# No tests available on Pypi and there is only a failing version assertion test in the repo.
doCheck = false;
···
meta = with lib; {
description = "Tool to convert Markdown files into Anki Decks";
homepage = "https://github.com/lukesmurray/markdown-anki-decks";
+
changelog = "https://github.com/lukesmurray/markdown-anki-decks/blob/${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ ];
platforms = platforms.unix;
+2 -2
pkgs/tools/misc/pspg/default.nix
···
stdenv.mkDerivation rec {
pname = "pspg";
-
version = "5.8.3";
+
version = "5.8.4";
src = fetchFromGitHub {
owner = "okbob";
repo = pname;
rev = version;
-
sha256 = "sha256-qLB0HJXH99t/rfsbed3NHgcy8ZGB4K+HjPjhCZ0pM6Q=";
+
sha256 = "sha256-VTg+GDyPAxyxXP9VgKi63LhBKhuVx6rPWc9o/fRmHho=";
};
nativeBuildInputs = [ pkg-config installShellFiles ];
+3 -3
pkgs/tools/networking/dnsproxy/default.nix
···
buildGoModule rec {
pname = "dnsproxy";
-
version = "0.67.0";
+
version = "0.70.0";
src = fetchFromGitHub {
owner = "AdguardTeam";
repo = "dnsproxy";
rev = "v${version}";
-
hash = "sha256-CqEvGE1MSll+khEFvH8Y0q4XyxbTjwNRr9h9FKf5Kfs=";
+
hash = "sha256-kXIUcTT3LGhKeUVlq/hDvO6/y/mQNIFBhJLSe1F89EI=";
};
-
vendorHash = "sha256-AZQl70NJwE6lVMO/G1RG1NIfXK1SbYWh4/wAIi4Ac5o=";
+
vendorHash = "sha256-ECi6NciA5oyUyVaVlON4mAPKoWQSDvgV0uwk5MGYjy4=";
ldflags = [ "-s" "-w" "-X" "github.com/AdguardTeam/dnsproxy/internal/version.version=${version}" ];
+2 -2
pkgs/tools/networking/juicity/default.nix
···
}:
buildGoModule rec {
pname = "juicity";
-
version = "0.4.1";
+
version = "0.4.2";
src = fetchFromGitHub {
owner = "juicity";
repo = pname;
rev = "v${version}";
-
hash = "sha256-rwGtAystB9rUE2jVij4YdBr4T8bVlVLtNaBmSZQ/39A=";
+
hash = "sha256-JC4VGM7aY+fYo0F9yAkgTbZA56ztyeoIx9PARlBjkh4=";
};
vendorHash = "sha256-SM5ZrTtuqenPsGjphkCM9JHzucw0/qBmevD+3/kyF6k=";
+2 -2
pkgs/tools/networking/openapi-generator-cli/default.nix
···
{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
let this = stdenv.mkDerivation (finalAttrs: {
-
version = "7.4.0";
+
version = "7.5.0";
pname = "openapi-generator-cli";
jarfilename = "${finalAttrs.pname}-${finalAttrs.version}.jar";
···
src = fetchurl {
url = "mirror://maven/org/openapitools/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.jarfilename}";
-
sha256 = "sha256-5CdpqY/vVjS+4Pkh5LkHhqazKSqhH+jS+EwEWsQ1qyk=";
+
sha256 = "sha256-R+u9G+3a99++5SPnuHYjxuwbHUKWD74V9srS9kJsab8=";
};
dontUnpack = true;
+2 -2
pkgs/tools/security/exploitdb/default.nix
···
stdenv.mkDerivation rec {
pname = "exploitdb";
-
version = "2024-04-16";
+
version = "2024-04-20";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
rev = "refs/tags/${version}";
-
hash = "sha256-ExtWNve7YGkr6JHjzw39FJZwSNFLEJNurEn5uWwSlbY=";
+
hash = "sha256-mz82w3maizWnaWcBqMFYgCNN9uwhSgo9D4j+XCvZDW0=";
};
nativeBuildInputs = [ makeWrapper ];
+11 -14
pkgs/tools/security/keepwn/default.nix
···
-
{ lib
-
, stdenv
-
, fetchFromGitHub
-
, python3
+
{
+
lib,
+
stdenv,
+
fetchFromGitHub,
+
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "keepwn";
-
version = "0.3";
+
version = "0.4";
pyproject = true;
src = fetchFromGitHub {
owner = "Orange-Cyberdefense";
repo = "KeePwn";
rev = "refs/tags/${version}";
-
hash = "sha256-haKWuoTtyC9vIise+gznruHEwMIDz1W6euihLLKnSdc=";
+
hash = "sha256-AkqBC65XrMt4V5KgzLepnQoqpdvbrtWLY3DmVuy8Zck=";
};
-
nativeBuildInputs = with python3.pkgs; [
-
setuptools
-
];
+
build-system = with python3.pkgs; [ setuptools ];
-
propagatedBuildInputs = with python3.pkgs; [
+
dependencies = with python3.pkgs; [
chardet
impacket
lxml
···
# Project has no tests
doCheck = false;
-
pythonImportsCheck = [
-
"keepwn"
-
];
+
pythonImportsCheck = [ "keepwn" ];
meta = with lib; {
description = "Tool to automate KeePass discovery and secret extraction";
-
mainProgram = "keepwn";
homepage = "https://github.com/Orange-Cyberdefense/KeePwn";
changelog = "https://github.com/Orange-Cyberdefense/KeePwn/releases/tag/${version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
+
mainProgram = "keepwn";
};
}
+1 -1
pkgs/tools/security/metasploit/Gemfile
···
# frozen_string_literal: true
source "https://rubygems.org"
-
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.3"
+
gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.4.5"
+37 -36
pkgs/tools/security/metasploit/Gemfile.lock
···
GIT
remote: https://github.com/rapid7/metasploit-framework
-
revision: 3855e135a14eec07e12f3d26416713a691b3c149
-
ref: refs/tags/6.4.3
+
revision: 6dfd13e04c9e9763b485a5b7d6e85d97632a8edf
+
ref: refs/tags/6.4.5
specs:
-
metasploit-framework (6.4.3)
+
metasploit-framework (6.4.5)
actionpack (~> 7.0.0)
activerecord (~> 7.0.0)
activesupport (~> 7.0.0)
···
arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8)
aws-eventstream (1.3.0)
-
aws-partitions (1.895.0)
-
aws-sdk-core (3.191.3)
+
aws-partitions (1.916.0)
+
aws-sdk-core (3.192.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
-
aws-sdk-ec2 (1.440.0)
+
aws-sdk-ec2 (1.450.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
-
aws-sdk-ec2instanceconnect (1.37.0)
+
aws-sdk-ec2instanceconnect (1.38.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
-
aws-sdk-iam (1.94.0)
+
aws-sdk-iam (1.96.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
-
aws-sdk-kms (1.77.0)
+
aws-sdk-kms (1.79.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
-
aws-sdk-s3 (1.143.0)
-
aws-sdk-core (~> 3, >= 3.191.0)
+
aws-sdk-s3 (1.147.0)
+
aws-sdk-core (~> 3, >= 3.192.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.8)
-
aws-sdk-ssm (1.165.0)
+
aws-sdk-ssm (1.166.0)
aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.8.0)
···
base64 (0.2.0)
bcrypt (3.1.20)
bcrypt_pbkdf (1.1.0)
-
bigdecimal (3.1.6)
+
bigdecimal (3.1.7)
bindata (2.4.15)
bootsnap (1.18.3)
msgpack (~> 1.2)
···
crass (1.0.6)
daemons (1.4.1)
date (3.3.4)
-
dnsruby (1.70.0)
+
dnsruby (1.72.1)
simpleidn (~> 0.2.1)
domain_name (0.6.20240107)
ed25519 (1.3.0)
···
eventmachine (>= 1.0.0.beta.4)
erubi (1.12.0)
eventmachine (1.2.7)
-
faker (3.2.3)
+
faker (3.3.1)
i18n (>= 1.8.11, < 2)
faraday (2.9.0)
faraday-net_http (>= 2.0, < 3.2)
faraday-net_http (3.1.0)
net-http
-
faraday-retry (2.2.0)
+
faraday-retry (2.2.1)
faraday (~> 2.0)
faye-websocket (0.11.3)
eventmachine (>= 0.12.0)
···
domain_name (~> 0.5)
http_parser.rb (0.8.0)
httpclient (2.8.3)
-
i18n (1.14.1)
+
i18n (1.14.4)
concurrent-ruby (~> 1.0)
io-console (0.7.2)
irb (1.7.4)
···
jmespath (1.6.2)
jsobfu (0.4.2)
rkelly-remix
-
json (2.7.1)
+
json (2.7.2)
little-plugger (1.1.4)
logging (2.3.1)
little-plugger (~> 1.1)
···
activesupport (~> 7.0)
railties (~> 7.0)
zeitwerk
-
metasploit-credential (6.0.8)
+
metasploit-credential (6.0.9)
metasploit-concern
metasploit-model
metasploit_data_models (>= 5.0.0)
···
recog
webrick
metasploit_payloads-mettle (1.0.26)
-
method_source (1.0.0)
-
mini_portile2 (2.8.5)
-
minitest (5.22.2)
+
method_source (1.1.0)
+
mini_portile2 (2.8.6)
+
minitest (5.22.3)
mqtt (0.6.0)
msgpack (1.6.1)
multi_json (1.15.0)
···
net-ldap (0.19.0)
net-protocol (0.2.2)
timeout
-
net-smtp (0.4.0.1)
+
net-smtp (0.5.0)
net-protocol
-
net-ssh (7.2.1)
+
net-ssh (7.2.3)
network_interface (0.0.4)
nexpose (7.3.0)
-
nio4r (2.7.0)
+
nio4r (2.7.1)
nokogiri (1.14.5)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
···
ruby-rc4
ttfunk
pg (1.5.6)
-
public_suffix (5.0.4)
+
public_suffix (5.0.5)
puma (6.4.2)
nio4r (~> 2.0)
racc (1.7.3)
-
rack (2.2.8.1)
+
rack (2.2.9)
rack-protection (3.2.0)
base64 (>= 0.1.0)
rack (~> 2.2, >= 2.2.4)
···
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
-
rake (13.1.0)
+
rake (13.2.1)
rasn1 (0.13.0)
strptime (~> 0.2.5)
rb-readline (0.5.5)
-
recog (3.1.4)
+
recog (3.1.5)
nokogiri
redcarpet (3.6.0)
-
reline (0.4.3)
+
reline (0.5.2)
io-console (~> 0.5)
rex-arch (0.1.15)
rex-text
···
metasm
rex-core
rex-text
-
rex-socket (0.1.56)
+
rex-socket (0.1.57)
rex-core
rex-sslscan (0.1.10)
rex-core
rex-socket
rex-text
rex-struct2 (0.1.4)
-
rex-text (0.2.56)
+
rex-text (0.2.57)
rex-zip (0.1.5)
rex-text
rexml (3.2.6)
···
ruby-mysql (4.1.0)
ruby-rc4 (0.1.5)
ruby2_keywords (0.0.5)
-
ruby_smb (3.3.4)
+
ruby_smb (3.3.5)
bindata (= 2.4.15)
openssl-ccm
openssl-cmac
···
rack (~> 2.2, >= 2.2.4)
rack-protection (= 3.2.0)
tilt (~> 2.0)
-
sqlite3 (1.7.2)
+
sqlite3 (2.0.0)
mini_portile2 (~> 2.8.0)
sshkey (3.0.0)
strptime (0.2.5)
···
thor (1.3.1)
tilt (2.3.0)
timeout (0.4.1)
-
ttfunk (1.7.0)
+
ttfunk (1.8.0)
+
bigdecimal (~> 3.1)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
tzinfo-data (1.2024.1)
···
metasploit-framework!
BUNDLED WITH
-
2.5.6
+
2.4.13
+2 -2
pkgs/tools/security/metasploit/default.nix
···
};
in stdenv.mkDerivation rec {
pname = "metasploit-framework";
-
version = "6.4.3";
+
version = "6.4.5";
src = fetchFromGitHub {
owner = "rapid7";
repo = "metasploit-framework";
rev = "refs/tags/${version}";
-
hash = "sha256-3FCTKiZ9vTmguGXRrfWGlUVVEKrV8uWMPeSF9zRz+UE=";
+
hash = "sha256-KmELKjbWjhHmyj8IlL5U2yNHwtpc8qX5ZAT1PcIJOd8=";
};
nativeBuildInputs = [
+65 -65
pkgs/tools/security/metasploit/gemset.nix
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "018hh97dcj3nd80jb1cf63fxk6h8gc4rrq118bv9npnw5ahd5pv8";
+
sha256 = "1gilrh9fb1576xm2ah0l6d33qkiabz55zpq004qqia9xavl43ylz";
type = "gem";
};
-
version = "1.895.0";
+
version = "1.916.0";
};
aws-sdk-core = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "088nq8yz9n4p7pnhjwp9nbxlkj7jwchpkzvnl4nybfb1dkvk4dns";
+
sha256 = "1hp8rxk9wl3kmb7xabcz5hbcv7kzsvsx0wyib2fsg9d42kz149n0";
type = "gem";
};
-
version = "3.191.3";
+
version = "3.192.1";
};
aws-sdk-ec2 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1kcsfkpfqx96ax1slvl4lq61cdasaki6hddi22ja1zyc1ak4x9dg";
+
sha256 = "101jjqf912jwca119v86i4inlkf2gldmmhgdm2rdk5hqrwl4yrf4";
type = "gem";
};
-
version = "1.440.0";
+
version = "1.450.0";
};
aws-sdk-ec2instanceconnect = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0hd4xdhf6b2bvfb4h9fc0c96vwz30cmdhra3r7zpdllhz7d1hh5q";
+
sha256 = "1mhqk2s8klp8djibrhgmh9lz9nr4rh1yy7y6c86if55r07i1912c";
type = "gem";
};
-
version = "1.37.0";
+
version = "1.38.0";
};
aws-sdk-iam = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1ymb6lnkmhi98lwk402msanr7i012k82pvspd2rd66aq0vdql9rd";
+
sha256 = "0zcvkal9ahwr84pz1cb3y9ylx3f74m4kgs4n160dfzf51b8m917l";
type = "gem";
};
-
version = "1.94.0";
+
version = "1.96.0";
};
aws-sdk-kms = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1gbxms3daszl4mk89swjrpq3fqgm9lg0wl65yjfp0nfz8jm4jyqf";
+
sha256 = "1cb0006xf5isq5drdwkvd6xz20886x3rzcj5qyly7g8gql5lc8aw";
type = "gem";
};
-
version = "1.77.0";
+
version = "1.79.0";
};
aws-sdk-s3 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1safbxycz517m2v981z8kbmdiqx9jypl093ia0mcrskkgh4fyb3s";
+
sha256 = "0ibw2v56k8v2sw92cyliprq1xxfyavnd60yl6ach3f4qbp156xrn";
type = "gem";
};
-
version = "1.143.0";
+
version = "1.147.0";
};
aws-sdk-ssm = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1wbizrm7spkwx6rnwmwbxyg16mpkn3hllxz8aj7v2dlplzkwksb6";
+
sha256 = "0drad0zka0kjayiy971vcl5dfp6j37wgga4xncya8w8xsrknh9s8";
type = "gem";
};
-
version = "1.165.0";
+
version = "1.166.0";
};
aws-sigv4 = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w";
+
sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
type = "gem";
};
-
version = "3.1.6";
+
version = "3.1.7";
};
bindata = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "17bjlic4ac9980vas3pgnhi5lkisq28vd730bhcg8jdh8xcp6r48";
+
sha256 = "1qpa5d8i6ay25grwb9d6x47jdn5c8vykhg02m8rgpmc3hci4mbsb";
type = "gem";
};
-
version = "1.70.0";
+
version = "1.72.1";
};
domain_name = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1rrwh78515yqljh09wjxfsb64siqd8qgp4hv57syajhza5x8vbzz";
+
sha256 = "0isxcqv4xkw7hrdf89mga6zsi4alban16xyw84bkqvbsr859nax4";
type = "gem";
};
-
version = "3.2.3";
+
version = "3.3.1";
};
faraday = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1ia19zgni6cw96rvsr0s004vjs9m2r6la4s00zcff36xaia4m0l0";
+
sha256 = "023ncwlagnf2irx2ckyj1pg1f1x436jgr4a5y45mih298p8zwij1";
type = "gem";
};
-
version = "2.2.0";
+
version = "2.2.1";
};
faye-websocket = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx";
+
sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7";
type = "gem";
};
-
version = "1.14.1";
+
version = "1.14.4";
};
io-console = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq";
+
sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q";
type = "gem";
};
-
version = "2.7.1";
+
version = "2.7.2";
};
little-plugger = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0v1bylci121psqg669lgxpp6d965m4xxmg1djvmy0srcys8dvp5n";
+
sha256 = "06zkgwwhzmazi263l61zwml6mkbyjkwc4lshalm9rbhj3agnsm22";
type = "gem";
};
-
version = "6.0.8";
+
version = "6.0.9";
};
metasploit-framework = {
groups = ["default"];
platforms = [];
source = {
fetchSubmodules = false;
-
rev = "3855e135a14eec07e12f3d26416713a691b3c149";
-
sha256 = "0hgrfcsgg1g47n6fbwnmm885aicmhvssvlb5p2h3kgbx4qm96l6w";
+
rev = "6dfd13e04c9e9763b485a5b7d6e85d97632a8edf";
+
sha256 = "1prr1713vx84ckwsbwjwvb14f8yvajz9821zrbk133nn6qm0nq9a";
type = "git";
url = "https://github.com/rapid7/metasploit-framework";
};
-
version = "6.4.3";
+
version = "6.4.5";
};
metasploit-model = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp";
+
sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq";
type = "gem";
};
-
version = "1.0.0";
+
version = "1.1.0";
};
mini_portile2 = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs";
+
sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf";
type = "gem";
};
-
version = "2.8.5";
+
version = "2.8.6";
};
minitest = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5";
+
sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
type = "gem";
};
-
version = "5.22.2";
+
version = "5.22.3";
};
mqtt = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0csspzqrg7s2v2wdp6vqqs1rra6w5ilpgnps5h52ig6rp7x2i389";
+
sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z";
type = "gem";
};
-
version = "0.4.0.1";
+
version = "0.5.0";
};
net-ssh = {
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1i01340c4i144vvn3x54lc2rb77ch829qipl1rh6rqwm3yxzml9w";
+
sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n";
type = "gem";
};
-
version = "7.2.1";
+
version = "7.2.3";
};
network_interface = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm";
+
sha256 = "15iwbiij52x6jhdbl0rkcldnhfndmsy0sbnsygkr9vhskfqrp72m";
type = "gem";
};
-
version = "2.7.0";
+
version = "2.7.1";
};
nokogiri = {
dependencies = ["mini_portile2" "racc"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m";
+
sha256 = "14y4vzjwf5gp0mqgs880kis0k7n2biq8i6ci6q2n315kichl1hvj";
type = "gem";
};
-
version = "5.0.4";
+
version = "5.0.5";
};
puma = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "10mpk0hl6hnv324fp1pfimi2nw9acj0z4gyhrph36qg84pk1s4m7";
+
sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx";
type = "gem";
};
-
version = "2.2.8.1";
+
version = "2.2.9";
};
rack-protection = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy";
+
sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem";
};
-
version = "13.1.0";
+
version = "13.2.1";
};
rasn1 = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1a9m9ngmcgvgzg8m8ahdhjvfm65k6hp8r7dqmrsh3zcphim4x71k";
+
sha256 = "179h412g435dwzzswma0incss8mhw4qgcabbhyij1fbc9ch1y1zx";
type = "gem";
};
-
version = "3.1.4";
+
version = "3.1.5";
};
redcarpet = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "1zx7sdh11p4z77c3f9ka6f065mgl6xwbamnsq4rrgwk310qhn41n";
+
sha256 = "0xwf7i2kvgaxbpdqqkncv9dpfhlj55shig4sdzgy7kgbfj09mm03";
type = "gem";
};
-
version = "0.4.3";
+
version = "0.5.2";
};
rex-arch = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0vd9gfhyplwg2y55jk1c6nfsin733dy831x8zx78cp2lxp07s0p7";
+
sha256 = "1qmj5pya6ssghi3dfdmrykkbazhqlhq86ahwijdvrfr2q3g76p86";
type = "gem";
};
-
version = "0.1.56";
+
version = "0.1.57";
};
rex-sslscan = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "108x7k7x0ghc1zzqwbmja1f81b1wnllpda2rzbkws9ckvqx0cayf";
+
sha256 = "08wrqy8sgncsn6kcplw7bl6c2bmyj9fza7x77wrlwh1gza7pcjk4";
type = "gem";
};
-
version = "0.2.56";
+
version = "0.2.57";
};
rex-zip = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "0wcbglknz86qf7sbsns84a35a0vvfn9cn1cbhf9ycjwh6nqxhcim";
+
sha256 = "0fwk5hqaph37apa5zf1mg2n2wd5lkz3sgwl0f4ndhkv1vfxbb2ys";
type = "gem";
};
-
version = "3.3.4";
+
version = "3.3.5";
};
rubyntlm = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "137xkh8jnk3xyajvzmn2390yzs13hnb37jylr0sm02d3zrshf18n";
+
sha256 = "01sfiwn60czgpabfr7xq8dk3qkc17ai3z7d4yfwanq1zw6mf927n";
type = "gem";
};
-
version = "1.7.2";
+
version = "2.0.0";
};
sshkey = {
groups = ["default"];
···
platforms = [];
source = {
remotes = ["https://rubygems.org"];
-
sha256 = "15iaxz9iak5643bq2bc0jkbjv8w2zn649lxgvh5wg48q9d4blw13";
+
sha256 = "1ji0kn8jkf1rpskv3ijzxvqwixg4p6sk8kg0vmwyjinci7jcgjx7";
type = "gem";
};
-
version = "1.7.0";
+
version = "1.8.0";
};
tzinfo = {
groups = ["default"];
+16 -9
pkgs/tools/security/pwdsafety/default.nix
···
-
{ lib
-
, buildGoModule
-
, fetchFromGitHub
+
{
+
lib,
+
buildGoModule,
+
fetchFromGitHub,
}:
buildGoModule rec {
pname = "pwdsafety";
-
version = "0.3";
+
version = "0.4.0";
src = fetchFromGitHub {
owner = "edoardottt";
-
repo = pname;
-
rev = "v${version}";
-
hash = "sha256-ryMLiehJVZhQ3ZQf4/g7ILeJri78A6z5jfell0pD9E8=";
+
repo = "pwdsafety";
+
rev = "refs/tags/v${version}";
+
hash = "sha256-cKxTcfNjvwcDEw0Z1b50A4u0DUYXlGMMfGWJLPaSkcw=";
};
-
vendorHash = "sha256-b+tWTQUyYDzY2O28hwy5vI6b6S889TCiVh7hQhw/KAc=";
+
vendorHash = "sha256-RoRq9JZ8lOMtAluz8TB2RRuDEWFOBtWVhz21aTkXXy4=";
+
+
ldflags = [
+
"-w"
+
"-s"
+
];
meta = with lib; {
description = "Command line tool checking password safety";
-
mainProgram = "cmd";
homepage = "https://github.com/edoardottt/pwdsafety";
+
changelog = "https://github.com/edoardottt/pwdsafety/releases/tag/v${version}";
license = with licenses; [ gpl3Plus ];
maintainers = with maintainers; [ fab ];
+
mainProgram = "pwdsafety";
};
}
+4
pkgs/top-level/all-packages.nix
···
zig_0_11 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.11.nix {
llvmPackages = llvmPackages_16;
+
# requires a newer Apple SDK
+
zig_0_12 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.12.nix {
+
llvmPackages = llvmPackages_17;
+
};
zig = zig_0_11;
zig-shell-completions = callPackage ../development/compilers/zig/shell-completions.nix { };
-3
pkgs/top-level/make-tarball.nix
···
requiredSystemFeatures = [ "big-parallel" ]; # 1 thread but ~36G RAM (!) see #227945
-
nixpkgs-basic-release-checks = import ./nixpkgs-basic-release-checks.nix
-
{ inherit nix pkgs nixpkgs supportedSystems; };
-
dontBuild = false;
doCheck = true;
+2 -2
pkgs/top-level/nixpkgs-basic-release-checks.nix
···
-
{ supportedSystems, nixpkgs, pkgs, nix }:
+
{ supportedSystems, nixpkgs, pkgs }:
pkgs.runCommand "nixpkgs-release-checks"
{
src = nixpkgs;
-
buildInputs = [ nix ];
+
buildInputs = [ pkgs.nix ];
requiredSystemFeatures = [ "big-parallel" ]; # 1 thread but ~10G RAM; see #227945
}
''
+2 -2
pkgs/top-level/python-packages.nix
···
aspy-refactor-imports = callPackage ../development/python-modules/aspy-refactor-imports { };
-
aspy-yaml = callPackage ../development/python-modules/aspy.yaml { };
+
aspy-yaml = callPackage ../development/python-modules/aspy-yaml { };
assay = callPackage ../development/python-modules/assay { };
···
smpplib = callPackage ../development/python-modules/smpplib { };
-
smpp-pdu = callPackage ../development/python-modules/smpp.pdu { };
+
smpp-pdu = callPackage ../development/python-modules/smpp-pdu { };
smtpdfix = callPackage ../development/python-modules/smtpdfix { };
+4
pkgs/top-level/release.nix
···
nonPackageJobs =
{ tarball = import ./make-tarball.nix { inherit pkgs nixpkgs officialRelease supportedSystems; };
+
release-checks = import ./nixpkgs-basic-release-checks.nix { inherit pkgs nixpkgs supportedSystems; };
+
metrics = import ./metrics.nix { inherit pkgs nixpkgs; };
manual = import ../../doc { inherit pkgs nixpkgs; };
···
meta.description = "Release-critical builds for the Nixpkgs darwin channel";
constituents =
[ jobs.tarball
+
jobs.release-checks
jobs.cabal2nix.x86_64-darwin
jobs.ghc.x86_64-darwin
jobs.git.x86_64-darwin
···
meta.description = "Release-critical builds for the Nixpkgs unstable channel";
constituents =
[ jobs.tarball
+
jobs.release-checks
jobs.metrics
jobs.manual
jobs.lib-tests