Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-06-07 00:49:05 +00:00
committed by GitHub
108 changed files with 2661 additions and 2355 deletions
+1 -1
View File
@@ -97,7 +97,7 @@ function hasMergeCommand(body) {
return (body ?? '')
.replace(/<!--.*?-->/gms, '')
.replace(/(^`{3,})[^`].*?\1/gms, '')
.match(/^@NixOS\/nixpkgs-merge-bot merge\s*$/m)
.match(/^@NixOS\/nixpkgs-merge-bot merge\s*$/im)
}
async function handleMergeComment({ github, body, node_id, reaction }) {
+11
View File
@@ -10656,6 +10656,11 @@
githubId = 147689;
name = "Hans-Christian Esperer";
};
hchokshi = {
github = "hchokshi";
githubId = 10136407;
name = "Harsh Chokshi";
};
hdhog = {
name = "Serg Larchenko";
email = "hdhog@hdhog.ru";
@@ -20975,6 +20980,12 @@
githubId = 5948762;
name = "Berk Özkütük";
};
ozturkkl = {
email = "97kemalozturk@gmail.com";
github = "ozturkkl";
githubId = 51798197;
name = "Kemal Ozturk";
};
ozwaldorf = {
email = "self@ossian.dev";
github = "ozwaldorf";
+1
View File
@@ -668,6 +668,7 @@
./services/hardware/dell-bios-fan-control.nix
./services/hardware/display.nix
./services/hardware/fancontrol.nix
./services/hardware/framework-control.nix
./services/hardware/freefall.nix
./services/hardware/fwupd.nix
./services/hardware/g810-led.nix
@@ -0,0 +1,48 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.framework-control;
in
{
meta.maintainers = [ lib.maintainers.ozturkkl ];
options.services.framework-control = {
enable = lib.mkEnableOption "Framework Control device hardware service";
package = lib.mkPackageOption pkgs "framework-control" { };
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.services.framework-control = {
description = "Framework Control Service";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
# framework-control shells out to framework_tool at runtime for hardware access
path = [ pkgs.framework-tool ];
serviceConfig = {
Type = "simple";
ExecStart = lib.getExe cfg.package;
Restart = "on-failure";
RestartSec = "5s";
NoNewPrivileges = true;
PrivateTmp = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
LockPersonality = true;
RestrictRealtime = true;
RestrictNamespaces = true;
SystemCallArchitectures = "native";
};
};
};
}
+17 -3
View File
@@ -202,8 +202,8 @@ in
systemd = {
packages = [ cfg.package ];
# fwupd-refresh expects a user that we do not create, so just run with DynamicUser
# instead and ensure we take ownership of /var/lib/fwupd
# The upstream unit runs as User=fwupd-refresh; ensure it can take
# ownership of /var/lib/fwupd.
services.fwupd-refresh.serviceConfig = {
StateDirectory = "fwupd";
# Better for debugging, upstream sets stderr to null for some reason..
@@ -219,7 +219,21 @@ in
};
users.groups.fwupd-refresh = { };
security.polkit.enable = true;
security.polkit = {
enable = true;
# fwupd-refresh.service has no seat, so polkit denies these actions.
# Upstream's TrustedUids needs a static uid which we only allocate at
# activation time, so grant access via a rule on the user name instead.
extraConfig = ''
polkit.addRule(function(action, subject) {
if ((action.id == "org.freedesktop.fwupd.get-remotes" ||
action.id == "org.freedesktop.fwupd.refresh-remote") &&
subject.user == "fwupd-refresh") {
return polkit.Result.YES;
}
});
'';
};
};
meta = {
@@ -62,6 +62,7 @@ let
"domain"
"dovecot"
"ebpf"
"elasticsearch"
"fail2ban"
"fastly"
"flow"
@@ -0,0 +1,62 @@
{
config,
lib,
pkgs,
utils,
...
}:
let
inherit (lib)
mkIf
mkOption
types
;
inherit (utils) escapeSystemdExecArgs;
cfg = config.services.prometheus.exporters.elasticsearch;
in
{
port = 9114;
extraOpts = {
package = lib.mkPackageOption pkgs "prometheus-elasticsearch-exporter" { };
url = mkOption {
type = types.str;
default = "http://localhost:9200";
example = "https://localhost:9200";
description = ''
URI of the Elasticsearch (or OpenSearch) node to scrape, passed as
`--es.uri`. Any credentials embedded here are overridden by the
`ES_USERNAME`/`ES_PASSWORD` or `ES_API_KEY` environment variables when
{option}`environmentFile` is set.
'';
};
environmentFile = mkOption {
type = types.nullOr types.path;
default = null;
example = "/run/secrets/elasticsearch-exporter.env";
description = ''
Path to an environment file, as defined in {manpage}`systemd.exec(5)`,
used to pass credentials to the exporter without exposing them in the
process arguments. It should contain either `ES_USERNAME` and
`ES_PASSWORD`, or `ES_API_KEY`.
'';
};
};
serviceOpts = {
serviceConfig = {
EnvironmentFile = mkIf (cfg.environmentFile != null) cfg.environmentFile;
ExecStart = escapeSystemdExecArgs (
[
(lib.getExe cfg.package)
"--web.listen-address=${cfg.listenAddress}:${toString cfg.port}"
"--es.uri=${cfg.url}"
]
++ cfg.extraFlags
);
};
};
}
+5 -7
View File
@@ -196,14 +196,12 @@ in
}
];
warnings = [
(lib.optionalString (cfg.database.createLocally && cfg.settings.db.dialect != "postgres") ''
You have enabled automatic database configuration, but the database dialect is not set to "posgres".
warnings = lib.optional (cfg.database.createLocally && cfg.settings.db.dialect != "postgres") ''
You have enabled automatic database configuration, but the database dialect is not set to "postgres".
The Wakapi module only supports PostgreSQL. Please set `services.wakapi.database.createLocally`
to `false`, or switch to "postgres" as your database dialect.
'')
];
The Wakapi module only supports PostgreSQL. Please set `services.wakapi.database.createLocally`
to `false`, or switch to "postgres" as your database dialect.
'';
users = {
users.wakapi = {
+24
View File
@@ -436,6 +436,30 @@ let
'';
};
elasticsearch =
{ ... }:
{
exporterConfig = {
enable = true;
url = "http://localhost:9200";
};
metricProvider = {
# `services.elasticsearch` is unmaintained; OpenSearch is the same
# engine class and is explicitly supported by the exporter.
services.opensearch.enable = true;
virtualisation.memorySize = 2048;
};
exporterTest = ''
wait_for_unit("opensearch.service")
wait_for_open_port(9200)
wait_for_unit("prometheus-elasticsearch-exporter.service")
wait_for_open_port(9114)
succeed(
"curl -sSf localhost:9114/metrics | grep 'elasticsearch_cluster_health_status'"
)
'';
};
fail2ban =
{ ... }:
{
@@ -1,642 +1,627 @@
{
"linux-canary": {
"distro": {
"hash": "sha256-BpUwh7PnnpGXJPQLBDojvT8LHjiwPsGVQ1LS+Vn3cmA=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/full.distro"
"hash": "sha256-S1GwB+65+Y3uEr6h54IB8d2CWwCcMevfXZGTyspMZ2w=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-hm9vhRw5BdVGqGt5h3PN37FbtbZkWo0Gqw8RppKteA0=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_cloudsync/1/full.distro",
"hash": "sha256-If+B4uqvOvS7NTnnstequpolrxIcM9MZhAsDCkFMhgM=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-itTYR2CfdGb95+svtBW1ujf6zIR4gdvN4aYg9u/sVRs=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_desktop_core/1/full.distro",
"hash": "sha256-N7To9vgdOc20omNyOEWnOexsE83nO5imp9/coliuJZY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-5gRMY1aLh+/vEQoy4Tr65Rjwt6VGkZrg6lWjBjfa+y0=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_dispatch/1/full.distro",
"hash": "sha256-BQ3bPkjNGS8v171JMayHdRyqbB2PX0Xxdrukz3MpJJU=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-whx4RIJ6w42GLyAbaWVsD9RicdZo2d1EM+o878zQMTE=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_erlpack/1/full.distro",
"hash": "sha256-E/rjqsFNFLWLZxHqAzVHvRmoI1pSWt7my4C+2mNUuJE=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-iymnSrKb8CJJW+boiVgAyoSUoTmbKCGhSdcCeTQw/ws=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_game_utils/1/full.distro",
"hash": "sha256-oUlod+YECmdqy4c+sWPZt1yYvGZwYimoIVRPA5v6r+8=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_game_utils/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-0/QocEt8DcGUPp1zxMIdCD09ITaAusW654b4sutytb8=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_krisp/1/full.distro",
"hash": "sha256-xDEDlwIInDVSRISoWb07KQvVOqdNxzjWM/s5R/1Ra44=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-0luEEeOxf5zScbGyuh4OdkphF9BZPHjl5086hY+gkOA=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_modules/1/full.distro",
"hash": "sha256-Gh0JBMfaX63sUIGQ+OKqrSzDuADhjKJB3ger9ONkz9k=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_modules/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-1JN31j2i3bNyqlNSPPh+hpJhmEOa7UWsuHDQ3LGRJ3g=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_rpc/1/full.distro",
"hash": "sha256-texX0BTDW0Pef2gMmkOFjxikKIBYIKSTT+Rsk8Zdn5A=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-MGBSbP7zDmf5pHLLk5kpvUtpWXYFf+pFqTpv2ZIEjJk=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_spellcheck/1/full.distro",
"hash": "sha256-NrhpLEVLW3SqoGGiFcNbcM4sQQzW+6mkUaI50Ry66dY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-AkV235CX/Ghq6RvaKuyMVIQfO6BN92FZmcAO2WwpwOA=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_utils/1/full.distro",
"hash": "sha256-uXPBkrdnXQnYs3+oTn2gds+au+ZDMYNvOBXTjjhcFsQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-R9Wgz38tNz6DkW9oISTGeRj5wcSr9AA/CMjo6BxQCjg=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_voice/1/full.distro",
"hash": "sha256-UeXNXR+BHljnW5Xb/E9CrJhBv5hchPS6R1P0dvKoZGQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_voice/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-lpKGkBM9HVEiJyGl0Zu1Hy6fjgCWCaL/tQXKM3LPZgI=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1095/discord_zstd/1/full.distro",
"hash": "sha256-llG+0+Z0boy5ZhtPGiCDUr4sVa4mdR6FjT71ZSX5ez4=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/linux/x64/1.0.1177/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "1.0.1095"
"version": "1.0.1177"
},
"linux-development": {
"distro": {
"hash": "sha256-e5ozU27/X5GvEV56JUOcIvZgC1UCfuSnO+wGYWgkHF4=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/full.distro"
"hash": "sha256-Je/HUlN3aWGXRKj7yFv4S5YtlrCyEZNJ+GPJlG3GA/U=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-0Olth2MN1X6DChyWypXlWwvBlZ1e/gUHYE+Yxbc4upI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_cloudsync/1/full.distro",
"hash": "sha256-tZVDeeocUb4lcx8fBGLvzW7cdws4vB0Tsu6LzwS7Jyc=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-qykX7f8IMoIPCjZznTuHQa2LGNcHkNoQ1B3pjG0cMKc=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_desktop_core/1/full.distro",
"hash": "sha256-qVhVFbRuUYMWoONhmc1aQFRYtCOBh59xiMUIBsIInng=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-04l5nXKjRyVwAVLh4E7q0J/2ahk+Yp/xWwaR/JOqrAk=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_dispatch/1/full.distro",
"hash": "sha256-hGGTK6xHBTyMHXTs4uRcms9hA8zpv2h13xuZW/K6FHk=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-UQcqJTQJ9ANxrqWrF0C1VZjhGhYoOJAm394j9ljYpj4=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_erlpack/1/full.distro",
"hash": "sha256-2i4dMQQQV0EO2rafVG7no1bMVOb++qkwga5I4hNiJ1c=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-DUZbbCeuoeZEA795Nshjsks/wHvwZrKZToSPd02dW8g=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_game_utils/1/full.distro",
"hash": "sha256-l5STKk1FYHIWLpq/dVwsY5Q8ce89EiSYZyKE5drzpTQ=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_game_utils/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-cCrlYVWvypmHWVJ6x9gtcIf3HgREGtXFt0GfWbBxTxI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_krisp/1/full.distro",
"hash": "sha256-93GXORqBh2IDZz7gwC1lLP/dHwfXK1wqfOdDl7nmy6w=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-lq10/naN078vjiHHNCy2Oknb7AAespmiFrE7CtG9AoA=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_modules/1/full.distro",
"hash": "sha256-sMsii7pOnusjkmj9gzhRbyLGzAusYhizzZ0Unry+oYQ=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_modules/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-yZMDNieVQnllGX7CpOkqPwEODXHQUcZl82kt5p9pz7g=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_rpc/1/full.distro",
"hash": "sha256-M6FtXDTGWsqafyQPsVIPJ3F0zUiJZxejuAGJg5MxF+E=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-41mKwi6++A4KPZps/CIBMOHMv6ZW8inIRU+QuAPvCk0=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_spellcheck/1/full.distro",
"hash": "sha256-pkJLh3aZ99E5wuBF08uEU4fP9QqDn9Xrwtbk4i0Q/Rw=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-XOV02hRl9EMSNlpeLnGLX10m80NFIQCtZ87JeFkGebU=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_utils/1/full.distro",
"hash": "sha256-f01INbXJ1l/L5VuskTnz32YF9NH2R9/Apla2iYoEF5M=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-K8eFHLgqf+C3IfjnAs4sb1dVNpdc6GkXuf5QGK9FUaM=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_voice/1/full.distro",
"hash": "sha256-YDij0YVearAetTN/1j14eBle+7LKcYGdE1TDIbWH27Y=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_voice/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-zVynSyfpaNz3zl4x7537Jdw17h/RQ8Tt9JLK0FG7w/o=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.981/discord_zstd/1/full.distro",
"hash": "sha256-PC5yxqN/ky/ThGRMCCKBSZBqVUJjAV+sl41LlPCvHc0=",
"url": "https://development.dl2.discordapp.net/distro/app/development/linux/x64/1.0.992/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "1.0.981"
"version": "1.0.992"
},
"linux-ptb": {
"distro": {
"hash": "sha256-krt+uEhFPkFicyxY2FvW/cTENpqm7tdr1AZ067GII6k=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/full.distro"
"hash": "sha256-hZi+7k6+KoroSosJ5jOmhfKCrXqK5mzMlChvd+O57lE=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-zw+5u4g9+X3Ij9UXTKYpnp7Bb7diV8d5OxJUIpbwFOM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_cloudsync/1/full.distro",
"hash": "sha256-g63Wz47H63bOiyLJ2V4/4z6ZpCVZFWkdJUEaYtTzv5U=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-DkDdCkF8m4xUfIHU68fR7Mto7XNSRme/hfPq/6/Oi78=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_desktop_core/1/full.distro",
"hash": "sha256-78r6lth+V0OPEEJQ53FZhDGAS8RJ2/gGXqROi508Rzk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-Puk419IfCpZ3AQXoR69B8J0Na4Qt7Ms/8o5OOeoVGsM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_dispatch/1/full.distro",
"hash": "sha256-Q+1rU46jP3/GuJ3yjvVk4xC0xHuY866JCPVsiqE2/Dk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-OS37PDrUaeQnQnk3j7MPsaRwRpfyI3BRUERBJlBUjGg=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_erlpack/1/full.distro",
"hash": "sha256-Zxv+pZIiX/dgWLtQu+ouJIiaDECBGgcbxzVst/x5QtI=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-JvvrO6WEr1GZcXXVv6Upx5g/uE/ASF7u+qPimncOFkc=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_game_utils/1/full.distro",
"hash": "sha256-HxQldTPK3dGuJyRKw6q23iyR4rO9UkASHa/F7zzHbX0=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_game_utils/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-iU6TSZ7mk2spu8ywMPneFZ9H899a/QE2NzVbDbxtZIk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_krisp/1/full.distro",
"hash": "sha256-ptVbz0AcEttoldc7WV/nD1lYptJTnIy8p6QUD5pbkYg=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-cS263pydXez5YOQNzLGbfOIgah4av4pBFM5NRw/HOqM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_modules/1/full.distro",
"hash": "sha256-ex9Jud2OTjcWZbcx+D39uyIrh6K5OJANCMc+zfx0Sv8=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_modules/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-nu+MCe79gz2QVlI+zZ47JkA53nXgu2YLec01T3Iphpg=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_rpc/1/full.distro",
"hash": "sha256-TZqW1pxrqVIszGLBcoKErZUoNGNeepRHNqaOXoG9rHs=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-0wcn+6hm0SDN7mke9d5nM2t15WSH6LhHZxFZCJ2CD10=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_spellcheck/1/full.distro",
"hash": "sha256-a20ZUdyDnnG31DnJP1+ADZxQbk3B1YKPrNPcb13S//4=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-4lr1sET7fwSBGIV5qDvFITLUzuN0D0Pr5vC2Q6s1dz0=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_utils/1/full.distro",
"hash": "sha256-W7m6Ql9L5GwRQnx9TUjbRZ8c0HGFfFriMoF6HC/RfZg=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-2wZ8fTOHq/PZ/cdnMn1ZklI7OzZeaNdXoKUWlGn7TFY=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_voice/1/full.distro",
"hash": "sha256-S9z/eS5P4sn5yuPdHP9HrmreEIU5vE44Np6QtHVdZm0=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_voice/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-9uBA0j+SmpZs4peIhAWfzcVHl4ZSA68F708duyDgc5M=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.191/discord_zstd/1/full.distro",
"hash": "sha256-rhoLsPy3zW5+bQuGYGxMtgDHaICrSKapTQD4Zcw3GHo=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/linux/x64/1.0.193/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "1.0.191"
"version": "1.0.193"
},
"linux-stable": {
"distro": {
"hash": "sha256-mQhXEJdSk7Cw7h3kZST/OEAM16mAU0vu77wCyUI3JYE=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/full.distro"
"hash": "sha256-XqiD6DtJgFPmh4cSBgbvz52uBnJ7FUZ+VMcB9KxBzeE=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-ASodX6XZIn0jHWWEMiuzTR/bjstTyqQ1KYobAMUtBE4=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_cloudsync/1/full.distro",
"hash": "sha256-NHT/o5cb0VQZQ4CaItCHTOkfXEjYqPlIA3gSSLvCgJk=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-AQjcF9cX3g5VthbXh/ZpPQXoBRcwNUlDB4RQFJBLCBM=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_desktop_core/1/full.distro",
"hash": "sha256-THCGUwshMlNWCHgTf0d/W2SlBDEUcZ5dg255O4DwQHQ=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-BNsOlr8qy7vb5pzJeWsOpqoc05q07qTZYOzlVn1ea94=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_dispatch/1/full.distro",
"hash": "sha256-C1742juma1bCGVWMCT903BFHNedc6V+iws8kKTQBE4M=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-LKyA5MWvY8f55GJ5XsxGxrd197vQlIClX6FkpHTnCXo=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_erlpack/1/full.distro",
"hash": "sha256-IrLq1n96rm1YE1UA/P2b9VHzX09Wa4DT9yj5wHhytno=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-yzBN13Z55DUPFtfxRYXlEB2S7EOpSGuVwqCGJ4pq2/Y=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_game_utils/1/full.distro",
"hash": "sha256-Y3shNsfjcBvSvUt+D56qIMaa73lpF/+c/jURWd9hV/g=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_game_utils/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-E/+0xN+ZwWLvfdH2+UxfyjdUrEHDKSGR1snmurgViQs=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_krisp/1/full.distro",
"hash": "sha256-b+n1X67Iscs1Cjq7KbpXBqqIC35tWqaQh/hPEbq0vuc=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-Gu1ArzHiHPem/PyBXJ2uu9BrooGUtSBnHuVO4u56wG4=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_modules/1/full.distro",
"hash": "sha256-U3f+1y1WlGZuP5OlJ4AeakhNYXlx5xbKqHjiCFfGg0E=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_modules/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-rjuT57qohzTqrB1hSznnr0zcxIyNuEGT9OWO1y78qxY=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_rpc/1/full.distro",
"hash": "sha256-rtBhw5MHG/MCAVG2YvzKOEVmN8f02DPI5LBKg8Qj9ZA=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-LXe6sNbCBrU2u066UOFxjVhg6++7IU0jvKwdUBu7xGc=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_spellcheck/1/full.distro",
"hash": "sha256-BFTkMV1n9ann2c+GMiuIHZexGO8C/yOi8sbBWrqErKE=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-EOQe69wzNfvYlN6sCa/eUEI4TBqofeyAyYayH/z7eNk=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_utils/1/full.distro",
"hash": "sha256-isXprPxivFIdD1Cvb7tbhdWSNPbU3Rrv2muYg6tXW0M=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-Kin0igXzEF1qgG09nLK5pD89tuEfPfoFnVcrQKGmWXQ=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_voice/1/full.distro",
"hash": "sha256-v60GjLJ3LuAppMRSjZQNWSLEamswDcTm/AjtwG04fgM=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_voice/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-OUGtH9vqI4mNmcSnwJO0tXBvOApUEp5HcHR5iiQqg3c=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.138/discord_zstd/1/full.distro",
"hash": "sha256-Db8KbISU5W8G0qfqGaumrOZU75B6IWBzf3JFIyUzadU=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/linux/x64/1.0.141/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "1.0.138"
"version": "1.0.141"
},
"osx-canary": {
"distro": {
"hash": "sha256-lGBj8eDOFubn2+wirPUfWC+ue8YCaxO5h1IOWwKnLjE=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/full.distro"
"hash": "sha256-cKGa089UswaZzoAHzkStkROitXDNUMmGENQzUkrmTlY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-LpUlFrARzyYbFo1JG1XRVHCpQvxui58Wtzkgs/MDAGg=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_cloudsync/1/full.distro",
"hash": "sha256-9QGggOph9Xs4Q/LjnZ3KFwhXxgNRyli9fNoFz6H3jqM=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-kPI1Y8ZRoj2CcmQPdB731uRc2KNcQl1rBncmO+arbrQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_desktop_core/1/full.distro",
"hash": "sha256-UNTm7ItVQkEIEb6htmc13DxEJdqli0uL69OR9ADVAEk=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-lEvBXl8nHA1uIMCVhfarxPzVlEKEFKpYlTFSTo9zfbU=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_dispatch/1/full.distro",
"hash": "sha256-TihLreO5lbuQGAxljjAaPZVr+KGmmveqTd6tUYvKV1I=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-zY36prf4F8fBn2uCMh2YoasUtTde1BsgAuD7uiXmF78=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_erlpack/1/full.distro",
"hash": "sha256-oaUEWbrxizY/kP1IPHhumErlTKQVQMRyt5P/7dJU9DI=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-7XoHixFlryr23hPsVG0BHASNh8uAlnE7QphGsNQ4Fw0=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_game_utils/1/full.distro",
"hash": "sha256-KCA77WXi9MFBfH04DLpiJCcUnX6V03UbiN2ZhvR951k=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_game_utils/1/full.distro",
"version": 1
},
"discord_intents": {
"hash": "sha256-JsEpw6IXUDqWDPNRrplHOnaixqAlmcSRSwgqOhiXtKM=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_intents/1/full.distro",
"hash": "sha256-LDzacYKK1/6blKRI+9fLMz83GT7QpAkw7R9pFzpO2Rg=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_intents/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-XOyylN8yS0Ib1PewycB2XPsNOsmtlr7QKGguWV64Uuw=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_krisp/1/full.distro",
"version": 1
},
"discord_ml": {
"hash": "sha256-BPz6tWjvGdtgTQn/o+qPNBJjy07VPHHuVH9qTxRI5HY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_ml/1/full.distro",
"hash": "sha256-Xmcukut0dljr87fHH3hLuuum1aKaEbyz6/Doy+5aOOc=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-eq79n19N5Ns68hAUEuNPVVUQ6nh05U+O2H7kBHQLYEs=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_modules/1/full.distro",
"hash": "sha256-EAPj4leGDWMV/80fZUJjgsJDea5e+GAEhl8fyU7i/7o=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_modules/1/full.distro",
"version": 1
},
"discord_notifications": {
"hash": "sha256-rpW8FnlgWEf7s11ny2m5uZqDhXrOTYzZKZcpXQ8cKKk=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_notifications/1/full.distro",
"hash": "sha256-N5ZsYM7Y/XcMG6nOc3xVd4zg16MlozmZXK1xO3ARW/8=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_notifications/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-Y2m9lQ1E/TU6n4Pfjf1Xo7+TLebc8579NHckS+Rqv9k=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_rpc/1/full.distro",
"hash": "sha256-NvwdAvR6fZd/Hlcw3Kb5sINche3ZdiTwQO0P0nY3jVQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-+zldyihvpFRILqEaAq+cexVCsAX24ujJlgEgLObg1aQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_spellcheck/1/full.distro",
"hash": "sha256-4V0Ij/kniCO46cmy8pYOc7Hu2VFRuSYx1EmTV+wZDsQ=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-bOI8bhbjdB+NufNoJkZqoaN02ABe1I8plxZ5uelvlVU=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_utils/4/full.distro",
"version": 4
"hash": "sha256-zPVB5RaxPLSyakY8ZqyyVNWuZEJog78KOROHbupxTSs=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_utils/8/full.distro",
"version": 8
},
"discord_voice": {
"hash": "sha256-Rdd6mzTPtqUXkGiWjl0hEeD7V2KX+GHlaxMCtKuCfwg=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_voice/1/full.distro",
"version": 1
"hash": "sha256-1CSPUCxqeLQxSHZWlSeAYIj9XqCXWD2gxcR4F9kd+54=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_voice/6/full.distro",
"version": 6
},
"discord_webauthn": {
"hash": "sha256-9qe2t9cVI4d03rypha32CDaQIi4YJAiMAG0gMKQYyBY=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_webauthn/1/full.distro",
"hash": "sha256-ZMo19cg7Q0uXdDATAHkYWzDrU44jXicHeqpsIiA0iEs=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_webauthn/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-YNnFKy3UMBszW7HF7jmr1KOGyy38ABoIw5Ut0hErrqc=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1114/discord_zstd/1/full.distro",
"hash": "sha256-NyK4eH6joep5BzM91AZLRU3jXC2sXdSp3/s4w/Xqkn0=",
"url": "https://canary.dl2.discordapp.net/distro/app/canary/osx/universal/0.0.1132/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "0.0.1114"
"version": "0.0.1132"
},
"osx-development": {
"distro": {
"hash": "sha256-KuvWcUPFXfj4QW3K8IGS8E0BiffEEMknncjxbMCkvTI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/full.distro"
"hash": "sha256-9rlxgLp8PxtuFSjK+nDshIiDigjsBjox2bUI7cp1XXs=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-vX0ZzFkcIJGlZ6CVixrc1U1LGDAszZhexXSWFtbSVpk=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_cloudsync/1/full.distro",
"hash": "sha256-6DAvT/Rocsu6tYMMt4VJMmfhYxLw1Hl0EgJK6hmw6j0=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-m/+55zUpSXI/nwZKMaIknAzDsYlnCIcxyGoSeLafDEM=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_desktop_core/1/full.distro",
"hash": "sha256-xA53RC1WAcsmyKl5c2f2CGhFzficibB/h7psEsr3IRs=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-vvofUseRpHi4wMMbOaM2mI8eYYrwlI1F6dfKyZX8jvU=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_dispatch/1/full.distro",
"hash": "sha256-ebWRxbIIsrf72bj1NoxamL2cxZNrmvkRxfB/jXS6HmI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-D9/lpVfwXKj26dMrreSLBPaND/4iCMmC9/u3+T1NVPE=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_erlpack/1/full.distro",
"hash": "sha256-GLaAXTePgAWeRwVskt+tBtrVTn3miadBWImPMibG/+Y=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-vsAIH6YnxbXAiDqDeeLSuinZLmLn+3D6mbdRJb5L99Y=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_game_utils/1/full.distro",
"hash": "sha256-A2+GyRC/RXTMnDagsT6zP1S5T+PCyMK55eiEF2JMV84=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_game_utils/1/full.distro",
"version": 1
},
"discord_intents": {
"hash": "sha256-1JO4nwtiduv+JZqoPparHV1dgjPVKhYeWzDzuUzWTTs=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_intents/1/full.distro",
"hash": "sha256-sjylilIyOziJgH4gl+1Y6oIB1drMF7EWrt2mVMliCoU=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_intents/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-1oO+B/78bZhlQfRl1V1PHH9zMWJb+2mi2DlVK3NCmVk=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_krisp/1/full.distro",
"hash": "sha256-w4ZRMT30/KzMrXv0wxUd0U9yv95jOVhSG/6zzbrBaG8=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_krisp/1/full.distro",
"version": 1
},
"discord_ml": {
"hash": "sha256-RunRar9d7lbF9PkOmQwokmjgfFblc0u4pu2gQGtrc/E=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_ml/1/full.distro",
"hash": "sha256-TVyM430eeKoq9RNXoLmd1xe2t3xqgxmbQd5G5+chcnI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_ml/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-vkz0ZWMFFatdrMgEWM16AMuWSaFSI+HFFzq3oP+3dJ4=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_modules/1/full.distro",
"hash": "sha256-TKsAh8tNHzQELizvKfMcfLvm0h4F69iON2VBIWq3qxY=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_modules/1/full.distro",
"version": 1
},
"discord_notifications": {
"hash": "sha256-/h00K6D/bZBwea852GO+4+1w4oLDFQP7OlrTsupBcwc=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_notifications/1/full.distro",
"hash": "sha256-O1+hqRWztrhlYvyHv/oYTO82Ru5VRwPxo7FyAQSbgkI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_notifications/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-3f7O1xyYd4XdOe4+RU1o6TCcwYA8VK4oC6/zlQHIWBE=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_rpc/1/full.distro",
"hash": "sha256-zcx4PDynhCApRWJyI1KA8t4IS0flDxtc9NGiT3mqaKY=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-j+rwWr+pq+Cg3NaaF8EoO31lUDt7Za6h/M033CJjaxQ=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_spellcheck/1/full.distro",
"hash": "sha256-A0gObDSLQWb3Fp+f/xQC8ij2mGBdzeHMuC+A5+XpZdo=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-nXryRxbYrJ1cO+wXGfu52oWPIxj5Efs6J4EQqeronrI=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_utils/1/full.distro",
"hash": "sha256-SvipA8cXIeeFkBC9RdcNHielVmpwlilGB0mmHFXNUx0=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-sEtDXKyrA5Y2yuHzHX06LJUx4zibt2tlZtXmVohyL6c=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_voice/1/full.distro",
"hash": "sha256-BQhaZXj8jVuNtVvGN5nmSfkv2OpETTu+VRt/AZzkSms=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_voice/1/full.distro",
"version": 1
},
"discord_webauthn": {
"hash": "sha256-kFfptFhrbFkluiBmupcXasbSlq9ygbWkH9S4wTbG0rs=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_webauthn/1/full.distro",
"hash": "sha256-XRs6HhQ5XOhQZ2CjhzNW8jMFORby80eWUU5FHBN0Ui8=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_webauthn/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-2TuxeigNLFPe70njbSaBSmzHsTjb369o7mSxC9XpKVk=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.987/discord_zstd/1/full.distro",
"hash": "sha256-9cRSkG1gVP6+casDOnJ1gSknXh1kumIeUQd+EcLtNZM=",
"url": "https://development.dl2.discordapp.net/distro/app/development/osx/universal/1.0.993/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "1.0.987"
"version": "1.0.993"
},
"osx-ptb": {
"distro": {
"hash": "sha256-NRQtYNYZZch4SioDIPnfAl1S7Fa5CciLkLP6JZc5oBw=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/full.distro"
"hash": "sha256-yxbYcpaoUkUlHIC2wf3yVYlxM1KBcCA6vnXqeUctRhQ=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-zpkiCGvarZCCHf1DBrlpvv6NMQCFKwdJc/RzWJRzHaA=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_cloudsync/1/full.distro",
"hash": "sha256-RDTWKgPcehCjcR1J+jmj+ICZz65ozCMS1zPxroTcxE0=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-JfizDxN8/9p4NZI3qNrkH+trMM9IiSR133wvMShnybM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_desktop_core/1/full.distro",
"hash": "sha256-w3yILQKWaqX6rXFmDhpakUlw5xFW6LI7Z3CL1lPddsI=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-fD+Qdv/Ata12kU98dS96gi6UKTmIIJz/+VAjLT+kBHE=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_dispatch/1/full.distro",
"hash": "sha256-RnOLwaCiWS04PFD/d3XLL6erxtDYYrNJ0D6YCcE0uMk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-2pNq6peNi++0vNypv86Wi4BWKE1ifqfdkP08/xvyoSo=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_erlpack/1/full.distro",
"hash": "sha256-IgeoTXiFWw4BcljPwl7fqAL+Av6bRLFT80tfG5v2Muw=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-Mqxch0LYlqW/a4eEO5BKG/BD6uaUf0YAni3QTOjBirQ=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_game_utils/1/full.distro",
"hash": "sha256-dOSI1OTNkfxfWisrl9DTA8WRU/PjS05c0ZDzNBbBpRg=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_game_utils/1/full.distro",
"version": 1
},
"discord_intents": {
"hash": "sha256-yRlfU3h6nBzPzMYmrt0cftgRQ3MMQ5cGXPGr2+X0Qs8=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_intents/1/full.distro",
"hash": "sha256-EFeUxVEPex20Mrfd04dHYCpfKZM4zIZqOEyREixPcqI=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_intents/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-kPVDiRkJumiCDcmfhG6PG12iz1SBJeKyc02OwYnde6Q=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_krisp/1/full.distro",
"version": 1
},
"discord_ml": {
"hash": "sha256-Bn2mDI6ExXAZcKnO08a2SdBOHq0Cso0f9pRgBmgIyRM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_ml/1/full.distro",
"hash": "sha256-XkzYfeQ32JpdzmIOnYBi9bsSSJFCzbSDFNHAPFcAwGc=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-hLkuAkHf6IXkhjQChH5nnJXXcUpiL2PRv5JQl3/BC8k=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_modules/1/full.distro",
"hash": "sha256-v7Hdk7WO2wCRbJD6SOHfUKAFX8ZVYfe5qhNHnTZvsZk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_modules/1/full.distro",
"version": 1
},
"discord_notifications": {
"hash": "sha256-ADdxLcx9hO2sfZq/BUjI2jE63iBuNzj9KIy8fTs/0pA=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_notifications/1/full.distro",
"hash": "sha256-T+4YM57ZbYZSSCPsAgfqcdVl3Ifuf5q/j3p9YUGHfwM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_notifications/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-AP2yW5O7KXTQsXTKrtSeVaXpRGhEd6skqwZJ/y/hazk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_rpc/1/full.distro",
"hash": "sha256-hPPQ5+jHeJSMG3SythZrndhU2F5sl6am3K1lVtDrE40=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-pUJ/QamKoZOcXurPWi7eJj/TtLyUsGRYmHaaRHSPw7s=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_spellcheck/1/full.distro",
"hash": "sha256-yIHkUjjWaPTwvlVaKlucpZUimVWbGd3dDOKOoWcJJAc=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-Hie0b0Y7uM9ySb4toiQZIYZ24tkjvsOXlgYNFkPNXjM=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_utils/1/full.distro",
"hash": "sha256-DgAQns2Ky1nBABIhTuSfjvLLOry0/sDx6TRUfVqy8PA=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-LbYu8SKK4DW4P8BgakKGVl/ox0qeMavJrGhkmNB+dMs=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_voice/1/full.distro",
"hash": "sha256-esidGrZQjLpOix2HWYYEPwCoU/QcU6AGM7XZPMvSzsA=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_voice/1/full.distro",
"version": 1
},
"discord_webauthn": {
"hash": "sha256-DckpFbwQpb1ql5BRer3i/zbT9rOXVIJnYTwM8izyuYk=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_webauthn/1/full.distro",
"hash": "sha256-Iwl0cgBmJdAFUSyq+l6wuIAS633yxwBl0lxUktmKa5Y=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_webauthn/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-B48b/B4ARDVcK1g3m1Cbn+kwil5OuEW+Xe5XBBTknTs=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.234/discord_zstd/1/full.distro",
"hash": "sha256-GTWMUSTNYa4ZdmSBy0a3+PejYRITwTLrj5MOZsCVW4U=",
"url": "https://ptb.dl2.discordapp.net/distro/app/ptb/osx/universal/0.0.237/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "0.0.234"
"version": "0.0.237"
},
"osx-stable": {
"distro": {
"hash": "sha256-f5nHsPoB80ByFEZbFiyjEI4oQex8d1D0aQbonujbjZ8=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/full.distro"
"hash": "sha256-y8Dr+me5JFnw5/kMcnce1YCjiAN1mqOw77NHykAYQKY=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/full.distro"
},
"kind": "distro",
"modules": {
"discord_cloudsync": {
"hash": "sha256-sUi5kXAkhtCC48rePaBSndN0gromC6VESA9ffwiCEpw=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_cloudsync/1/full.distro",
"hash": "sha256-+MaEpY7bCNqJNOk2VcHDBM1ZEEctvkjDJIoO0dCTa/0=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_cloudsync/1/full.distro",
"version": 1
},
"discord_desktop_core": {
"hash": "sha256-D/EXZZj/VJJQBcIFCL5n656YJfkFmkZB7+zDBYPPmb4=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_desktop_core/1/full.distro",
"hash": "sha256-n0i+FEtNF6ZOrZNBzSex5pMUtnR9j6kllCsVk7yYN70=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_desktop_core/1/full.distro",
"version": 1
},
"discord_dispatch": {
"hash": "sha256-Q6yD87WbJlJT+I+WRBxIJYN2f8wodtOBTPn/epOPc9w=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_dispatch/1/full.distro",
"hash": "sha256-Qo1cGTH5wQe4Cpzfld5Z/D/C+BKzjAw/d2nk/EUgj3c=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_dispatch/1/full.distro",
"version": 1
},
"discord_erlpack": {
"hash": "sha256-lP4fzciImPpeR9KMpXded/Vc8+nrz/g2hXiJZEcrH2A=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_erlpack/1/full.distro",
"hash": "sha256-jC+2AXMlD0d2+Bcme1lHsAXYn1Dj+vvxjvWK41SvODg=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_erlpack/1/full.distro",
"version": 1
},
"discord_game_utils": {
"hash": "sha256-0XH839e+Qv1f00o6BKVkwtT7qbAU+SXeW7zSLWh65sw=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_game_utils/1/full.distro",
"hash": "sha256-HoEsai4W/z6W3sLCGoP6v1BWmuZQvmzOXLLCIUkXNqk=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_game_utils/1/full.distro",
"version": 1
},
"discord_intents": {
"hash": "sha256-eoH+4jmLEIt/liwiy6J0NISAWRDbG0boF4Ry2kDCU/8=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_intents/1/full.distro",
"hash": "sha256-Tk3D3Ail8Bu9+mYbASLJDsSAltD/f/g7q1/vUlIIutc=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_intents/1/full.distro",
"version": 1
},
"discord_krisp": {
"hash": "sha256-/cAJqx8LfdAkWVrk4zMDhOSNRkn/hvkHukcq6IsMTac=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_krisp/1/full.distro",
"version": 1
},
"discord_ml": {
"hash": "sha256-P3p0tBdUPPFEMrkmqQNGP5i/qlNjBazOJSedZ7bAFWI=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_ml/1/full.distro",
"hash": "sha256-6Vt93M5bwstZEn7mb33w2IlgpvstGa6kGTV+Tza92B4=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_krisp/1/full.distro",
"version": 1
},
"discord_modules": {
"hash": "sha256-soo7hXzLa/HjGg9xUr4k23BlbfzTE1IIIQLZAMdS8p8=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_modules/1/full.distro",
"hash": "sha256-Hl+q4s2zYWa57RwpyZ4p9oEfkUl1ekq6xrKitS4BPN0=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_modules/1/full.distro",
"version": 1
},
"discord_notifications": {
"hash": "sha256-5sHbOpY+x0+tp92yhbqt/n9EVzfuM9aY959nErp8K6w=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_notifications/1/full.distro",
"hash": "sha256-rnHE+V90VsR9DWDZ9jN2+pRrQu96clqNq9sFoMpiNZg=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_notifications/1/full.distro",
"version": 1
},
"discord_rpc": {
"hash": "sha256-LWbgkvHR8uG/gqnxj6xjrG1xvB6YTKkSUv+OdcZQO5k=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_rpc/1/full.distro",
"hash": "sha256-azkCFwPM51sqHjbgsRCOyoPlBMwf+wVt2qrlTl1v+1c=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_rpc/1/full.distro",
"version": 1
},
"discord_spellcheck": {
"hash": "sha256-9eimbVeV160GsTvAPKphd3gIiY9Ia8UEqnVlCVYth0o=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_spellcheck/1/full.distro",
"hash": "sha256-x7qjYGYC4LDbk3wDxDOjqo/cBoyRJQlzsXpoyJyzFnU=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_spellcheck/1/full.distro",
"version": 1
},
"discord_utils": {
"hash": "sha256-FZMfdq/xAx+dEveQdqYbzaCXIyPeLZ2AlzpMQxH5mvA=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_utils/1/full.distro",
"hash": "sha256-sdvSFA7GZS6dUXiemSJpsn92UhaRlNCH9N8UkgQRV/Y=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_utils/1/full.distro",
"version": 1
},
"discord_voice": {
"hash": "sha256-pmAZZskHQ3ZcZ5zOklRsn9kdqbuFwjlucRnKyRMKl5w=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_voice/1/full.distro",
"hash": "sha256-2/oH5L7MIIsKLavU4J0O8/hqzFx9BpY9LSuSJKaSwDo=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_voice/1/full.distro",
"version": 1
},
"discord_webauthn": {
"hash": "sha256-+AHgJr8pfGKJCZLDAv6BRBcoPcov9qTqPWl6Le+Iu/M=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_webauthn/1/full.distro",
"hash": "sha256-z0sbteCmrXjvWathL+c1oXL63UV9fhGYtTEOXnBqa4o=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_webauthn/1/full.distro",
"version": 1
},
"discord_zstd": {
"hash": "sha256-oYlu63s/hIELL+eH4nFlZ0Kk+bb0HhlGKOgdjkWRsZQ=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.390/discord_zstd/1/full.distro",
"hash": "sha256-mCzmStANoOc4b/UPZmkndzhnxZ1H6Q+rnNsroObPnCg=",
"url": "https://stable.dl2.discordapp.net/distro/app/stable/osx/universal/0.0.393/discord_zstd/1/full.distro",
"version": 1
}
},
"version": "0.0.390"
"version": "0.0.393"
}
}
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "adrs";
version = "0.7.3";
version = "0.7.4";
src = fetchFromGitHub {
owner = "joshrotenberg";
repo = "adrs";
tag = "v${finalAttrs.version}";
hash = "sha256-42nuX04VUl/M9hjUr3LeAUeJRHfkGsC8kJJSy6eF6gI=";
hash = "sha256-JtYj30XGs+SbbbSy1aHbyZFlwQ/rkZ3JPrvRm4hicxg=";
};
cargoHash = "sha256-Cir+gGlsNDDkcPeRNYT57Fg31/vcNyJTL5UbPs16EpY=";
cargoHash = "sha256-uvgadUtRmHoa3piEiTaLhVKEeGA/YIl6AMRPHNubYhQ=";
meta = {
description = "Command-line tool for managing Architectural Decision Records";
+9 -6
View File
@@ -10,17 +10,20 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "boa";
version = "0.20";
version = "0.21.1";
src = fetchFromGitHub {
owner = "boa-dev";
repo = "boa";
tag = "v${finalAttrs.version}";
hash = "sha256-foCIzzFoEpcE6i0QrSbiob3YHIOeTpjwpAMtcPGL8Vg=";
hash = "sha256-APzbYaQ9DF7jpr7tRvF/RWpD3TTm/4pApFf4WNcQ9XU=";
fetchSubmodules = true;
};
cargoHash = "sha256-PphgRSVCj724eYAC04Orpz/klYuAhphiQ3v5TRChs+w=";
cargoHash = "sha256-DcSTYNpoLWIy35dHUc52ASpmkzdCwDmDlY9fFKOfJpw=";
# cargo-auditable fails on `dep:either`.
auditable = false;
cargoBuildFlags = [
"--package"
@@ -41,13 +44,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
meta = {
description = "Embeddable and experimental Javascript engine written in Rust";
mainProgram = "boa";
homepage = "https://github.com/boa-dev/boa";
changelog = "https://github.com/boa-dev/boa/blob/${finalAttrs.src.rev}/CHANGELOG.md";
changelog = "https://github.com/boa-dev/boa/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [
mit # or
unlicense
];
maintainers = [ ];
mainProgram = "boa";
maintainers = with lib.maintainers; [ iamanaws ];
};
})
+5 -5
View File
@@ -3,24 +3,24 @@
let
pname = "brave";
version = "1.90.128";
version = "1.91.168";
allArchives = {
aarch64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_arm64.deb";
hash = "sha256-tRFlzHOz2pMpSrdp6vst9zuKhmpqWga3FzLWglLAgwc=";
hash = "sha256-lH1AvdAkhpQtaGdMtbKfnm8bA4w5DpgM7fEEWsSVcoA=";
};
x86_64-linux = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
hash = "sha256-BBOpwAM7KVLCd6v47q6ndA6Lb9LsI8dQXB/evwBXV/w=";
hash = "sha256-5xW0HhDM9cgh7h0hQ+B0NxaHw7DObLSXzgwixo+jNtc=";
};
aarch64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-arm64.zip";
hash = "sha256-pJFvRP8GKTv+b2OSaAhiabIXxSJjelZPsYROTuHw0qo=";
hash = "sha256-kE4/GSEL4dDTy4aqqg6JqyzNIlCcIDGdPxAgCAPEN3Q=";
};
x86_64-darwin = {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-v${version}-darwin-x64.zip";
hash = "sha256-DgqaYEZJ6je3N/BDwIiwXrJ+w6qrBJse6d9LtKq7Dac=";
hash = "sha256-ocRwDMegXcGMFRQSVVTNjT/OlHlNiTHYCjHWJSaz1Z8=";
};
};
+5 -5
View File
@@ -9,25 +9,25 @@
stdenv.mkDerivation (finalAttrs: {
pname = "caido-cli";
version = "0.56.0";
version = "0.56.2";
src = fetchurl (
{
x86_64-linux = {
url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-linux-x86_64.tar.gz";
hash = "sha256-G8E/GtVYzTM5JIkNnQm3PxzfZya3hVJlzUxN3s4CEdM=";
hash = "sha256-SUkysiFdH4ilA6MKYMiSqC80NkYZ9YVO/7CT0hQY++Q=";
};
aarch64-linux = {
url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-linux-aarch64.tar.gz";
hash = "sha256-X+jDesBDXOWSQBTPA1kCaGBRvoaDGCR0TkNWNqYtNok=";
hash = "sha256-rYRzo3iYjWAvRGm1+wBLGkr3eUoAGbi71+AX0qmoIXs=";
};
x86_64-darwin = {
url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-mac-x86_64.zip";
hash = "sha256-6Rnybe9kH65C4PHg7j9Rwz2TMjH1XPGnI1mu0/g0up8=";
hash = "sha256-mMWivNwgAmMYitERwnP/lAzgzua/2UDDDffSbgZXlr4=";
};
aarch64-darwin = {
url = "https://caido.download/releases/v${finalAttrs.version}/caido-cli-v${finalAttrs.version}-mac-aarch64.zip";
hash = "sha256-07huWaIC1wO7RxC2F8VhgqKvtXcrNxbWDKFhuZhv/E8=";
hash = "sha256-19eEV79yk6PCHdl7oTw4Gqt10B7rYnZCJxBebDssFZc=";
};
}
.${stdenv.hostPlatform.system}
+5 -5
View File
@@ -9,24 +9,24 @@
let
pname = "caido-desktop";
version = "0.56.0";
version = "0.56.2";
sources = {
x86_64-linux = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-x86_64.AppImage";
hash = "sha256-UA4MPEEnFiiR0ueYoE3H1Z5f7J56NYNahTbWyAImmfQ=";
hash = "sha256-GW8prdvR9+WNO7bdz9ok27Aqra9+jgpZyBnYIM+G5Ys=";
};
aarch64-linux = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-linux-aarch64.AppImage";
hash = "sha256-HTegv6UlWe0gID5sGLlUTFc0z6giF7BCIwbCHb/rLjc=";
hash = "sha256-mN5wf9RUllfbR/CfLTE6Ywzoj8wKmEG1clVCKRqPUtU=";
};
x86_64-darwin = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-x86_64.dmg";
hash = "sha256-ZnN8DK3OuzZ0rKE+1czFhn2rH8QHJvlgvjc9k3DrV/Q=";
hash = "sha256-4B3DQJL8M6otnLpFjr4haZA4EWHpgVADQW4DcwsDhIM=";
};
aarch64-darwin = {
url = "https://caido.download/releases/v${version}/caido-desktop-v${version}-mac-aarch64.dmg";
hash = "sha256-XbcmecB4DKPp0WlqBBnc2TvorXEMsDSR5oW/VeUBcVs=";
hash = "sha256-kZdfcZueMmgEHpNTIPANsN7X4lnVOfZXbKHxComaalM=";
};
};
@@ -9,16 +9,16 @@
buildGoModule (finalAttrs: {
pname = "clickhouse-backup";
version = "2.7.0";
version = "2.7.1";
src = fetchFromGitHub {
owner = "Altinity";
repo = "clickhouse-backup";
tag = "v${finalAttrs.version}";
hash = "sha256-+dNiW7CzwOdJSCY62tNSxX8CikUcae0aDIUEGIDZ5wU=";
hash = "sha256-hS3Hhy8NYIP/xpXZNSdzO4U0jWcl7nw+H8I1rnpvBmQ=";
};
vendorHash = "sha256-RVvBonVGj7V6FgwhXhlaJiVvHgH1306iymVR0eI45+8=";
vendorHash = "sha256-8vWqfoAJiZyb7ABk5bC3kuTu1s8dPgB+oHAI5eENDWY=";
ldflags = [
"-X main.version=${finalAttrs.version}"
+3 -3
View File
@@ -25,18 +25,18 @@
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "codex";
version = "0.136.0";
version = "0.137.0";
src = fetchFromGitHub {
owner = "openai";
repo = "codex";
tag = "rust-v${finalAttrs.version}";
hash = "sha256-MI9VrfMFuUOup0e8KECaFA8SbkrPLEG+6K/wqLA8rs8=";
hash = "sha256-puszZqi1lZeq8iXWAD9U9+WMnNvzMYKf6wVT9mtjSUU=";
};
sourceRoot = "${finalAttrs.src.name}/codex-rs";
cargoHash = "sha256-zHNOUHUnyNxYSWn13H77ZdIuv09kHSlJfQBatTugLUA=";
cargoHash = "sha256-SX5LMO+IWismbH61Jd0g1mgykfav8DrqG+wjyNCWyCo=";
__structuredAttrs = true;
+1
View File
@@ -44,6 +44,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
preBuild = ''
npm run build-css
npm run build-js
'';
meta = {
+223 -62
View File
@@ -11,10 +11,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "14vlhzrgfgmz0fvrvd81j9xfw8ig091yiwq496firapgxffd7jpq";
sha256 = "12xv89kmr6l6mflzqddk0zsmbbsr53mv9dz6z91sdcb3ifjd3881";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
actionmailbox = {
dependencies = [
@@ -29,10 +29,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0bxxqqflmczwl4ivcqjwwsnrhljcalk1i2hj02qisr3wjgw4811a";
sha256 = "0m00a0sqf68rllzmsfkb02cqy4vi5q2lrrmgld1i5pf31iyahl96";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
actionmailer = {
dependencies = [
@@ -47,10 +47,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "08y7ihafq71879ncq963rwi541b0gafqx8h5ba26zab521qc7h3d";
sha256 = "0qc5ycibnxricdlgmrihds0hqjli5hhksbv947nqbsfg8b4gl63r";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
actionpack = {
dependencies = [
@@ -73,10 +73,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1lsspr8nffzn8qpfmj654w1qja1915x6bnzzhpbjj1cy235j2g6n";
sha256 = "0dabvb49acbwvy91587cbn36ghv3bsyl14a9aq4ll4nxfn4qdpn9";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
actiontext = {
dependencies = [
@@ -91,10 +91,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1x4xd8h5sdwdm3rc8h2pxxmq4a0i0wa0gk6c56zq58pzc3xgsihw";
sha256 = "1q8jm23v29zv055wpgyrwzb008bvqbm4x8bb64l0f8r6ccywxwqj";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
actionview = {
dependencies = [
@@ -113,10 +113,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0rnfn44g217n9hgvn4ga7l0hl149b91djnl07nzra7kxy1pr8wai";
sha256 = "04ql6lpvdmrl5169y166pfr9w53c6f40jkgmn4ljgkzh7pkaj3vd";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
activejob = {
dependencies = [
@@ -127,10 +127,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1dm1vc5vvk5pwq4x7sfh3g6qzzwbyac37ggh1mm1rzraharxv7j6";
sha256 = "047asb83p78zh93v0q1svrfl6da3aqqbjlkwd2jap172pz1ybard";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
activemodel = {
dependencies = [ "activesupport" ];
@@ -141,10 +141,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0z565q17fmhj4b9j689r0xx1s26w1xcw8z0qyb6h8v0wb8j0fsa0";
sha256 = "1hjv2kmv7i0jk8zkng3pxa1kdd90qpgr3v60qvs764yw8qyq35n7";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
activerecord = {
dependencies = [
@@ -159,10 +159,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1a6fng58lria02wlwiqjgqway0nx1wq31dsxn5xvbk7958xwd5cv";
sha256 = "1ri9l5v4601bxwrkl105k1ccxxg2wpvg6x94rwqr834irnv63cl9";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
activerecord-postgis-adapter = {
dependencies = [
@@ -190,10 +190,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0plck0b57b9ni8n52hj5slv5n8i7w3nfwq6r47nkb2hjbpmsskjg";
sha256 = "1wrxnj6rqzp7n80f0cfrdalz7b2md6sqqmx8lrgd3klaiwzqm295";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
activesupport = {
dependencies = [
@@ -219,25 +219,26 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "08vqq5y6vniz30p747xa8yfqb3cz8scqd8r65wij62v661gcw4d7";
sha256 = "08ybmp63qrfaxq7bv7mvb4xvfb4fcylw2a0szankzkrpdbzi7wip";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
addressable = {
dependencies = [ "public_suffix" ];
groups = [
"default"
"development"
"staging"
"test"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0cl2qpvwiffym62z991ynks7imsm87qmgxf0yfsmlwzkgi9qcaa6";
sha256 = "1by7h2lwziiblizpd5yx87jsq8ppdhzvwf08ga34wzqgcv1nmpvz";
type = "gem";
};
version = "2.8.7";
version = "2.9.0";
};
aes_key_wrap = {
groups = [ "default" ];
@@ -249,6 +250,17 @@
};
version = "1.1.0";
};
anyway_config = {
dependencies = [ "ruby-next-core" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01lkgif3mca80cc21lv1ww9mgr1nx2275h6hsgf044pq65r7lygn";
type = "gem";
};
version = "2.8.0";
};
apple_id = {
dependencies = [
"json-jwt"
@@ -315,26 +327,29 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "06y8bc0iasxm2m9l6yz84kp7d0nka52z6adz4ia09rv1ry1czrm6";
sha256 = "07w1gp9wmldxw3bf25all32s46rrn10x25h0m9grj5fvs2y4m4nn";
type = "gem";
};
version = "1.1072.0";
version = "1.1253.0";
};
aws-sdk-core = {
dependencies = [
"aws-eventstream"
"aws-partitions"
"aws-sigv4"
"base64"
"bigdecimal"
"jmespath"
"logger"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vmi65a22dq0rhjiydr94zwpn9hx3vib7vp922ccjg0vrih7mlzy";
sha256 = "1zkkzr70qnm6jq2xxlg4zgp49zdg7431sgd6yl0sgrmq0bq3f31j";
type = "gem";
};
version = "3.215.1";
version = "3.249.0";
};
aws-sdk-kms = {
dependencies = [
@@ -360,10 +375,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "10ziy8zslfjs0ihls7wiq6zvsncq89azh36rshmlylry1hhxjbxz";
sha256 = "0ybqxlicjvhp74r4y87wy61j93j9kgs427881sv9b9zdx553qi3x";
type = "gem";
};
version = "1.177.0";
version = "1.224.0";
};
aws-sigv4 = {
dependencies = [ "aws-eventstream" ];
@@ -395,10 +410,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "16a0g2q40biv93i1hch3gw8rbmhp77qnnifj1k0a6m7dng3zh444";
sha256 = "0clhya4p8lhjj7hp31inp321wgzb0b5wbwppmya5sw1dikl7400z";
type = "gem";
};
version = "3.1.20";
version = "3.1.22";
};
benchmark = {
groups = [
@@ -743,10 +758,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1y57fpcvy1kjd4nb7zk7mvzq62wqcpfynrgblj558k3hbvz4404j";
sha256 = "1hacqyck22k7g9qr9n5wwq32vg02hwwjv7kqxrb4xrslb2wg41fn";
type = "gem";
};
version = "4.9.4";
version = "5.0.4";
};
devise-two-factor = {
dependencies = [
@@ -838,6 +853,16 @@
};
version = "2.2.3";
};
dry-initializer = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1qy4cv0j0ahabprdbp02nc3r1606jd5dp90lzqg0mp0jz6c9gm9p";
type = "gem";
};
version = "3.2.0";
};
email_validator = {
dependencies = [ "activemodel" ];
groups = [ "default" ];
@@ -956,10 +981,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "077n5ss3z3ds4vj54w201kd12smai853dp9c9n7ii7g3q7nwwg54";
sha256 = "1b930ag8nh99v8n9645ac1wcah9fx0mclbp323q4i1ly9acvkk3k";
type = "gem";
};
version = "2.14.1";
version = "2.14.2";
};
faraday-follow_redirects = {
dependencies = [ "faraday" ];
@@ -978,10 +1003,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0v4hfmc7d4lrqqj2wl366rm9551gd08zkv2ppwwnjlnkc217aizi";
sha256 = "1hgflj9qj8imf8yhbbn0aiyjija9j37yxvk9lx2z64lkxkn3pccx";
type = "gem";
};
version = "3.4.2";
version = "3.4.3";
};
ffaker = {
groups = [
@@ -1081,10 +1106,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0s5gg88f2d5wpppgrgzfhnyi9y2kzprvhhjfh3q1bd79xmwg962q";
sha256 = "0phfqbch9pll4cny2c5ipna9nb3bnzc0v3mz1i0bsqxjipr2ngv4";
type = "gem";
};
version = "1.12.1";
version = "1.12.2";
};
geocoder = {
dependencies = [
@@ -1199,10 +1224,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0mbbjr774zxb2wcpbwc93l0i481bxk7ga5hpap76w3q1y9idvh9s";
sha256 = "0f4wv9zvv2j57ck19xrladm5s5sn45g3xlqg78qa8jhcm9a6mjlg";
type = "gem";
};
version = "0.23.1";
version = "0.24.2";
};
i18n = {
dependencies = [ "concurrent-ruby" ];
@@ -1315,10 +1340,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0b888h9v2y4aasi9aapxqimiaj1i1csk56l22dczigs8kv2zv56x";
sha256 = "0wr6x4fxcw113rj0gdpgz8v4faa8647w2ni9hfiiirv67qzm3pir";
type = "gem";
};
version = "2.19.1";
version = "2.19.6";
};
json-jwt = {
dependencies = [
@@ -1359,10 +1384,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1i8wmzgb5nfhvkx1f6bhdwfm7v772172imh439v3xxhkv3hllhp6";
sha256 = "115ll278g3zdvff7b05gfxqc9n74vw9xfzcc8jkv22bkphpkbng4";
type = "gem";
};
version = "2.10.1";
version = "2.10.3";
};
kaminari = {
dependencies = [
@@ -1515,10 +1540,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1vhb1sbzlq42k2pzd9v0w5ws4kjx184y8h4d63296bn57jiwzkzx";
sha256 = "17w53z6vka8ddmxvi936biqv443d5yg0503wj7xfmy9j1qvfjy0n";
type = "gem";
};
version = "1.1.0";
version = "1.2.1";
};
matrix = {
groups = [
@@ -1644,10 +1669,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0i24prs7yy1p1zdps2x1ksb7lmvbn2f0llxwdjdw3z2ksddx136b";
sha256 = "0ax0f0r97jm83q462vsrcbdxprs894fyyc44v62c48ihgb39hmcs";
type = "gem";
};
version = "0.5.12";
version = "0.6.4";
};
net-pop = {
dependencies = [ "net-protocol" ];
@@ -1943,6 +1968,31 @@
};
version = "1.6.2";
};
posthog-rails = {
dependencies = [
"posthog-ruby"
"railties"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0f2y2sd3r1ihpkwrjqa7h3frs2yv9pca00kpd54n2vy9y8vpi534";
type = "gem";
};
version = "3.9.1";
};
posthog-ruby = {
dependencies = [ "concurrent-ruby" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "09lpwyv5g6q3v4qrygkfdk3kzf3zh0bsyss0i5fgqhs4drnlhsz0";
type = "gem";
};
version = "3.9.1";
};
pp = {
dependencies = [ "prettyprint" ];
groups = [
@@ -2014,16 +2064,16 @@
};
version = "1.9.0";
};
prometheus_exporter = {
dependencies = [ "webrick" ];
prometheus-client = {
dependencies = [ "base64" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "15vl8fw8vjnaj9g129dzrwk9nlrdqgffaj3rys4ba9ns2bqim9rq";
sha256 = "09ajgmp3zvr417wasyr2imqg6f2kx0avx42dh56rzk9cx71ynyw0";
type = "gem";
};
version = "2.2.0";
version = "4.2.5";
};
pry = {
dependencies = [
@@ -2295,10 +2345,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0igxnfy4xckvk2b6x17zrwa8xwnkxnpv36ca4wma7bhs5n1c10sx";
sha256 = "1rjvzpnl0js6axlygij5a5c6cwmraxvv6z6c2px95qlbjj80zd2c";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
rails-dom-testing = {
dependencies = [
@@ -2372,10 +2422,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1lpiazaaq8di4lz9iqjqdrsnha6kfq6k35kd9nk9jhhksz51vqxc";
sha256 = "1md96yl05v436jkgz9725cax9hf61sv74267cg7yidwnl3lwd65d";
type = "gem";
};
version = "8.0.3";
version = "8.0.5";
};
rainbow = {
groups = [
@@ -2544,10 +2594,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "06ilkbbwvc8d0vppf8ywn1f79ypyymlb9krrhqv4g0q215zaiwlj";
sha256 = "0npm7nyld47f516idsmslfhypp7gm3jcl90ml5c68vz11anddhl9";
type = "gem";
};
version = "3.1.1";
version = "3.2.0";
};
rexml = {
groups = [
@@ -2831,6 +2881,16 @@
};
version = "2.34.2";
};
ruby-next-core = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "11lvg530sgxyr7swyv2vsf49fb1s1xd89wgp0axyqv0qnl5x19zn";
type = "gem";
};
version = "1.2.0";
};
ruby-progressbar = {
groups = [
"default"
@@ -2970,10 +3030,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1b2aqj17izziipb6wvsa8jr60ng8w8mal7acfkf316i8faikvawn";
sha256 = "1m3jjjihqq0sksrrk09qpz7s8zq4mw452vj6i4xd25hcxrd5qn95";
type = "gem";
};
version = "2.3.1";
version = "2.4.0";
};
sidekiq-limit_fetch = {
dependencies = [ "sidekiq" ];
@@ -3452,6 +3512,97 @@
};
version = "3.2.0";
};
yabeda = {
dependencies = [
"anyway_config"
"concurrent-ruby"
"dry-initializer"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1fjc70yxdg2jc21w6grb67qq4j52f97q9hx81s2iv9frsyn52vkz";
type = "gem";
};
version = "0.16.0";
};
yabeda-activerecord = {
dependencies = [
"activerecord"
"anyway_config"
"yabeda"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1qp0lcspci6f9qjhv75bx6bs627ak7khbahqcxd48hjp9sk83lhx";
type = "gem";
};
version = "0.1.2";
};
yabeda-prometheus = {
dependencies = [
"prometheus-client"
"rack"
"yabeda"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1zfmiiv131jwvcb9dx3cnlgrrvcfzbm8ili5gi9fpyygx3580zdq";
type = "gem";
};
version = "0.9.1";
};
yabeda-puma-plugin = {
dependencies = [
"json"
"puma"
"yabeda"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1j0bam5s3x0q2h8da01rhh0ih71c0avl3p0xd58bqc7fqzn771mp";
type = "gem";
};
version = "0.9.0";
};
yabeda-rails = {
dependencies = [
"activesupport"
"anyway_config"
"railties"
"yabeda"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0aavkbb4hp65s7swmxvn0k1igy20zgvgkfzjnff433scshdmi8mg";
type = "gem";
};
version = "0.11.0";
};
yabeda-sidekiq = {
dependencies = [
"anyway_config"
"sidekiq"
"yabeda"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "142xrxc3r2l0185jzrn0r9zc6s9x7v87glrf78pi4mkan60y59q4";
type = "gem";
};
version = "0.12.0";
};
zeitwerk = {
groups = [
"default"
@@ -3467,4 +3618,14 @@
};
version = "2.7.5";
};
zlib = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "084w64p55s3l2rmbs6x84qbclhi451n8n2limdj1mwrjidlidlsv";
type = "gem";
};
version = "3.2.3";
};
}
+2 -2
View File
@@ -1,5 +1,5 @@
{
"version": "1.7.5",
"hash": "sha256-MjiU7IiAiCpKGbUexHjGl9yX8oLgX7WtVrN5yP6hXsk=",
"version": "1.7.11",
"hash": "sha256-10FPOt/58AgP4ChMlAn5bYg2erJFXDdjXlHr3pA4L3Y=",
"npmHash": "sha256-CwpVV5xLw75ReS0IqFvV3oaVk6EBlqYIKRa2KehVwFQ="
}
+2 -2
View File
@@ -9,11 +9,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "e-imzo";
version = "6.3.7";
version = "6.4.7";
src = fetchurl {
url = "https://cdn.xinux.uz/e-imzo/E-IMZO-v${finalAttrs.version}.tar.gz";
hash = "sha256-XjS9FAIqMc9tV1aeO8D6dP9hg7ppPE/iRHX/pmzfZmM=";
hash = "sha256-wHcVIGTNRMit5LqHcXcGGi7foDmiwHVXUcxl4ZlhGnY=";
};
nativeBuildInputs = [
@@ -0,0 +1,86 @@
{
lib,
rustPlatform,
nodejs,
npmHooks,
fetchFromGitHub,
fetchNpmDeps,
makeDesktopItem,
copyDesktopItems,
controlPort ? 30912,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "framework-control";
version = "0.5.2";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "ozturkkl";
repo = "framework-control";
tag = finalAttrs.version;
hash = "sha256-2+4RxEDtLf7pnAI35Dykx38JDhZykjNZ+mihBhX0yyI=";
};
cargoHash = "sha256-fAx3scGTWIkkqqTmzpxp4Z4LxKxVjED5x9qikJpCGf4=";
cargoRoot = "service";
buildAndTestSubdir = "service";
npmRoot = "web";
npmDeps = fetchNpmDeps {
name = "framework-control-npm-deps";
src = "${finalAttrs.src}/web";
hash = "sha256-ZTvYT5x+7X3+PfBxaR6YzRlTKH1DBvwlxC281Srq2Og=";
};
nativeBuildInputs = [
nodejs
npmHooks.npmConfigHook
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
name = "framework-control";
desktopName = "Framework Control";
comment = "Lightweight control surface for Framework laptops";
exec = "xdg-open http://127.0.0.1:${toString controlPort}";
icon = "framework-control";
terminal = false;
categories = [
"Utility"
"System"
];
startupNotify = true;
})
];
FRAMEWORK_CONTROL_PORT = controlPort;
preBuild = ''
pushd web
npm run build
popd
'';
buildFeatures = [ "embed-ui" ];
postInstall = ''
mv $out/bin/framework-control-service $out/bin/framework-control
install -Dm644 web/public/assets/logo.png \
$out/share/icons/hicolor/256x256/apps/framework-control.png
'';
meta = {
description = "Lightweight control surface for Framework laptops";
homepage = "https://github.com/ozturkkl/framework-control";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ozturkkl ];
platforms = [ "x86_64-linux" ];
mainProgram = "framework-control";
};
})
@@ -4,7 +4,7 @@ set -eo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
new_version="$(curl -s "https://api.github.com/repos/git-ecosystem/git-credential-manager/releases?per_page=1" | jq -r '.[0].name' | sed 's|^GCM ||')"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./package.nix)"
if [[ "$new_version" == "$old_version" ]]; then
echo "Up to date"
exit 0
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
--set type fetchFromGitHub \
--set rev 'version-{version}' \
--nix-literal rev 'version-''${version}'\
--modify-nix default.nix
--modify-nix package.nix
''
];
meta = {
+2 -2
View File
@@ -26,13 +26,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gvm-libs";
version = "23.1.0";
version = "23.2.2";
src = fetchFromGitHub {
owner = "greenbone";
repo = "gvm-libs";
tag = "v${finalAttrs.version}";
hash = "sha256-dDyXUYDP+kWBtr7WCkPO2BetdwEYDWs9pyLMPLEi8zI=";
hash = "sha256-lXvivYyo4o9Ng7AG9/VdRAgfzGo5ow/n5dIL+RPYTMU=";
};
postPatch = ''
+2 -2
View File
@@ -14,14 +14,14 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "iaito";
version = "6.1.4";
version = "6.1.6";
srcs = [
(fetchFromGitHub {
owner = "radareorg";
repo = "iaito";
tag = finalAttrs.version;
hash = "sha256-HKh5D96Dwo6YttWcOMlFy4H9OS3FbQvQ5RK+aOY4V5s=";
hash = "sha256-hGJ8f/auUDAM/pWT52X5fiDAt/un//oBniMG1lLbofc=";
name = "main";
})
(fetchFromGitHub {
+4 -5
View File
@@ -22,23 +22,22 @@ let
in
clangStdenv.mkDerivation (finalAttrs: {
pname = "julec";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitHub {
owner = "julelang";
repo = "jule";
tag = "jule${finalAttrs.version}";
name = "jule-${finalAttrs.version}";
hash = "sha256-zfFsWP1nFvyzIqtf/nG4itpKxy6ZZjb3gGC3LwLVGPk=";
hash = "sha256-m+IJiTNOrOzx/3e67r/yWOjGRRyOy5TWHhjFZXaMOsc=";
};
irSrc = fetchFromGitHub {
owner = "julelang";
repo = "julec-ir";
# revision determined by the upstream commit hash
rev = "5de197f9041dbc61b1d97ed4e3b84c0f667014f8";
tag = "jule${finalAttrs.version}";
name = "jule-ir-${finalAttrs.version}";
hash = "sha256-PMAFXLXa3wS0+TWEU2bjlw5UzOmAx8ittQzuExhrWDM=";
hash = "sha256-UclKaxIBW1dqCz2Rk0If7EV3P7XrtUpKuR4ROPWw2Ao=";
};
dontConfigure = true;
+2 -2
View File
@@ -12,8 +12,8 @@ clangStdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "julelang";
repo = "juledoc";
rev = "d6ba549aeb82ea224e2cf07e0f0f3a2448dbd9db";
hash = "sha256-3n9VOoXIFEI9V6fzSD75PdwkijXruC7qWClOUlWd52I=";
rev = "8504254a30d04a403c1b3ac788b62491233421e5";
hash = "sha256-L8Oh2u35hraJYHimxJbBqro7iVh1a7MbVuqtujgb7c8=";
};
nativeBuildInputs = [ julec.hook ];
+2 -2
View File
@@ -12,8 +12,8 @@ clangStdenv.mkDerivation (finalAttrs: {
src = fetchFromGitHub {
owner = "julelang";
repo = "julefmt";
rev = "6bd55e31ebba393c973017332502a548ea0f402c";
hash = "sha256-j8V5L4j4qaApJixsEo10Qv58IHcU54hnpL8uD+T0C0M=";
rev = "7ac9b383013d13a03bc06f90f0b86f4fca11a4a8";
hash = "sha256-q90B0rYaUN/gQ3TUNcPS+SqIQefam1Qmzx6jUBe+c0g=";
};
nativeBuildInputs = [ julec.hook ];
+54 -59
View File
@@ -1,14 +1,8 @@
diff --git a/API/Controllers/FallbackController.cs b/API/Controllers/FallbackController.cs
index 9aff8202..f8b6c60f 100644
--- a/API/Controllers/FallbackController.cs
+++ b/API/Controllers/FallbackController.cs
@@ -1,4 +1,4 @@
-using System.IO;
+using System.IO;
using API.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@@ -27,7 +27,7 @@ public class FallbackController : Controller
diff --git a/Kavita.Server/Controllers/FallbackController.cs b/Kavita.Server/Controllers/FallbackController.cs
index 29012ba999512815ac5cdd45eccf2a01f228aae0..31d96c93580e211f4e444c0a4be3ee3099461544 100644
--- a/Kavita.Server/Controllers/FallbackController.cs
+++ b/Kavita.Server/Controllers/FallbackController.cs
@@ -18,7 +18,7 @@ public class FallbackController : Controller
return NotFound();
}
@@ -17,17 +11,55 @@ index 9aff8202..f8b6c60f 100644
}
}
diff --git a/API/Services/DirectoryService.cs b/API/Services/DirectoryService.cs
index ecce1957..774b3169 100644
--- a/API/Services/DirectoryService.cs
+++ b/API/Services/DirectoryService.cs
diff --git a/Kavita.Server/Startup.cs b/Kavita.Server/Startup.cs
index 924c9ceb0cafacbc873eaa9e16d184d215bb761d..46847d73f0da1e6c93b0e6120b256e1c1169d83f 100644
--- a/Kavita.Server/Startup.cs
+++ b/Kavita.Server/Startup.cs
@@ -48,6 +48,7 @@ using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.Caching.Hybrid;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
@@ -275,8 +276,6 @@ public class Startup
app.UsePathBase(basePath);
if (!env.IsDevelopment())
{
- // We don't update the index.html in local as we don't serve from there
- UpdateBaseUrlInIndex(basePath);
// Update DB with what's in config
var dataContext = serviceProvider.GetRequiredService<DataContext>();
@@ -316,6 +315,7 @@ public class Startup
// Ensure static files is before our custom middleware stack
app.UseStaticFiles(new StaticFileOptions
{
+ FileProvider = new PhysicalFileProvider("@webroot@"),
// bcmap files needed for PDF reader localizations (https://github.com/Kareadita/Kavita/issues/2970)
// ftl files are needed for PDF zoom options (https://github.com/Kareadita/Kavita/issues/3995)
ContentTypeProvider = new FileExtensionContentTypeProvider
@@ -534,7 +534,7 @@ public class Startup
try
{
var htmlDoc = new HtmlDocument();
- var indexHtmlPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "index.html");
+ var indexHtmlPath = Path.Combine("@webroot@", "index.html");
htmlDoc.Load(indexHtmlPath);
var baseNode = htmlDoc.DocumentNode.SelectSingleNode("/html/head/base");
diff --git a/Kavita.Services/DirectoryService.cs b/Kavita.Services/DirectoryService.cs
index 38c88eeead9812895046e776667c9540bf4662a5..79ac745ef2f8ae630d74d605083a5b597aedbcec 100644
--- a/Kavita.Services/DirectoryService.cs
+++ b/Kavita.Services/DirectoryService.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.IO;
@@ -135,7 +135,7 @@ public class DirectoryService : IDirectoryService
@@ -66,7 +66,7 @@ public class DirectoryService : IDirectoryService
ExistOrCreate(SiteThemeDirectory);
FaviconDirectory = FileSystem.Path.Join(FileSystem.Directory.GetCurrentDirectory(), "config", "favicons");
ExistOrCreate(FaviconDirectory);
@@ -36,17 +68,17 @@ index ecce1957..774b3169 100644
CustomizedTemplateDirectory = FileSystem.Path.Join(FileSystem.Directory.GetCurrentDirectory(), "config", "templates");
ExistOrCreate(CustomizedTemplateDirectory);
TemplateDirectory = FileSystem.Path.Join(FileSystem.Directory.GetCurrentDirectory(), "EmailTemplates");
diff --git a/API/Services/LocalizationService.cs b/API/Services/LocalizationService.cs
index 8abde664..2f207837 100644
--- a/API/Services/LocalizationService.cs
+++ b/API/Services/LocalizationService.cs
diff --git a/Kavita.Services/LocalizationService.cs b/Kavita.Services/LocalizationService.cs
index 5597f05cf65dac448bc893aeee8e6ecc0a0d58c7..c8b2746d45d547d4544ef2022c8bcc360772383f 100644
--- a/Kavita.Services/LocalizationService.cs
+++ b/Kavita.Services/LocalizationService.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
@@ -57,9 +57,7 @@ public class LocalizationService : ILocalizationService
@@ -51,9 +51,7 @@ public class LocalizationService : ILocalizationService
}
else
{
@@ -57,41 +89,4 @@ index 8abde664..2f207837 100644
}
_cacheOptions = new MemoryCacheEntryOptions()
diff --git a/API/Startup.cs b/API/Startup.cs
index fad79cee..073fcdee 100644
--- a/API/Startup.cs
+++ b/API/Startup.cs
@@ -36,6 +36,7 @@ using Microsoft.AspNetCore.StaticFiles;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
@@ -353,8 +354,6 @@ public class Startup
app.UsePathBase(basePath);
if (!env.IsDevelopment())
{
- // We don't update the index.html in local as we don't serve from there
- UpdateBaseUrlInIndex(basePath);
// Update DB with what's in config
var dataContext = serviceProvider.GetRequiredService<DataContext>();
@@ -399,6 +398,7 @@ public class Startup
app.UseStaticFiles(new StaticFileOptions
{
+ FileProvider = new PhysicalFileProvider("@webroot@"),
// bcmap files needed for PDF reader localizations (https://github.com/Kareadita/Kavita/issues/2970)
// ftl files are needed for PDF zoom options (https://github.com/Kareadita/Kavita/issues/3995)
ContentTypeProvider = new FileExtensionContentTypeProvider
@@ -481,7 +481,7 @@ public class Startup
try
{
var htmlDoc = new HtmlDocument();
- var indexHtmlPath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "index.html");
+ var indexHtmlPath = Path.Combine("@webroot@", "index.html");
htmlDoc.Load(indexHtmlPath);
var baseNode = htmlDoc.DocumentNode.SelectSingleNode("/html/head/base");
File diff suppressed because it is too large Load Diff
+9 -11
View File
@@ -10,13 +10,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "kavita";
version = "0.8.8.3";
version = "0.9.0.2";
src = fetchFromGitHub {
owner = "kareadita";
repo = "kavita";
rev = "v${finalAttrs.version}";
hash = "sha256-Va3scgMxcLhqP+s7x/iDneCPZQCF0iOIQAfTJENcvOI=";
hash = "sha256-Wfb/Lc+BvkiJLopH1NQx1YQWzm2Sdmvg1Xmn+8YwWus=";
};
backend = buildDotnetModule {
@@ -31,18 +31,16 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# Future updates should check if migration restoration is needed for supported upgrade paths.
];
postPatch = ''
substituteInPlace API/Services/DirectoryService.cs --subst-var out
substituteInPlace Kavita.Services/DirectoryService.cs --subst-var out
substituteInPlace API/Startup.cs API/Services/LocalizationService.cs API/Controllers/FallbackController.cs \
substituteInPlace Kavita.Server/Startup.cs Kavita.Services/LocalizationService.cs Kavita.Server/Controllers/FallbackController.cs \
--subst-var-by webroot "${finalAttrs.frontend}/lib/node_modules/kavita-webui/dist/browser"
'';
executables = [ "API" ];
projectFile = "API/API.csproj";
projectFile = "Kavita.Server/Kavita.Server.csproj";
nugetDeps = ./nuget-deps.json;
dotnet-sdk = dotnetCorePackages.sdk_9_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_9_0;
dotnet-sdk = dotnetCorePackages.sdk_10_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_10_0;
};
frontend = buildNpmPackage {
@@ -54,7 +52,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
npmBuildScript = "prod";
npmFlags = [ "--legacy-peer-deps" ];
npmRebuildFlags = [ "--ignore-scripts" ]; # Prevent playwright from trying to install browsers
npmDepsHash = "sha256-SqW9qeg0CKfVKYsDXmVsnVNmcH7YkaXtXpPjIqGL0i0=";
npmDepsHash = "sha256-Qa/lf0hH2KMDdRcBj8GW9cJGE3YZsP32z2kfTk6YNYc=";
};
dontBuild = true;
@@ -65,7 +63,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
mkdir -p $out/bin $out/lib/kavita
ln -s $backend/lib/kavita-backend $out/lib/kavita/backend
ln -s $frontend/lib/node_modules/kavita-webui/dist $out/lib/kavita/frontend
ln -s $backend/bin/API $out/bin/kavita
ln -s $backend/bin/Kavita.Server $out/bin/kavita
runHook postInstall
'';
+1 -1
View File
@@ -14,7 +14,7 @@ popd
update-source-version kavita "$latest_version"
pushd "$(dirname "${BASH_SOURCE[0]}")"
sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i default.nix
sed -E 's#\bnpmDepsHash = ".*?"#npmDepsHash = "'"$npmDepsHash"'"#' -i package.nix
popd
$(nix-build -A kavita.backend.fetch-deps --no-out-link)
@@ -13,13 +13,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lasuite-docs-collaboration-server";
version = "5.2.0";
version = "5.2.1";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "docs";
tag = "v${finalAttrs.version}";
hash = "sha256-38+pRhqCRUOGHZwcoeXZG+E/iM6SthhQPd4uT8WRUCs=";
hash = "sha256-FRN4rcS2aYoYjFY05nYV9pYz0Es8X3EWsD/oPdp4kpI=";
};
sourceRoot = "${finalAttrs.src.name}/src/frontend";
@@ -12,13 +12,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lasuite-docs-frontend";
version = "5.2.0";
version = "5.2.1";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "docs";
tag = "v${finalAttrs.version}";
hash = "sha256-38+pRhqCRUOGHZwcoeXZG+E/iM6SthhQPd4uT8WRUCs=";
hash = "sha256-FRN4rcS2aYoYjFY05nYV9pYz0Es8X3EWsD/oPdp4kpI=";
};
sourceRoot = "${finalAttrs.src.name}/src/frontend";
+2 -2
View File
@@ -11,12 +11,12 @@
yarnConfigHook,
}:
let
version = "5.2.0";
version = "5.2.1";
src = fetchFromGitHub {
owner = "suitenumerique";
repo = "docs";
tag = "v${version}";
hash = "sha256-38+pRhqCRUOGHZwcoeXZG+E/iM6SthhQPd4uT8WRUCs=";
hash = "sha256-FRN4rcS2aYoYjFY05nYV9pYz0Es8X3EWsD/oPdp4kpI=";
};
mail-templates = stdenv.mkDerivation {
+2 -2
View File
@@ -12,14 +12,14 @@
clangStdenv.mkDerivation (finalAttrs: {
pname = "objfw";
version = "1.5.4";
version = "1.5.5";
src = fetchFromGitea {
domain = "git.nil.im";
owner = "ObjFW";
repo = "ObjFW";
rev = "${finalAttrs.version}-release";
hash = "sha256-iIDhYoZr9TOd596rAi9WKzoxns0gQ3TVSDc4GpXJu9E=";
hash = "sha256-0tmttbuzEOqjvpjnreKttQRIabt+ZxRjDh7x8VZo/EQ=";
};
nativeBuildInputs = [
+5 -3
View File
@@ -11,7 +11,7 @@
versionCheckHook,
rolldown,
installShellFiles,
version ? "2026.5.12",
version ? "2026.6.1",
}:
let
pnpm = pnpm_11.override { nodejs-slim = nodejs-slim_22; };
@@ -24,10 +24,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
owner = "openclaw";
repo = "openclaw";
tag = "v${finalAttrs.version}";
hash = "sha256-URuoljISNcDLuWUwOpZoFjPNVOmbThC9r00uShPR4Co=";
hash = "sha256-FjxiI7YHkt6fTzJD7G5A3/wsbcWgpO44IHMOwymDxpg=";
};
pnpmDepsHash = "sha256-pLQoA9eyHD84E0Rp8MMqfu95tGJtDEMbY+fh0nHjdWo=";
pnpmDepsHash = "sha256-7RQJAVWqhauG8JrF8AD1VU1IJRM+SH05aHAfmFaXraU=";
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
@@ -76,6 +76,8 @@ stdenvNoCC.mkDerivation (finalAttrs: {
cp --reflink=auto -r package.json dist node_modules $libdir/
cp --reflink=auto -r docs skills patches extensions qa $libdir/
mkdir -p $libdir/src
cp --reflink=auto -r src/agents $libdir/src/
rm -f $libdir/node_modules/.pnpm/node_modules/clawdbot \
$libdir/node_modules/.pnpm/node_modules/moltbot \
+11 -1
View File
@@ -3,6 +3,7 @@
stdenvNoCC,
fetchurl,
_7zz,
installShellFiles,
}:
let
inherit (stdenvNoCC.hostPlatform) system;
@@ -41,7 +42,10 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# These bogus files corrupt the .app bundle and prevent it from launching.
unpackCmd = "7zz x -snld -xr'!*:com.apple.*' $curSrc";
nativeBuildInputs = [ _7zz ];
nativeBuildInputs = [
_7zz
installShellFiles
];
sourceRoot = ".";
@@ -59,6 +63,12 @@ stdenvNoCC.mkDerivation (finalAttrs: {
runHook postInstall
'';
postInstall = ''
installShellCompletion --bash "$out"/Applications/OrbStack.app/Contents/Resources/completions/bash/{docker,kubectl,orbctl}.bash
installShellCompletion --zsh "$out"/Applications/OrbStack.app/Contents/Resources/completions/zsh/{_docker,_kubectl,_orb,_orbctl}
installShellCompletion --fish "$out"/Applications/OrbStack.app/Contents/Resources/completions/fish/{docker,kubectl,orbctl}.fish
'';
passthru = {
inherit sources;
updateScript = ./update.sh;
+3 -3
View File
@@ -8,16 +8,16 @@
}:
buildGoModule (finalAttrs: {
pname = "ostui";
version = "1.1.1";
version = "1.3.2";
src = fetchFromSourcehut {
owner = "~ser";
repo = "ostui";
rev = "v${finalAttrs.version}";
hash = "sha256-5QwI4E6OqxnFPSgWsowNRolK6yi4tQR8ZyADzYw7tNY=";
hash = "sha256-kg0sMLH7rZ+RmOi8lnjIya4l9W/HIU9bP2Eyj1+vWSQ=";
};
vendorHash = "sha256-3FP+qZChS9A8R6il282pkyFweeOolrAu0L0WFcnrdKI=";
vendorHash = "sha256-yhoTwouYlv2VkCWmvwvvpbQmrFwzwpraf0EV2Tegq94=";
nativeBuildInputs = [
pkg-config
@@ -2,6 +2,7 @@
lib,
buildGoModule,
fetchFromGitHub,
nixosTests,
}:
buildGoModule (finalAttrs: {
pname = "elasticsearch_exporter";
@@ -16,6 +17,8 @@ buildGoModule (finalAttrs: {
vendorHash = "sha256-8y0M1b34eJpuHOuXPemhB5kKwBSgU7cMFxOaIZFS/bo=";
passthru.tests = { inherit (nixosTests.prometheus-exporters) elasticsearch; };
meta = {
description = "Elasticsearch stats exporter for Prometheus";
mainProgram = "elasticsearch_exporter";
+2 -2
View File
@@ -9,7 +9,7 @@
dpkg,
}:
let
version = "2.1.2";
version = "2.1.3";
deb =
runCommand "PureRef-${version}_x64"
{
@@ -19,7 +19,7 @@ let
cacert
dpkg
];
outputHash = "sha256-aGHhesJ6JJQpuRbDgASjpY4e28WHaVSFNEgGZmG7U3g=";
outputHash = "sha256-7S0nnEwtGKKKNPZL2pb5Z8bKKB5eWvymSS2pQo9cJa0=";
outputHashMode = "recursive";
}
''
+3 -3
View File
@@ -8,7 +8,7 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rgx";
version = "0.12.4";
version = "0.12.6";
__structuredAttrs = true;
@@ -16,10 +16,10 @@ rustPlatform.buildRustPackage (finalAttrs: {
owner = "brevity1swos";
repo = "rgx";
tag = "v${finalAttrs.version}";
hash = "sha256-wr2MPujzrDnuXDLp+moc2gQpjBrs7MIgSalkjuctQZU=";
hash = "sha256-YdbuyVhqu1LUaHecF1iFS62/qcW9IgXPlsEoWpNdrEQ=";
};
cargoHash = "sha256-MIcIPQrYoCHKrsIJzMvozF3/00XYfqLBAyEtqlyfceI=";
cargoHash = "sha256-ILq0oB+Xq4agQMWqGLV0LC4NlMkUMVFppLJ+FJpsTRM=";
buildInputs = [ pcre2 ];
+41 -32
View File
@@ -2,43 +2,52 @@
lib,
buildGoModule,
fetchFromGitHub,
stdenv,
}:
buildGoModule (finalAttrs: {
pname = "rqlite";
version = "9.4.5";
buildGoModule (
finalAttrs:
let
cmdPackage = "github.com/rqlite/rqlite/v${lib.versions.major finalAttrs.version}/cmd";
in
{
pname = "rqlite";
version = "10.2.0";
src = fetchFromGitHub {
owner = "rqlite";
repo = "rqlite";
tag = "v${finalAttrs.version}";
hash = "sha256-jvqmRmURAvo0bNrwgft95oHupRf8FJaB3XRgnU43wRo=";
};
src = fetchFromGitHub {
owner = "rqlite";
repo = "rqlite";
tag = "v${finalAttrs.version}";
hash = "sha256-XpdI3OFkMHlnUQ6LXo/NDagRwaRkQMq2UmFg4MOKNJ4=";
};
vendorHash = "sha256-PPmX/KbNO/LEwGlw8bziek4uDd5sgDo3+wNlBJm/qA4=";
vendorHash = "sha256-7f9A9BnENKF7kRftB/ii1EQeHMsYp9ZSb5T474ngs6E=";
subPackages = [
"cmd/rqlite"
"cmd/rqlited"
"cmd/rqbench"
];
subPackages = [
"cmd/rqlite"
"cmd/rqlited"
"cmd/rqbench"
];
# Leaving other flags from https://github.com/rqlite/rqlite/blob/master/package.sh
# since automatically retrieving those is nontrivial and inessential
ldflags = [
"-s"
"-w"
"-X github.com/rqlite/rqlite/cmd.Version=${finalAttrs.version}"
];
# Mirror the upstream release build metadata
ldflags = [
"-s"
"-X ${cmdPackage}.CompilerCommand=${stdenv.cc.targetPrefix}cc"
"-X ${cmdPackage}.Version=${finalAttrs.version}"
"-X ${cmdPackage}.Branch=${finalAttrs.src.tag}"
"-X ${cmdPackage}.Commit=${finalAttrs.src.tag}"
"-X ${cmdPackage}.Buildtime=1970-01-01T00:00:00Z"
];
# Tests are in a different subPackage which fails trying to access the network
doCheck = false;
doCheck = true;
meta = {
description = "Lightweight, distributed relational database built on SQLite";
homepage = "https://github.com/rqlite/rqlite";
changelog = "https://github.com/rqlite/rqlite/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = [ ];
};
})
meta = {
description = "Lightweight, fault-tolerant, distributed relational database built on SQLite";
homepage = "https://github.com/rqlite/rqlite";
changelog = "https://github.com/rqlite/rqlite/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
mainProgram = "rqlite";
maintainers = with lib.maintainers; [ iamanaws ];
};
}
)
+4 -3
View File
@@ -38,17 +38,18 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "rustdesk";
version = "1.4.6";
version = "1.4.7";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "rustdesk";
repo = "rustdesk";
tag = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-2MZOM+SHDrjFhCIHcFB7zABpwC7hNtS0XNFx2FpaqIE=";
hash = "sha256-k4hJjr6xN1EOPfxRoTZMAUXZCFrwod3c+jVtBbqqO0U=";
};
cargoHash = "sha256-BYVqeuARE+B1AZLH0s5KlYz2/4qTB18LzzgiGBLXRYg=";
cargoHash = "sha256-vK0Z/BUlsmAIfbG8utHKNVDM3ZHPzHML+4l2tE6aU78=";
patches = [
./make-build-reproducible.patch
+6 -3
View File
@@ -17,16 +17,19 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "satty";
version = "0.20.1";
version = "0.21.1";
src = fetchFromGitHub {
owner = "gabm";
repo = "Satty";
rev = "v${finalAttrs.version}";
hash = "sha256-pR3Mc5Eue4YcIMcrzkyDhZPpovRFa8TW1PjL/ysH/7s=";
hash = "sha256-pD91+MbieZ5/YoUR0lcKnJ9bA1fn7I97NbnIwm/kL7E=";
};
cargoHash = "sha256-/WewpLpBmD4XnjwY7NmzbglYGNKmgMLjg1pvUdqEIwo=";
cargoHash = "sha256-Oavfb2Jp9WO0eaT5TqRwSxU3+rm9lBxwuWTWnc2CnZ0=";
# Generate shell completions and man file
buildFeatures = [ "ci-release" ];
nativeBuildInputs = [
copyDesktopItems
@@ -6,16 +6,16 @@
}:
buildGoModule (finalAttrs: {
pname = "sftpgo-plugin-auth";
version = "1.0.14";
version = "1.0.15";
src = fetchFromGitHub {
owner = "sftpgo";
repo = "sftpgo-plugin-auth";
tag = "v${finalAttrs.version}";
hash = "sha256-Aw9n4CBmsWEqhNol5Ge/Ae5uaZn4zp6sIc8N6L724H4=";
hash = "sha256-2wkM7rXDc8DuZ+ab1/eX9o4jpz2C7fs60cAkIexN558=";
};
vendorHash = "sha256-ZCkKr0hpHx37T9DfaYev9jxkpNcDPF9R0YsCkw2/pA8=";
vendorHash = "sha256-dRKDJCy2OROoNRlQDma5JlDsqZp4DoIeT2AWAuVujuo=";
env.CGO_ENABLED = "0";
+407 -436
View File
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,26 @@
diff --git a/gui/public/i18n/en/translation.ftl b/gui/public/i18n/en/translation.ftl
index fd804a0e..35762e45 100644
--- a/gui/public/i18n/en/translation.ftl
+++ b/gui/public/i18n/en/translation.ftl
@@ -1034,7 +1034,7 @@ onboarding-reset_tutorial-2 = Tap the highlighted tracker { $taps } times to tri
## Install info
install-info_udev-rules_modal_title = Hardware udev access rules not found
-install-info_udev-rules_warning = Access rules via udev are required for serial console access & dongle connection. Paste the following command into your terminal to add the udev rules.
+install-info_udev-rules_warning = Access rules via udev are required for serial console access & dongle connection. Add the following to your NixOS config to install the udev rules.
install-info_udev-rules_modal_button = Close
install-info_udev-rules_modal-dont-show-again_checkbox = Don't show again
## Setup start
diff --git a/gui/src/components/onboarding/UdevRulesModal.tsx b/gui/src/components/onboarding/UdevRulesModal.tsx
index b89af1e7..00955544 100644
--- a/gui/src/components/onboarding/UdevRulesModal.tsx
+++ b/gui/src/components/onboarding/UdevRulesModal.tsx
@@ -25,7 +25,7 @@ export function UdevRulesModal() {
const dir = await electron.api.getInstallDir();
const rulesPath = `${dir}/69-slimevr-devices.rules`;
setUdevContent(
- `cat ${rulesPath} | sudo sh -c 'tee /etc/udev/rules.d/69-slimevr-devices.rules >/dev/null && udevadm control --reload-rules && udevadm trigger'`
+ `{\n services.udev.packages = [ pkgs.slimevr ];\n}`
);
}
};
@@ -1,13 +1,13 @@
diff --git a/gui/src-tauri/src/main.rs b/gui/src-tauri/src/main.rs
index 8191f0ed..01e764d8 100644
--- a/gui/src-tauri/src/main.rs
+++ b/gui/src-tauri/src/main.rs
@@ -188,7 +188,7 @@ fn setup_webview2() -> Result<()> {
diff --git a/gui/electron/main/index.ts b/gui/electron/main/index.ts
index 0210e5eb..a52bbb5b 100644
--- a/gui/electron/main/index.ts
+++ b/gui/electron/main/index.ts
@@ -361,7 +361,7 @@ function createWindow() {
}
fn check_environment_variables() {
use itertools::Itertools;
- const ENVS_TO_CHECK: &[&str] = &["_JAVA_OPTIONS", "JAVA_TOOL_OPTIONS"];
+ const ENVS_TO_CHECK: &[&str] = &["_JAVA_OPTIONS"];
let checked_envs = ENVS_TO_CHECK
.into_iter()
.filter_map(|e| {
const checkEnvironmentVariables = () => {
- const to_check = ['_JAVA_OPTIONS', 'JAVA_TOOL_OPTIONS'];
+ const to_check = ['_JAVA_OPTIONS'];
const set = to_check.filter((env) => !!process.env[env]);
if (set.length > 0) {
+73 -68
View File
@@ -1,74 +1,40 @@
{
lib,
fetchFromGitHub,
stdenv,
fetchFromGitHub,
fetchPnpmDeps,
replaceVars,
nodejs,
pnpmConfigHook,
pnpm_9,
electron,
makeWrapper,
slimevr-server,
nodejs,
pnpm_9,
fetchPnpmDeps,
pnpmConfigHook,
rustPlatform,
cargo-tauri,
wrapGAppsHook3,
pkg-config,
openssl,
glib-networking,
webkitgtk_4_1,
gst_all_1,
libayatana-appindicator,
copyDesktopItems,
makeDesktopItem,
udevCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
stdenv.mkDerivation (finalAttrs: {
pname = "slimevr";
version = "18.2.0";
version = "20.1.0";
src = fetchFromGitHub {
owner = "SlimeVR";
repo = "SlimeVR-Server";
tag = "v${finalAttrs.version}";
hash = "sha256-7QU+xQ72t722DOhrurI1XXpILLNnk8lE0yrD1P5XJbA=";
hash = "sha256-8ti1uyDtgf9JuWurAkE0Twj3/ROOd9ai94htEvoVo50=";
# solarxr
fetchSubmodules = true;
};
buildAndTestSubdir = "gui/src-tauri";
cargoHash = "sha256-X5IgWZlkvsstMN3YS4r+NJl6RVfREfZqKUrfsrUPQuU=";
pnpmDeps = fetchPnpmDeps {
pname = "${finalAttrs.pname}-pnpm-deps";
inherit (finalAttrs) version src;
pnpm = pnpm_9;
fetcherVersion = 3;
hash = "sha256-deVfRZcMFkOVWXmNUiixmd5WBfIFKxG2Gw3CfshspYo=";
hash = "sha256-gGBwE6QxJsbVmQc1e390SSXAjs/T992ju8y9wz1H1QQ=";
};
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm_9
cargo-tauri.hook
pkg-config
wrapGAppsHook3
makeWrapper
udevCheckHook
];
buildInputs = [
openssl
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
]
++ lib.optionals stdenv.hostPlatform.isLinux [
glib-networking
libayatana-appindicator
webkitgtk_4_1
];
patches = [
# Upstream code uses Git to find the program version.
(replaceVars ./gui-no-git.patch {
@@ -76,20 +42,20 @@ rustPlatform.buildRustPackage (finalAttrs: {
})
# By default, SlimeVR will give a big warning about our `JAVA_TOOL_OPTIONS` changes.
./no-java-tool-options-warning.patch
# Correct udev instructions for NixOS.
./nixos-udev-instructions.patch
];
postPatch = ''
# Tauri bundler expects slimevr.jar to exist.
mkdir -p server/desktop/build/libs
touch server/desktop/build/libs/slimevr.jar
''
+ lib.optionalString stdenv.hostPlatform.isLinux ''
# Both libappindicator-rs and SlimeVR need to know where Nix's appindicator lib is.
substituteInPlace $cargoDepsCopy/*/libappindicator-sys-*/src/lib.rs \
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
substituteInPlace gui/src-tauri/src/tray.rs \
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
'';
strictDeps = true;
nativeBuildInputs = [
nodejs
pnpmConfigHook
pnpm_9
makeWrapper
copyDesktopItems
udevCheckHook
];
# solarxr needs to be installed after compiling its Typescript files. This isn't
# done the first time, because `pnpmConfigHook` ignores `package.json` scripts.
@@ -100,23 +66,62 @@ rustPlatform.buildRustPackage (finalAttrs: {
doCheck = false; # No tests
doInstallCheck = true; # Check udev
# Get rid of placeholder slimevr.jar
postInstall = ''
rm $out/share/slimevr/slimevr.jar
rm -d $out/share/slimevr
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
install -Dm644 -t $out/lib/udev/rules.d/ gui/src-tauri/69-slimevr-devices.rules
buildPhase = ''
runHook preBuild
pushd gui
pnpm build
pnpm exec electron-builder \
--dir \
-c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version}
popd
runHook postBuild
'';
# `JAVA_HOME`, `JAVA_TOOL_OPTIONS`, and `--launch-from-path` are so the GUI can
# launch the server.
postFixup = ''
wrapProgram "$out/bin/slimevr" \
installPhase = ''
runHook preInstall
mkdir -p $out/share/slimevr
cp -r gui/dist/artifacts/*/*-unpacked/{locales,resources{,.pak}} $out/share/slimevr/
# `JAVA_HOME`, `JAVA_TOOL_OPTIONS`, and `--path` are so the GUI can
# launch the server.
makeWrapper ${lib.getExe electron} $out/bin/slimevr \
--add-flags $out/share/slimevr/resources/app.asar \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true --wayland-text-input-version=3}}" \
--set JAVA_HOME "${slimevr-server.passthru.java.home}" \
--set JAVA_TOOL_OPTIONS "${slimevr-server.passthru.javaOptions}" \
--add-flags "--launch-from-path ${slimevr-server}/share/slimevr"
--add-flags "--path ${slimevr-server}/share/slimevr" \
--inherit-argv0
install -Dm444 gui/electron/resources/icons/icon.png $out/share/icons/hicolor/512x512/apps/slimevr.png
install -Dm644 -t $out/lib/udev/rules.d/ gui/electron/resources/69-slimevr-devices.rules
runHook postInstall
'';
desktopItems = [
(makeDesktopItem {
name = "slimevr";
desktopName = "SlimeVR";
genericName = "Full-body tracking";
comment = finalAttrs.meta.description;
categories = [ "Game" ];
keywords = [
"FBT"
"VR"
"Steam"
"VRChat"
"IMU"
];
icon = "slimevr";
exec = "slimevr";
})
];
passthru.updateScript = ./update.sh;
meta = {
+59 -85
View File
@@ -1,5 +1,4 @@
{
bun,
cctools,
copyDesktopItems,
electron_40,
@@ -14,10 +13,13 @@
nodejs,
python3,
stdenv,
stdenvNoCC,
writableTmpDirAsHomeHook,
writeDarwinBundle,
xcbuild,
fetchPnpmDeps,
pnpm_10,
pnpmConfigHook,
pnpmBuildHook,
cacert,
enableAzureDevOps ? false,
azure-cli,
azure-cli-extensions,
@@ -42,6 +44,7 @@ stdenv.mkDerivation (
let
appName = "T3 Code (Alpha)";
electron = electron_40;
pnpm = pnpm_10;
desktopIcon =
if stdenv.hostPlatform.isDarwin then
"assets/prod/black-macos-1024.png"
@@ -63,53 +66,10 @@ stdenv.mkDerivation (
\
--prefix PATH : ${lib.makeBinPath runtimePackages}
'';
nodeModules = stdenvNoCC.mkDerivation {
pname = "${finalAttrs.pname}-node_modules";
inherit (finalAttrs) src version strictDeps;
nativeBuildInputs = [
bun
nodejs
writableTmpDirAsHomeHook
];
dontConfigure = true;
dontFixup = true;
buildPhase = ''
runHook preBuild
# Use hoisted linker: Bun's default/isolated layout can race and omit
# cyclic peer dependency bin links (e.g. update-browserslist-db →
# browserslist). A manual .bin/browserslist symlink under .bun did not
# reliably fix builds; see https://github.com/oven-sh/bun/pull/29014.
bun install \
--linker=hoisted \
--cpu="*" \
--ignore-scripts \
--no-progress \
--frozen-lockfile \
--os="*"
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir --parents $out
cp --recursive node_modules $out
runHook postInstall
'';
outputHash = "sha256-0wA39cSxybKPbZ1xXf+mcI4QSXJhLcNQ6x+o2xvLuq8=";
outputHashMode = "recursive";
};
in
{
pname = "t3code";
version = "0.0.24";
version = "0.0.25";
strictDeps = true;
__structuredAttrs = true;
@@ -117,7 +77,7 @@ stdenv.mkDerivation (
owner = "pingdotgg";
repo = "t3code";
tag = "v${finalAttrs.version}";
hash = "sha256-7mqRuWft9h9MAEVzuwC6K1aj2UUAcjheWrwncXhpbro=";
hash = "sha256-R9FTqKT67POU9dED/EdPJVsu/rSEQ2C4WoNUwgkL0e8=";
};
postPatch = ''
@@ -127,13 +87,15 @@ stdenv.mkDerivation (
'';
nativeBuildInputs = [
bun
installShellFiles
makeBinaryWrapper
node-gyp
nodejs
python3
writableTmpDirAsHomeHook
pnpmConfigHook
pnpmBuildHook
pnpm
cacert
]
++ lib.optionals stdenv.hostPlatform.isLinux [ copyDesktopItems ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
@@ -143,45 +105,63 @@ stdenv.mkDerivation (
xcbuild
];
configurePhase = ''
runHook preConfigure
pnpmWorkspaces = [
# `...` suffix is used to also include other workspace packages that are
# directly or indirectly depended on by the listed packages, such as
# `@t3tools/contracts` and `@t3tools/shared`.
"@t3tools/monorepo"
"t3..."
"@t3tools/desktop..."
"@t3tools/scripts..."
];
cp --recursive ${nodeModules}/. .
pnpmDeps = fetchPnpmDeps {
inherit pnpm;
inherit (finalAttrs)
pname
version
src
pnpmWorkspaces
;
chmod --recursive u+rwX node_modules
patchShebangs node_modules
fetcherVersion = 4;
hash = "sha256-gctAlOtQMAbw4xWH9QyyVae6f0fk+o+EkLW+4rpmF9c=";
};
# Upstream bumps package.json versions after tagging releases, then applies
# the same bump in the release workflow before building artifacts.
bun scripts/update-release-package-versions.ts ${finalAttrs.version}
# This workaround turns the `pnpmWorkspaces` array into a space-separated
# string. This format is supported by both `pnpmConfigHook` and `pnpmBuildHook`.
# TODO: remove this when`pnpmConfigHook` supports `___structuredAttrs = true;`
# https://github.com/NixOS/nixpkgs/issues/528547
preConfigure = ''
__pnpmWorkspaces="''${pnpmWorkspaces[@]}"
unset pnpmWorkspaces
declare -g pnpmWorkspaces="$__pnpmWorkspaces"
'';
preBuild = ''
node scripts/update-release-package-versions.ts ${finalAttrs.version}
# Compile node-pty's native addon (hoisted into node_modules).
export npm_config_nodedir=${nodejs}
cd node_modules/node-pty
node-gyp rebuild
node scripts/post-install.js
cd -
runHook postConfigure
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
# Exclude the `@t3tools/monorepo` workspace from the pending rebuild since
# `vp config` needs git
pnpm rebuild --pending "''${pnpmInstallFlags[@]}" --filter '!@t3tools/monorepo'
'';
buildPhase = ''
runHook preBuild
pnpmBuildScript = "build:desktop";
for app in web server desktop; do
bun run --cwd apps/"$app" build
done
runHook postBuild
postBuild = ''
pnpm vp cache clean
'';
# Bun vendors many prebuilt native artifacts for non-host platforms, and
# some of those binaries are statically linked. Let fixup handle wrappers,
# shebangs, and stripping, but skip patchelf on the vendored tree.
# Many dependencies vendors many prebuilt native artifacts for non-host
# platforms, and some of those binaries are statically linked. Let fixup
# handle wrappers, shebangs, and stripping, but skip patchelf on the
# vendored tree.
dontPatchELF = true;
# The tmpdir audit hook also shells out to patchelf while scanning every
# vendored ELF for leaked build paths. That produces spurious warnings on
# Bun's static foreign-platform binaries.
# some dependencies' static foreign-platform binaries.
noAuditTmpdir = true;
installPhase = ''
@@ -189,8 +169,8 @@ stdenv.mkDerivation (
mkdir --parents "$out"/libexec/t3code/apps/desktop "$out"/libexec/t3code/apps/server
cp --recursive --no-preserve=mode node_modules "$out"/libexec/t3code
cp --recursive --no-preserve=mode apps/server/dist "$out"/libexec/t3code/apps/server
cp --recursive --no-preserve=mode apps/desktop/dist-electron "$out"/libexec/t3code/apps/desktop
cp --recursive --no-preserve=mode apps/server/{node_modules,dist} "$out"/libexec/t3code/apps/server
cp --recursive --no-preserve=mode apps/desktop/{node_modules,dist-electron} "$out"/libexec/t3code/apps/desktop
mkdir --parents "$out"/libexec/t3code/apps/desktop/prod-resources
install --mode=444 ${desktopIcon} \
@@ -247,13 +227,7 @@ stdenv.mkDerivation (
];
passthru = {
inherit nodeModules;
updateScript = nix-update-script {
extraArgs = [
"--subpackage"
"nodeModules"
];
};
updateScript = nix-update-script { };
};
meta = {
@@ -0,0 +1,122 @@
{
lib,
fetchFromGitHub,
rustPlatform,
makeWrapper,
pkg-config,
dbus,
fontconfig,
libGL,
libx11,
libxcb,
libxcursor,
libxext,
libxi,
libxinerama,
libxkbcommon,
libxrandr,
openssl,
vulkan-loader,
wayland,
xdg-utils,
zenity,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tiny-wii-backup-manager";
version = "6.0.4";
src = fetchFromGitHub {
owner = "mq1";
repo = "TinyWiiBackupManager";
tag = "v${finalAttrs.version}";
hash = "sha256-utgS0qlrOkZb6BdHPBalOf2Ay2MpIBC6p5FjzVpgQpU=";
};
cargoHash = "sha256-LbJo5a7ZMO0EAhGIhiqcsWR1osE3SNkU3zrrp0y0TR0=";
cargoBuildFlags = [
"--bin"
"twbm-gui"
];
nativeBuildInputs = [
makeWrapper
pkg-config
];
buildInputs = [
dbus
fontconfig
libGL
libx11
libxcb
libxcursor
libxext
libxi
libxinerama
libxkbcommon
libxrandr
openssl
vulkan-loader
wayland
];
# Upstream does not currently ship tests.
doCheck = false;
postInstall = ''
mv $out/bin/twbm-gui $out/bin/TinyWiiBackupManager
install -Dm644 package/linux/AppDir/usr/share/applications/it.mq1.TinyWiiBackupManager.desktop \
$out/share/applications/it.mq1.TinyWiiBackupManager.desktop
install -Dm644 package/linux/it.mq1.TinyWiiBackupManager.metainfo.xml \
$out/share/metainfo/it.mq1.TinyWiiBackupManager.metainfo.xml
mkdir -p $out/share/icons
cp -r package/linux/AppDir/usr/share/icons/hicolor $out/share/icons/
wrapProgram $out/bin/TinyWiiBackupManager \
--prefix PATH : ${
lib.makeBinPath [
xdg-utils
zenity
]
} \
--prefix LD_LIBRARY_PATH : ${
lib.makeLibraryPath [
dbus
fontconfig
libGL
libx11
libxcb
libxcursor
libxext
libxi
libxinerama
libxkbcommon
libxrandr
openssl
vulkan-loader
wayland
]
}
'';
passthru.updateScript = nix-update-script { };
__structuredAttrs = true;
meta = {
description = "Tiny game backup and homebrew app manager for the Wii";
homepage = "https://github.com/mq1/TinyWiiBackupManager";
changelog = "https://github.com/mq1/TinyWiiBackupManager/releases/tag/v${finalAttrs.version}";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ yisraeldov ];
mainProgram = "TinyWiiBackupManager";
platforms = lib.platforms.linux;
};
})
@@ -27,6 +27,7 @@
enableGTK3 ? false,
gtkmm3,
libpthread-stubs,
libayatana-appindicator,
wrapGAppsHook3,
enableQt5 ? false,
enableQt6 ? false,
@@ -188,6 +189,7 @@ stdenv.mkDerivation (finalAttrs: {
++ optionals enableGTK3 [
gtkmm3
libpthread-stubs
libayatana-appindicator
]
++ optionals enableSystemd [ systemd ]
++ optionals stdenv.hostPlatform.isLinux [ inotify-tools ];
+6 -1
View File
@@ -84,12 +84,17 @@ stdenv.mkDerivation (finalAttrs: {
"-Dgtk_doc=true"
];
doCheck = true;
# glibc valgrind can't measure musl binaries (and vice versa)
doCheck = stdenv.hostPlatform.libc == stdenv.buildPlatform.libc;
postPatch = ''
# Substitute the path to this derivation in the patch we apply.
substituteInPlace src/umockdev-wrapper \
--subst-var-by 'LIBDIR' "''${!outputLib}/lib"
''
+ lib.optionalString stdenv.hostPlatform.isMusl ''
substituteInPlace src/libumockdev-preload.c \
--replace-fail libc.so.6 libc.so
'';
preCheck = ''
+1
View File
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
# Unity Hub binary dependencies
libxrandr
xdg-utils
p7zip
# GTK filepicker
gsettings-desktop-schemas
+21 -11
View File
@@ -43,15 +43,21 @@ let
# fat binary
aarch64-darwin = x86_64-darwin;
};
# This upload of the game is officially sanctioned by OldUnreal (who has received permission from Epic Games to link to archive.org) and the UT99.org community
# This is a copy of the original Unreal Tournament: Game of the Year Edition (also known as UT or UT99). The first ISO contains the base game.
iso1 = fetchurl {
url = "https://archive.org/download/ut-goty/UT_GOTY_CD1.iso";
hash = "sha256-4YSYTKiPABxd3VIDXXbNZOJm4mx0l1Fhte1yNmx0cE8=";
};
# The second ISO contains bonus maps and game modes
iso2 = fetchurl {
url = "https://archive.org/download/ut-goty/UT_GOTY_CD2.iso";
hash = "sha256-2V2O4c+VVi7gI/1UA17IgT1CdfY9GEdCMiCYbtyNANg=";
};
baseGame =
runCommand "ut1999-iso1"
{
# This upload of the game is officially sanctioned by OldUnreal (who has received permission from Epic Games to link to archive.org) and the UT99.org community
# This is a copy of the original Unreal Tournament: Game of the Year Edition (also known as UT or UT99). The first ISO contains the base game.
src = fetchurl {
url = "https://archive.org/download/ut-goty/UT_GOTY_CD1.iso";
hash = "sha256-4YSYTKiPABxd3VIDXXbNZOJm4mx0l1Fhte1yNmx0cE8=";
};
src = iso1;
nativeBuildInputs = [ libarchive ];
}
''
@@ -62,11 +68,7 @@ let
bonusPacks =
runCommand "ut1999-iso2"
{
# The second ISO contains bonus maps and game modes
src = fetchurl {
url = "https://archive.org/download/ut-goty/UT_GOTY_CD2.iso";
hash = "sha256-2V2O4c+VVi7gI/1UA17IgT1CdfY9GEdCMiCYbtyNANg=";
};
src = iso2;
nativeBuildInputs = [ libarchive ];
}
''
@@ -219,6 +221,14 @@ stdenv.mkDerivation (finalAttrs: {
})
];
passthru = {
# The ISOs can be appended to `system.extraDependencies` in order to prevent them from getting garbage collected and redownloaded during rebuilds.
isos = [
iso1
iso2
];
};
meta = {
description = "Unreal Tournament GOTY (1999) with the OldUnreal patch";
license = lib.licenses.unfree;
+2 -2
View File
@@ -13,13 +13,13 @@
buildGo126Module (finalAttrs: {
pname = "VictoriaTraces";
version = "0.9.0";
version = "0.9.2";
src = fetchFromGitHub {
owner = "VictoriaMetrics";
repo = "VictoriaTraces";
tag = "v${finalAttrs.version}";
hash = "sha256-IbiQ83iWGIGVZsb3Qszjnr89/LGh7tU6jKyDMTeOZEQ=";
hash = "sha256-SOPC9CqGNwJb80l9kP3jZtcdz3RS3LYNQjYC70Hg9fQ=";
};
vendorHash = null;
+120 -110
View File
@@ -1,13 +1,13 @@
[
{
"pname": "AsyncImageLoader.Avalonia",
"version": "3.5.0",
"hash": "sha256-KBn0YY8RFE5SXwPdla1+ux/rC+DFTYllOkuGtR1iQZ8="
"version": "3.8.0",
"hash": "sha256-sfIxMXp9DA502O8XrYIuUe/H6UE7ma25cs6C/73XvT8="
},
{
"pname": "Avalonia",
"version": "11.3.11",
"hash": "sha256-FSMuXVA5q5L5evwos5bIsuT81suO8FbCjEF3OvAL9p0="
"version": "12.0.3",
"hash": "sha256-HQKjBAcw3oX+CrUIdoWGw8YP5WqSogH9n7tWXo+VchI="
},
{
"pname": "Avalonia.Angle.Windows.Natives",
@@ -21,83 +21,88 @@
},
{
"pname": "Avalonia.Controls.ColorPicker",
"version": "11.3.11",
"hash": "sha256-Ki6O9HYbseQPV3DsvwmJ+ERimi/WmvzelNJDKP6loo0="
"version": "11.3.15",
"hash": "sha256-gvL+wVIT8K6LL2Uf2WJmhlOXO1EE8oo4O4aX6FiYLvg="
},
{
"pname": "Avalonia.Controls.DataGrid",
"version": "11.3.11",
"hash": "sha256-xCRjXSd7ocHxuEzBhLokSHRrgtt4akJ7LUIC2oQ43io="
"version": "12.0.0",
"hash": "sha256-PODgcJLMZaHtlzh2Wes8od5UT/PVzbT8s5ymxfM4aXI="
},
{
"pname": "Avalonia.Desktop",
"version": "11.3.11",
"hash": "sha256-oFivO8/0rir4BwQsTeWs3bSnb7RmldwxYmI77j5pt8k="
"version": "12.0.3",
"hash": "sha256-0I/A58Xp/qPNhM2VkbprWCDBltFf4unz+hFtQTmlacg="
},
{
"pname": "Avalonia.Diagnostics",
"version": "11.3.11",
"hash": "sha256-p38+O0VDqZ8u5VOzImP21/U5wyP1BUp2UrLLc9HSfwE="
"version": "11.3.15",
"hash": "sha256-7kjJ6Oajamsrdbzpp4sHVEEWlO9utrjSb5LFtNfdGnA="
},
{
"pname": "Avalonia.Fonts.Inter",
"version": "11.3.11",
"hash": "sha256-S0DWwcZHulVUIckiv2HM1Vbqno64c/Xt+mPhZp1tfsA="
"version": "12.0.3",
"hash": "sha256-tw9WtZ2Gwlw2O0Hi6RbwjQZ8Eocnpi+rbyY7wd/KKu4="
},
{
"pname": "Avalonia.FreeDesktop",
"version": "11.3.11",
"hash": "sha256-UE2/w9cw3YDzsw3HuhI2sTPy8reH9C71ufmHOpzvlSQ="
"version": "12.0.3",
"hash": "sha256-9zy+u7Qcnoy0u8cBT+NJYRSJWotcxoP2P+LVm4MimEY="
},
{
"pname": "Avalonia.FreeDesktop.AtSpi",
"version": "12.0.3",
"hash": "sha256-571IeyjElPPJjiIimYRYON3OZt2qLSsWRcfP+sZ1wt8="
},
{
"pname": "Avalonia.HarfBuzz",
"version": "12.0.3",
"hash": "sha256-vKx8B90ltSMw0zRFuAmYYRPac/aoEAuUMFNLKpnz4KA="
},
{
"pname": "Avalonia.Native",
"version": "11.3.11",
"hash": "sha256-vw67lp/oOt+2lqdJ5PK2FY93jqPTcgZqOAXLtSXlJ8s="
"version": "12.0.3",
"hash": "sha256-bcSVuvKi9w4u/nJsfTM8GcJIUj5KOXB8AmROhL1zizA="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "11.3.11",
"hash": "sha256-l1f3rVygtI268llwbN0NvTDSfXwZE3CyRw8w5tbHBC4="
"version": "11.3.15",
"hash": "sha256-0up4wo1Mzg6cWCsUTjARFtRYBGrASa9CofEIjqOnEus="
},
{
"pname": "Avalonia.Remote.Protocol",
"version": "12.0.3",
"hash": "sha256-7fn2zQ0E80ZGsyIh9uUzW8Fvv2ONEeVSXoQ4RV3fpwE="
},
{
"pname": "Avalonia.Skia",
"version": "11.3.11",
"hash": "sha256-89TGu50JfEVFo+QZgyOR0uOagC/xoJvqfnrHep3W/cc="
"version": "12.0.3",
"hash": "sha256-CwF96IP6Mqeiu0GQV7AstoAsx6UI90/vZvlGozeF520="
},
{
"pname": "Avalonia.Themes.Fluent",
"version": "11.3.11",
"hash": "sha256-tiJ0xAFf0UVSH7LASPtg/7ils7+vZjw2UKBMydyUR3Q="
"version": "12.0.3",
"hash": "sha256-ThL5jlSavQ+i03UBh24K7azKLExX2oRQNIadtTXPuEM="
},
{
"pname": "Avalonia.Themes.Simple",
"version": "11.3.11",
"hash": "sha256-AJS5Ls0tJ6PCr2mnr1PpxGWX4sII8mpe2R+VCFYRg44="
"version": "11.3.15",
"hash": "sha256-D+x2e2hmP5gO4ch8LdahT/ehNB7lGmd7JJnMqyRY+9s="
},
{
"pname": "Avalonia.Win32",
"version": "11.3.11",
"hash": "sha256-6/NG4OrB/4YisXzJ51GPuq3uDn8oEUWyJRAqejyMCQw="
"version": "12.0.3",
"hash": "sha256-HSBGkH3gOhNk9msnXycElwr5KljASMVNA8hs0gMHMYE="
},
{
"pname": "Avalonia.X11",
"version": "11.3.11",
"hash": "sha256-2fiQvKxU/r71UOAQgy0zwSHVCM2uG2sdEUhObd5TrQQ="
},
{
"pname": "CodingSeb.Localization",
"version": "1.4.0",
"hash": "sha256-+GdBrmIyOHoN6dJQie7lNZ4IO0uCI20Qzz/Ka4dUFsA="
},
{
"pname": "CodingSeb.Localization.Avalonia",
"version": "1.4.1",
"hash": "sha256-nYSkSpBvPUBr1zI78IeR4hQ2GaxfcNjuphS2XaV+uu4="
"version": "12.0.3",
"hash": "sha256-iw21g4HzFE74o8HcqAXOCWbqxjCTxAwwsZPiU7ymB2c="
},
{
"pname": "CommunityToolkit.Mvvm",
"version": "8.4.0",
"hash": "sha256-a0D550q+ffreU9Z+kQPdzJYPNaj1UjgyPofLzUg02ZI="
"version": "8.4.2",
"hash": "sha256-jLS1vo6V+fHsJs80HYT77oJE6IEC68fIgkLpYODjWAU="
},
{
"pname": "EmbedIO",
@@ -106,128 +111,133 @@
},
{
"pname": "HarfBuzzSharp",
"version": "8.3.1.1",
"hash": "sha256-614yv6bK9ynhdUnvW4wIkgpBe2sqTh28U9cDZzdhPc0="
"version": "8.3.1.3",
"hash": "sha256-/+ZEhjpOs8B4tMPw3vDyuQqGGZHJEWvy3WaKMaDwmrU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Linux",
"version": "8.3.1.1",
"hash": "sha256-sBbez6fc9axVcsBbIHbpQh/MM5NHlMJgSu6FyuZzVyU="
"version": "8.3.1.3",
"hash": "sha256-feWOna/8ncvmrq7CxnDczv1facV2poZV5R+OyCtocpU="
},
{
"pname": "HarfBuzzSharp.NativeAssets.macOS",
"version": "8.3.1.1",
"hash": "sha256-hK20KbX2OpewIO5qG5gWw5Ih6GoLcIDgFOqCJIjXR/Q="
"version": "8.3.1.3",
"hash": "sha256-6WKsJ/jF9pHnaWcQvaezc5AV6flu3XsOxQs7i4BGYJs="
},
{
"pname": "HarfBuzzSharp.NativeAssets.WebAssembly",
"version": "8.3.1.1",
"hash": "sha256-mLKoLqI47ZHXqTMLwP1UCm7faDptUfQukNvdq6w/xxw="
"version": "8.3.1.3",
"hash": "sha256-arBiI82fXPjAqftqnG7Wc3BRzZ6+vKd7b58vQSWJVk0="
},
{
"pname": "HarfBuzzSharp.NativeAssets.Win32",
"version": "8.3.1.1",
"hash": "sha256-Um4iwLdz9XtaDSAsthNZdev6dMiy7OBoHOrorMrMYyo="
"version": "8.3.1.3",
"hash": "sha256-WNUQmLWVFSwBKT9x7UdhSz9T2FA7wibvwjuPew/3yUM="
},
{
"pname": "Jeek.Avalonia.Localization",
"version": "12.0.2",
"hash": "sha256-rnRWuJLeYQq7nKFwMvhDZfMaeU97TZEoITr5Q9FSfW8="
},
{
"pname": "Material.Icons",
"version": "2.4.1",
"hash": "sha256-+LTHyF3f7QqkfVQM2pjIA7GpT5Gj5/BoLDSjZKhBl1M="
"version": "3.0.2",
"hash": "sha256-BP1fQLsidpNpiyG87V6oNnuO8CKo8hcf6405AScb2Cs="
},
{
"pname": "Material.Icons.Avalonia",
"version": "2.4.1",
"hash": "sha256-gONbczMJ3THUicrnoCGtBLaYuNDfge/qVF+0ASAGGd8="
"version": "3.0.2",
"hash": "sha256-1FHaifgw3P/holj2QcXH+1U4Mrga5qKsUrYgkYNuXXU="
},
{
"pname": "MicroCom.Runtime",
"version": "0.11.0",
"hash": "sha256-VdwpP5fsclvNqJuppaOvwEwv2ofnAI5ZSz2V+UEdLF0="
"version": "0.11.4",
"hash": "sha256-hd13T4Z9DsF1Sb56bS+SDpWjksJVzb4m/Kp37jaUhkU="
},
{
"pname": "Microsoft.Data.Sqlite.Core",
"version": "10.0.2",
"hash": "sha256-gpArXkjFSk62NA88ZYwWc0m4/2UsJyd9/8TCAsI8u4w="
"version": "10.0.8",
"hash": "sha256-3DHjk0Ec+r9iE0F2pknFxgmTurRHLvhjwORKSOszVlY="
},
{
"pname": "Microsoft.EntityFrameworkCore",
"version": "10.0.2",
"hash": "sha256-FS6T8EnaWCMtj4PnZhh+oF8mcM44VlM3wkTSMlpte9A="
"version": "10.0.8",
"hash": "sha256-NvDbNeCIHHslXfHtoyxedtJ8BYcSjsvmKz0rc0jNhN0="
},
{
"pname": "Microsoft.EntityFrameworkCore.Abstractions",
"version": "10.0.2",
"hash": "sha256-qkDfIJpcPO2kk4n5OE/13hI/0mUygpTofInn95XjRZI="
"version": "10.0.8",
"hash": "sha256-vgjR3wT9QvR4LYgy4BaeIQlajW7KWhLAwHgXsyNxioc="
},
{
"pname": "Microsoft.EntityFrameworkCore.Analyzers",
"version": "10.0.2",
"hash": "sha256-yOv78rgAACBz1zjitpcZbQQ3zx8huJongZTHkhN4PQ0="
"version": "10.0.8",
"hash": "sha256-R2rH/R7Us1vbH4JWKvj364HKYXEe2b+7jXcI3C1d7v4="
},
{
"pname": "Microsoft.EntityFrameworkCore.Relational",
"version": "10.0.2",
"hash": "sha256-Y4jPpoYhKizg5wF6QfkBX4sYlE2FU1bYhfoDN3xkhKM="
"version": "10.0.8",
"hash": "sha256-dcvuQ0ga+TI2G6J31aOClH9hejp2/AftSJYNcRI3USo="
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite",
"version": "10.0.2",
"hash": "sha256-s/bwWC9SdFKr93Oz57pImCB6hf/FYa+sCxtMYC7w+vQ="
"version": "10.0.8",
"hash": "sha256-mx+2hznxLbzHW8nKhQZl1ISJUBSm1DJ8PA+nOi+Ddkc="
},
{
"pname": "Microsoft.EntityFrameworkCore.Sqlite.Core",
"version": "10.0.2",
"hash": "sha256-oIw6neqiY9JUyYg1lNi92ddDq6pWVOsn7DIBlGPOh+A="
"version": "10.0.8",
"hash": "sha256-fG7rIm2ywP5IyJfylNm2szLmZ3e8Of3T/ZdpLXOJG8k="
},
{
"pname": "Microsoft.Extensions.Caching.Abstractions",
"version": "10.0.2",
"hash": "sha256-nKmQuZTt1g5/8gBajo7wdCV64kdCucdiQR8JTt7ZZb0="
"version": "10.0.8",
"hash": "sha256-xn2gR3NHo4+XBZIqrHXo8QlYI7AnhA51gtlgSqrPpQ0="
},
{
"pname": "Microsoft.Extensions.Caching.Memory",
"version": "10.0.2",
"hash": "sha256-sRUF7DM0s1yzZnfjM/hF9A/IysE6Er23gZ6jST+RWh0="
"version": "10.0.8",
"hash": "sha256-41uLtpgrA7S9WF3sIR9JVi90Kmmf6iy8mjmNTD9MQkU="
},
{
"pname": "Microsoft.Extensions.Configuration.Abstractions",
"version": "10.0.2",
"hash": "sha256-P+0kaDGO+xB9KxF9eWHDJ4hzi05sUGM/uMNEX5NdBTE="
"version": "10.0.8",
"hash": "sha256-M0coNqsIolazd8E0jU8uf43X7Yw5Nf3+sXZQXX/xhq8="
},
{
"pname": "Microsoft.Extensions.DependencyInjection",
"version": "10.0.2",
"hash": "sha256-/9UWQRAI2eoocnJWWf1ktnAx/1Gt65c16fc0Xqr9+CQ="
"version": "10.0.8",
"hash": "sha256-eKex/vpm5A4o2WV6sJyjqKPydWhekJFO6wrH0V7RyBY="
},
{
"pname": "Microsoft.Extensions.DependencyInjection.Abstractions",
"version": "10.0.2",
"hash": "sha256-UF9T13V5SQxJy2msfLmyovLmitZrjJayf8gHH+uK2eg="
"version": "10.0.8",
"hash": "sha256-HV30fu+lF/GYkeVP+Yq/EU1FzgdMqwqlepCpvxUgugE="
},
{
"pname": "Microsoft.Extensions.DependencyModel",
"version": "10.0.2",
"hash": "sha256-w/dGIjtZiGH+KW3969BPOdQpQEV+WB7RPTa2MK2DavE="
"version": "10.0.8",
"hash": "sha256-YX986Og+47sJnNonmoZCqa54HCaZhJ8fJl45qeRaaUQ="
},
{
"pname": "Microsoft.Extensions.Logging",
"version": "10.0.2",
"hash": "sha256-9+gfQwK32JMYscW1YvyCWEzc9mRZOjCACoD9U1vVaJI="
"version": "10.0.8",
"hash": "sha256-wcnZWJDQGe6iTd7SIvcbyZLO+Lyc3zCKWlYYP8ovA44="
},
{
"pname": "Microsoft.Extensions.Logging.Abstractions",
"version": "10.0.2",
"hash": "sha256-ndKGzq8+2J/hvaIULwBui0L/jDyMQTAY24j+ohX5VX8="
"version": "10.0.8",
"hash": "sha256-VruWNhGycjxU2+BxiE++Aw2Tzv50lARcslDp66ImCDE="
},
{
"pname": "Microsoft.Extensions.Options",
"version": "10.0.2",
"hash": "sha256-12AfUEDdta/pmZUyEyqSUfOk0YoA7JOfGmIYnZQ//qk="
"version": "10.0.8",
"hash": "sha256-KHcgAMsOPgjK0ly34mAt3/1hPA4XDSltXUNrEjSNnh8="
},
{
"pname": "Microsoft.Extensions.Primitives",
"version": "10.0.2",
"hash": "sha256-8Ccrjjv9cFVf9RyCc7GS/Byt8+DXdSNea0UX3A5BEdA="
"version": "10.0.8",
"hash": "sha256-LJFzI1nODfakvP3owQn8xwVKliRxIYs6nl19xAbxKOc="
},
{
"pname": "Microsoft.Extensions.Primitives",
@@ -256,13 +266,13 @@
},
{
"pname": "Sentry",
"version": "6.1.0",
"hash": "sha256-5sntMrMha03xtWdKLJnOT/W2fK5lwzaLiNOYFRqBURQ="
"version": "6.5.0",
"hash": "sha256-5wp9p7Wnvl/lxl+2CeOhxJweq4MYrTf0F0L+pRhbttA="
},
{
"pname": "Sentry.Serilog",
"version": "6.1.0",
"hash": "sha256-V5Th0L9xNZP27nqGiLrIJXlqEF+iCcATb5yWgJ4h/IE="
"version": "6.5.0",
"hash": "sha256-IyQoOMywfHVEOGWy8nFFwnR5ACZfw6ynvli1h3WDNu0="
},
{
"pname": "Serilog",
@@ -286,33 +296,33 @@
},
{
"pname": "SharpCompress",
"version": "0.44.5",
"hash": "sha256-aukmJzrgVS2hugVUNH+FHJuaC2VomBNFy6g8furI3tE="
"version": "0.48.1",
"hash": "sha256-Y1lH1TrxBua3Ux6trRUQGeSfYjE3qld6TQDz/ABy6Ws="
},
{
"pname": "SkiaSharp",
"version": "2.88.9",
"hash": "sha256-jZ/4nVXYJtrz9SBf6sYc/s0FxS7ReIYM4kMkrhZS+24="
"version": "3.119.4-preview.1.1",
"hash": "sha256-yUHsoau6WVQkzYV5UVnKcgpABiapa9aoTDd1pw/J5r8="
},
{
"pname": "SkiaSharp.NativeAssets.Linux",
"version": "2.88.9",
"hash": "sha256-mQ/oBaqRR71WfS66mJCvcc3uKW7CNEHoPN2JilDbw/A="
"version": "3.119.4-preview.1.1",
"hash": "sha256-jcf0FhUgOzxpJ4ENn1q5uPe8dT+kXl0/yUWJs+hDYNA="
},
{
"pname": "SkiaSharp.NativeAssets.macOS",
"version": "2.88.9",
"hash": "sha256-qvGuAmjXGjGKMzOPBvP9VWRVOICSGb7aNVejU0lLe/g="
"version": "3.119.4-preview.1.1",
"hash": "sha256-olbqFOHmkiCdlnXHU4l1lTb04yAPn21CvLNMP4AGncs="
},
{
"pname": "SkiaSharp.NativeAssets.WebAssembly",
"version": "2.88.9",
"hash": "sha256-vgFL4Pdy3O1RKBp+T9N3W4nkH9yurZ0suo8u3gPmmhY="
"version": "3.119.4-preview.1.1",
"hash": "sha256-R+67ADA6luDa9b7xvsE4PSL6GWwQTaNYzw2WYou/ofQ="
},
{
"pname": "SkiaSharp.NativeAssets.Win32",
"version": "2.88.9",
"hash": "sha256-kP5XM5GgwHGfNJfe4T2yO5NIZtiF71Ddp0pd1vG5V/4="
"version": "3.119.4-preview.1.1",
"hash": "sha256-Sd+KnMezIKbc4OLklHsfeM7EVZERtmawWuSCoaySteM="
},
{
"pname": "SQLitePCLRaw.bundle_e_sqlite3",
@@ -336,8 +346,8 @@
},
{
"pname": "Tmds.DBus.Protocol",
"version": "0.21.3",
"hash": "sha256-HVEIHSeSe29ergHxsNvWYu3o7Ai8VZKo09yFn+miTnI="
"version": "0.92.0",
"hash": "sha256-WZSB9eqSOIzsBfnpOJDIIopIhNxAH+UcZuD6W94PIN4="
},
{
"pname": "Unosquare.Swan.Lite",
+11 -2
View File
@@ -8,19 +8,20 @@
makeDesktopItem,
icoutils,
openxr-loader,
ffmpeg,
yt-dlp,
deno,
}:
buildDotnetModule (finalAttrs: {
pname = "vrcvideocacher";
version = "2026.5.1";
version = "2026.5.2";
src = fetchFromGitHub {
owner = "EllyVR";
repo = "VRCVideoCacher";
tag = finalAttrs.version;
hash = "sha256-4JrGPeMWf282UG+eN+SCwgIC1ffzolsge8o67Kwzh1s=";
hash = "sha256-rabx93WBYnVPAQHndNkz+lN45S8lWufoMQ6s50gW+rY=";
};
__structuredAttrs = true;
@@ -44,6 +45,13 @@ buildDotnetModule (finalAttrs: {
"--add-flags"
"--global-path"
"--prefix"
"LD_LIBRARY_PATH"
":"
(lib.makeLibraryPath [
openxr-loader
])
"--prefix"
"PATH"
":"
@@ -79,6 +87,7 @@ buildDotnetModule (finalAttrs: {
description = "Cache VRChat videos locally and fix YouTube videos that fail to load";
homepage = "https://github.com/EllyVR/VRCVideoCacher";
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ fromSource ];
maintainers = with lib.maintainers; [ coolGi ];
mainProgram = "VRCVideoCacher";
platforms = [ "x86_64-linux" ];
@@ -3,24 +3,32 @@
lib,
fetchPypi,
portalocker,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
version = "0.11.10";
format = "setuptools";
pyproject = true;
pname = "applicationinsights";
__structuredAttrs = true;
src = fetchPypi {
inherit pname version;
sha256 = "0b761f3ef0680acf4731906dfc1807faa6f2a57168ae74592db0084a6099f7b3";
inherit (finalAttrs) pname version;
hash = "sha256-C3YfPvBoCs9HMZBt/BgH+qbypXFornRZLbAISmCZ97M=";
};
propagatedBuildInputs = [ portalocker ];
build-system = [ setuptools ];
dependencies = [ portalocker ];
pythonImportsCheck = [ "applicationinsights" ];
meta = {
description = "This project extends the Application Insights API surface to support Python";
homepage = "https://github.com/Microsoft/ApplicationInsights-Python";
changelog = "https://pypi.org/project/applicationinsights/${finalAttrs.version}/";
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
@@ -2,23 +2,28 @@
lib,
buildPythonPackage,
fetchPypi,
setuptools,
azure-core,
typing-extensions,
}:
buildPythonPackage rec {
version = "1.6.0";
format = "setuptools";
buildPythonPackage (finalAttrs: {
pname = "azure-mgmt-core";
version = "1.6.0";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
pname = "azure_mgmt_core";
inherit version;
inherit (finalAttrs) version;
extension = "tar.gz";
hash = "sha256-smIyr4V7Ah5h2BPZ9K5TBGUlXLELPd6UWtN0P3pY55w=";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
azure-core
typing-extensions
];
@@ -39,4 +44,4 @@ buildPythonPackage rec {
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
@@ -5,20 +5,25 @@
azure-common,
azure-mgmt-core,
msrest,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "azure-mgmt-servicelinker";
version = "1.1.0";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit pname version;
inherit (finalAttrs) pname version;
hash = "sha256-QVw6Y9HachwBRwCbF0cSGLCAkSJtNnXBvsj5YX1TmJU=";
extension = "zip";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
azure-common
azure-mgmt-core
msrest
@@ -35,4 +40,4 @@ buildPythonPackage rec {
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
@@ -2,6 +2,7 @@
lib,
fetchPypi,
buildPythonPackage,
setuptools,
rply,
pytestCheckHook,
isPy3k,
@@ -10,19 +11,25 @@
buildPythonPackage (finalAttrs: {
pname = "baron";
version = "0.10.1";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "af822ad44d4eb425c8516df4239ac4fdba9fdb398ef77e4924cd7c9b4045bc2f";
hash = "sha256-r4Iq1E1OtCXIUW30I5rE/bqf2zmO935JJM18m0BFvC8=";
};
propagatedBuildInputs = [ rply ];
build-system = [ setuptools ];
dependencies = [ rply ];
nativeCheckInputs = [ pytestCheckHook ];
doCheck = isPy3k;
pythonImportsCheck = [ "baron" ];
meta = {
homepage = "https://github.com/PyCQA/baron";
description = "Abstraction on top of baron, a FST for python to make writing refactoring code a realistic task";
@@ -2,20 +2,25 @@
lib,
buildPythonPackage,
fetchPypi,
setuptools,
docutils,
six,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bcdoc";
version = "0.16.0";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit pname version;
sha256 = "f568c182e06883becf7196f227052435cffd45604700c82362ca77d3427b6202";
inherit (finalAttrs) pname version;
hash = "sha256-9WjBguBog77PcZbyJwUkNc/9RWBHAMgjYsp300J7YgI=";
};
build-system = [ setuptools ];
buildInputs = [
docutils
six
@@ -24,9 +29,11 @@ buildPythonPackage rec {
# Tests fail due to nix file timestamp normalization.
doCheck = false;
pythonImportsCheck = [ "bcdoc" ];
meta = {
homepage = "https://github.com/boto/bcdoc";
license = lib.licenses.asl20;
description = "ReST document generation tools for botocore";
};
}
})
@@ -2,24 +2,29 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
freezegun,
python-dateutil,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "beautiful-date";
version = "2.3.0";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "kuzmoyev";
repo = "beautiful-date";
tag = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-e6YJBaDwWqVehxBPOvsIdV4FIXlIwj29H5untXGJvT0=";
};
propagatedBuildInputs = [ python-dateutil ];
build-system = [ setuptools ];
dependencies = [ python-dateutil ];
nativeCheckInputs = [
freezegun
@@ -34,4 +39,4 @@ buildPythonPackage rec {
license = lib.licenses.mit;
maintainers = [ ];
};
}
})
@@ -2,19 +2,26 @@
lib,
buildPythonPackage,
fetchPypi,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bech32";
version = "1.2.0";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit pname version;
inherit (finalAttrs) pname version;
hash = "sha256-fW24IUYDvXhx/PpsCCbvaLhbCr2Q+iHChanF4h0r2Jk=";
};
build-system = [ setuptools ];
pythonImportsCheck = [ "bech32" ];
meta = {
homepage = "https://pypi.org/project/bech32/";
homepage = "https://github.com/fiatjaf/bech32";
license = with lib.licenses; [ mit ];
};
}
})
@@ -2,20 +2,25 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "boa-api";
version = "0.1.14";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "boalang";
repo = "api-python";
tag = "v${version}";
sha256 = "sha256-8tt68NLi5ewSKiHdu3gDawTBPylbDmB4zlUUqa7EQuY=";
tag = "v${finalAttrs.version}";
hash = "sha256-8tt68NLi5ewSKiHdu3gDawTBPylbDmB4zlUUqa7EQuY=";
};
build-system = [ setuptools ];
# upstream has no tests
doCheck = false;
@@ -24,8 +29,8 @@ buildPythonPackage rec {
meta = {
homepage = "https://github.com/boalang/api-python";
description = "Python client API for communicating with Boa's (https://boa.cs.iastate.edu/) XML-RPC based services";
changelog = "https://github.com/boalang/api-python/blob/${src.rev}/Changes.txt";
changelog = "https://github.com/boalang/api-python/blob/${finalAttrs.src.rev}/Changes.txt";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ swflint ];
};
}
})
@@ -2,25 +2,30 @@
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
aiohttp,
aioresponses,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bond-api";
version = "0.1.18";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "prystupa";
repo = "bond-api";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-+87/j94eHyW3EMMBK+aXaNTVoNxsixeLusyBsPWa9yM=";
};
propagatedBuildInputs = [ aiohttp ];
build-system = [ setuptools ];
dependencies = [ aiohttp ];
nativeCheckInputs = [
aioresponses
@@ -36,4 +41,4 @@ buildPythonPackage rec {
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})
@@ -2,6 +2,8 @@
lib,
buildPythonPackage,
fetchPypi,
setuptools,
setuptools-scm,
aiohttp,
requests,
pytest-cov-stub,
@@ -12,14 +14,21 @@ buildPythonPackage (finalAttrs: {
pname = "brunt";
version = "1.2.0";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
inherit (finalAttrs) pname version;
sha256 = "e704627dc7b9c0a50c67ae90f1d320b14f99f2b2fc9bf1ef0461b141dcf1bce9";
hash = "sha256-5wRifce5wKUMZ66Q8dMgsU+Z8rL8m/HvBGGxQdzxvOk=";
};
propagatedBuildInputs = [
build-system = [
setuptools
setuptools-scm
];
dependencies = [
aiohttp
requests
];
@@ -2,21 +2,26 @@
lib,
buildPythonPackage,
fetchPypi,
setuptools,
pybluez,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bt-proximity";
version = "0.2.1";
format = "setuptools";
pyproject = true;
__structuredAttrs = true;
src = fetchPypi {
pname = "bt_proximity";
inherit version;
sha256 = "0xlif91vblbz065531yjf8nmlcahrl4q5pz52bc1jmzz7iv9hpgq";
inherit (finalAttrs) version;
hash = "sha256-+F2Ydjz/VxnYEuXfggnNUDFaLXLSh1GKAX/RtUNykXY=";
};
propagatedBuildInputs = [ pybluez ];
build-system = [ setuptools ];
dependencies = [ pybluez ];
# there are no tests
doCheck = false;
@@ -29,4 +34,4 @@ buildPythonPackage rec {
maintainers = with lib.maintainers; [ peterhoeg ];
license = lib.licenses.asl20;
};
}
})
@@ -0,0 +1,37 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
requests,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "guntamatic";
version = "1.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "JensTimmerman";
repo = "guntamatic";
tag = "v${finalAttrs.version}";
hash = "sha256-AFqr2+N8uDpeUOvPuFZQbvln1sxWhrJEj31H2DOYX1k=";
};
build-system = [ setuptools ];
dependencies = [ requests ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "guntamatic" ];
meta = {
description = "Module to get data from a Guntamatic heater e.g. BMK 20";
homepage = "https://github.com/JensTimmerman/guntamatic";
changelog = "https://github.com/JensTimmerman/guntamatic/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.jamiemagee ];
};
})
@@ -1,13 +0,0 @@
diff --git a/tests/unit_tests/test_bash.py b/tests/unit_tests/test_bash.py
index ba7b0d0..cade19e 100644
--- a/tests/unit_tests/test_bash.py
+++ b/tests/unit_tests/test_bash.py
@@ -58,7 +58,7 @@ def test_incorrect_command_return_err_output() -> None:
session = BashProcess(return_err_output=True)
output = session.run(["invalid_command"])
assert re.match(
- r"^/bin/sh:.*invalid_command.*(?:not found|Permission denied).*$", output
+ r".*/bin/sh:.*invalid_command.*(?:not found|Permission denied).*$", output
)

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