Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-04-20 12:01:42 +00:00 committed by GitHub
commit 3aa8ef1d54
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
102 changed files with 2379 additions and 653 deletions

View File

@ -26,4 +26,4 @@ jobs:
name: nixpkgs-ci name: nixpkgs-ci
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}' signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
# explicit list of supportedSystems is needed until aarch64-darwin becomes part of the trunk jobset # 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" ]'

View File

@ -137,6 +137,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [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). - [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). - [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). - [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).
@ -173,6 +175,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
- [davis](https://github.com/tchapi/davis), a simple CardDav and CalDav server inspired by Baïkal. Available as [services.davis]($opt-services-davis.enable). - [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). - [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).
- [wastebin](https://github.com/matze/wastebin), a pastebin server written in rust. Available as [services.wastebin](#opt-services.wastebin.enable). - [wastebin](https://github.com/matze/wastebin), a pastebin server written in rust. Available as [services.wastebin](#opt-services.wastebin.enable).

View File

@ -1070,6 +1070,7 @@
./services/networking/ndppd.nix ./services/networking/ndppd.nix
./services/networking/nebula.nix ./services/networking/nebula.nix
./services/networking/netbird.nix ./services/networking/netbird.nix
./services/networking/netbird/server.nix
./services/networking/netclient.nix ./services/networking/netclient.nix
./services/networking/networkd-dispatcher.nix ./services/networking/networkd-dispatcher.nix
./services/networking/networkmanager.nix ./services/networking/networkmanager.nix
@ -1334,6 +1335,7 @@
./services/web-apps/dolibarr.nix ./services/web-apps/dolibarr.nix
./services/web-apps/engelsystem.nix ./services/web-apps/engelsystem.nix
./services/web-apps/ethercalc.nix ./services/web-apps/ethercalc.nix
./services/web-apps/firefly-iii.nix
./services/web-apps/fluidd.nix ./services/web-apps/fluidd.nix
./services/web-apps/freshrss.nix ./services/web-apps/freshrss.nix
./services/web-apps/galene.nix ./services/web-apps/galene.nix

View File

@ -21,6 +21,8 @@ in
example = "/home/foo"; example = "/home/foo";
description = '' description = ''
The home directory that the ollama service is started in. The home directory that the ollama service is started in.
See also `services.ollama.writablePaths` and `services.ollama.sandbox`.
''; '';
}; };
models = lib.mkOption { models = lib.mkOption {
@ -29,6 +31,37 @@ in
example = "/path/to/ollama/models"; example = "/path/to/ollama/models";
description = '' description = ''
The directory that the ollama service will read models from and download new models to. 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 { listenAddress = lib.mkOption {
@ -59,8 +92,8 @@ in
type = types.attrsOf types.str; type = types.attrsOf types.str;
default = { }; default = { };
example = { example = {
HOME = "/tmp";
OLLAMA_LLM_LIBRARY = "cpu"; OLLAMA_LLM_LIBRARY = "cpu";
HIP_VISIBLE_DEVICES = "0,1";
}; };
description = '' description = ''
Set arbitrary environment variables for the ollama service. Set arbitrary environment variables for the ollama service.
@ -87,7 +120,8 @@ in
ExecStart = "${lib.getExe ollamaPackage} serve"; ExecStart = "${lib.getExe ollamaPackage} serve";
WorkingDirectory = cfg.home; WorkingDirectory = cfg.home;
StateDirectory = [ "ollama" ]; StateDirectory = [ "ollama" ];
DynamicUser = true; DynamicUser = cfg.sandbox;
ReadWritePaths = cfg.writablePaths;
}; };
}; };

View File

@ -0,0 +1,160 @@
{
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;
}
];
};
}
]);
}

View File

@ -0,0 +1,186 @@
{
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;
'';
};
};
};
}

View File

@ -0,0 +1,460 @@
{
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;
'';
};
};
};
};
}

View File

@ -0,0 +1,42 @@
# 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";
}
];
};
};
};
};
```

View File

@ -0,0 +1,67 @@
{ 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;
};
};
};
}

View File

@ -0,0 +1,123 @@
{
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;
'';
};
};
};
}

View File

@ -0,0 +1,367 @@
{ 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} = {};
};
};
};
}

View File

@ -168,7 +168,10 @@ in rec {
(onFullSupported "nixpkgs.emacs") (onFullSupported "nixpkgs.emacs")
(onFullSupported "nixpkgs.jdk") (onFullSupported "nixpkgs.jdk")
(onSystems ["x86_64-linux"] "nixpkgs.mesa_i686") # i686 sanity check + useful (onSystems ["x86_64-linux"] "nixpkgs.mesa_i686") # i686 sanity check + useful
["nixpkgs.tarball"] [
"nixpkgs.tarball"
"nixpkgs.release-checks"
]
]; ];
}; };
} }

View File

@ -103,6 +103,7 @@ in rec {
[ [
"nixos.channel" "nixos.channel"
"nixpkgs.tarball" "nixpkgs.tarball"
"nixpkgs.release-checks"
] ]
(map (onSystems [ "x86_64-linux" ]) [ (map (onSystems [ "x86_64-linux" ]) [
"nixos.tests.boot.biosCdrom" "nixos.tests.boot.biosCdrom"

View File

@ -308,6 +308,7 @@ in {
ferm = handleTest ./ferm.nix {}; ferm = handleTest ./ferm.nix {};
ferretdb = handleTest ./ferretdb.nix {}; ferretdb = handleTest ./ferretdb.nix {};
filesystems-overlayfs = runTest ./filesystems-overlayfs.nix; filesystems-overlayfs = runTest ./filesystems-overlayfs.nix;
firefly-iii = handleTest ./firefly-iii.nix {};
firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; }; firefox = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox; };
firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; }; firefox-beta = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-beta; };
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; }; firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };

View File

@ -0,0 +1,26 @@
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'")
'';
})

View File

@ -77,14 +77,14 @@ let
urllib3 urllib3
]; ];
in mkDerivation rec { in mkDerivation rec {
version = "3.34.5"; version = "3.34.6";
pname = "qgis-ltr-unwrapped"; pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qgis"; owner = "qgis";
repo = "QGIS"; repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-TRSS1YclGUfBjNz+Lo8U8YlN4kdJ9JLcwd7qpgwRbG0="; hash = "sha256-eWd8oIINWVN5Dt6s4bc1RtQbytFd0foPgIcd/N2hsMw=";
}; };
passthru = { passthru = {

View File

@ -78,14 +78,14 @@ let
urllib3 urllib3
]; ];
in mkDerivation rec { in mkDerivation rec {
version = "3.36.1"; version = "3.36.2";
pname = "qgis-unwrapped"; pname = "qgis-unwrapped";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qgis"; owner = "qgis";
repo = "QGIS"; repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}"; rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-/0wVPcQoliJFgY8Kn506gUHfY+kDTdLgzbp/0KLSAkI="; hash = "sha256-/8mpzl/6UpjrMVjae2nqpS2DBRCq86rE+B3INzoRz8g=";
}; };
passthru = { passthru = {

View File

@ -21,12 +21,15 @@ buildPythonPackage rec {
"typer" "typer"
]; ];
nativeBuildInputs = [ build-system = [
poetry-core poetry-core
];
nativeBuildInputs = [
pythonRelaxDepsHook pythonRelaxDepsHook
]; ];
propagatedBuildInputs = [ dependencies = [
colorama colorama
openai openai
pyperclip pyperclip
@ -44,9 +47,9 @@ buildPythonPackage rec {
meta = with lib; { meta = with lib; {
description = "Describe your shell commands in natural language"; description = "Describe your shell commands in natural language";
mainProgram = "shell-genie";
homepage = "https://github.com/dylanjcastillo/shell-genie"; homepage = "https://github.com/dylanjcastillo/shell-genie";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ onny ]; maintainers = with maintainers; [ onny ];
mainProgram = "shell-genie";
}; };
} }

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ttyper"; pname = "ttyper";
version = "1.4.1"; version = "1.5.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "max-niederman"; owner = "max-niederman";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-IvAx65b2rGsMdDUhRxTx8cyqnG7oxC+MseCFIJil1e0="; hash = "sha256-L6xdJ659ZWKNg9CGQs+5TQIKoIAZ5KHdFSk7NCp9a2Q=";
}; };
cargoHash = "sha256-o3J2bEAV5NnWKFadJdSGTqUS8K2qpBKPQz6xAbfLtg4="; cargoHash = "sha256-iOeyn4oXk6y/NqZeBwkStBjt3hVVw4s2L5Lm58tq1BY=";
meta = with lib; { meta = with lib; {
description = "Terminal-based typing test"; description = "Terminal-based typing test";

View File

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "kubefirst"; pname = "kubefirst";
version = "2.4.3"; version = "2.4.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubefirst"; owner = "kubefirst";
repo = "kubefirst"; repo = "kubefirst";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-wxIXXCB7+s3RfDjSxwlp0BBTZMb/9GFZ7cYm7L471U8="; hash = "sha256-CkssgMr/4VGNQHyvaPnXBOf6HdExnhB7MjpJ3yQ9kfI=";
}; };
vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U="; vendorHash = "sha256-ZcZl4knlyKAwTsiyZvlkN5e2ox30B5aNzutI/2UEE9U=";

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "kubelogin"; pname = "kubelogin";
version = "0.1.1"; version = "0.1.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Azure"; owner = "Azure";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-JBP2lE1/46VB/oKgDlNTQ8RFpgIlQE0If5vND7dzo7A="; sha256 = "sha256-mQSQrcLzEZqNpXNuZFCVk3FRcfkrtvN19VhwqyrmwIU=";
}; };
vendorHash = "sha256-EwL/aiq2jyojM1r7wNZkA07TswHy6MLUUPQJFnaDG4A="; vendorHash = "sha256-Xh4htBknBW59xdJVYw7A7BT2GB5WW8SnV05is7dWAS8=";
ldflags = [ ldflags = [
"-X main.version=${version}" "-X main.version=${version}"

View File

@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
owner = "nest"; owner = "nest";
repo = "nest-simulator"; repo = "nest-simulator";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-KoeehD0HNG6Uafv6ICf8d4gjggJ7+/8RBJCpttf7AGk="; hash = "sha256-EwhpsfRmBLJnPiH6hXQXgG9jSNoC2oqq5lZ6t038VpI=";
}; };
postPatch = '' postPatch = ''

View File

@ -6,16 +6,16 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "eigenlayer"; pname = "eigenlayer";
version = "0.7.2"; version = "0.7.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Layr-Labs"; owner = "Layr-Labs";
repo = "eigenlayer-cli"; repo = "eigenlayer-cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-vGXu6xQUeXLUkmLqJEXaVNXhxXZSmVlnQicBZAfj768="; hash = "sha256-HsDuDe2ANxL+cTJ3mm1enLoKRewZ9Ey/YajpsLO66JA=";
}; };
vendorHash = "sha256-9DbyfUKJjzqbZcX7j/df6fdtgZt3RY1kq2H2RK+5Vfk="; vendorHash = "sha256-aclRbQtGg6yQMJtaO1WjtHLXU7cE1HX1ZDckRIEtw6o=";
ldflags = ["-s" "-w"]; ldflags = ["-s" "-w"];
subPackages = ["cmd/eigenlayer"]; subPackages = ["cmd/eigenlayer"];

View File

@ -0,0 +1,60 @@
{ 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 ];
};
})

View File

@ -12,16 +12,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "gitu"; pname = "gitu";
version = "0.16.0"; version = "0.17.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "altsem"; owner = "altsem";
repo = "gitu"; repo = "gitu";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-ePyMyKCI8fHKfoNCMYyYeCPkyYF5KyMYaPrB1NtovCs="; hash = "sha256-9OY6zBW7UA4lTH+NI61xuil5p2ChQESXrG2zTxdJblE=";
}; };
cargoHash = "sha256-1komuFSucXYdgeAFWeeuMmZYxb6Mzku7hdltDwKAa7A="; cargoHash = "sha256-gVmoKneAtC5dJh5Z+3aXwxCixrPZTRcxQRpoSh4S1e4=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config

View File

@ -0,0 +1,37 @@
{ 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;
};
}

View File

@ -16,14 +16,14 @@
stdenvNoCC.mkDerivation (finalAttrs: { stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager"; pname = "home-manager";
version = "unstable-2024-04-10"; version = "unstable-2024-04-16";
src = fetchFromGitHub { src = fetchFromGitHub {
name = "home-manager-source"; name = "home-manager-source";
owner = "nix-community"; owner = "nix-community";
repo = "home-manager"; repo = "home-manager";
rev = "31357486b0ef6f4e161e002b6893eeb4fafc3ca9"; rev = "fa8c16e2452bf092ac76f09ee1fb1e9f7d0796e7";
hash = "sha256-2APpO3ZW4idlgtlb8hB04u/rmIcKA8O7pYqxF66xbNY="; hash = "sha256-LmaabaQZdx52MPGKPRt9Opoc9Gd9RbwvCdysUUYQoXI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -5,14 +5,14 @@
buildGoModule rec { buildGoModule rec {
pname = "kcl-cli"; pname = "kcl-cli";
version = "0.8.5"; version = "0.8.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kcl-lang"; owner = "kcl-lang";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-ZjEMgQukhBGY3LWqsGmLj3lKfLtNNaQugQs0cSLMb80="; hash = "sha256-A98Y5ktXFwn1XrFTwL8l04VW5zPNcMLtZCUf+niXx6c=";
}; };
vendorHash = "sha256-jmqKMB85HxAlwH7FVjHrLCZQYuAJrguRfzIz1yMypjw="; vendorHash = "sha256-zFTcwyK5HT1cwfHJB3n5Eh2JE3xuXqAluU3McA+FurQ=";
ldflags = [ ldflags = [
"-X=kcl-lang.io/cli/pkg/version.version=${version}" "-X=kcl-lang.io/cli/pkg/version.version=${version}"
]; ];

View File

@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]] [[package]]
name = "ahash" name = "ahash"
version = "0.8.9" version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d713b3834d76b85304d4d525563c1276e2e30dc97cc67bfb4585a4a29fc2c89f" checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"once_cell", "once_cell",
@ -31,9 +31,9 @@ dependencies = [
[[package]] [[package]]
name = "allocator-api2" name = "allocator-api2"
version = "0.2.16" version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
[[package]] [[package]]
name = "android-tzdata" name = "android-tzdata"
@ -52,9 +52,9 @@ dependencies = [
[[package]] [[package]]
name = "anstream" name = "anstream"
version = "0.6.12" version = "0.6.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96b09b5178381e0874812a9b157f7fe84982617e48f71f4e3235482775e5b540" checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"anstyle-parse", "anstyle-parse",
@ -100,21 +100,22 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.80" version = "1.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519"
[[package]] [[package]]
name = "async-tungstenite" name = "async-tungstenite"
version = "0.23.0" version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc" checksum = "2cca750b12e02c389c1694d35c16539f88b8bbaa5945934fdc1b41a776688589"
dependencies = [ dependencies = [
"futures-io", "futures-io",
"futures-util", "futures-util",
"log", "log",
"pin-project-lite", "pin-project-lite",
"rustls-native-certs", "rustls-native-certs",
"rustls-pki-types",
"tokio", "tokio",
"tokio-rustls", "tokio-rustls",
"tungstenite", "tungstenite",
@ -134,15 +135,15 @@ dependencies = [
[[package]] [[package]]
name = "autocfg" name = "autocfg"
version = "1.1.0" version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.69" version = "0.3.71"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d"
dependencies = [ dependencies = [
"addr2line", "addr2line",
"cc", "cc",
@ -155,9 +156,9 @@ dependencies = [
[[package]] [[package]]
name = "base64" name = "base64"
version = "0.21.7" version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
@ -167,9 +168,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.4.2" version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
[[package]] [[package]]
name = "block-buffer" name = "block-buffer"
@ -182,9 +183,9 @@ dependencies = [
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.15.3" version = "3.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
[[package]] [[package]]
name = "byteorder" name = "byteorder"
@ -194,9 +195,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]] [[package]]
name = "bytes" name = "bytes"
version = "1.5.0" version = "1.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9"
[[package]] [[package]]
name = "cassowary" name = "cassowary"
@ -215,9 +216,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.88" version = "1.0.94"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7"
[[package]] [[package]]
name = "cfg-if" name = "cfg-if"
@ -227,21 +228,22 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.34" version = "0.4.38"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
dependencies = [ dependencies = [
"android-tzdata", "android-tzdata",
"iana-time-zone", "iana-time-zone",
"num-traits", "num-traits",
"windows-targets 0.52.3", "serde",
"windows-targets 0.52.5",
] ]
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.1" version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -249,9 +251,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.1" version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -262,23 +264,23 @@ dependencies = [
[[package]] [[package]]
name = "clap_complete" name = "clap_complete"
version = "4.5.1" version = "4.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "885e4d7d5af40bfb99ae6f9433e292feac98d452dcb3ec3d25dfe7552b77da8c" checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e"
dependencies = [ dependencies = [
"clap", "clap",
] ]
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.5.0" version = "4.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47" checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
dependencies = [ dependencies = [
"heck", "heck 0.5.0",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
@ -347,7 +349,7 @@ version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.5.0",
"crossterm_winapi", "crossterm_winapi",
"libc", "libc",
"mio", "mio",
@ -400,9 +402,9 @@ checksum = "3a68a4904193147e0a8dec3314640e6db742afd5f6e634f428a6af230d9b3591"
[[package]] [[package]]
name = "either" name = "either"
version = "1.10.0" version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
[[package]] [[package]]
name = "errno" name = "errno"
@ -496,7 +498,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
@ -541,9 +543,9 @@ dependencies = [
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.12" version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"libc", "libc",
@ -573,10 +575,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
[[package]] [[package]]
name = "http" name = "heck"
version = "0.2.11" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "http"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
dependencies = [ dependencies = [
"bytes", "bytes",
"fnv", "fnv",
@ -624,9 +632,9 @@ dependencies = [
[[package]] [[package]]
name = "indoc" name = "indoc"
version = "2.0.4" version = "2.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
[[package]] [[package]]
name = "itertools" name = "itertools"
@ -639,15 +647,15 @@ dependencies = [
[[package]] [[package]]
name = "itoa" name = "itoa"
version = "1.0.10" version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]] [[package]]
name = "js-sys" name = "js-sys"
version = "0.3.68" version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
dependencies = [ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
@ -676,9 +684,9 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.20" version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
[[package]] [[package]]
name = "lru" name = "lru"
@ -691,9 +699,9 @@ dependencies = [
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.7.1" version = "2.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
[[package]] [[package]]
name = "miniz_oxide" name = "miniz_oxide"
@ -706,9 +714,9 @@ dependencies = [
[[package]] [[package]]
name = "mio" name = "mio"
version = "0.8.10" version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
dependencies = [ dependencies = [
"libc", "libc",
"log", "log",
@ -718,7 +726,7 @@ dependencies = [
[[package]] [[package]]
name = "mqttui" name = "mqttui"
version = "0.20.0" version = "0.21.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",
@ -735,6 +743,8 @@ dependencies = [
"rustls", "rustls",
"rustls-native-certs", "rustls-native-certs",
"rustls-pemfile", "rustls-pemfile",
"rustls-pki-types",
"serde",
"serde_json", "serde_json",
"tui-tree-widget", "tui-tree-widget",
"url", "url",
@ -817,9 +827,9 @@ dependencies = [
[[package]] [[package]]
name = "pin-project-lite" name = "pin-project-lite"
version = "0.2.13" version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
[[package]] [[package]]
name = "pin-utils" name = "pin-utils"
@ -835,18 +845,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.78" version = "1.0.81"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]] [[package]]
name = "quote" name = "quote"
version = "1.0.35" version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
] ]
@ -883,11 +893,11 @@ dependencies = [
[[package]] [[package]]
name = "ratatui" name = "ratatui"
version = "0.26.1" version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bcb12f8fbf6c62614b0d56eb352af54f6a22410c3b079eb53ee93c7b97dd31d8" checksum = "a564a852040e82671dc50a37d88f3aa83bbc690dfc6844cfe7a2591620206a80"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.5.0",
"cassowary", "cassowary",
"compact_str", "compact_str",
"crossterm", "crossterm",
@ -935,9 +945,9 @@ dependencies = [
[[package]] [[package]]
name = "rmp" name = "rmp"
version = "0.8.12" version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f9860a6cc38ed1da53456442089b4dfa35e7cedaa326df63017af88385e6b20" checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"num-traits", "num-traits",
@ -946,12 +956,14 @@ dependencies = [
[[package]] [[package]]
name = "rmpv" name = "rmpv"
version = "1.0.1" version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e0e0214a4a2b444ecce41a4025792fc31f77c7bb89c46d253953ea8c65701ec" checksum = "e540282f11751956c82bc5529a7fb71b871b998fbf9cf06c2419b22e1b4350df"
dependencies = [ dependencies = [
"num-traits", "num-traits",
"rmp", "rmp",
"serde",
"serde_bytes",
] ]
[[package]] [[package]]
@ -962,9 +974,9 @@ checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
[[package]] [[package]]
name = "rumqttc" name = "rumqttc"
version = "0.23.0" version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8d8941c6791801b667d52bfe9ff4fc7c968d4f3f9ae8ae7abdaaa1c966feafc8" checksum = "e1568e15fab2d546f940ed3a21f48bbbd1c494c90c99c4481339364a497f94a9"
dependencies = [ dependencies = [
"async-tungstenite", "async-tungstenite",
"bytes", "bytes",
@ -998,11 +1010,11 @@ dependencies = [
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.38.31" version = "0.38.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
dependencies = [ dependencies = [
"bitflags 2.4.2", "bitflags 2.5.0",
"errno", "errno",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
@ -1011,52 +1023,63 @@ dependencies = [
[[package]] [[package]]
name = "rustls" name = "rustls"
version = "0.21.10" version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
dependencies = [ dependencies = [
"log", "log",
"ring", "ring",
"rustls-pki-types",
"rustls-webpki", "rustls-webpki",
"sct", "subtle",
"zeroize",
] ]
[[package]] [[package]]
name = "rustls-native-certs" name = "rustls-native-certs"
version = "0.6.3" version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792"
dependencies = [ dependencies = [
"openssl-probe", "openssl-probe",
"rustls-pemfile", "rustls-pemfile",
"rustls-pki-types",
"schannel", "schannel",
"security-framework", "security-framework",
] ]
[[package]] [[package]]
name = "rustls-pemfile" name = "rustls-pemfile"
version = "1.0.4" version = "2.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d"
dependencies = [ dependencies = [
"base64", "base64",
"rustls-pki-types",
] ]
[[package]] [[package]]
name = "rustls-webpki" name = "rustls-pki-types"
version = "0.101.7" version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247"
[[package]]
name = "rustls-webpki"
version = "0.102.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
dependencies = [ dependencies = [
"ring", "ring",
"rustls-pki-types",
"untrusted", "untrusted",
] ]
[[package]] [[package]]
name = "rustversion" name = "rustversion"
version = "1.0.14" version = "1.0.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
[[package]] [[package]]
name = "ryu" name = "ryu"
@ -1079,21 +1102,11 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 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]] [[package]]
name = "security-framework" name = "security-framework"
version = "2.9.2" version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6"
dependencies = [ dependencies = [
"bitflags 1.3.2", "bitflags 1.3.2",
"core-foundation", "core-foundation",
@ -1104,9 +1117,9 @@ dependencies = [
[[package]] [[package]]
name = "security-framework-sys" name = "security-framework-sys"
version = "2.9.1" version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef"
dependencies = [ dependencies = [
"core-foundation-sys", "core-foundation-sys",
"libc", "libc",
@ -1120,29 +1133,38 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca"
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.197" version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
[[package]] [[package]]
name = "serde_derive" name = "serde_bytes"
version = "1.0.197" version = "0.11.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734"
dependencies = [
"serde",
]
[[package]]
name = "serde_derive"
version = "1.0.198"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
name = "serde_json" name = "serde_json"
version = "1.0.114" version = "1.0.116"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813"
dependencies = [ dependencies = [
"itoa", "itoa",
"ryu", "ryu",
@ -1201,9 +1223,9 @@ dependencies = [
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.13.1" version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
[[package]] [[package]]
name = "socket2" name = "socket2"
@ -1226,12 +1248,12 @@ dependencies = [
[[package]] [[package]]
name = "stability" name = "stability"
version = "0.1.1" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce" checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a"
dependencies = [ dependencies = [
"quote", "quote",
"syn 1.0.109", "syn",
] ]
[[package]] [[package]]
@ -1242,48 +1264,43 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]] [[package]]
name = "strsim" name = "strsim"
version = "0.11.0" version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]] [[package]]
name = "strum" name = "strum"
version = "0.26.1" version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f" checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
dependencies = [ dependencies = [
"strum_macros", "strum_macros",
] ]
[[package]] [[package]]
name = "strum_macros" name = "strum_macros"
version = "0.26.1" version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
dependencies = [ dependencies = [
"heck", "heck 0.4.1",
"proc-macro2", "proc-macro2",
"quote", "quote",
"rustversion", "rustversion",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
name = "syn" name = "subtle"
version = "1.0.109" version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.51" version = "2.0.59"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ab617d94515e94ae53b8406c628598680aa0c9587474ecbe58188f7b345d66c" checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -1302,22 +1319,22 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.57" version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.57" version = "1.0.58"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
@ -1337,9 +1354,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.36.0" version = "1.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"bytes", "bytes",
@ -1359,16 +1376,17 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
name = "tokio-rustls" name = "tokio-rustls"
version = "0.24.1" version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
dependencies = [ dependencies = [
"rustls", "rustls",
"rustls-pki-types",
"tokio", "tokio",
] ]
@ -1391,7 +1409,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
] ]
[[package]] [[package]]
@ -1415,9 +1433,9 @@ dependencies = [
[[package]] [[package]]
name = "tungstenite" name = "tungstenite"
version = "0.20.1" version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" checksum = "9ef1a641ea34f399a848dea702823bbecfb4c486f911735368f1f137cb8257e1"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"bytes", "bytes",
@ -1427,6 +1445,7 @@ dependencies = [
"log", "log",
"rand", "rand",
"rustls", "rustls",
"rustls-pki-types",
"sha1", "sha1",
"thiserror", "thiserror",
"url", "url",
@ -1515,9 +1534,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]] [[package]]
name = "wasm-bindgen" name = "wasm-bindgen"
version = "0.2.91" version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"wasm-bindgen-macro", "wasm-bindgen-macro",
@ -1525,24 +1544,24 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-backend" name = "wasm-bindgen-backend"
version = "0.2.91" version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"log", "log",
"once_cell", "once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
[[package]] [[package]]
name = "wasm-bindgen-macro" name = "wasm-bindgen-macro"
version = "0.2.91" version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
dependencies = [ dependencies = [
"quote", "quote",
"wasm-bindgen-macro-support", "wasm-bindgen-macro-support",
@ -1550,22 +1569,22 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-macro-support" name = "wasm-bindgen-macro-support"
version = "0.2.91" version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.51", "syn",
"wasm-bindgen-backend", "wasm-bindgen-backend",
"wasm-bindgen-shared", "wasm-bindgen-shared",
] ]
[[package]] [[package]]
name = "wasm-bindgen-shared" name = "wasm-bindgen-shared"
version = "0.2.91" version = "0.2.92"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]] [[package]]
name = "winapi" name = "winapi"
@ -1595,7 +1614,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
dependencies = [ dependencies = [
"windows-targets 0.52.3", "windows-targets 0.52.5",
] ]
[[package]] [[package]]
@ -1613,7 +1632,7 @@ version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [ dependencies = [
"windows-targets 0.52.3", "windows-targets 0.52.5",
] ]
[[package]] [[package]]
@ -1633,17 +1652,18 @@ dependencies = [
[[package]] [[package]]
name = "windows-targets" name = "windows-targets"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d380ba1dc7187569a8a9e91ed34b8ccfc33123bbacb8c0aed2d1ad7f3ef2dc5f" checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
dependencies = [ dependencies = [
"windows_aarch64_gnullvm 0.52.3", "windows_aarch64_gnullvm 0.52.5",
"windows_aarch64_msvc 0.52.3", "windows_aarch64_msvc 0.52.5",
"windows_i686_gnu 0.52.3", "windows_i686_gnu 0.52.5",
"windows_i686_msvc 0.52.3", "windows_i686_gnullvm",
"windows_x86_64_gnu 0.52.3", "windows_i686_msvc 0.52.5",
"windows_x86_64_gnullvm 0.52.3", "windows_x86_64_gnu 0.52.5",
"windows_x86_64_msvc 0.52.3", "windows_x86_64_gnullvm 0.52.5",
"windows_x86_64_msvc 0.52.5",
] ]
[[package]] [[package]]
@ -1654,9 +1674,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]] [[package]]
name = "windows_aarch64_gnullvm" name = "windows_aarch64_gnullvm"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68e5dcfb9413f53afd9c8f86e56a7b4d86d9a2fa26090ea2dc9e40fba56c6ec6" checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
@ -1666,9 +1686,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]] [[package]]
name = "windows_aarch64_msvc" name = "windows_aarch64_msvc"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8dab469ebbc45798319e69eebf92308e541ce46760b49b18c6b3fe5e8965b30f" checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
@ -1678,9 +1698,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]] [[package]]
name = "windows_i686_gnu" name = "windows_i686_gnu"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a4e9b6a7cac734a8b4138a4e1044eac3404d8326b6c0f939276560687a033fb" checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
@ -1690,9 +1716,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]] [[package]]
name = "windows_i686_msvc" name = "windows_i686_msvc"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "28b0ec9c422ca95ff34a78755cfa6ad4a51371da2a5ace67500cf7ca5f232c58" checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
@ -1702,9 +1728,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]] [[package]]
name = "windows_x86_64_gnu" name = "windows_x86_64_gnu"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "704131571ba93e89d7cd43482277d6632589b18ecf4468f591fbae0a8b101614" checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
[[package]] [[package]]
name = "windows_x86_64_gnullvm" name = "windows_x86_64_gnullvm"
@ -1714,9 +1740,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]] [[package]]
name = "windows_x86_64_gnullvm" name = "windows_x86_64_gnullvm"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42079295511643151e98d61c38c0acc444e52dd42ab456f7ccfd5152e8ecf21c" checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
@ -1726,19 +1752,19 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]] [[package]]
name = "windows_x86_64_msvc" name = "windows_x86_64_msvc"
version = "0.52.3" version = "0.52.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0770833d60a970638e989b3fa9fd2bb1aaadcf88963d1659fd7d9990196ed2d6" checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
[[package]] [[package]]
name = "ws_stream_tungstenite" name = "ws_stream_tungstenite"
version = "0.11.0" version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e283cc794a890f5bdc01e358ad7c34535025f79ba83c1b5c7e01e5d6c60b336d" checksum = "a198f414f083fb19fcc1bffcb0fa0cf46d33ccfa229adf248cac12c180e91609"
dependencies = [ dependencies = [
"async-tungstenite", "async-tungstenite",
"async_io_stream", "async_io_stream",
"bitflags 2.4.2", "bitflags 2.5.0",
"futures-core", "futures-core",
"futures-io", "futures-io",
"futures-sink", "futures-sink",
@ -1767,5 +1793,11 @@ checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "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"

View File

@ -1,19 +1,20 @@
{ lib {
, stdenv lib,
, fetchFromGitHub stdenv,
, rustPlatform fetchFromGitHub,
, darwin rustPlatform,
darwin,
}: }:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "mqttui"; pname = "mqttui";
version = "0.20.0"; version = "0.21.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "EdJoPaTo"; owner = "EdJoPaTo";
repo = "mqttui"; repo = "mqttui";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-NfRPuZFZMZl1ulEGD5oQkS25oJdBVyLiN3QCQWrDej8="; hash = "sha256-aIvT1js+xY1rauZYVCkl71JLfIDjIEGy3W8WdIaTyxY=";
}; };
cargoLock = { cargoLock = {
@ -34,7 +35,10 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/EdJoPaTo/mqttui"; homepage = "https://github.com/EdJoPaTo/mqttui";
changelog = "https://github.com/EdJoPaTo/mqttui/blob/v${version}/CHANGELOG.md"; changelog = "https://github.com/EdJoPaTo/mqttui/blob/v${version}/CHANGELOG.md";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ fab sikmir ]; maintainers = with maintainers; [
fab
sikmir
];
mainProgram = "mqttui"; mainProgram = "mqttui";
}; };
} }

View File

@ -0,0 +1,35 @@
{
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 ];
};
}

View File

@ -9,13 +9,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "nwg-hello"; pname = "nwg-hello";
version = "0.1.9"; version = "0.1.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nwg-piotr"; owner = "nwg-piotr";
repo = "nwg-hello"; repo = "nwg-hello";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-Z5Pwn/uJERWfHELXK+1SJ2vh//ZV9gqblD/GqnznJII="; hash = "sha256-naYouinDYgdGwySVxdEOZpNTK0vwnIyUKTkPgYaneew=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "offat"; pname = "offat";
version = "0.17.0"; version = "0.17.2";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "OWASP"; owner = "OWASP";
repo = "OFFAT"; repo = "OFFAT";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-tSLlMgvKIDlzHL71gH1OznKI5jEyUoJUy9d9Z8tNXjk="; hash = "sha256-tyQoTc/cfzYxK+vLg9TvZdbKRX3B4tL1Do/wDMArJSA=";
}; };
sourceRoot = "${src.name}/src"; sourceRoot = "${src.name}/src";

View File

@ -5,14 +5,14 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "oterm"; pname = "oterm";
version = "0.2.5"; version = "0.2.6";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ggozad"; owner = "ggozad";
repo = "oterm"; repo = "oterm";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-s+TqDrgy7sR0sli8BGKlF546TW1+vzF0k3IkAQV6TpM="; hash = "sha256-I/0U4lYqYZ6QCmWbDYhSOTCQ8o09W2cdd8kW7iN9iHU=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View File

@ -0,0 +1,32 @@
{ 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;
};
}

View File

@ -25,7 +25,7 @@ buildGo122Module rec {
meta = with lib; { meta = with lib; {
description = "SSH agent with support for TPM sealed keys for public key authentication"; 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; license = licenses.mit;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ sgo ]; maintainers = with maintainers; [ sgo ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "tootik"; pname = "tootik";
version = "0.10.0"; version = "0.10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dimkr"; owner = "dimkr";
repo = "tootik"; repo = "tootik";
rev = version; rev = version;
hash = "sha256-5rv+hkIBRu5uIUYsy7drJvcAHwL9tY8qD/dTj1mbarQ="; hash = "sha256-roB1mrhq9LQcdi7ynPzI9UmeawSw9fX7jl3bb6+ygfM=";
}; };
vendorHash = "sha256-Lsc8nK4I1gZEW7RbEapHr3IJ6wTATLElX3XfNX1LwvM="; vendorHash = "sha256-Lsc8nK4I1gZEW7RbEapHr3IJ6wTATLElX3XfNX1LwvM=";

View File

@ -2732,7 +2732,7 @@ dependencies = [
"indoc", "indoc",
"libc", "libc",
"memoffset 0.9.1", "memoffset 0.9.1",
"parking_lot 0.12.1", "parking_lot 0.11.2",
"portable-atomic", "portable-atomic",
"pyo3-build-config", "pyo3-build-config",
"pyo3-ffi", "pyo3-ffi",
@ -3025,9 +3025,9 @@ dependencies = [
[[package]] [[package]]
name = "reqwest" name = "reqwest"
version = "0.12.3" version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e6cc1e89e689536eb5aeede61520e874df5a4707df811cd5da4aa5fbb2aae19" checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
dependencies = [ dependencies = [
"async-compression", "async-compression",
"base64 0.22.0", "base64 0.22.0",
@ -4397,7 +4397,7 @@ checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0"
[[package]] [[package]]
name = "uv" name = "uv"
version = "0.1.34" version = "0.1.35"
dependencies = [ dependencies = [
"anstream", "anstream",
"anyhow", "anyhow",
@ -4595,6 +4595,7 @@ dependencies = [
"clap", "clap",
"itertools 0.12.1", "itertools 0.12.1",
"pep508_rs", "pep508_rs",
"platform-tags",
"rustc-hash", "rustc-hash",
"schemars", "schemars",
"serde", "serde",
@ -4990,7 +4991,7 @@ dependencies = [
[[package]] [[package]]
name = "uv-version" name = "uv-version"
version = "0.1.34" version = "0.1.35"
[[package]] [[package]]
name = "uv-virtualenv" name = "uv-virtualenv"

View File

@ -12,13 +12,13 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "uv"; pname = "uv";
version = "0.1.34"; version = "0.1.35";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "astral-sh"; owner = "astral-sh";
repo = "uv"; repo = "uv";
rev = version; rev = version;
hash = "sha256-B0UvQM1A1DRPb59HcLMNZo4r86lF4fcI+R8/fLWHkHM="; hash = "sha256-GcAvpX7oanJ8G1dgTyTa8jk9xhTroF2G+ir8j7Yua1M=";
}; };
cargoLock = { cargoLock = {

View File

@ -12,14 +12,14 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "waycheck"; pname = "waycheck";
version = "1.1.1"; version = "1.2.0";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.freedesktop.org"; domain = "gitlab.freedesktop.org";
owner = "serebit"; owner = "serebit";
repo = "waycheck"; repo = "waycheck";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-kwkdTMA15oJHz9AXEkBGeuzYdEUpNuv/xnhzoKOHCE4="; hash = "sha256-sDfIR+F2W59mh50jXoOrcNZ1nuckm3r7jN613BH4Eog=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -38,13 +38,14 @@ stdenv.mkDerivation (finalAttrs: {
dontWrapGApps = true; dontWrapGApps = true;
preFixup = '' postPatch = ''
qtWrapperArgs+=("''${gappsWrapperArgs[@]}") substituteInPlace scripts/mesonPostInstall.sh \
--replace-fail "#!/usr/bin/env sh" "#!${stdenv.shell}" \
--replace-fail "update-desktop-database -q" "update-desktop-database $out/share/applications"
''; '';
preInstall = '' preFixup = ''
substituteInPlace ../scripts/mesonPostInstall.sh \ qtWrapperArgs+=("''${gappsWrapperArgs[@]}")
--replace "update-desktop-database -q" "update-desktop-database $out/share/applications"
''; '';
meta = { meta = {

View File

@ -1,22 +1,22 @@
# Generated by update.sh script # Generated by update.sh script
{ {
"version" = "24.0.0"; "version" = "24.0.1";
"hashes" = { "hashes" = {
"aarch64-linux" = { "aarch64-linux" = {
sha256 = "0nq2wnc7kb3x37m68b2ylay6c341fzv4453k150a47fnj0p4d85p"; sha256 = "145199fv1kpf992gvidcbs0zs2950gbbvmm8qg17sbi8fg1ggqkq";
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-linux-aarch64.tar.gz"; url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-linux-aarch64.tar.gz";
}; };
"x86_64-linux" = { "x86_64-linux" = {
sha256 = "1h8zqf9clxg3azma86gdm6yl8mif2sgmyhnvqdilap28vmj4mpns"; sha256 = "06vc8ym8bwyw057i4bjybbi92af8v3ic2yq4n1fms374n3iism4a";
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-linux-amd64.tar.gz"; url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-linux-amd64.tar.gz";
}; };
"x86_64-darwin" = { "x86_64-darwin" = {
sha256 = "03c4bxdzdz5m7n1kkmzsb8x0m1h4ms6ah29p9m4wrz8pjsb8682l"; sha256 = "0q419zpa02zlmf5lgmn9a12wlizm83d3ikwjzayp2h6mrg8zv825";
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-macos-amd64.tar.gz"; url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-macos-amd64.tar.gz";
}; };
"aarch64-darwin" = { "aarch64-darwin" = {
sha256 = "0ph6ki66w4kqwnznbpgfd8k85xx6cgqslzy07v4sywhp9k246qld"; sha256 = "02ri76ain3vjg3d0v8jf7ii0b0ppmqq7nbc73mvzvg7hl3hxlir7";
url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.0/truffleruby-community-24.0.0-macos-aarch64.tar.gz"; url = "https://github.com/oracle/truffleruby/releases/download/graal-24.0.1/truffleruby-community-24.0.1-macos-aarch64.tar.gz";
}; };
}; };
} }

View File

@ -124,7 +124,7 @@ stdenv.mkDerivation (rec {
# libc++.so.1 and libc++abi.so or the external cxxabi. ld-wrapper doesn't # 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 # support linker scripts so the external cxxabi needs to be symlinked in
postInstall = lib.optionalString (cxxabi != null) '' 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 lndir ${lib.getLib cxxabi}/lib $out/lib
''; '';

View File

@ -0,0 +1,37 @@
{ 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
'';
}

View File

@ -40,7 +40,10 @@ stdenv.mkDerivation (finalAttrs: {
# Zig's build looks at /usr/bin/env to find dynamic linking info. This doesn't # 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. # 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 \ substituteInPlace lib/std/zig/system/NativeTargetInfo.zig \
--replace "/usr/bin/env" "${coreutils}/bin/env" --replace "/usr/bin/env" "${coreutils}/bin/env"
''; '';

View File

@ -6,10 +6,10 @@
}: }:
clojure.overrideAttrs (previousAttrs: { clojure.overrideAttrs (previousAttrs: {
pname = "babashka-clojure-tools"; pname = "babashka-clojure-tools";
version = "1.11.1.1435"; version = "1.11.2.1446";
src = fetchurl { src = fetchurl {
url = previousAttrs.src.url; url = previousAttrs.src.url;
hash = "sha256-RS/FebIED8RYYXRXBKXZPRROO0HqyDo0zhb+p4Q5m8A="; hash = "sha256-qn7/sPyVDfjZPLeWxlUBBljAW/d8cCw6lEm3/deS73E=";
}; };
}) })

View File

@ -9,11 +9,11 @@
let let
babashka-unwrapped = buildGraalvmNativeImage rec { babashka-unwrapped = buildGraalvmNativeImage rec {
pname = "babashka-unwrapped"; pname = "babashka-unwrapped";
version = "1.3.189"; version = "1.3.190";
src = fetchurl { src = fetchurl {
url = "https://github.com/babashka/babashka/releases/download/v${version}/babashka-${version}-standalone.jar"; 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; graalvmDrv = graalvmCEPackages.graalvm-ce;

View File

@ -54,14 +54,14 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "flatpak"; pname = "flatpak";
version = "1.14.5"; version = "1.14.6";
# TODO: split out lib once we figure out what to do with triggerdir # TODO: split out lib once we figure out what to do with triggerdir
outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ]; outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
src = fetchurl { src = fetchurl {
url = "https://github.com/flatpak/flatpak/releases/download/${finalAttrs.version}/flatpak-${finalAttrs.version}.tar.xz"; 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 = [ patches = [

View File

@ -1,25 +1,26 @@
{ lib {
, stdenv lib,
, fetchFromGitHub stdenv,
, icu fetchFromGitHub,
, meson icu,
, ninja meson,
, pkg-config ninja,
, python3 pkg-config,
, xapian python3,
, xz xapian,
, zstd xz,
zstd,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "libzim"; pname = "libzim";
version = "9.1.0"; version = "9.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "openzim"; owner = "openzim";
repo = pname; repo = "libzim";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-yWnW/+CaQwbemrNLzvQpXw5yvW2Q6LtwDgvA58+fVUs="; hash = "sha256-WAbNSrgm/lTARD7Ml4vVLChQLNR23vEZtyE4MXnhnB4=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -31,7 +31,7 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "xdg-desktop-portal"; pname = "xdg-desktop-portal";
version = "1.18.3"; version = "1.18.4";
outputs = [ "out" "installedTests" ]; outputs = [ "out" "installedTests" ];
@ -39,7 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "flatpak"; owner = "flatpak";
repo = "xdg-desktop-portal"; repo = "xdg-desktop-portal";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-VqIQLUAf/n5m1tHCvnlxi0eaLOuG1R44tMFI/Hc992A="; hash = "sha256-o+aO7uGewDPrtgOgmp/CE2uiqiBLyo07pVCFrtlORFQ=";
}; };
patches = [ patches = [

View File

@ -3,6 +3,7 @@
, async-timeout , async-timeout
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, pytest-aiohttp , pytest-aiohttp
, pytestCheckHook , pytestCheckHook
, pythonOlder , pythonOlder
@ -23,6 +24,13 @@ buildPythonPackage rec {
hash = "sha256-LwFXb/SHP6bbqPg1tqYwE03FKHf4Mv1PPOxnPdESH0I="; hash = "sha256-LwFXb/SHP6bbqPg1tqYwE03FKHf4Mv1PPOxnPdESH0I=";
}; };
patches = [
(fetchpatch {
url = "https://github.com/aio-libs/aiojobs/commit/1b88049841397b01f88aee7d92174ac5a15217c1.patch";
hash = "sha256-b38Ipa29T6bEVsPe04ZO3WCcs6+0fOQDCJM+w8K1bVY=";
})
];
postPatch = '' postPatch = ''
substituteInPlace pytest.ini \ substituteInPlace pytest.ini \
--replace "--cov=aiojobs/ --cov=tests/ --cov-report term" "" --replace "--cov=aiojobs/ --cov=tests/ --cov-report term" ""

View File

@ -22,14 +22,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "aiomisc"; pname = "aiomisc";
version = "17.5.4"; version = "17.5.6";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-/2WEaM9ZM9dbMA73XADOE2u5r3SfMAyjH8isOsXaJhE="; hash = "sha256-oq4z+ULN6VYkXX4Oz/JqKZSIh55AHOxFJVLyaNGqaNA=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];

View File

@ -1,40 +1,38 @@
{ lib {
, buildPythonPackage lib,
, fetchPypi buildPythonPackage,
, poetry-core fetchFromGitHub,
, pytestCheckHook poetry-core,
, pythonOlder pytestCheckHook,
pythonOlder,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "apkinspector"; pname = "apkinspector";
version = "1.2.2"; version = "1.2.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "erev0s";
hash = "sha256-6n5WCQ6V63kbWT6b7t9PEFbrJpxEg1WOE9XV70tHnGA="; repo = "apkInspector";
rev = "refs/tags/v${version}";
hash = "sha256-n6uVyN5XBEM/nuN7mvhNRwMUgUT5abOsh3CbhKK6ifY=";
}; };
nativeBuildInputs = [ build-system = [ poetry-core ];
poetry-core
];
# Tests are not available nativeCheckInputs = [ pytestCheckHook ];
# https://github.com/erev0s/apkInspector/issues/21
doCheck = false;
pythonImportsCheck = [ pythonImportsCheck = [ "apkInspector" ];
"apkInspector"
];
meta = with lib; { meta = with lib; {
description = "Module designed to provide detailed insights into the zip structure of APK files"; description = "Module designed to provide detailed insights into the zip structure of APK files";
mainProgram = "apkInspector";
homepage = "https://github.com/erev0s/apkInspector"; homepage = "https://github.com/erev0s/apkInspector";
changelog = "https://github.com/erev0s/apkInspector/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
mainProgram = "apkInspector";
}; };
} }

View File

@ -1,12 +1,13 @@
{ lib, buildPythonPackage, fetchPypi, pyyaml }: { lib, buildPythonPackage, fetchPypi, pyyaml }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "aspy.yaml"; pname = "aspy-yaml";
version = "1.3.0"; version = "1.3.0";
format = "setuptools"; format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; pname = "aspy.yaml";
inherit version;
sha256 = "0i9z2jm2hjwdxdv4vw4kbs70h2ciz49rv8w73zbawb7z5qw45iz7"; sha256 = "0i9z2jm2hjwdxdv4vw4kbs70h2ciz49rv8w73zbawb7z5qw45iz7";
}; };

View File

@ -366,7 +366,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "boto3-stubs"; pname = "boto3-stubs";
version = "1.34.87"; version = "1.34.88";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -374,7 +374,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "boto3_stubs"; pname = "boto3_stubs";
inherit version; inherit version;
hash = "sha256-fGIC78m332fXc8IYRCcwA/pmx41z7kKE4u9L9rrMCHo="; hash = "sha256-I8qeDNDT53AtZjGh6UpCCKJrOfprEsc0Qn5op/pklHc=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "botocore-stubs"; pname = "botocore-stubs";
version = "1.34.87"; version = "1.34.88";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "botocore_stubs"; pname = "botocore_stubs";
inherit version; inherit version;
hash = "sha256-Dy67vF7mCc19wz/In6b4i+yLvir8+BSteoi+AOp3QdY="; hash = "sha256-ZW6WbqFSpPKCiJKqepZzvJF5mZj1qO/Y6P45D2HC9PE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,15 +1,16 @@
{ lib {
, buildPythonPackage lib,
, fetchFromGitHub buildPythonPackage,
, poetry-core fetchFromGitHub,
, pydantic poetry-core,
, pytestCheckHook pydantic,
, pythonOlder pytestCheckHook,
pythonOlder,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "camel-converter"; pname = "camel-converter";
version = "3.1.1"; version = "3.1.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -18,31 +19,23 @@ buildPythonPackage rec {
owner = "sanders41"; owner = "sanders41";
repo = "camel-converter"; repo = "camel-converter";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-xrdk5Y3H8KlQaGtJYdJNHq16Qfos2p+93uIAfIl098c="; hash = "sha256-CJbflRI3wfUmPoVuLwZDYcobESmySvnS99PdpSDhDLk=";
}; };
postPatch = '' postPatch = ''
substituteInPlace pyproject.toml \ 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 = [ build-system = [ poetry-core ];
poetry-core
];
passthru.optional-dependencies = { passthru.optional-dependencies = {
pydantic = [ pydantic = [ pydantic ];
pydantic
];
}; };
nativeCheckInputs = [ nativeCheckInputs = [ pytestCheckHook ] ++ passthru.optional-dependencies.pydantic;
pytestCheckHook
] ++ passthru.optional-dependencies.pydantic;
pythonImportsCheck = [ pythonImportsCheck = [ "camel_converter" ];
"camel_converter"
];
disabledTests = [ disabledTests = [
# AttributeError: 'Test' object has no attribute 'model_dump' # AttributeError: 'Test' object has no attribute 'model_dump'

View File

@ -25,7 +25,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "clarifai"; pname = "clarifai";
version = "10.3.0"; version = "10.3.1";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -34,7 +34,7 @@ buildPythonPackage rec {
owner = "Clarifai"; owner = "Clarifai";
repo = "clarifai-python"; repo = "clarifai-python";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-8EPs6kGB+Px9Fs2Z+YwDcmEYI5+z/kOIKLraJFMykF0="; hash = "sha256-KCJ1Ev0fgww0JU1tDp9X/A9EIcXQRaFKeA/MRNnp5ng=";
}; };
pythonRelaxDeps = [ "clarifai-grpc" ]; pythonRelaxDeps = [ "clarifai-grpc" ];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "cloudsmith-api"; pname = "cloudsmith-api";
version = "2.0.12"; version = "2.0.13";
format = "wheel"; format = "wheel";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -18,7 +18,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "cloudsmith_api"; pname = "cloudsmith_api";
inherit format version; inherit format version;
hash = "sha256-a33t963Q5+gnZI9pha4viuyWz3xLHUdcGE4ccw/w0s8="; hash = "sha256-xPPARaxclTRy7thJXtXaMK0F5/91q7o35LyzSmx1HPU=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -17,7 +17,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "google-generativeai"; pname = "google-generativeai";
version = "0.5.0"; version = "0.5.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "google"; owner = "google";
repo = "generative-ai-python"; repo = "generative-ai-python";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-WFkzqsiYADrxVUHClBHY0+oYz2sF52DrVblHT+94QYw="; hash = "sha256-R1ndVzGKXWRNkWvvuP4HFBXbuk54bCZZvMJY+yalJGU=";
}; };
pythonRelaxDeps = [ "google-ai-generativelanguage" ]; pythonRelaxDeps = [ "google-ai-generativelanguage" ];

View File

@ -8,12 +8,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "grpcio-health-checking"; pname = "grpcio-health-checking";
version = "1.62.1"; version = "1.62.2";
format = "setuptools"; format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-nlYYCpQbHTKgd9dJHgYR0Eg8OWNYr9U0m/ABUmEuRYM="; hash = "sha256-pE0eoeFRC1xiJl2toE2GYhuxSR113ph3E8nA6gBcEKg=";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [

View File

@ -8,12 +8,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "grpcio-reflection"; pname = "grpcio-reflection";
version = "1.62.1"; version = "1.62.2";
format = "setuptools"; format = "setuptools";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-q9RTABmRhxAxMV7y2Cr/6TCAwEM/o6AHvjS/Qn4oqIo="; hash = "sha256-LdRIBtaNAAZjZSm9pXMBKxmkIoFHjC0FHNquu5HiUWw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,19 +1,20 @@
{ lib {
, buildPythonPackage lib,
, certifi buildPythonPackage,
, fetchFromGitHub certifi,
, pyarrow fetchFromGitHub,
, pytestCheckHook pyarrow,
, python-dateutil pytestCheckHook,
, pythonOlder python-dateutil,
, reactivex pythonOlder,
, setuptools reactivex,
, urllib3 setuptools,
urllib3,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "influxdb3-python"; pname = "influxdb3-python";
version = "0.3.6"; version = "0.4.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -22,14 +23,12 @@ buildPythonPackage rec {
owner = "InfluxCommunity"; owner = "InfluxCommunity";
repo = "influxdb3-python"; repo = "influxdb3-python";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-ZKN3chJvtOenk2jp02rvw+HooJcee0hwxWoLvEYjfcg="; hash = "sha256-qFcXqbYsjn27BPeKxTsWxKJdF6y8Oz3VBrmSyO0vCGo=";
}; };
nativeBuildInputs = [ build-system = [ setuptools ];
setuptools
];
propagatedBuildInputs = [ dependencies = [
certifi certifi
pyarrow pyarrow
python-dateutil python-dateutil

View File

@ -16,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "lacuscore"; pname = "lacuscore";
version = "1.9.1"; version = "1.9.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "ail-project"; owner = "ail-project";
repo = "LacusCore"; repo = "LacusCore";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-DUgMql/KCy8g63HvA7qbrv9qia+nchPLIkufWmUXKDg="; hash = "sha256-vfhRbbutNuZW/oI/eCJUXydCn47ThOlWRz2NJJrE3Tw=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "llama-index-embeddings-openai"; pname = "llama-index-embeddings-openai";
version = "0.1.7"; version = "0.1.8";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "llama_index_embeddings_openai"; pname = "llama_index_embeddings_openai";
inherit version; inherit version;
hash = "sha256-xxzJggaAxM7fyYRdyHuU9oUdHMzh5Ib8kSmPj6jZ8n0="; hash = "sha256-quTOPsL+LLYE2URkaYLHFmOouZ7V+MNwgj7oLu9N3Ts=";
}; };
build-system = [ build-system = [

View File

@ -9,7 +9,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "llama-index-llms-openai"; pname = "llama-index-llms-openai";
version = "0.1.15"; version = "0.1.16";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -17,7 +17,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "llama_index_llms_openai"; pname = "llama_index_llms_openai";
inherit version; inherit version;
hash = "sha256-a9vzB7HUOpp8KlL3K6fbYcuW2QT5nn6l2IndeBjxCBQ="; hash = "sha256-MTu8F8JBmSQwpr9oahse3EJ2yCVq1rBVCqG+oeD+0aY=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];

View File

@ -115,6 +115,9 @@ buildPythonPackage rec {
# Avoid GLIBCXX mismatch with other cuda-enabled python packages # Avoid GLIBCXX mismatch with other cuda-enabled python packages
preConfigure = '' 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 ~/ # Upstream's setup.py tries to write cache somewhere in ~/
export HOME=$(mktemp -d) export HOME=$(mktemp -d)

View File

@ -21,7 +21,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "playwrightcapture"; pname = "playwrightcapture";
version = "1.24.4"; version = "1.24.5";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -30,7 +30,7 @@ buildPythonPackage rec {
owner = "Lookyloo"; owner = "Lookyloo";
repo = "PlaywrightCapture"; repo = "PlaywrightCapture";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-/6Sdn4SdJ7e2Lm6Gl0oaLNWeb6XouLgtjNJbVYstL4w="; hash = "sha256-3xbjcvBx5pHlCwqAVJUpiGsa4s9lScORlEB4YLfkvv4=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [

View File

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "plexapi"; pname = "plexapi";
version = "4.15.11"; version = "4.15.12";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "pkkid"; owner = "pkkid";
repo = "python-plexapi"; repo = "python-plexapi";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-OPhmw7nCe0n7VLekXeB5PiLdBk2DPmLoQ1nZiGEwqis="; hash = "sha256-i+Vg1SWxDKprZu+crf0iallaAIApDpidJ//2mivAn18=";
}; };
build-system = [ build-system = [

View File

@ -1,27 +1,28 @@
{ lib {
, aiohttp lib,
, async-timeout aiohttp,
, buildPythonPackage async-timeout,
, crcmod buildPythonPackage,
, defusedxml crcmod,
, fetchFromGitHub defusedxml,
, freezegun fetchFromGitHub,
, jsonpickle freezegun,
, munch jsonpickle,
, pyserial munch,
, pytest-aiohttp pyserial,
, pytest-asyncio pytest-aiohttp,
, pytestCheckHook pytest-asyncio,
, python-dateutil pytestCheckHook,
, pythonOlder python-dateutil,
, semver pythonOlder,
, setuptools semver,
, wheel setuptools,
wheel,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "plugwise"; pname = "plugwise";
version = "0.37.2"; version = "0.37.3";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.11"; disabled = pythonOlder "3.11";
@ -30,7 +31,7 @@ buildPythonPackage rec {
owner = "plugwise"; owner = "plugwise";
repo = "python-plugwise"; repo = "python-plugwise";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-zPh4yko35aMhiTTIDbaBgVruRDyolhtvTzTIhF5fo+Y="; hash = "sha256-aQz0p+DNi1XVoFwdFjc3RjpHqA2kGf4pU1QS6m271gU=";
}; };
postPatch = '' postPatch = ''
@ -64,9 +65,7 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pythonImportsCheck = [ pythonImportsCheck = [ "plugwise" ];
"plugwise"
];
__darwinAllowLocalNetworking = true; __darwinAllowLocalNetworking = true;

View File

@ -7,14 +7,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "prefixed"; pname = "prefixed";
version = "0.7.0"; version = "0.7.1";
format = "setuptools"; format = "setuptools";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-C1TRXmAuuK9Kwxsdsho36pXOWJDgdBuw3Z3tSTzvu+k="; hash = "sha256-0QrJCs/EzBTYLBQIszCy/ahe187CIGqADUOJn4w4UmU=";
}; };
nativeCheckInputs = [ nativeCheckInputs = [

View File

@ -11,14 +11,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "publicsuffixlist"; pname = "publicsuffixlist";
version = "0.10.0.20240416"; version = "0.10.0.20240420";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-Y0QP9SNJQOMGEKAEeDwKNTRQtFiwUOWGLbkGJx66SBk="; hash = "sha256-s8xPkes/xFlejqfOlMZOPLmNK92e2TLK18UZmv3/a6I=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];

View File

@ -16,7 +16,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pylitterbot"; pname = "pylitterbot";
version = "2023.4.11"; version = "2023.5.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "natekspencer"; owner = "natekspencer";
repo = "pylitterbot"; repo = "pylitterbot";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-OTyQgcGGNktCgYJN33SZn7La7ec+gwR/yVDuH7kcEh4="; hash = "sha256-MSQdX2PKQohmPGqtRZnUmCCVgKgaf4+cHAUItiPv7pY=";
}; };
build-system = [ build-system = [

View File

@ -1,58 +1,54 @@
{ lib {
, buildPythonPackage lib,
, fetchFromGitHub buildPythonPackage,
, geojson fetchFromGitHub,
, pysocks geojson,
, pythonOlder pysocks,
, requests pythonOlder,
, pytestCheckHook requests,
, pythonRelaxDepsHook setuptools,
pytestCheckHook,
pythonRelaxDepsHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyowm"; pname = "pyowm";
version = "3.3.0"; version = "3.3.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "csparpa"; owner = "csparpa";
repo = pname; repo = "pyowm";
rev = version; rev = "refs/tags/${version}";
hash = "sha256-cSOhm3aDksLBChZzgw1gjUjLQkElR2/xGFMOb9K9RME="; hash = "sha256-cSOhm3aDksLBChZzgw1gjUjLQkElR2/xGFMOb9K9RME=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [ "geojson" ];
"geojson"
];
nativeBuildInputs = [ build-system = [ setuptools ];
pythonRelaxDepsHook
];
propagatedBuildInputs = [ nativeBuildInputs = [ pythonRelaxDepsHook ];
dependencies = [
geojson geojson
pysocks pysocks
requests requests
setuptools
]; ];
nativeCheckInputs = [ nativeCheckInputs = [ pytestCheckHook ];
pytestCheckHook
];
# Run only tests which don't require network access # Run only tests which don't require network access
pytestFlagsArray = [ pytestFlagsArray = [ "tests/unit" ];
"tests/unit"
];
pythonImportsCheck = [ pythonImportsCheck = [ "pyowm" ];
"pyowm"
];
meta = with lib; { meta = with lib; {
description = "Python wrapper around the OpenWeatherMap web API"; description = "Python wrapper around the OpenWeatherMap web API";
homepage = "https://pyowm.readthedocs.io/"; homepage = "https://pyowm.readthedocs.io/";
changelog = "https://github.com/csparpa/pyowm/releases/tag/${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
}; };

View File

@ -1,20 +1,21 @@
{ lib {
, anyconfig lib,
, buildPythonPackage anyconfig,
, fetchFromGitHub buildPythonPackage,
, isodate fetchFromGitHub,
, pytestCheckHook isodate,
, pythonOlder pytestCheckHook,
, pyyaml pythonOlder,
, requests pyyaml,
, responses requests,
, poetry-core responses,
, pythonRelaxDepsHook poetry-core,
pythonRelaxDepsHook,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pysolcast"; pname = "pysolcast";
version = "2.0.1"; version = "2.0.2";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -23,19 +24,16 @@ buildPythonPackage rec {
owner = "mcaulifn"; owner = "mcaulifn";
repo = "solcast"; repo = "solcast";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-JzGrE6zKj16Uzm3EC8ysMbgP5ouA00Gact7NYXbEkXI="; hash = "sha256-DXJkbAlkxBjUEbziFNdr8SilB2GRUoAwvrr0HY56Deg=";
}; };
pythonRelaxDeps = [ pythonRelaxDeps = [ "responses" ];
"responses"
];
nativeBuildInputs = [ build-system = [ poetry-core ];
poetry-core
pythonRelaxDepsHook
];
propagatedBuildInputs = [ nativeBuildInputs = [ pythonRelaxDepsHook ];
dependencies = [
anyconfig anyconfig
isodate isodate
pyyaml pyyaml
@ -47,9 +45,7 @@ buildPythonPackage rec {
responses responses
]; ];
pythonImportsCheck = [ pythonImportsCheck = [ "pysolcast" ];
"pysolcast"
];
meta = with lib; { meta = with lib; {
description = "Python library for interacting with the Solcast API"; description = "Python library for interacting with the Solcast API";

View File

@ -32,14 +32,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "qtile"; pname = "qtile";
version = "0.24.0"; version = "0.25.0";
format = "setuptools"; format = "setuptools";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qtile"; owner = "qtile";
repo = "qtile"; repo = "qtile";
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-mgMRkoKT0Gp5/OfVQbkeDTkg9QRFn4PU3ziM5E6V+oI="; hash = "sha256-j5hpXfUSDUT9nBr6CafIzqdTYQxSWok+ZlQA7bGdVvk=";
}; };
patches = [ patches = [

View File

@ -10,7 +10,7 @@
}: }:
buildPythonPackage { buildPythonPackage {
pname = "smpp.pdu"; pname = "smpp-pdu";
version = "unstable-2022-09-02"; version = "unstable-2022-09-02";
format = "pyproject"; format = "pyproject";

View File

@ -8,7 +8,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "std-uritemplate"; pname = "std-uritemplate";
version = "0.0.56"; version = "0.0.57";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.8"; disabled = pythonOlder "3.8";
@ -16,7 +16,7 @@ buildPythonPackage rec {
src = fetchPypi { src = fetchPypi {
pname = "std_uritemplate"; pname = "std_uritemplate";
inherit version; inherit version;
hash = "sha256-85dldY+2WB+Hn6fBBHoKJ7fIe7fDyddYxAjDD83lHGc="; hash = "sha256-9K3HF67BOFYuZSuV2nT8aBWpQiMdlxMUhWuB9DTBuUw=";
}; };
build-system = [ poetry-core ]; build-system = [ poetry-core ];

View File

@ -10,7 +10,7 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "tencentcloud-sdk-python"; pname = "tencentcloud-sdk-python";
version = "3.0.1131"; version = "3.0.1132";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9"; disabled = pythonOlder "3.9";
@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "TencentCloud"; owner = "TencentCloud";
repo = "tencentcloud-sdk-python"; repo = "tencentcloud-sdk-python";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-7VhDVpBcW/uDOvwkCpB+dHrTa+fC7mu6UWuSbnymJgU="; hash = "sha256-SMdevyChfbUMIY/KynIUE5T3bQAvD23QTW8lyA87kDE=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];

View File

@ -1,40 +1,42 @@
{ lib {
, aiohttp lib,
, buildPythonPackage aiohttp,
, fetchFromGitHub buildPythonPackage,
, pytest-asyncio fetchFromGitHub,
, pytest-httpserver pytest-asyncio,
, pytestCheckHook pytest-httpserver,
, pythonOlder pytestCheckHook,
, setuptools pythonRelaxDepsHook,
pythonOlder,
setuptools,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "vt-py"; pname = "vt-py";
version = "0.18.0"; version = "0.18.1";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "VirusTotal"; owner = "VirusTotal";
repo = pname; repo = "vt-py";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-QEe/ZoKM0uVH7Yqpgo7V17Odn4xqdEgdQeMVB+57xbA="; hash = "sha256-rWzANh7tkayFR6V3JaF3BLhIjUlnrPMmEmI36Ncqz2M=";
}; };
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "pytest-runner" "" --replace-fail "pytest-runner" ""
''; '';
nativeBuildInputs = [ pythonRelaxDeps = [ "aiohttp" ];
setuptools
];
propagatedBuildInputs = [ build-system = [ setuptools ];
aiohttp
]; nativeBuildInputs = [ pythonRelaxDepsHook ];
dependencies = [ aiohttp ];
nativeCheckInputs = [ nativeCheckInputs = [
pytest-asyncio pytest-asyncio
@ -42,9 +44,7 @@ buildPythonPackage rec {
pytestCheckHook pytestCheckHook
]; ];
pythonImportsCheck = [ pythonImportsCheck = [ "vt" ];
"vt"
];
meta = with lib; { meta = with lib; {
description = "Python client library for VirusTotal"; description = "Python client library for VirusTotal";

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "checkov"; pname = "checkov";
version = "3.2.69"; version = "3.2.72";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bridgecrewio"; owner = "bridgecrewio";
repo = "checkov"; repo = "checkov";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-q2hiIceWxQXwJWLXBuA3V3weqcr634yKbc6/VgQFkcQ="; hash = "sha256-DcheCxZ21/wEwC0dYoL546wXyp1yIIfLkWbjkS0iKC0=";
}; };
patches = [ ./flake8-compat-5.x.patch ]; patches = [ ./flake8-compat-5.x.patch ];

View File

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "sqlfluff"; pname = "sqlfluff";
version = "3.0.4"; version = "3.0.5";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sqlfluff"; owner = "sqlfluff";
repo = "sqlfluff"; repo = "sqlfluff";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-C8xH7LMCVXeJerdp8skIsTBQHkz0pPVKgUG+tEwx5GI="; hash = "sha256-jH6o1moyyugKtIIccp8Tbcg5EAMOxzNco9saUgoDzWY=";
}; };
build-system = with python3.pkgs; [ setuptools ]; build-system = with python3.pkgs; [ setuptools ];

View File

@ -14,16 +14,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "cargo-dist"; pname = "cargo-dist";
version = "0.13.1"; version = "0.13.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "axodotdev"; owner = "axodotdev";
repo = "cargo-dist"; repo = "cargo-dist";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-uav2Q6NG7JW3ZrYkDWXNxR816bI3nxs71KoOdNr/unQ="; hash = "sha256-sD3Y/FFfUgMtvBoSP0BBhS5aCZy+TkyO8S28q8Hoc5I=";
}; };
cargoHash = "sha256-Kd7roUUfXfWlV6IHpu20f0VPoZWmGOPAJjELNqVS3b8="; cargoHash = "sha256-efVhaL1yUEpOgNZ4Bog1OB37lT1yQHJVE9M938jnGeE=";
nativeBuildInputs = [ nativeBuildInputs = [
pkg-config pkg-config

View File

@ -2,18 +2,18 @@
buildGoModule rec { buildGoModule rec {
pname = "sqldef"; pname = "sqldef";
version = "0.17.5"; version = "0.17.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "k0kubun"; owner = "k0kubun";
repo = "sqldef"; repo = "sqldef";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-iEQHrGGXfN/id4aV96MN6WKUl5XGL17u8mlPJKc6cvg="; hash = "sha256-VgPc78xhafRlEUfNMKiYDyWqZVtYDkqwVDQ3BG9r70w=";
}; };
proxyVendor = true; proxyVendor = true;
vendorHash = "sha256-8fKJxnjLIWzWsLx/p9tRb/un63/QgJJzMb4/Y4DSZdY="; vendorHash = "sha256-YmjQj116egYhcpJ9Vps1d30bfCY6pAu/mA9MEzXVJb8=";
ldflags = [ "-s" "-w" "-X main.version=${version}" ]; ldflags = [ "-s" "-w" "-X main.version=${version}" ];

View File

@ -6,16 +6,16 @@
buildGoModule rec { buildGoModule rec {
pname = "unpoller"; pname = "unpoller";
version = "2.11.1"; version = "2.11.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "unpoller"; owner = "unpoller";
repo = "unpoller"; repo = "unpoller";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-ZCNXwq0kSfXOqF7QktHg1Yw7gqUXkccCgLIs7GTZnuw="; hash = "sha256-/X2hCtF38X0twHsHSjpf23Mdz9aK43z3jhWbfkUo0kQ=";
}; };
vendorHash = "sha256-VK0ekEBHn0O41MgxhuPzueF6FazKiipL0OQRVPco3uk="; vendorHash = "sha256-d7kkdiGMT3bN1dfNo8m+zp3VY8kaZM2BWO3B3iAdUQY=";
ldflags = [ ldflags = [
"-w" "-s" "-w" "-s"

View File

@ -6,16 +6,16 @@
buildGoModule rec { buildGoModule rec {
pname = "pocketbase"; pname = "pocketbase";
version = "0.22.8"; version = "0.22.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pocketbase"; owner = "pocketbase";
repo = "pocketbase"; repo = "pocketbase";
rev = "v${version}"; 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 # This is the released subpackage from upstream repo
subPackages = [ "examples/base" ]; subPackages = [ "examples/base" ];

View File

@ -6,18 +6,23 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "markdown-anki-decks"; pname = "markdown-anki-decks";
version = "1.1.1"; version = "1.1.1";
format = "pyproject"; pyproject = true;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-SvKjjE629OwxWsPo2egGf2K6GzlWAYYStarHhA4Ex0w="; 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 poetry-core
]; ];
propagatedBuildInputs = with python3.pkgs; [ dependencies = with python3.pkgs; [
beautifulsoup4 beautifulsoup4
genanki genanki
markdown markdown
@ -25,11 +30,6 @@ python3.pkgs.buildPythonApplication rec {
typer typer
] ++ typer.optional-dependencies.all; ] ++ 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. # No tests available on Pypi and there is only a failing version assertion test in the repo.
doCheck = false; doCheck = false;
@ -40,6 +40,7 @@ python3.pkgs.buildPythonApplication rec {
meta = with lib; { meta = with lib; {
description = "Tool to convert Markdown files into Anki Decks"; description = "Tool to convert Markdown files into Anki Decks";
homepage = "https://github.com/lukesmurray/markdown-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; license = licenses.mit;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "pspg"; pname = "pspg";
version = "5.8.3"; version = "5.8.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "okbob"; owner = "okbob";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-qLB0HJXH99t/rfsbed3NHgcy8ZGB4K+HjPjhCZ0pM6Q="; sha256 = "sha256-VTg+GDyPAxyxXP9VgKi63LhBKhuVx6rPWc9o/fRmHho=";
}; };
nativeBuildInputs = [ pkg-config installShellFiles ]; nativeBuildInputs = [ pkg-config installShellFiles ];

View File

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "dnsproxy"; pname = "dnsproxy";
version = "0.67.0"; version = "0.70.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AdguardTeam"; owner = "AdguardTeam";
repo = "dnsproxy"; repo = "dnsproxy";
rev = "v${version}"; 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}" ]; ldflags = [ "-s" "-w" "-X" "github.com/AdguardTeam/dnsproxy/internal/version.version=${version}" ];

View File

@ -4,13 +4,13 @@
}: }:
buildGoModule rec { buildGoModule rec {
pname = "juicity"; pname = "juicity";
version = "0.4.1"; version = "0.4.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "juicity"; owner = "juicity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
hash = "sha256-rwGtAystB9rUE2jVij4YdBr4T8bVlVLtNaBmSZQ/39A="; hash = "sha256-JC4VGM7aY+fYo0F9yAkgTbZA56ztyeoIx9PARlBjkh4=";
}; };
vendorHash = "sha256-SM5ZrTtuqenPsGjphkCM9JHzucw0/qBmevD+3/kyF6k="; vendorHash = "sha256-SM5ZrTtuqenPsGjphkCM9JHzucw0/qBmevD+3/kyF6k=";

View File

@ -1,7 +1,7 @@
{ callPackage, lib, stdenv, fetchurl, jre, makeWrapper }: { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
let this = stdenv.mkDerivation (finalAttrs: { let this = stdenv.mkDerivation (finalAttrs: {
version = "7.4.0"; version = "7.5.0";
pname = "openapi-generator-cli"; pname = "openapi-generator-cli";
jarfilename = "${finalAttrs.pname}-${finalAttrs.version}.jar"; jarfilename = "${finalAttrs.pname}-${finalAttrs.version}.jar";
@ -12,7 +12,7 @@ let this = stdenv.mkDerivation (finalAttrs: {
src = fetchurl { src = fetchurl {
url = "mirror://maven/org/openapitools/${finalAttrs.pname}/${finalAttrs.version}/${finalAttrs.jarfilename}"; 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; dontUnpack = true;

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "exploitdb"; pname = "exploitdb";
version = "2024-04-16"; version = "2024-04-20";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "exploit-database"; owner = "exploit-database";
repo = "exploitdb"; repo = "exploitdb";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-ExtWNve7YGkr6JHjzw39FJZwSNFLEJNurEn5uWwSlbY="; hash = "sha256-mz82w3maizWnaWcBqMFYgCNN9uwhSgo9D4j+XCvZDW0=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View File

@ -1,26 +1,25 @@
{ lib {
, stdenv lib,
, fetchFromGitHub stdenv,
, python3 fetchFromGitHub,
python3,
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "keepwn"; pname = "keepwn";
version = "0.3"; version = "0.4";
pyproject = true; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Orange-Cyberdefense"; owner = "Orange-Cyberdefense";
repo = "KeePwn"; repo = "KeePwn";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-haKWuoTtyC9vIise+gznruHEwMIDz1W6euihLLKnSdc="; hash = "sha256-AkqBC65XrMt4V5KgzLepnQoqpdvbrtWLY3DmVuy8Zck=";
}; };
nativeBuildInputs = with python3.pkgs; [ build-system = with python3.pkgs; [ setuptools ];
setuptools
];
propagatedBuildInputs = with python3.pkgs; [ dependencies = with python3.pkgs; [
chardet chardet
impacket impacket
lxml lxml
@ -37,16 +36,14 @@ python3.pkgs.buildPythonApplication rec {
# Project has no tests # Project has no tests
doCheck = false; doCheck = false;
pythonImportsCheck = [ pythonImportsCheck = [ "keepwn" ];
"keepwn"
];
meta = with lib; { meta = with lib; {
description = "Tool to automate KeePass discovery and secret extraction"; description = "Tool to automate KeePass discovery and secret extraction";
mainProgram = "keepwn";
homepage = "https://github.com/Orange-Cyberdefense/KeePwn"; homepage = "https://github.com/Orange-Cyberdefense/KeePwn";
changelog = "https://github.com/Orange-Cyberdefense/KeePwn/releases/tag/${version}"; changelog = "https://github.com/Orange-Cyberdefense/KeePwn/releases/tag/${version}";
license = licenses.gpl3Only; license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
mainProgram = "keepwn";
}; };
} }

View File

@ -1,4 +1,4 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" 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"

View File

@ -1,9 +1,9 @@
GIT GIT
remote: https://github.com/rapid7/metasploit-framework remote: https://github.com/rapid7/metasploit-framework
revision: 3855e135a14eec07e12f3d26416713a691b3c149 revision: 6dfd13e04c9e9763b485a5b7d6e85d97632a8edf
ref: refs/tags/6.4.3 ref: refs/tags/6.4.5
specs: specs:
metasploit-framework (6.4.3) metasploit-framework (6.4.5)
actionpack (~> 7.0.0) actionpack (~> 7.0.0)
activerecord (~> 7.0.0) activerecord (~> 7.0.0)
activesupport (~> 7.0.0) activesupport (~> 7.0.0)
@ -135,29 +135,29 @@ GEM
arel-helpers (2.14.0) arel-helpers (2.14.0)
activerecord (>= 3.1.0, < 8) activerecord (>= 3.1.0, < 8)
aws-eventstream (1.3.0) aws-eventstream (1.3.0)
aws-partitions (1.895.0) aws-partitions (1.916.0)
aws-sdk-core (3.191.3) aws-sdk-core (3.192.1)
aws-eventstream (~> 1, >= 1.3.0) aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0) aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8) aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1) 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-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-ec2instanceconnect (1.37.0) aws-sdk-ec2instanceconnect (1.38.0)
aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-iam (1.94.0) aws-sdk-iam (1.96.0)
aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-kms (1.77.0) aws-sdk-kms (1.79.0)
aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.143.0) aws-sdk-s3 (1.147.0)
aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-core (~> 3, >= 3.192.0)
aws-sdk-kms (~> 1) aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.8) aws-sigv4 (~> 1.8)
aws-sdk-ssm (1.165.0) aws-sdk-ssm (1.166.0)
aws-sdk-core (~> 3, >= 3.191.0) aws-sdk-core (~> 3, >= 3.191.0)
aws-sigv4 (~> 1.1) aws-sigv4 (~> 1.1)
aws-sigv4 (1.8.0) aws-sigv4 (1.8.0)
@ -165,7 +165,7 @@ GEM
base64 (0.2.0) base64 (0.2.0)
bcrypt (3.1.20) bcrypt (3.1.20)
bcrypt_pbkdf (1.1.0) bcrypt_pbkdf (1.1.0)
bigdecimal (3.1.6) bigdecimal (3.1.7)
bindata (2.4.15) bindata (2.4.15)
bootsnap (1.18.3) bootsnap (1.18.3)
msgpack (~> 1.2) msgpack (~> 1.2)
@ -177,7 +177,7 @@ GEM
crass (1.0.6) crass (1.0.6)
daemons (1.4.1) daemons (1.4.1)
date (3.3.4) date (3.3.4)
dnsruby (1.70.0) dnsruby (1.72.1)
simpleidn (~> 0.2.1) simpleidn (~> 0.2.1)
domain_name (0.6.20240107) domain_name (0.6.20240107)
ed25519 (1.3.0) ed25519 (1.3.0)
@ -191,13 +191,13 @@ GEM
eventmachine (>= 1.0.0.beta.4) eventmachine (>= 1.0.0.beta.4)
erubi (1.12.0) erubi (1.12.0)
eventmachine (1.2.7) eventmachine (1.2.7)
faker (3.2.3) faker (3.3.1)
i18n (>= 1.8.11, < 2) i18n (>= 1.8.11, < 2)
faraday (2.9.0) faraday (2.9.0)
faraday-net_http (>= 2.0, < 3.2) faraday-net_http (>= 2.0, < 3.2)
faraday-net_http (3.1.0) faraday-net_http (3.1.0)
net-http net-http
faraday-retry (2.2.0) faraday-retry (2.2.1)
faraday (~> 2.0) faraday (~> 2.0)
faye-websocket (0.11.3) faye-websocket (0.11.3)
eventmachine (>= 0.12.0) eventmachine (>= 0.12.0)
@ -218,7 +218,7 @@ GEM
domain_name (~> 0.5) domain_name (~> 0.5)
http_parser.rb (0.8.0) http_parser.rb (0.8.0)
httpclient (2.8.3) httpclient (2.8.3)
i18n (1.14.1) i18n (1.14.4)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
io-console (0.7.2) io-console (0.7.2)
irb (1.7.4) irb (1.7.4)
@ -226,7 +226,7 @@ GEM
jmespath (1.6.2) jmespath (1.6.2)
jsobfu (0.4.2) jsobfu (0.4.2)
rkelly-remix rkelly-remix
json (2.7.1) json (2.7.2)
little-plugger (1.1.4) little-plugger (1.1.4)
logging (2.3.1) logging (2.3.1)
little-plugger (~> 1.1) little-plugger (~> 1.1)
@ -240,7 +240,7 @@ GEM
activesupport (~> 7.0) activesupport (~> 7.0)
railties (~> 7.0) railties (~> 7.0)
zeitwerk zeitwerk
metasploit-credential (6.0.8) metasploit-credential (6.0.9)
metasploit-concern metasploit-concern
metasploit-model metasploit-model
metasploit_data_models (>= 5.0.0) metasploit_data_models (>= 5.0.0)
@ -266,9 +266,9 @@ GEM
recog recog
webrick webrick
metasploit_payloads-mettle (1.0.26) metasploit_payloads-mettle (1.0.26)
method_source (1.0.0) method_source (1.1.0)
mini_portile2 (2.8.5) mini_portile2 (2.8.6)
minitest (5.22.2) minitest (5.22.3)
mqtt (0.6.0) mqtt (0.6.0)
msgpack (1.6.1) msgpack (1.6.1)
multi_json (1.15.0) multi_json (1.15.0)
@ -283,12 +283,12 @@ GEM
net-ldap (0.19.0) net-ldap (0.19.0)
net-protocol (0.2.2) net-protocol (0.2.2)
timeout timeout
net-smtp (0.4.0.1) net-smtp (0.5.0)
net-protocol net-protocol
net-ssh (7.2.1) net-ssh (7.2.3)
network_interface (0.0.4) network_interface (0.0.4)
nexpose (7.3.0) nexpose (7.3.0)
nio4r (2.7.0) nio4r (2.7.1)
nokogiri (1.14.5) nokogiri (1.14.5)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
racc (~> 1.4) racc (~> 1.4)
@ -311,11 +311,11 @@ GEM
ruby-rc4 ruby-rc4
ttfunk ttfunk
pg (1.5.6) pg (1.5.6)
public_suffix (5.0.4) public_suffix (5.0.5)
puma (6.4.2) puma (6.4.2)
nio4r (~> 2.0) nio4r (~> 2.0)
racc (1.7.3) racc (1.7.3)
rack (2.2.8.1) rack (2.2.9)
rack-protection (3.2.0) rack-protection (3.2.0)
base64 (>= 0.1.0) base64 (>= 0.1.0)
rack (~> 2.2, >= 2.2.4) rack (~> 2.2, >= 2.2.4)
@ -335,14 +335,14 @@ GEM
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
zeitwerk (~> 2.5) zeitwerk (~> 2.5)
rake (13.1.0) rake (13.2.1)
rasn1 (0.13.0) rasn1 (0.13.0)
strptime (~> 0.2.5) strptime (~> 0.2.5)
rb-readline (0.5.5) rb-readline (0.5.5)
recog (3.1.4) recog (3.1.5)
nokogiri nokogiri
redcarpet (3.6.0) redcarpet (3.6.0)
reline (0.4.3) reline (0.5.2)
io-console (~> 0.5) io-console (~> 0.5)
rex-arch (0.1.15) rex-arch (0.1.15)
rex-text rex-text
@ -382,14 +382,14 @@ GEM
metasm metasm
rex-core rex-core
rex-text rex-text
rex-socket (0.1.56) rex-socket (0.1.57)
rex-core rex-core
rex-sslscan (0.1.10) rex-sslscan (0.1.10)
rex-core rex-core
rex-socket rex-socket
rex-text rex-text
rex-struct2 (0.1.4) rex-struct2 (0.1.4)
rex-text (0.2.56) rex-text (0.2.57)
rex-zip (0.1.5) rex-zip (0.1.5)
rex-text rex-text
rexml (3.2.6) rexml (3.2.6)
@ -398,7 +398,7 @@ GEM
ruby-mysql (4.1.0) ruby-mysql (4.1.0)
ruby-rc4 (0.1.5) ruby-rc4 (0.1.5)
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
ruby_smb (3.3.4) ruby_smb (3.3.5)
bindata (= 2.4.15) bindata (= 2.4.15)
openssl-ccm openssl-ccm
openssl-cmac openssl-cmac
@ -416,7 +416,7 @@ GEM
rack (~> 2.2, >= 2.2.4) rack (~> 2.2, >= 2.2.4)
rack-protection (= 3.2.0) rack-protection (= 3.2.0)
tilt (~> 2.0) tilt (~> 2.0)
sqlite3 (1.7.2) sqlite3 (2.0.0)
mini_portile2 (~> 2.8.0) mini_portile2 (~> 2.8.0)
sshkey (3.0.0) sshkey (3.0.0)
strptime (0.2.5) strptime (0.2.5)
@ -428,7 +428,8 @@ GEM
thor (1.3.1) thor (1.3.1)
tilt (2.3.0) tilt (2.3.0)
timeout (0.4.1) timeout (0.4.1)
ttfunk (1.7.0) ttfunk (1.8.0)
bigdecimal (~> 3.1)
tzinfo (2.0.6) tzinfo (2.0.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
tzinfo-data (1.2024.1) tzinfo-data (1.2024.1)
@ -469,4 +470,4 @@ DEPENDENCIES
metasploit-framework! metasploit-framework!
BUNDLED WITH BUNDLED WITH
2.5.6 2.4.13

View File

@ -15,13 +15,13 @@ let
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "metasploit-framework"; pname = "metasploit-framework";
version = "6.4.3"; version = "6.4.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rapid7"; owner = "rapid7";
repo = "metasploit-framework"; repo = "metasploit-framework";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-3FCTKiZ9vTmguGXRrfWGlUVVEKrV8uWMPeSF9zRz+UE="; hash = "sha256-KmELKjbWjhHmyj8IlL5U2yNHwtpc8qX5ZAT1PcIJOd8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -104,80 +104,80 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "018hh97dcj3nd80jb1cf63fxk6h8gc4rrq118bv9npnw5ahd5pv8"; sha256 = "1gilrh9fb1576xm2ah0l6d33qkiabz55zpq004qqia9xavl43ylz";
type = "gem"; type = "gem";
}; };
version = "1.895.0"; version = "1.916.0";
}; };
aws-sdk-core = { aws-sdk-core = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "088nq8yz9n4p7pnhjwp9nbxlkj7jwchpkzvnl4nybfb1dkvk4dns"; sha256 = "1hp8rxk9wl3kmb7xabcz5hbcv7kzsvsx0wyib2fsg9d42kz149n0";
type = "gem"; type = "gem";
}; };
version = "3.191.3"; version = "3.192.1";
}; };
aws-sdk-ec2 = { aws-sdk-ec2 = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1kcsfkpfqx96ax1slvl4lq61cdasaki6hddi22ja1zyc1ak4x9dg"; sha256 = "101jjqf912jwca119v86i4inlkf2gldmmhgdm2rdk5hqrwl4yrf4";
type = "gem"; type = "gem";
}; };
version = "1.440.0"; version = "1.450.0";
}; };
aws-sdk-ec2instanceconnect = { aws-sdk-ec2instanceconnect = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0hd4xdhf6b2bvfb4h9fc0c96vwz30cmdhra3r7zpdllhz7d1hh5q"; sha256 = "1mhqk2s8klp8djibrhgmh9lz9nr4rh1yy7y6c86if55r07i1912c";
type = "gem"; type = "gem";
}; };
version = "1.37.0"; version = "1.38.0";
}; };
aws-sdk-iam = { aws-sdk-iam = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ymb6lnkmhi98lwk402msanr7i012k82pvspd2rd66aq0vdql9rd"; sha256 = "0zcvkal9ahwr84pz1cb3y9ylx3f74m4kgs4n160dfzf51b8m917l";
type = "gem"; type = "gem";
}; };
version = "1.94.0"; version = "1.96.0";
}; };
aws-sdk-kms = { aws-sdk-kms = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1gbxms3daszl4mk89swjrpq3fqgm9lg0wl65yjfp0nfz8jm4jyqf"; sha256 = "1cb0006xf5isq5drdwkvd6xz20886x3rzcj5qyly7g8gql5lc8aw";
type = "gem"; type = "gem";
}; };
version = "1.77.0"; version = "1.79.0";
}; };
aws-sdk-s3 = { aws-sdk-s3 = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1safbxycz517m2v981z8kbmdiqx9jypl093ia0mcrskkgh4fyb3s"; sha256 = "0ibw2v56k8v2sw92cyliprq1xxfyavnd60yl6ach3f4qbp156xrn";
type = "gem"; type = "gem";
}; };
version = "1.143.0"; version = "1.147.0";
}; };
aws-sdk-ssm = { aws-sdk-ssm = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1wbizrm7spkwx6rnwmwbxyg16mpkn3hllxz8aj7v2dlplzkwksb6"; sha256 = "0drad0zka0kjayiy971vcl5dfp6j37wgga4xncya8w8xsrknh9s8";
type = "gem"; type = "gem";
}; };
version = "1.165.0"; version = "1.166.0";
}; };
aws-sigv4 = { aws-sigv4 = {
groups = ["default"]; groups = ["default"];
@ -224,10 +224,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "00db5v09k1z3539g1zrk7vkjrln9967k08adh6qx33ng97a2gg5w"; sha256 = "0cq1c29zbkcxgdihqisirhcw76xc768z2zpd5vbccpq0l1lv76g7";
type = "gem"; type = "gem";
}; };
version = "3.1.6"; version = "3.1.7";
}; };
bindata = { bindata = {
groups = ["default"]; groups = ["default"];
@ -334,10 +334,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "17bjlic4ac9980vas3pgnhi5lkisq28vd730bhcg8jdh8xcp6r48"; sha256 = "1qpa5d8i6ay25grwb9d6x47jdn5c8vykhg02m8rgpmc3hci4mbsb";
type = "gem"; type = "gem";
}; };
version = "1.70.0"; version = "1.72.1";
}; };
domain_name = { domain_name = {
groups = ["default"]; groups = ["default"];
@ -404,10 +404,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1rrwh78515yqljh09wjxfsb64siqd8qgp4hv57syajhza5x8vbzz"; sha256 = "0isxcqv4xkw7hrdf89mga6zsi4alban16xyw84bkqvbsr859nax4";
type = "gem"; type = "gem";
}; };
version = "3.2.3"; version = "3.3.1";
}; };
faraday = { faraday = {
groups = ["default"]; groups = ["default"];
@ -434,10 +434,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ia19zgni6cw96rvsr0s004vjs9m2r6la4s00zcff36xaia4m0l0"; sha256 = "023ncwlagnf2irx2ckyj1pg1f1x436jgr4a5y45mih298p8zwij1";
type = "gem"; type = "gem";
}; };
version = "2.2.0"; version = "2.2.1";
}; };
faye-websocket = { faye-websocket = {
groups = ["default"]; groups = ["default"];
@ -554,10 +554,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0qaamqsh5f3szhcakkak8ikxlzxqnv49n2p7504hcz2l0f4nj0wx"; sha256 = "0lbm33fpb3w06wd2231sg58dwlwgjsvym93m548ajvl6s3mfvpn7";
type = "gem"; type = "gem";
}; };
version = "1.14.1"; version = "1.14.4";
}; };
io-console = { io-console = {
groups = ["default"]; groups = ["default"];
@ -604,10 +604,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0r9jmjhg2ly3l736flk7r2al47b5c8cayh0gqkq0yhjqzc9a6zhq"; sha256 = "0b4qsi8gay7ncmigr0pnbxyb17y3h8kavdyhsh7nrlqwr35vb60q";
type = "gem"; type = "gem";
}; };
version = "2.7.1"; version = "2.7.2";
}; };
little-plugger = { little-plugger = {
groups = ["default"]; groups = ["default"];
@ -664,22 +664,22 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0v1bylci121psqg669lgxpp6d965m4xxmg1djvmy0srcys8dvp5n"; sha256 = "06zkgwwhzmazi263l61zwml6mkbyjkwc4lshalm9rbhj3agnsm22";
type = "gem"; type = "gem";
}; };
version = "6.0.8"; version = "6.0.9";
}; };
metasploit-framework = { metasploit-framework = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
fetchSubmodules = false; fetchSubmodules = false;
rev = "3855e135a14eec07e12f3d26416713a691b3c149"; rev = "6dfd13e04c9e9763b485a5b7d6e85d97632a8edf";
sha256 = "0hgrfcsgg1g47n6fbwnmm885aicmhvssvlb5p2h3kgbx4qm96l6w"; sha256 = "1prr1713vx84ckwsbwjwvb14f8yvajz9821zrbk133nn6qm0nq9a";
type = "git"; type = "git";
url = "https://github.com/rapid7/metasploit-framework"; url = "https://github.com/rapid7/metasploit-framework";
}; };
version = "6.4.3"; version = "6.4.5";
}; };
metasploit-model = { metasploit-model = {
groups = ["default"]; groups = ["default"];
@ -726,30 +726,30 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1pnyh44qycnf9mzi1j6fywd5fkskv3x7nmsqrrws0rjn5dd4ayfp"; sha256 = "1igmc3sq9ay90f8xjvfnswd1dybj1s3fi0dwd53inwsvqk4h24qq";
type = "gem"; type = "gem";
}; };
version = "1.0.0"; version = "1.1.0";
}; };
mini_portile2 = { mini_portile2 = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1kl9c3kdchjabrihdqfmcplk3lq4cw1rr9f378y6q22qwy5dndvs"; sha256 = "149r94xi6b3jbp6bv72f8383b95ndn0p5sxnq11gs1j9jadv0ajf";
type = "gem"; type = "gem";
}; };
version = "2.8.5"; version = "2.8.6";
}; };
minitest = { minitest = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0667vf0zglacry87nkcl3ns8421aydvz71vfa3g3yjhiq8zh19f5"; sha256 = "07lq26b86giy3ha3fhrywk9r1ajhc2pm2mzj657jnpnbj1i6g17a";
type = "gem"; type = "gem";
}; };
version = "5.22.2"; version = "5.22.3";
}; };
mqtt = { mqtt = {
groups = ["default"]; groups = ["default"];
@ -846,20 +846,20 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0csspzqrg7s2v2wdp6vqqs1rra6w5ilpgnps5h52ig6rp7x2i389"; sha256 = "0amlhz8fhnjfmsiqcjajip57ici2xhw089x7zqyhpk51drg43h2z";
type = "gem"; type = "gem";
}; };
version = "0.4.0.1"; version = "0.5.0";
}; };
net-ssh = { net-ssh = {
groups = ["default"]; groups = ["default"];
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1i01340c4i144vvn3x54lc2rb77ch829qipl1rh6rqwm3yxzml9w"; sha256 = "0sqbq5aks9xxnldbd2hy20ypnd59zcra98ql0r7jjc26s5rgc18n";
type = "gem"; type = "gem";
}; };
version = "7.2.1"; version = "7.2.3";
}; };
network_interface = { network_interface = {
groups = ["default"]; groups = ["default"];
@ -886,10 +886,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0xkjz56qc7hl7zy7i7bhiyw5pl85wwjsa4p70rj6s958xj2sd1lm"; sha256 = "15iwbiij52x6jhdbl0rkcldnhfndmsy0sbnsygkr9vhskfqrp72m";
type = "gem"; type = "gem";
}; };
version = "2.7.0"; version = "2.7.1";
}; };
nokogiri = { nokogiri = {
dependencies = ["mini_portile2" "racc"]; dependencies = ["mini_portile2" "racc"];
@ -1007,10 +1007,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1bni4qjrsh2q49pnmmd6if4iv3ak36bd2cckrs6npl111n769k9m"; sha256 = "14y4vzjwf5gp0mqgs880kis0k7n2biq8i6ci6q2n315kichl1hvj";
type = "gem"; type = "gem";
}; };
version = "5.0.4"; version = "5.0.5";
}; };
puma = { puma = {
groups = ["default"]; groups = ["default"];
@ -1037,10 +1037,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "10mpk0hl6hnv324fp1pfimi2nw9acj0z4gyhrph36qg84pk1s4m7"; sha256 = "0hj0rkw2z9r1lcg2wlrcld2n3phwrcgqcp7qd1g9a7hwgalh2qzx";
type = "gem"; type = "gem";
}; };
version = "2.2.8.1"; version = "2.2.9";
}; };
rack-protection = { rack-protection = {
groups = ["default"]; groups = ["default"];
@ -1097,10 +1097,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1ilr853hawi09626axx0mps4rkkmxcs54mapz9jnqvpnlwd3wsmy"; sha256 = "17850wcwkgi30p7yqh60960ypn7yibacjjha0av78zaxwvd3ijs6";
type = "gem"; type = "gem";
}; };
version = "13.1.0"; version = "13.2.1";
}; };
rasn1 = { rasn1 = {
groups = ["default"]; groups = ["default"];
@ -1127,10 +1127,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1a9m9ngmcgvgzg8m8ahdhjvfm65k6hp8r7dqmrsh3zcphim4x71k"; sha256 = "179h412g435dwzzswma0incss8mhw4qgcabbhyij1fbc9ch1y1zx";
type = "gem"; type = "gem";
}; };
version = "3.1.4"; version = "3.1.5";
}; };
redcarpet = { redcarpet = {
groups = ["default"]; groups = ["default"];
@ -1147,10 +1147,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1zx7sdh11p4z77c3f9ka6f065mgl6xwbamnsq4rrgwk310qhn41n"; sha256 = "0xwf7i2kvgaxbpdqqkncv9dpfhlj55shig4sdzgy7kgbfj09mm03";
type = "gem"; type = "gem";
}; };
version = "0.4.3"; version = "0.5.2";
}; };
rex-arch = { rex-arch = {
groups = ["default"]; groups = ["default"];
@ -1287,10 +1287,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0vd9gfhyplwg2y55jk1c6nfsin733dy831x8zx78cp2lxp07s0p7"; sha256 = "1qmj5pya6ssghi3dfdmrykkbazhqlhq86ahwijdvrfr2q3g76p86";
type = "gem"; type = "gem";
}; };
version = "0.1.56"; version = "0.1.57";
}; };
rex-sslscan = { rex-sslscan = {
groups = ["default"]; groups = ["default"];
@ -1317,10 +1317,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "108x7k7x0ghc1zzqwbmja1f81b1wnllpda2rzbkws9ckvqx0cayf"; sha256 = "08wrqy8sgncsn6kcplw7bl6c2bmyj9fza7x77wrlwh1gza7pcjk4";
type = "gem"; type = "gem";
}; };
version = "0.2.56"; version = "0.2.57";
}; };
rex-zip = { rex-zip = {
groups = ["default"]; groups = ["default"];
@ -1397,10 +1397,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0wcbglknz86qf7sbsns84a35a0vvfn9cn1cbhf9ycjwh6nqxhcim"; sha256 = "0fwk5hqaph37apa5zf1mg2n2wd5lkz3sgwl0f4ndhkv1vfxbb2ys";
type = "gem"; type = "gem";
}; };
version = "3.3.4"; version = "3.3.5";
}; };
rubyntlm = { rubyntlm = {
groups = ["default"]; groups = ["default"];
@ -1457,10 +1457,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "137xkh8jnk3xyajvzmn2390yzs13hnb37jylr0sm02d3zrshf18n"; sha256 = "01sfiwn60czgpabfr7xq8dk3qkc17ai3z7d4yfwanq1zw6mf927n";
type = "gem"; type = "gem";
}; };
version = "1.7.2"; version = "2.0.0";
}; };
sshkey = { sshkey = {
groups = ["default"]; groups = ["default"];
@ -1537,10 +1537,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "15iaxz9iak5643bq2bc0jkbjv8w2zn649lxgvh5wg48q9d4blw13"; sha256 = "1ji0kn8jkf1rpskv3ijzxvqwixg4p6sk8kg0vmwyjinci7jcgjx7";
type = "gem"; type = "gem";
}; };
version = "1.7.0"; version = "1.8.0";
}; };
tzinfo = { tzinfo = {
groups = ["default"]; groups = ["default"];

View File

@ -1,26 +1,33 @@
{ lib {
, buildGoModule lib,
, fetchFromGitHub buildGoModule,
fetchFromGitHub,
}: }:
buildGoModule rec { buildGoModule rec {
pname = "pwdsafety"; pname = "pwdsafety";
version = "0.3"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "edoardottt"; owner = "edoardottt";
repo = pname; repo = "pwdsafety";
rev = "v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-ryMLiehJVZhQ3ZQf4/g7ILeJri78A6z5jfell0pD9E8="; hash = "sha256-cKxTcfNjvwcDEw0Z1b50A4u0DUYXlGMMfGWJLPaSkcw=";
}; };
vendorHash = "sha256-b+tWTQUyYDzY2O28hwy5vI6b6S889TCiVh7hQhw/KAc="; vendorHash = "sha256-RoRq9JZ8lOMtAluz8TB2RRuDEWFOBtWVhz21aTkXXy4=";
ldflags = [
"-w"
"-s"
];
meta = with lib; { meta = with lib; {
description = "Command line tool checking password safety"; description = "Command line tool checking password safety";
mainProgram = "cmd";
homepage = "https://github.com/edoardottt/pwdsafety"; homepage = "https://github.com/edoardottt/pwdsafety";
changelog = "https://github.com/edoardottt/pwdsafety/releases/tag/v${version}";
license = with licenses; [ gpl3Plus ]; license = with licenses; [ gpl3Plus ];
maintainers = with maintainers; [ fab ]; maintainers = with maintainers; [ fab ];
mainProgram = "pwdsafety";
}; };
} }

View File

@ -25239,6 +25239,10 @@ with pkgs;
zig_0_11 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.11.nix { zig_0_11 = darwin.apple_sdk_11_0.callPackage ../development/compilers/zig/0.11.nix {
llvmPackages = llvmPackages_16; 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 = zig_0_11;
zig-shell-completions = callPackage ../development/compilers/zig/shell-completions.nix { }; zig-shell-completions = callPackage ../development/compilers/zig/shell-completions.nix { };

View File

@ -34,9 +34,6 @@ pkgs.releaseTools.sourceTarball {
requiredSystemFeatures = [ "big-parallel" ]; # 1 thread but ~36G RAM (!) see #227945 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; dontBuild = false;
doCheck = true; doCheck = true;

View File

@ -1,9 +1,9 @@
{ supportedSystems, nixpkgs, pkgs, nix }: { supportedSystems, nixpkgs, pkgs }:
pkgs.runCommand "nixpkgs-release-checks" pkgs.runCommand "nixpkgs-release-checks"
{ {
src = nixpkgs; src = nixpkgs;
buildInputs = [ nix ]; buildInputs = [ pkgs.nix ];
requiredSystemFeatures = [ "big-parallel" ]; # 1 thread but ~10G RAM; see #227945 requiredSystemFeatures = [ "big-parallel" ]; # 1 thread but ~10G RAM; see #227945
} }
'' ''

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