Merge staging-next into staging
This commit is contained in:
@@ -437,6 +437,10 @@
|
||||
There is also a breaking change in the handling of CUDA. Instead of using a CUDA compatible jaxlib
|
||||
as before, you can use plugins like `python3Packages.jax-cuda12-plugin`.
|
||||
|
||||
- Added `allowVariants` to gate availability of package sets like `pkgsLLVM`, `pkgsMusl`, `pkgsZig`, etc. This was done in an effort to
|
||||
decrease evaluation times by limiting the number of instances of nixpkgs to evaluate. The option will be removed in the future as a
|
||||
new mechanism is in the works for handling cross compilation.
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
## Other Notable Changes {#sec-nixpkgs-release-25.05-notable-changes}
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
## Highlights {#sec-nixpkgs-release-25.11-highlights}
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
- Added `allowVariants` to gate availability of package sets like `pkgsLLVM`, `pkgsMusl`, `pkgsZig`, etc. This option will be removed in a future release.
|
||||
|
||||
- The initial work to support native compilation on LoongArch64 has completed, with further changes currently
|
||||
in preparation. In accordance with the [Software Development and Build Convention for LoongArch Architectures](https://github.com/loongson/la-softdev-convention),
|
||||
this release sets the default march level to `la64v1.0`, covering the desktop and server processors of 3X5000
|
||||
|
||||
@@ -3059,6 +3059,12 @@
|
||||
github = "benhiemer";
|
||||
githubId = 16649926;
|
||||
};
|
||||
benjajaja = {
|
||||
name = "Benjamin Große";
|
||||
email = "ste3ls@gmail.com";
|
||||
github = "benjajaja";
|
||||
githubId = 310215;
|
||||
};
|
||||
benjaminedwardwebb = {
|
||||
name = "Ben Webb";
|
||||
email = "benjaminedwardwebb@gmail.com";
|
||||
@@ -18717,6 +18723,12 @@
|
||||
name = "Philipp Rintz";
|
||||
matrix = "@philipp:srv.icu";
|
||||
};
|
||||
p0lyw0lf = {
|
||||
email = "p0lyw0lf@protonmail.com";
|
||||
name = "PolyWolf";
|
||||
github = "p0lyw0lf";
|
||||
githubId = 31190026;
|
||||
};
|
||||
p3psi = {
|
||||
name = "Elliot Boo";
|
||||
email = "p3psi.boo@gmail.com";
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
- [gtklock](https://github.com/jovanlanik/gtklock), a GTK-based lockscreen for Wayland. Available as [programs.gtklock](#opt-programs.gtklock.enable).
|
||||
|
||||
- [SuiteNumérique Docs](https://github.com/suitenumerique/docs), a collaborative note taking, wiki and documentation web platform and alternative to Notion or Outline. Available as [services.lasuite-docs](#opt-services.lasuite-docs.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-25.11-incompatibilities}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
||||
@@ -1580,6 +1580,7 @@
|
||||
./services/web-apps/kimai.nix
|
||||
./services/web-apps/komga.nix
|
||||
./services/web-apps/lanraragi.nix
|
||||
./services/web-apps/lasuite-docs.nix
|
||||
./services/web-apps/lemmy.nix
|
||||
./services/web-apps/limesurvey.nix
|
||||
./services/web-apps/mainsail.nix
|
||||
|
||||
@@ -5,7 +5,7 @@ in
|
||||
{
|
||||
options = {
|
||||
security.lsm = lib.mkOption {
|
||||
type = lib.types.uniq (lib.types.listOf lib.types.str);
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of the LSMs to initialize in order.
|
||||
@@ -13,16 +13,26 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf (lib.lists.length cfg.lsm > 0) {
|
||||
assertions = [
|
||||
{
|
||||
assertion = builtins.length (lib.filter (lib.hasPrefix "security=") config.boot.kernelParams) == 0;
|
||||
message = "security parameter in boot.kernelParams cannot be used when security.lsm is used";
|
||||
}
|
||||
];
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
# We set the default LSM's here due to them not being present if set when enabling AppArmor.
|
||||
security.lsm = [
|
||||
"landlock"
|
||||
"yama"
|
||||
"bpf"
|
||||
];
|
||||
}
|
||||
(lib.mkIf (lib.lists.length cfg.lsm > 0) {
|
||||
assertions = [
|
||||
{
|
||||
assertion = builtins.length (lib.filter (lib.hasPrefix "security=") config.boot.kernelParams) == 0;
|
||||
message = "security parameter in boot.kernelParams cannot be used when security.lsm is used";
|
||||
}
|
||||
];
|
||||
|
||||
boot.kernelParams = [
|
||||
"lsm=${lib.concatStringsSep "," cfg.lsm}"
|
||||
];
|
||||
};
|
||||
boot.kernelParams = [
|
||||
"lsm=${lib.concatStringsSep "," cfg.lsm}"
|
||||
];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
||||
@@ -93,7 +93,12 @@ in
|
||||
systemd.services.atuin = {
|
||||
description = "atuin server";
|
||||
requires = lib.optionals cfg.database.createLocally [ "postgresql.service" ];
|
||||
after = [ "network.target" ] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ];
|
||||
after = [
|
||||
"network-online.target"
|
||||
] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ];
|
||||
wants = [
|
||||
"network-online.target"
|
||||
] ++ lib.optionals cfg.database.createLocally [ "postgresql.service" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
@@ -139,18 +144,14 @@ in
|
||||
UMask = "0077";
|
||||
};
|
||||
|
||||
environment =
|
||||
{
|
||||
ATUIN_HOST = cfg.host;
|
||||
ATUIN_PORT = toString cfg.port;
|
||||
ATUIN_MAX_HISTORY_LENGTH = toString cfg.maxHistoryLength;
|
||||
ATUIN_OPEN_REGISTRATION = lib.boolToString cfg.openRegistration;
|
||||
ATUIN_PATH = cfg.path;
|
||||
ATUIN_CONFIG_DIR = "/run/atuin"; # required to start, but not used as configuration is via environment variables
|
||||
}
|
||||
// lib.optionalAttrs (cfg.database.uri != null) {
|
||||
ATUIN_DB_URI = cfg.database.uri;
|
||||
};
|
||||
environment = {
|
||||
ATUIN_HOST = cfg.host;
|
||||
ATUIN_PORT = toString cfg.port;
|
||||
ATUIN_MAX_HISTORY_LENGTH = toString cfg.maxHistoryLength;
|
||||
ATUIN_OPEN_REGISTRATION = lib.boolToString cfg.openRegistration;
|
||||
ATUIN_PATH = cfg.path;
|
||||
ATUIN_CONFIG_DIR = "/run/atuin"; # required to start, but not used as configuration is via environment variables
|
||||
} // lib.optionalAttrs (cfg.database.uri != null) { ATUIN_DB_URI = cfg.database.uri; };
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
|
||||
|
||||
@@ -0,0 +1,514 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
utils,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib)
|
||||
getExe
|
||||
mapAttrs
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkPackageOption
|
||||
mkOption
|
||||
types
|
||||
optional
|
||||
optionalString
|
||||
;
|
||||
|
||||
cfg = config.services.lasuite-docs;
|
||||
|
||||
pythonEnvironment = mapAttrs (
|
||||
_: value:
|
||||
if value == null then
|
||||
"None"
|
||||
else if value == true then
|
||||
"True"
|
||||
else if value == false then
|
||||
"False"
|
||||
else
|
||||
toString value
|
||||
) cfg.settings;
|
||||
|
||||
commonServiceConfig = {
|
||||
RuntimeDirectory = "lasuite-docs";
|
||||
StateDirectory = "lasuite-docs";
|
||||
WorkingDirectory = "/var/lib/lasuite-docs";
|
||||
|
||||
User = "lasuite-docs";
|
||||
DynamicUser = true;
|
||||
SupplementaryGroups = mkIf cfg.redis.createLocally [
|
||||
config.services.redis.servers.lasuite-docs.group
|
||||
];
|
||||
# hardening
|
||||
AmbientCapabilities = "";
|
||||
CapabilityBoundingSet = [ "" ];
|
||||
DevicePolicy = "closed";
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
PrivateTmp = true;
|
||||
PrivateUsers = true;
|
||||
ProcSubset = "pid";
|
||||
ProtectClock = true;
|
||||
ProtectControlGroups = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectKernelTunables = true;
|
||||
ProtectProc = "invisible";
|
||||
ProtectSystem = "strict";
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [
|
||||
"AF_INET"
|
||||
"AF_INET6"
|
||||
"AF_UNIX"
|
||||
];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
UMask = "0077";
|
||||
};
|
||||
in
|
||||
{
|
||||
options.services.lasuite-docs = {
|
||||
enable = mkEnableOption "SuiteNumérique Docs";
|
||||
|
||||
backendPackage = mkPackageOption pkgs "lasuite-docs" { };
|
||||
|
||||
frontendPackage = mkPackageOption pkgs "lasuite-docs-frontend" { };
|
||||
|
||||
bind = mkOption {
|
||||
type = types.str;
|
||||
default = "unix:/run/lasuite-docs/gunicorn.sock";
|
||||
example = "127.0.0.1:8000";
|
||||
description = ''
|
||||
The path, host/port or file descriptior to bind the gunicorn socket to.
|
||||
|
||||
See <https://docs.gunicorn.org/en/stable/settings.html#bind> for possible options.
|
||||
'';
|
||||
};
|
||||
|
||||
enableNginx = mkEnableOption "enable and configure Nginx for reverse proxying" // {
|
||||
default = true;
|
||||
};
|
||||
|
||||
secretKeyPath = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to the Django secret key.
|
||||
|
||||
The key can be generated using:
|
||||
```
|
||||
python3 -c 'import secrets; print(secrets.token_hex())'
|
||||
```
|
||||
|
||||
If not set, the secret key will be automatically generated.
|
||||
'';
|
||||
};
|
||||
|
||||
s3Url = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
URL of the S3 bucket.
|
||||
'';
|
||||
};
|
||||
|
||||
postgresql = {
|
||||
createLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Configure local PostgreSQL database server for docs.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
redis = {
|
||||
createLocally = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Configure local Redis cache server for docs.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
collaborationServer = {
|
||||
package = mkPackageOption pkgs "lasuite-docs-collaboration-server" { };
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 4444;
|
||||
description = ''
|
||||
Port used by the collaboration server to listen.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = types.attrsOf (
|
||||
types.oneOf [
|
||||
types.str
|
||||
types.bool
|
||||
]
|
||||
);
|
||||
|
||||
options = {
|
||||
PORT = mkOption {
|
||||
type = types.str;
|
||||
default = toString cfg.collaborationServer.port;
|
||||
readOnly = true;
|
||||
description = "Port used by collaboration server to listen to";
|
||||
};
|
||||
|
||||
COLLABORATION_BACKEND_BASE_URL = mkOption {
|
||||
type = types.str;
|
||||
default = "https://${cfg.domain}";
|
||||
defaultText = lib.literalExpression "https://\${cfg.domain}";
|
||||
description = "URL to the backend server base";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
example = ''
|
||||
{
|
||||
COLLABORATION_LOGGING = true;
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration options of collaboration server.
|
||||
|
||||
See https://github.com/suitenumerique/docs/blob/v${cfg.collaborationServer.package.version}/docs/env.md
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
gunicorn = {
|
||||
extraArgs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [
|
||||
"--name=impress"
|
||||
"--workers=3"
|
||||
];
|
||||
description = ''
|
||||
Extra arguments to pass to the gunicorn process.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
celery = {
|
||||
extraArgs = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
description = ''
|
||||
Extra arguments to pass to the celery process.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
description = ''
|
||||
Domain name of the docs instance.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = types.submodule {
|
||||
freeformType = types.attrsOf (
|
||||
types.nullOr (
|
||||
types.oneOf [
|
||||
types.str
|
||||
types.bool
|
||||
types.path
|
||||
types.int
|
||||
]
|
||||
)
|
||||
);
|
||||
|
||||
options = {
|
||||
DJANGO_CONFIGURATION = mkOption {
|
||||
type = types.str;
|
||||
internal = true;
|
||||
default = "Production";
|
||||
description = "The configuration that Django will use";
|
||||
};
|
||||
|
||||
DJANGO_SETTINGS_MODULE = mkOption {
|
||||
type = types.str;
|
||||
internal = true;
|
||||
default = "impress.settings";
|
||||
description = "The configuration module that Django will use";
|
||||
};
|
||||
|
||||
DJANGO_SECRET_KEY_FILE = mkOption {
|
||||
type = types.path;
|
||||
default =
|
||||
if cfg.secretKeyPath == null then "/var/lib/lasuite-docs/django_secret_key" else cfg.secretKeyPath;
|
||||
description = "The path to the file containing Django's secret key";
|
||||
};
|
||||
|
||||
DATA_DIR = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/lasuite-docs";
|
||||
description = "Path to the data directory";
|
||||
};
|
||||
|
||||
DJANGO_ALLOWED_HOSTS = mkOption {
|
||||
type = types.str;
|
||||
default = if cfg.enableNginx then "localhost,127.0.0.1,${cfg.domain}" else "";
|
||||
defaultText = lib.literalExpression ''
|
||||
if cfg.enableNginx then "localhost,127.0.0.1,$${cfg.domain}" else ""
|
||||
'';
|
||||
description = "Comma-separated list of hosts that are able to connect to the server";
|
||||
};
|
||||
|
||||
DB_NAME = mkOption {
|
||||
type = types.str;
|
||||
default = "lasuite-docs";
|
||||
description = "Name of the database";
|
||||
};
|
||||
|
||||
DB_USER = mkOption {
|
||||
type = types.str;
|
||||
default = "lasuite-docs";
|
||||
description = "User of the database";
|
||||
};
|
||||
|
||||
DB_HOST = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = if cfg.postgresql.createLocally then "/run/postgresql" else null;
|
||||
description = "Host of the database";
|
||||
};
|
||||
|
||||
REDIS_URL = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default =
|
||||
if cfg.redis.createLocally then
|
||||
"unix://${config.services.redis.servers.lasuite-docs.unixSocket}?db=0"
|
||||
else
|
||||
null;
|
||||
description = "URL of the redis backend";
|
||||
};
|
||||
|
||||
CELERY_BROKER_URL = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default =
|
||||
if cfg.redis.createLocally then
|
||||
"redis+socket://${config.services.redis.servers.lasuite-docs.unixSocket}?db=1"
|
||||
else
|
||||
null;
|
||||
description = "URL of the redis backend for celery";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
example = ''
|
||||
{
|
||||
DJANGO_ALLOWED_HOSTS = "*";
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration options of docs.
|
||||
|
||||
See https://github.com/suitenumerique/docs/blob/v${cfg.backendPackage.version}/docs/env.md
|
||||
|
||||
`REDIS_URL` and `CELERY_BROKER_URL` are set if `services.lasuite-docs.redis.createLocally` is true.
|
||||
`DB_HOST` is set if `services.lasuite-docs.postgresql.createLocally` is true.
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
Path to environment file.
|
||||
|
||||
This can be useful to pass secrets to docs via tools like `agenix` or `sops`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.lasuite-docs = {
|
||||
description = "Docs from SuiteNumérique";
|
||||
after =
|
||||
[ "network.target" ]
|
||||
++ (optional cfg.postgresql.createLocally "postgresql.service")
|
||||
++ (optional cfg.redis.createLocally "redis-lasuite-docs.service");
|
||||
wants =
|
||||
(optional cfg.postgresql.createLocally "postgresql.service")
|
||||
++ (optional cfg.redis.createLocally "redis-lasuite-docs.service");
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
ln -sfT ${cfg.backendPackage}/share/static /var/lib/lasuite-docs/static
|
||||
|
||||
if [ ! -f .version ]; then
|
||||
touch .version
|
||||
fi
|
||||
|
||||
if [ "${cfg.backendPackage.version}" != "$(cat .version)" ]; then
|
||||
${getExe cfg.backendPackage} migrate
|
||||
echo -n "${cfg.backendPackage.version}" > .version
|
||||
fi
|
||||
${optionalString (cfg.secretKeyPath == null) ''
|
||||
if [[ ! -f /var/lib/lasuite-docs/django_secret_key ]]; then
|
||||
(
|
||||
umask 0377
|
||||
tr -dc A-Za-z0-9 < /dev/urandom | head -c64 | ${pkgs.moreutils}/bin/sponge /var/lib/lasuite-docs/django_secret_key
|
||||
)
|
||||
fi
|
||||
''}
|
||||
'';
|
||||
|
||||
environment = pythonEnvironment;
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = utils.escapeSystemdExecArgs (
|
||||
[
|
||||
(lib.getExe' cfg.backendPackage "gunicorn")
|
||||
"--bind=${cfg.bind}"
|
||||
]
|
||||
++ cfg.gunicorn.extraArgs
|
||||
++ [ "impress.wsgi:application" ]
|
||||
);
|
||||
EnvironmentFile = optional (cfg.environmentFile != null) cfg.environmentFile;
|
||||
MemoryDenyWriteExecute = true;
|
||||
} // commonServiceConfig;
|
||||
};
|
||||
|
||||
systemd.services.lasuite-docs-celery = {
|
||||
description = "Docs Celery broker from SuiteNumérique";
|
||||
after =
|
||||
[ "network.target" ]
|
||||
++ (optional cfg.postgresql.createLocally "postgresql.service")
|
||||
++ (optional cfg.redis.createLocally "redis-lasuite-docs.service");
|
||||
wants =
|
||||
(optional cfg.postgresql.createLocally "postgresql.service")
|
||||
++ (optional cfg.redis.createLocally "redis-lasuite-docs.service");
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment = pythonEnvironment;
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = utils.escapeSystemdExecArgs (
|
||||
[
|
||||
(lib.getExe' cfg.backendPackage "celery")
|
||||
]
|
||||
++ cfg.celery.extraArgs
|
||||
++ [
|
||||
"--app=impress.celery_app"
|
||||
"worker"
|
||||
]
|
||||
);
|
||||
EnvironmentFile = optional (cfg.environmentFile != null) cfg.environmentFile;
|
||||
MemoryDenyWriteExecute = true;
|
||||
} // commonServiceConfig;
|
||||
};
|
||||
|
||||
systemd.services.lasuite-docs-collaboration-server = {
|
||||
description = "Docs Collaboration Server from SuiteNumérique";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment = cfg.collaborationServer.settings;
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = getExe cfg.collaborationServer.package;
|
||||
} // commonServiceConfig;
|
||||
};
|
||||
|
||||
services.postgresql = mkIf cfg.postgresql.createLocally {
|
||||
enable = true;
|
||||
ensureDatabases = [ "lasuite-docs" ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "lasuite-docs";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.redis.servers.lasuite-docs = mkIf cfg.redis.createLocally { enable = true; };
|
||||
|
||||
services.nginx = mkIf cfg.enableNginx {
|
||||
enable = true;
|
||||
|
||||
virtualHosts.${cfg.domain} = {
|
||||
extraConfig = ''
|
||||
error_page 401 /401;
|
||||
error_page 403 /403;
|
||||
error_page 404 /404;
|
||||
'';
|
||||
|
||||
root = cfg.frontendPackage;
|
||||
|
||||
locations."~ '^/docs/[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/?$'" = {
|
||||
tryFiles = "$uri /docs/[id]/index.html";
|
||||
};
|
||||
|
||||
locations."/api" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/admin" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/collaboration/ws/" = {
|
||||
proxyPass = "http://localhost:${toString cfg.collaborationServer.port}";
|
||||
recommendedProxySettings = true;
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
|
||||
locations."/collaboration/api/" = {
|
||||
proxyPass = "http://localhost:${toString cfg.collaborationServer.port}";
|
||||
recommendedProxySettings = true;
|
||||
};
|
||||
|
||||
locations."/media-auth" = {
|
||||
proxyPass = "http://${cfg.bind}";
|
||||
recommendedProxySettings = true;
|
||||
extraConfig = ''
|
||||
rewrite $/(.*)^ /api/v1.0/documents/$1 break;
|
||||
proxy_set_header X-Original-URL $request_uri;
|
||||
proxy_pass_request_body off;
|
||||
proxy_set_header Content-Length "";
|
||||
proxy_set_header X-Original-Method $request_method;
|
||||
'';
|
||||
};
|
||||
|
||||
locations."/media/" = {
|
||||
proxyPass = cfg.s3Url;
|
||||
recommendedProxySettings = true;
|
||||
extraConfig = ''
|
||||
auth_request /media-auth;
|
||||
auth_request_set $authHeader $upstream_http_authorization;
|
||||
auth_request_set $authDate $upstream_http_x_amz_date;
|
||||
auth_request_set $authContentSha256 $upstream_http_x_amz_content_sha256;
|
||||
|
||||
proxy_set_header Authorization $authHeader;
|
||||
proxy_set_header X-Amz-Date $authDate;
|
||||
proxy_set_header X-Amz-Content-SHA256 $authContentSha256;
|
||||
|
||||
add_header Content-Security-Policy "default-src 'none'" always;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
buildDocsInSandbox = false;
|
||||
maintainers = [ lib.maintainers.soyouzpanda ];
|
||||
};
|
||||
}
|
||||
@@ -76,7 +76,7 @@ in
|
||||
API_PORT = toString cfg.port;
|
||||
BASE_URL = "http://localhost:${toString cfg.port}";
|
||||
DATA_DIR = "/var/lib/mealie";
|
||||
NLTK_DATA = pkgs.nltk-data.averaged_perceptron_tagger_eng;
|
||||
NLTK_DATA = pkgs.nltk-data.averaged-perceptron-tagger-eng;
|
||||
} // (builtins.mapAttrs (_: val: toString val) cfg.settings);
|
||||
|
||||
serviceConfig = {
|
||||
|
||||
@@ -711,6 +711,7 @@ in
|
||||
languagetool = handleTest ./languagetool.nix { };
|
||||
lanraragi = handleTest ./lanraragi.nix { };
|
||||
latestKernel.login = handleTest ./login.nix { latestKernel = true; };
|
||||
lasuite-docs = runTest ./web-apps/lasuite-docs.nix;
|
||||
lavalink = runTest ./lavalink.nix;
|
||||
leaps = handleTest ./leaps.nix { };
|
||||
lemmy = handleTest ./lemmy.nix { };
|
||||
|
||||
@@ -0,0 +1,168 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
domain = "docs.local";
|
||||
oidcDomain = "127.0.0.1:8080";
|
||||
s3Domain = "127.0.0.1:9000";
|
||||
|
||||
minioAccessKey = "a8dff633d164068418a5";
|
||||
minioSecretKey = "d546ea5f9c9bfdcf83755a7c09f2f7fb";
|
||||
in
|
||||
|
||||
{
|
||||
name = "lasuite-docs";
|
||||
meta.maintainers = with lib.maintainers; [
|
||||
soyouzpanda
|
||||
];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
virtualisation.diskSize = 4 * 1024;
|
||||
virtualisation.memorySize = 4 * 1024;
|
||||
|
||||
networking.hosts."127.0.0.1" = [ domain ];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
jq
|
||||
minio-client
|
||||
];
|
||||
|
||||
services.lasuite-docs = {
|
||||
enable = true;
|
||||
enableNginx = true;
|
||||
redis.createLocally = true;
|
||||
postgresql.createLocally = true;
|
||||
|
||||
inherit domain;
|
||||
s3Url = "http://${s3Domain}/lasuite-docs";
|
||||
|
||||
settings = {
|
||||
DJANGO_SECRET_KEY_FILE = pkgs.writeText "django-secret-file" ''
|
||||
8540db59c03943d48c3ed1a0f96ce3b560e0f45274f120f7ee4dace3cc366a6b
|
||||
'';
|
||||
|
||||
OIDC_OP_JWKS_ENDPOINT = "http://${oidcDomain}/dex/keys";
|
||||
OIDC_OP_AUTHORIZATION_ENDPOINT = "http://${oidcDomain}/dex/auth/mock";
|
||||
OIDC_OP_TOKEN_ENDPOINT = "http://${oidcDomain}/dex/token";
|
||||
OIDC_OP_USER_ENDPOINT = "http://${oidcDomain}/dex/userinfo";
|
||||
OIDC_RP_CLIENT_ID = "lasuite-docs";
|
||||
OIDC_RP_SIGN_ALGO = "RS256";
|
||||
OIDC_RP_SCOPES = "openid email";
|
||||
OIDC_RP_CLIENT_SECRET = "lasuitedocsclientsecret";
|
||||
|
||||
LOGIN_REDIRECT_URL = "http://${domain}";
|
||||
LOGIN_REDIRECT_URL_FAILURE = "http://${domain}";
|
||||
LOGOUT_REDIRECT_URL = "http://${domain}";
|
||||
|
||||
AWS_S3_ENDPOINT_URL = "http://${s3Domain}";
|
||||
AWS_S3_ACCESS_KEY_ID = minioAccessKey;
|
||||
AWS_S3_SECRET_ACCESS_KEY = minioSecretKey;
|
||||
AWS_STORAGE_BUCKET_NAME = "lasuite-docs";
|
||||
MEDIA_BASE_URL = "http://${domain}";
|
||||
|
||||
# Disable HTTPS feature in tests because we're running on a HTTP connection
|
||||
DJANGO_SECURE_PROXY_SSL_HEADER = "";
|
||||
DJANGO_SECURE_SSL_REDIRECT = false;
|
||||
DJANGO_CSRF_COOKIE_SECURE = false;
|
||||
DJANGO_SESSION_COOKIE_SECURE = false;
|
||||
DJANGO_CSRF_TRUSTED_ORIGINS = "http://*";
|
||||
};
|
||||
};
|
||||
|
||||
services.dex = {
|
||||
enable = true;
|
||||
settings = {
|
||||
issuer = "http://${oidcDomain}/dex";
|
||||
storage = {
|
||||
type = "postgres";
|
||||
config.host = "/var/run/postgresql";
|
||||
};
|
||||
web.http = "127.0.0.1:8080";
|
||||
oauth2.skipApprovalScreen = true;
|
||||
staticClients = [
|
||||
{
|
||||
id = "lasuite-docs";
|
||||
name = "Docs";
|
||||
redirectURIs = [ "http://${domain}/api/v1.0/callback/" ];
|
||||
secretFile = "/etc/dex/lasuite-docs";
|
||||
}
|
||||
];
|
||||
connectors = [
|
||||
{
|
||||
type = "mockPassword";
|
||||
id = "mock";
|
||||
name = "Example";
|
||||
config = {
|
||||
username = "admin";
|
||||
password = "password";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services.minio = {
|
||||
enable = true;
|
||||
rootCredentialsFile = "/etc/minio/minio-root-credentials";
|
||||
};
|
||||
|
||||
environment.etc."dex/lasuite-docs" = {
|
||||
mode = "0400";
|
||||
user = "dex";
|
||||
text = "lasuitedocsclientsecret";
|
||||
};
|
||||
|
||||
environment.etc."minio/minio-root-credentials" = {
|
||||
mode = "0400";
|
||||
text = ''
|
||||
MINIO_ROOT_USER=${minioAccessKey}
|
||||
MINIO_ROOT_PASSWORD=${minioSecretKey}
|
||||
'';
|
||||
};
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "dex" ];
|
||||
ensureUsers = [
|
||||
{
|
||||
name = "dex";
|
||||
ensureDBOwnership = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
with subtest("Wait for units to start"):
|
||||
machine.wait_for_unit("dex.service")
|
||||
machine.wait_for_unit("minio.service")
|
||||
machine.wait_for_unit("lasuite-docs.service")
|
||||
machine.wait_for_unit("lasuite-docs-celery.service")
|
||||
machine.wait_for_unit("lasuite-docs-collaboration-server.service")
|
||||
|
||||
with subtest("Create S3 bucket"):
|
||||
machine.succeed("mc config host add minio http://${s3Domain} ${minioAccessKey} ${minioSecretKey} --api s3v4")
|
||||
machine.succeed("mc mb lasuite-docs")
|
||||
|
||||
with subtest("Wait for web servers to start"):
|
||||
machine.wait_until_succeeds("curl -fs 'http://${domain}/api/v1.0/authenticate/'", timeout=120)
|
||||
machine.wait_until_succeeds("curl -fs '${oidcDomain}/dex/auth/mock?client_id=lasuite-docs&response_type=code&redirect_uri=http://${domain}/api/v1.0/callback/&scope=openid'", timeout=120)
|
||||
|
||||
with subtest("Login"):
|
||||
state, nonce = machine.succeed("curl -fs -c cjar 'http://${domain}/api/v1.0/authenticate/' -w '%{redirect_url}' | sed -n 's/.*state=\\(.*\\)&nonce=\\(.*\\)/\\1 \\2/p'").strip().split(' ')
|
||||
|
||||
oidc_state = machine.succeed(f"curl -fs '${oidcDomain}/dex/auth/mock?client_id=lasuite-docs&response_type=code&redirect_uri=http://${domain}/api/v1.0/callback/&scope=openid+email&state={state}&nonce={nonce}' | sed -n 's/.*state=\\(.*\\)\">.*/\\1/p'").strip()
|
||||
|
||||
code = machine.succeed(f"curl -fs '${oidcDomain}/dex/auth/mock/login?back=&state={oidc_state}' -d 'login=admin&password=password' -w '%{{redirect_url}}' | sed -n 's/.*code=\\(.*\\)&.*/\\1/p'").strip()
|
||||
print(f"Got approval code {code}")
|
||||
|
||||
machine.succeed(f"curl -fs -c cjar -b cjar 'http://${domain}/api/v1.0/callback/?code={code}&state={state}'")
|
||||
|
||||
with subtest("Create a document"):
|
||||
csrf_token = machine.succeed("grep csrftoken cjar | cut -f 7 | tr -d '\n'")
|
||||
|
||||
document_id = machine.succeed(f"curl -fs -c cjar -b cjar 'http://${domain}/api/v1.0/documents/' -X POST -H 'X-CSRFToken: {csrf_token}' -H 'Referer: http://${domain}' | jq .id -r").strip()
|
||||
|
||||
print(f"Created document with id {document_id}")
|
||||
'';
|
||||
}
|
||||
@@ -15,7 +15,7 @@
|
||||
plugins ? [ ],
|
||||
buildNumber,
|
||||
...
|
||||
}:
|
||||
}@args:
|
||||
|
||||
let
|
||||
loname = lib.toLower productShort;
|
||||
@@ -29,6 +29,7 @@ stdenvNoCC.mkDerivation {
|
||||
;
|
||||
passthru.buildNumber = buildNumber;
|
||||
passthru.product = product;
|
||||
passthru.tests = args.passthru.tests;
|
||||
meta = meta // {
|
||||
mainProgram = loname;
|
||||
};
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
extraLdPath ? [ ],
|
||||
extraWrapperArgs ? [ ],
|
||||
extraBuildInputs ? [ ],
|
||||
...
|
||||
}@args:
|
||||
|
||||
let
|
||||
@@ -48,6 +49,7 @@ lib.makeOverridable mkDerivation (
|
||||
rec {
|
||||
inherit pname version src;
|
||||
passthru.buildNumber = buildNumber;
|
||||
passthru.tests = args.passthru.tests;
|
||||
meta = args.meta // {
|
||||
mainProgram = pname;
|
||||
};
|
||||
|
||||
@@ -77,6 +77,7 @@ let
|
||||
extraWrapperArgs ? [ ],
|
||||
extraLdPath ? [ ],
|
||||
extraBuildInputs ? [ ],
|
||||
extraTests ? { },
|
||||
}:
|
||||
mkJetBrainsProductCore {
|
||||
inherit
|
||||
@@ -100,6 +101,9 @@ let
|
||||
inherit (ideInfo."${pname}") wmClass product;
|
||||
productShort = ideInfo."${pname}".productShort or ideInfo."${pname}".product;
|
||||
meta = mkMeta ideInfo."${pname}".meta fromSource;
|
||||
passthru.tests = extraTests // {
|
||||
plugins = callPackage ./plugins/tests.nix { ideName = pname; };
|
||||
};
|
||||
libdbm =
|
||||
if ideInfo."${pname}".meta.isOpenSource then
|
||||
communitySources."${pname}".libdbm
|
||||
|
||||
@@ -1,36 +1,135 @@
|
||||
{ jetbrains, writeText }:
|
||||
{
|
||||
jetbrains,
|
||||
symlinkJoin,
|
||||
lib,
|
||||
runCommand,
|
||||
# If not set, all IDEs are tested.
|
||||
ideName ? null,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
# Known broken plugins, PLEASE remove entries here whenever possible.
|
||||
broken-plugins = [
|
||||
"github-copilot" # GitHub Copilot: https://github.com/NixOS/nixpkgs/issues/400317
|
||||
];
|
||||
|
||||
ides =
|
||||
if ideName == null then
|
||||
with jetbrains;
|
||||
[
|
||||
aqua
|
||||
clion
|
||||
datagrip
|
||||
dataspell
|
||||
gateway
|
||||
goland
|
||||
idea-community-src
|
||||
idea-community-bin
|
||||
idea-ultimate
|
||||
mps
|
||||
phpstorm
|
||||
pycharm-community-src
|
||||
pycharm-community-bin
|
||||
pycharm-professional
|
||||
rider
|
||||
ruby-mine
|
||||
rust-rover
|
||||
webstorm
|
||||
writerside
|
||||
]
|
||||
else
|
||||
[ (jetbrains.${ideName}) ];
|
||||
in
|
||||
{
|
||||
# Check to see if the process for adding plugins is breaking anything, instead of the plugins themselves
|
||||
default =
|
||||
empty =
|
||||
let
|
||||
modify-ide = ide: jetbrains.plugins.addPlugins ide [ ];
|
||||
ides =
|
||||
with jetbrains;
|
||||
map modify-ide [
|
||||
clion
|
||||
datagrip
|
||||
dataspell
|
||||
goland
|
||||
idea-community
|
||||
idea-ultimate
|
||||
mps
|
||||
phpstorm
|
||||
pycharm-community
|
||||
pycharm-professional
|
||||
rider
|
||||
ruby-mine
|
||||
rust-rover
|
||||
webstorm
|
||||
];
|
||||
paths = builtins.concatStringsSep " " ides;
|
||||
in
|
||||
writeText "jb-ides" paths;
|
||||
symlinkJoin {
|
||||
name = "jetbrains-test-plugins-empty";
|
||||
paths = (map modify-ide ides);
|
||||
};
|
||||
|
||||
idea-ce-with-plugins = jetbrains.plugins.addPlugins jetbrains.idea-community [
|
||||
"ideavim"
|
||||
"nixidea"
|
||||
# test JAR plugins
|
||||
"wakatime"
|
||||
];
|
||||
# Test all plugins. This will only build plugins compatible with the IDE and version. It will fail if the plugin is marked
|
||||
# as compatible, but the build version is somehow not in the "builds" map (as that would indicate that something with update_plugins.py went wrong).
|
||||
all =
|
||||
let
|
||||
plugins-json = builtins.fromJSON (builtins.readFile ./plugins.json);
|
||||
plugins-for =
|
||||
with lib.asserts;
|
||||
ide:
|
||||
builtins.map (plugin: plugin.name) (
|
||||
builtins.filter (
|
||||
plugin:
|
||||
(
|
||||
# Plugin has to not be broken
|
||||
(!builtins.elem plugin.name broken-plugins)
|
||||
# IDE has to be compatible
|
||||
&& (builtins.elem ide.pname plugin.compatible)
|
||||
# Assert: The build number needs to be included (if marked compatible)
|
||||
&& (assertMsg (builtins.elem ide.buildNumber (builtins.attrNames plugin.builds)) "For plugin ${plugin.name} no entry for IDE build ${ide.buildNumber} is defined, even though ${ide.pname} is on that build.")
|
||||
# The plugin has to exist for the build
|
||||
&& (plugin.builds.${ide.buildNumber} != null)
|
||||
)
|
||||
) (builtins.attrValues plugins-json.plugins)
|
||||
);
|
||||
modify-ide = ide: jetbrains.plugins.addPlugins ide (plugins-for ide);
|
||||
in
|
||||
symlinkJoin {
|
||||
name = "jetbrains-test-plugins-all";
|
||||
paths = (map modify-ide ides);
|
||||
};
|
||||
|
||||
# This test builds the IDEs with some plugins and checks that they can be discovered by the IDE.
|
||||
# Test always succeeds on IDEs that the tested plugins don't support.
|
||||
stored-correctly =
|
||||
let
|
||||
plugins-json = builtins.fromJSON (builtins.readFile ./plugins.json);
|
||||
plugin-ids = [
|
||||
# This is a "normal plugin", it's output must be linked into /${pname}/plugins.
|
||||
"8607" # nixidea
|
||||
# This is a plugin where the output contains a single JAR file. This JAR file needs to be linked directly in /${pname}/plugins.
|
||||
"7425" # wakatime
|
||||
];
|
||||
check-if-supported =
|
||||
ide:
|
||||
builtins.all (
|
||||
plugin:
|
||||
(builtins.elem ide.pname plugins-json.plugins.${plugin}.compatible)
|
||||
&& (plugins-json.plugins.${plugin}.builds.${ide.buildNumber} != null)
|
||||
) plugin-ids;
|
||||
modify-ide = ide: jetbrains.plugins.addPlugins ide plugin-ids;
|
||||
in
|
||||
runCommand "test-jetbrains-plugins-stored-correctly"
|
||||
{
|
||||
idePaths = (map modify-ide (builtins.filter check-if-supported ides));
|
||||
}
|
||||
# TODO: instead of globbing using $ide/*/plugins we could probably somehow get the package name here properly.
|
||||
''
|
||||
set -e
|
||||
exec &> >(tee -a "$out")
|
||||
|
||||
IFS=' ' read -ra ideArray <<< "$idePaths"
|
||||
for ide in "''${ideArray[@]}"; do
|
||||
echo "processing $ide"
|
||||
|
||||
echo "> ensure normal plugin is available"
|
||||
(
|
||||
set -x
|
||||
find -L $ide/*/plugins -type f -iname 'NixIDEA-*.jar' | grep .
|
||||
)
|
||||
|
||||
echo "> ensure single JAR file plugin is available"
|
||||
(
|
||||
set -x
|
||||
PATH_TO_LINK=$(find $ide/*/plugins -maxdepth 1 -type l -iname '*wakatime.jar' | grep .)
|
||||
test -f $(readlink $PATH_TO_LINK)
|
||||
)
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo "test done! ok!"
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
This directory contains the build expressions needed to build any of the jetbrains IDEs.
|
||||
The jdk is in `pkgs/development/compilers/jetbrains-jdk`.
|
||||
To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.default`.
|
||||
|
||||
## Tests:
|
||||
- To test the build process of every IDE (as well as the process for adding plugins), build `jetbrains.plugins.tests.empty`.
|
||||
- To test the build process with all plugins\* supported by all IDEs, build `jetbrains.plugins.tests.all`.
|
||||
- To test only plugins for a specific IDE\*, build `jetbrains.ide-name.tests.plugins.all`.
|
||||
- To test that plugins are correctly stored in the plugins directory, build `jetbrains.plugins.tests.stored-correctly`.
|
||||
|
||||
\*: Plugins marked as broken in nixpkgs are skipped: When updating/fixing plugins, please check the `broken-plugins` in `plugins/tests.nix` and update it if needed.
|
||||
|
||||
## How to use plugins:
|
||||
- Get the ide you want and call `jetbrains.plugins.addPlugins` with a list of plugins you want to add.
|
||||
- The list of plugins can be a list of ids or names (as in `plugins/plugins.json`)
|
||||
- Example: `jetbrains.plugins.addPlugins jetbrains.pycharm-professional [ "nixidea" ]`
|
||||
- The list can also contain a drv giving a `.jar` or `.zip` (this is how you use a plugin not added to nixpkgs)
|
||||
- The list can also contain drvs giving the directory contents of the plugin (this is how you use a plugin not added to nixpkgs) or a single `.jar` (executable). For an example, look at the implementation of `fetchPluginSrc` in `plugins/default.nix`.
|
||||
|
||||
### How to add a new plugin to nixpkgs
|
||||
- Find the page for the plugin on https://plugins.jetbrains.com
|
||||
|
||||
@@ -5,15 +5,15 @@ let
|
||||
in
|
||||
{
|
||||
sublime4 = common {
|
||||
buildVersion = "4192";
|
||||
x64sha256 = "3CMorzQj+JFPTXp6PPhX6Mlcz/kJb2FM2iwUsvrhy+s=";
|
||||
aarch64sha256 = "gVhDBac3kyDU1qIiXoN7Xf5Jvbdnif2QGuFUy2C34Mo=";
|
||||
buildVersion = "4200";
|
||||
x64sha256 = "NvacVRrRjuRgAr5NnFI/5UXZO2f+pnvupzHnJARLRp8=";
|
||||
aarch64sha256 = "z0tqp06ioqqwLhRFmc+eSkI8u5VDwiH32hCVqVSVVmo=";
|
||||
} { };
|
||||
|
||||
sublime4-dev = common {
|
||||
buildVersion = "4196";
|
||||
buildVersion = "4199";
|
||||
dev = true;
|
||||
x64sha256 = "lsvPDqN9YkhDl/4LjLoHkV+Po9lTJpS498awzMMCh3c=";
|
||||
aarch64sha256 = "Bwy69jCKkj8AT8WeMXJ3C+yUk+PArHETyp1ZvMXjR5A=";
|
||||
x64sha256 = "Nrhwv+ox/SW21c8wZtuX9mzHQ+o9ghsI50dU2kDvCX0=";
|
||||
aarch64sha256 = "3vCXj53f2Qlt/Ab3hNNng+Y4Ch85Dp0G8srTVBtd6zU=";
|
||||
} { };
|
||||
}
|
||||
|
||||
@@ -3000,6 +3000,19 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
colorful-winsep-nvim = buildVimPlugin {
|
||||
pname = "colorful-winsep.nvim";
|
||||
version = "2025-04-11";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-zh";
|
||||
repo = "colorful-winsep.nvim";
|
||||
rev = "7bbe4e1353c0fe37c98bad2758aafc410280f6b3";
|
||||
sha256 = "0nm3cr5wzfyanx01nw998cddq1vxww0xn6v8a7db3a2r8fjxp5fx";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-zh/colorful-winsep.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
colorizer = buildVimPlugin {
|
||||
pname = "colorizer";
|
||||
version = "2022-01-03";
|
||||
@@ -3248,6 +3261,19 @@ final: prev: {
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
contextfiles-nvim = buildVimPlugin {
|
||||
pname = "contextfiles.nvim";
|
||||
version = "2025-05-07";
|
||||
src = fetchFromGitHub {
|
||||
owner = "banjo";
|
||||
repo = "contextfiles.nvim";
|
||||
rev = "d9541105d60c708e2ec6641109f5f2a6179c2a80";
|
||||
sha256 = "1n8nkpy53mqr0hn26lqzcxmp8l6r2873yrsqxrj5cpis0f52qc45";
|
||||
};
|
||||
meta.homepage = "https://github.com/banjo/contextfiles.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
copilot-cmp = buildVimPlugin {
|
||||
pname = "copilot-cmp";
|
||||
version = "2024-12-11";
|
||||
|
||||
@@ -229,6 +229,7 @@ https://github.com/gorbit99/codewindow.nvim/,HEAD,
|
||||
https://github.com/metakirby5/codi.vim/,,
|
||||
https://github.com/tjdevries/colorbuddy.nvim/,,
|
||||
https://github.com/xzbdmw/colorful-menu.nvim/,HEAD,
|
||||
https://github.com/nvim-zh/colorful-winsep.nvim/,HEAD,
|
||||
https://github.com/lilydjwg/colorizer/,,
|
||||
https://github.com/Domeee/com.cloudedmountain.ide.neovim/,HEAD,
|
||||
https://github.com/wincent/command-t/,,
|
||||
@@ -248,6 +249,7 @@ https://github.com/stevearc/conform.nvim/,HEAD,
|
||||
https://github.com/Olical/conjure/,,
|
||||
https://github.com/wellle/context.vim/,,
|
||||
https://github.com/Shougo/context_filetype.vim/,,
|
||||
https://github.com/banjo/contextfiles.nvim/,HEAD,
|
||||
https://github.com/zbirenbaum/copilot-cmp/,HEAD,
|
||||
https://github.com/copilotlsp-nvim/copilot-lsp/,HEAD,
|
||||
https://github.com/AndreM222/copilot-lualine/,HEAD,
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "gambatte";
|
||||
version = "0-unstable-2025-05-02";
|
||||
version = "0-unstable-2025-05-16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "gambatte-libretro";
|
||||
rev = "a85fe7c20933dbe4680d783d32639a71a85783cb";
|
||||
hash = "sha256-YwQQkRshDDQi9CzqNnhKkj7+A0fkvcEZEg6PySaFDRI=";
|
||||
rev = "0b95f252ba9cdb366b4d87e6236b0a63f4305cba";
|
||||
hash = "sha256-EcTd5ihZcdQ2LJNy8jcD4g6+PhR1Jialjd3xa6tZMew=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -71,7 +71,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "7.3.3635.12";
|
||||
version = "7.4.3684.38";
|
||||
|
||||
suffix =
|
||||
{
|
||||
@@ -84,8 +84,8 @@ stdenv.mkDerivation rec {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
|
||||
hash =
|
||||
{
|
||||
aarch64-linux = "sha256-Gplg0QD7DcibaOv1Q8RUnefACZdNnM8yKYYiP1dpY58=";
|
||||
x86_64-linux = "sha256-qcV4n9/nAbb0Gw8azorDSjpjy4cXe2XlR94WwuwUEyc=";
|
||||
aarch64-linux = "sha256-SmmmEFSzAGgm9eKeTKpUFuW/UVNyXw8x8c1uRp69fbw=";
|
||||
x86_64-linux = "sha256-h/ZcJq51gsb03V5KFlPOE9H0NonYxJNeWVg2UCQEBPs=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
@@ -9,7 +9,7 @@ let
|
||||
versions =
|
||||
if stdenv.hostPlatform.isLinux then
|
||||
{
|
||||
stable = "0.0.94";
|
||||
stable = "0.0.95";
|
||||
ptb = "0.0.143";
|
||||
canary = "0.0.678";
|
||||
development = "0.0.75";
|
||||
@@ -26,7 +26,7 @@ let
|
||||
x86_64-linux = {
|
||||
stable = fetchurl {
|
||||
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
hash = "sha256-035nfbEyvdsNxZh6fkXh2JhY7EXQtwUnS4sUKr74MRQ=";
|
||||
hash = "sha256-8NpHTG3ojEr8LCRBE/urgH6xdAHLUhqz+A95obB75y4=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
{ lib, stdenv }:
|
||||
|
||||
args:
|
||||
|
||||
# TODO(@wolfgangwalther): Remove substituteAllFiles after 25.05 branch-off.
|
||||
lib.warn
|
||||
"substituteAllFiles is deprecated and will be removed in 25.11. Use replaceVars for each file instead."
|
||||
(
|
||||
stdenv.mkDerivation (
|
||||
{
|
||||
name = if args ? name then args.name else baseNameOf (toString args.src);
|
||||
builder = builtins.toFile "builder.sh" ''
|
||||
set -o pipefail
|
||||
|
||||
eval "$preInstall"
|
||||
|
||||
args=
|
||||
|
||||
pushd "$src"
|
||||
echo -ne "${lib.concatStringsSep "\\0" args.files}" | xargs -0 -n1 -I {} -- find {} -type f -print0 | while read -d "" line; do
|
||||
mkdir -p "$out/$(dirname "$line")"
|
||||
substituteAll "$line" "$out/$line"
|
||||
done
|
||||
popd
|
||||
|
||||
eval "$postInstall"
|
||||
'';
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
}
|
||||
// args
|
||||
)
|
||||
)
|
||||
@@ -1,29 +0,0 @@
|
||||
{ lib, stdenvNoCC }:
|
||||
# see the substituteAll in the nixpkgs documentation for usage and constraints
|
||||
args:
|
||||
let
|
||||
# keep this in sync with substituteAll
|
||||
isInvalidArgName = x: builtins.match "^[a-z][a-zA-Z0-9_]*$" x == null;
|
||||
invalidArgs = builtins.filter isInvalidArgName (builtins.attrNames args);
|
||||
in
|
||||
# TODO(@wolfgangwalther): Remove substituteAll, the nix function, after 25.05 branch-off.
|
||||
lib.warn "substituteAll is deprecated and will be removed in 25.11. Use replaceVars instead." (
|
||||
if invalidArgs == [ ] then
|
||||
stdenvNoCC.mkDerivation (
|
||||
{
|
||||
name = if args ? name then args.name else baseNameOf (toString args.src);
|
||||
builder = ./substitute-all.sh;
|
||||
inherit (args) src;
|
||||
preferLocalBuild = true;
|
||||
allowSubstitutes = false;
|
||||
}
|
||||
// args
|
||||
)
|
||||
else
|
||||
throw ''
|
||||
Argument names for `pkgs.substituteAll` must:
|
||||
- start with a lower case ASCII letter
|
||||
- only contain ASCII letters, digits and underscores
|
||||
Found invalid argument names: ${lib.concatStringsSep ", " invalidArgs}.
|
||||
''
|
||||
)
|
||||
@@ -8,13 +8,13 @@
|
||||
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "atlas";
|
||||
version = "0.33.0";
|
||||
version = "0.33.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ariga";
|
||||
repo = "atlas";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-uMINAdoHYRVaZ7QdxZ0G03cOTRe6ObnIuxo3ic+tMnE=";
|
||||
hash = "sha256-Io7FnPxvr3XIj+Tbf1yVxjTnqoRzQZnaVlImcwBjwXE=";
|
||||
};
|
||||
|
||||
modRoot = "cmd/atlas";
|
||||
|
||||
@@ -12,17 +12,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "brush";
|
||||
version = "0.2.17";
|
||||
version = "0.2.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "reubeno";
|
||||
repo = "brush";
|
||||
tag = "brush-shell-v${version}";
|
||||
hash = "sha256-64xj9yu6OCNTnuymEd5ihdE0s8RWfrSMfTz9TlMQ6Sg=";
|
||||
hash = "sha256-lX8e2gqbZMbsdMD1ZUK0l5xlCq+NkzBDeZSMzrPX+zI=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-AIEgSUl3YFCa6FOgoZYpPc1qc2EOfpm1lZEQYlBgkGg=";
|
||||
cargoHash = "sha256-qHbKbWzuOpoRVySZd/yeGnDNbFGb2fQmgz0ETcNLoVE=";
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
|
||||
@@ -12,36 +12,36 @@ let
|
||||
# svm-rs's source code.
|
||||
solc-versions = {
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/ethereum/solc-bin/60de887187e5670c715931a82fdff6677b31f0cb/linux-amd64/list.json";
|
||||
hash = "sha256-zm1cdqSP4Y9UQcq9OV8sXxnzr3+TWdc7mdg+Do8Y7WY=";
|
||||
url = "https://raw.githubusercontent.com/ethereum/solc-bin/bdd7dd3fda6e4a00c0697d891a1a7ae9f2b3a5fd/linux-amd64/list.json";
|
||||
hash = "sha256-H6D6XbIw5sDZlbc2c51vIMRmOqs2nDIcaNzCaOvnLsw=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/ethereum/solc-bin/60de887187e5670c715931a82fdff6677b31f0cb/macosx-amd64/list.json";
|
||||
hash = "sha256-uUdd5gCG7SHQgAW2DQXemTujb8bUJM27J02WjLkQgek=";
|
||||
url = "https://raw.githubusercontent.com/ethereum/solc-bin/bdd7dd3fda6e4a00c0697d891a1a7ae9f2b3a5fd/macosx-amd64/list.json";
|
||||
hash = "sha256-A3A6gtNb129tD5KC0tCXvlzQ11t5SrNrX8tQeq73+mY=";
|
||||
};
|
||||
aarch64-linux = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/nikitastupin/solc/923ab4b852fadc00ffe87bb76fff21d0613bd280/linux/aarch64/list.json";
|
||||
hash = "sha256-mJaEN63mR3XdK2FmEF+VhLR6JaCCtYkIRq00wYH6Xx8=";
|
||||
url = "https://raw.githubusercontent.com/nikitastupin/solc/99b5867237b37952d372e0dab400d6788feda315/linux/aarch64/list.json";
|
||||
hash = "sha256-u6WRAcnR9mN9ERfFdLOxxSc9ASQIQvmS8uG+Z4H6OAU=";
|
||||
};
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/alloy-rs/solc-builds/260964c1fcae2502c0139070bdc5c83eb7036a68/macosx/aarch64/list.json";
|
||||
hash = "sha256-xrtb3deMDAuDIjzN1pxm5NyW5NW5OyoOHTFsYyWJCYY=";
|
||||
url = "https://raw.githubusercontent.com/alloy-rs/solc-builds/e4b80d33bc4d015b2fc3583e217fbf248b2014e1/macosx/aarch64/list.json";
|
||||
hash = "sha256-h0B1g7x80jU9iCFCMYw+HlmdKQt1wfhIkV5W742kw6w=";
|
||||
};
|
||||
};
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "bulloak";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexfertel";
|
||||
repo = "bulloak";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-OAjy8SXaD+2/C5jLNIezv/KdrPHlwJC5L1LwGhqBWQs=";
|
||||
hash = "sha256-8Qp8ceafAkw7Tush/dvBl27q5oNDzbOqyvSLXhjf4fo=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-sdnpnKWKCJeBbooM0Qe/wccF1b3LLiTfZe4RdxbJYcs=";
|
||||
cargoHash = "sha256-yaRaB3U8Wxhp7SK5E44CF8AudhG7ar7L5ey+CRVfYqc=";
|
||||
|
||||
# tests run in CI on the source repo
|
||||
doCheck = false;
|
||||
|
||||
@@ -5,18 +5,17 @@
|
||||
stdenv,
|
||||
installShellFiles,
|
||||
testers,
|
||||
cue,
|
||||
callPackage,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
buildGoModule (finalAttrs: {
|
||||
pname = "cue";
|
||||
version = "0.13.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cue-lang";
|
||||
repo = "cue";
|
||||
tag = "v${version}";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-RvdjZ3wSc3IhQvYJL989x33qOtVZ4paoQTLFzWF9xj0=";
|
||||
};
|
||||
|
||||
@@ -29,7 +28,7 @@ buildGoModule rec {
|
||||
ldflags = [
|
||||
"-s"
|
||||
"-w"
|
||||
"-X cuelang.org/go/cmd/cue/cmd.version=v${version}"
|
||||
"-X cuelang.org/go/cmd/cue/cmd.version=v${finalAttrs.version}"
|
||||
];
|
||||
|
||||
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
||||
@@ -44,9 +43,9 @@ buildGoModule rec {
|
||||
tests = {
|
||||
test-001-all-good = callPackage ./tests/001-all-good.nix { };
|
||||
version = testers.testVersion {
|
||||
package = cue;
|
||||
package = finalAttrs.finalPackage;
|
||||
command = "cue version";
|
||||
version = "v${version}";
|
||||
version = "v${finalAttrs.version}";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -58,4 +57,4 @@ buildGoModule rec {
|
||||
maintainers = with lib.maintainers; [ aaronjheng ];
|
||||
mainProgram = "cue";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -59,13 +59,13 @@
|
||||
}:
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fastfetch";
|
||||
version = "2.43.0";
|
||||
version = "2.44.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fastfetch-cli";
|
||||
repo = "fastfetch";
|
||||
tag = finalAttrs.version;
|
||||
hash = "sha256-gUqNiiPipoxLKwGVsi42PyOnmPbfvUs7UwfqOdmFn/E=";
|
||||
hash = "sha256-cLN1G/Rp1Euc6pp0V/Xd4qmo3x0b+rnNU8PDP5j/PTE=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
|
||||
@@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "fuse-overlayfs";
|
||||
version = "1.14";
|
||||
version = "1.15";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "fuse-overlayfs";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-A70AxYPKph/5zRNFRDWrwl8Csc8Vf1gmOLJ39ixJgL0=";
|
||||
hash = "sha256-awVDq87lxMtpTADhy8k95N/4yuGH+2Fn94j3JZzkuUY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -32,6 +32,8 @@ buildGoModule rec {
|
||||
in
|
||||
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
|
||||
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "GitLab Docker toolset to pack, ship, store, and deliver content";
|
||||
license = licenses.asl20;
|
||||
|
||||
@@ -24,6 +24,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-+bMOcGWfcwPhxR9CBp4iH02CZC4oplCjsTDpPDsDnSs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs examples/test_c_child_requires_c_no_deps.bash
|
||||
substituteInPlace examples/CMakeLists.txt --replace-fail \
|
||||
"$""{CMAKE_INSTALL_LIBDIR}" "${if stdenv.isDarwin then "lib" else "lib64"}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
doxygen
|
||||
@@ -37,14 +43,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
nativeCheckInputs = [ python3 ];
|
||||
|
||||
# 98% tests passed, 1 tests failed out of 44
|
||||
# 44 - c_child_requires_c_nodep (Failed)
|
||||
#
|
||||
# Package gz-c_child_private was not found in the pkg-config search path.
|
||||
# Perhaps you should add the directory containing `gz-c_child_private.pc'
|
||||
# to the PKG_CONFIG_PATH environment variable
|
||||
# No package 'gz-c_child_private' found
|
||||
doCheck = false;
|
||||
doCheck = true;
|
||||
|
||||
# Extract the version by matching the tag's prefix.
|
||||
passthru.updateScript = nix-update-script {
|
||||
|
||||
@@ -19,14 +19,14 @@
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "home-manager";
|
||||
version = "0-unstable-2025-05-13";
|
||||
version = "0-unstable-2025-05-23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
name = "home-manager-source";
|
||||
owner = "nix-community";
|
||||
repo = "home-manager";
|
||||
rev = "8d832ddfda9facf538f3dda9b6985fb0234f151c";
|
||||
hash = "sha256-NnPzzXEqfYjfrimLzK0JOBItfdEJdP/i6SNTuunCGgw=";
|
||||
rev = "7419250703fd5eb50e99bdfb07a86671939103ea";
|
||||
hash = "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -17,7 +17,7 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "${name}-bin";
|
||||
version = "33.2.2";
|
||||
version = "33.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
# This file was autogenerated. DO NOT EDIT!
|
||||
{
|
||||
Iosevka = "0p386cv1bkbrwx91hxxd0qf9y18sidhj8jzl0b7l0g5gi68v9z67";
|
||||
IosevkaAile = "050j2bhbkl015kkmyz3qzxckfqpy0frg4800biqn20nfh0nd1wmw";
|
||||
IosevkaCurly = "15fs984pbxvazhzcz941zrksg12jrqilflvzcpcnqfg0nyz7w79w";
|
||||
IosevkaCurlySlab = "19n6sx5ag47ysa2qg64n5549r1ig33kzin5ln5mg6x5cfiir6j26";
|
||||
IosevkaEtoile = "1syhrp6cifm989zybh2zvhdk2jwrck8mvmlgppw5wpz4q2d35k30";
|
||||
IosevkaSlab = "16f7j3hqsfk2hnvwwnd5dszwf46r3a18njv1d1szkn2xnw55jgak";
|
||||
IosevkaSS01 = "095rvb62j71hr5n13wxkbq3h36jr5gnv7536zycjlm0h34ff2ryn";
|
||||
IosevkaSS02 = "1k880h5j2ynr88vgflvx7vjk88rh3xs6kblj82pb0li9fvl7c7wd";
|
||||
IosevkaSS03 = "1jp9q00wjz47h66by4jrpfbkmzj15pvz2viqbl0p64kgmjnbak51";
|
||||
IosevkaSS04 = "1djzfhpi92226a606zx9rkf8brvazilafv0bhwsx3zm7msnh1239";
|
||||
IosevkaSS05 = "0k7yzz0xmpwgn9zyiwxz882lwi2xgm9kxp0d5hy684hbzapkydw2";
|
||||
IosevkaSS06 = "1rph461k70yi745l99sfb5i29r0yf0i43v96jj5fgg82rswkjyb8";
|
||||
IosevkaSS07 = "1idkdvfw6267vim2yspdcn8n92i4l7c4dvzgaqm7i3c4jis21cnr";
|
||||
IosevkaSS08 = "02aiksqzccbzmcz81kp1rwxy9wjcanildagjnqksif7md55lsw99";
|
||||
IosevkaSS09 = "1a5vgn5nlb8p5ypz3p9lqs10jfmjgam8iw4i5gm87xl0602nxf4w";
|
||||
IosevkaSS10 = "051hkwkwgjdrb2011rzbq9hy0r26kxakryvhj5wr6cmh4gp59yz8";
|
||||
IosevkaSS11 = "1gqidclxpcqyz3rc3skg3q3h53nhpkpll8ijb4b45sp3bldff110";
|
||||
IosevkaSS12 = "18ijr79d3x4q52h4z4pba1p9l7hn20857v8nqn6nn59j6vrd1b2k";
|
||||
IosevkaSS13 = "1rphwzi8zy39hjka6n5jcmqx9c05wgj0hkndgiyb8mdhi2nxl0wd";
|
||||
IosevkaSS14 = "0ffyp9q5kwvf3d7qzqhaa3dpj0s3d0al76zsa8v92wahc1z20zm7";
|
||||
IosevkaSS15 = "03dnpmjjvgnnagmqghnlxwd33xlg3frz44q0w0ri98pbls1zgysi";
|
||||
IosevkaSS16 = "0vin643dgis6p81a3x4hfp2y9r0f5kmklpl88ql2pprcxlgr71qx";
|
||||
IosevkaSS17 = "129g4d2xjcv0g8079dwsgc16z8dm8hsvk1l86sci32q34iwp53na";
|
||||
IosevkaSS18 = "09m0qsgxqsja76g4ywjlxc4qc7wb0qkmm7mlx4fracy4jdq4niwk";
|
||||
SGr-Iosevka = "0r3yg2gpg52kp6m63x16j6n54sv32q2vf38cm1p5lbpjd9zbfbi8";
|
||||
SGr-IosevkaCurly = "1bba9f2hrxllxm13mc3lsgdf1f6nk5b84jgp6vrp0kgl6m1pkbls";
|
||||
SGr-IosevkaCurlySlab = "18ypl4wrsd13zlb497nldf5lyd9c5ckc06dkq153884k518p51sy";
|
||||
SGr-IosevkaFixed = "0cwv68dpql583ydxnlqkzj7c5hv1lhgkag7rl66yx3zsnxk4mrwb";
|
||||
SGr-IosevkaFixedCurly = "01409k12sbw0hpkfbgj1168yp4pxkzazj3cxqc3kjas24hyk7kp9";
|
||||
SGr-IosevkaFixedCurlySlab = "01y62dl3kcczl6wcsj5ccagf8pbqzmmwzf2kvdi3cr27krla944b";
|
||||
SGr-IosevkaFixedSlab = "1bmw2n7wd8zz97754f9i9ks1nyfbnyl3z6hn4h9b8i7wbgf10123";
|
||||
SGr-IosevkaFixedSS01 = "1scz7ag493v62q5azv2wv5habjmhdxcx56nh45ha65m1p0syjywg";
|
||||
SGr-IosevkaFixedSS02 = "0hzgz8x4x06f3nw7z60zrvg2f28nzpxib1m76dvdq7cf1yjspwrw";
|
||||
SGr-IosevkaFixedSS03 = "0mj7232ppva8hd7212rdz3l6inmgcy1ccicwf74j49zcj6d2i2l1";
|
||||
SGr-IosevkaFixedSS04 = "14mjbkaf5q426225mfia2fpwywh3vq6dsw296acgg5ja80xsfm4r";
|
||||
SGr-IosevkaFixedSS05 = "03ij2jsn1c6imbm42mhirn33dy66jlq6p854ss4scxgki4aiv2lb";
|
||||
SGr-IosevkaFixedSS06 = "1s8ygxi0xgdwk3pvcnvhcbhqrcpmgipvs1w1v7jcb6mg5158s4xl";
|
||||
SGr-IosevkaFixedSS07 = "183k6v2spd20578p8kfga54s9gzpfywjm4frdab0rnyffjhs1inr";
|
||||
SGr-IosevkaFixedSS08 = "17mxmvmvn8l6yhd8ww69w81sv76zih8jhs9msz3ajrsrhq5glb9y";
|
||||
SGr-IosevkaFixedSS09 = "0f8yrdi6n989v9ppb76gswsri9rnzyhi5cxvqmhmwixgb812crlc";
|
||||
SGr-IosevkaFixedSS10 = "0i35zvqbr4sbafi07bvhcj4h1a6g5r3rgba57bi6zwihmmw6ysq8";
|
||||
SGr-IosevkaFixedSS11 = "0zyrg10q3223q26kfnprmfanzck74943gqavyfy4iqq1dlwzq9sz";
|
||||
SGr-IosevkaFixedSS12 = "1n9rcmxz3hwp300qcddlqydmj40ajy15cgv22z82qg608a3l1h14";
|
||||
SGr-IosevkaFixedSS13 = "0b1zcqyn5zblqsz28myjw3py6c9cllml2nisyapsbs4yxy96sck7";
|
||||
SGr-IosevkaFixedSS14 = "";
|
||||
SGr-IosevkaFixedSS15 = "0cc7hik5d9cbfhwmazflwd6h3ddhy88892f1hr2z9bwgri47h2pp";
|
||||
SGr-IosevkaFixedSS16 = "0cdi4jw5lig1i2v54dk35p9wjkl2bld6ldxxrg32smwik9zx9dpc";
|
||||
SGr-IosevkaFixedSS17 = "1g7xqw50i589l5hqgb97gd1phyn9x1sij404k91g331bwmj4icl5";
|
||||
SGr-IosevkaFixedSS18 = "19g3qprnfkr77p8zi14xdzyya5pssmv1rx8vsjahrkbyg2hxwcm7";
|
||||
SGr-IosevkaSlab = "10pjqvqm1kssani9j1p4rryz3kz71jxrzh4xpr687j8sqjr0qkgh";
|
||||
SGr-IosevkaSS01 = "10ls2xwg08m6nkmq9c7zfi9j5b957hwaxkb8yh136w0smd5lql07";
|
||||
SGr-IosevkaSS02 = "121bbkybz8wxmpm0mrfc1fpa2n9l8624lcy867gf25kw4j0z360y";
|
||||
SGr-IosevkaSS03 = "1p75ixf4myfs6wmc3z1jilkip34gjhmkkqs98js4adbzb14ys3fi";
|
||||
SGr-IosevkaSS04 = "1mizbsfh7chzpdjpfbq47bvnz60n954jp7s8ni8mkafl2zm3jdja";
|
||||
SGr-IosevkaSS05 = "0plaby57yqgz97hzypfmzlcp8aijycwnh7276ynzmy4irdiqariq";
|
||||
SGr-IosevkaSS06 = "1gj6syx1zmhxiq2s33zza0wql9in0qcvbckb92yd51xsg8w5fwiq";
|
||||
SGr-IosevkaSS07 = "0pdkwcr8lxq3gm03sv5cbicnb70jxbdymrmwk31lcrq0qf2mg0wl";
|
||||
SGr-IosevkaSS08 = "1bfgv6l056pz421shil0z9vv4slzbqnl4q1dv422isffbxgbn28a";
|
||||
SGr-IosevkaSS09 = "00rslbcc354phz8w5i2q2l9ds0vlpzym1n30rysc9w83yn4qnlnd";
|
||||
SGr-IosevkaSS10 = "004mnamygjfcr09ylhzglxzclfi39yz81kqj87zynklnavb7yvzr";
|
||||
SGr-IosevkaSS11 = "07m80h8kggxzpg2w0f5zx7r3nqjhwmx23l4rldbxgb4qgy08svlb";
|
||||
SGr-IosevkaSS12 = "0pivpcmgxl4pgm4kfaid91jidpxvzdn0ma9dmi68nf0wyjxp9l2r";
|
||||
SGr-IosevkaSS13 = "0nki8q2zykwc9cdrnqr941agfqz5l54nswy6388fmqyxp5d9j1jy";
|
||||
SGr-IosevkaSS14 = "0p57i63v3iii56jj79pzm8jzbapjraiww3lda52wdsa4g3m3pyzl";
|
||||
SGr-IosevkaSS15 = "1izkbr45bccwpx00crk2ib8ixa04j441iv25liib38zn7xgyf2cf";
|
||||
SGr-IosevkaSS16 = "19xc6n5pn3xnng32rck0h5kfwy38yjzygbad4pm3ygqm6rh2rcs4";
|
||||
SGr-IosevkaSS17 = "14n7ikpfry5bavwr9awhli94q46iby5997gdndwjgr0aq8hwk72d";
|
||||
SGr-IosevkaSS18 = "1mif5zsmfs4cdb8y79awnzgk1m053j2fqnspmk4llfgv2knv6y75";
|
||||
SGr-IosevkaTerm = "0q69644wdp5szk7ijzin8877jmfa7c0xw9dd7rznn41140hxy2ld";
|
||||
SGr-IosevkaTermCurly = "0xaw2xmmcnmrxac37x4wwkywzbb1hniv9ngcil89937ih00f3v2l";
|
||||
SGr-IosevkaTermCurlySlab = "1426k5q1kbci4y95yv2cf2b8ajp3q73kpiqg0xn43dp2ji1s7p3j";
|
||||
SGr-IosevkaTermSlab = "0frv0sh6lsysn2xccpq59rlhdclpzqi44v0xw8vrpw1chw18pnqj";
|
||||
SGr-IosevkaTermSS01 = "1dlwfzfjg7ayri9njdyhh8mmgr7lzj698qphgd1kgih9cvpsapxk";
|
||||
SGr-IosevkaTermSS02 = "1j3zyj35dk15v68n7zs78vzgmsdqsvdwmw40zwznzkqy0jsll2ap";
|
||||
SGr-IosevkaTermSS03 = "0bv33c5y1ja50v7l2702k0vlhjrig78i81wqf73cyy7gsis0q0gc";
|
||||
SGr-IosevkaTermSS04 = "186fbcia31jyz2sgz3qpdmyh0g9qag64hcq2dcym2879qmgwzgm1";
|
||||
SGr-IosevkaTermSS05 = "1mbyn3bdj1d23jj0zc89kq8aspa3g8zf3j3fnicw9ffc47a79kzm";
|
||||
SGr-IosevkaTermSS06 = "0ypp71ydfzik6rfg037d928mvn6w7av13k7hkbzggi0q3l51dpl9";
|
||||
SGr-IosevkaTermSS07 = "0a1ma9dxcq642r5090l25vlsc7ga7gylv4yfzcmr5frhi56a39gl";
|
||||
SGr-IosevkaTermSS08 = "14bpsyzadhs8b7jf7fkcrj17pp42iakbvz4fd8ldy6slgzsv1xbb";
|
||||
SGr-IosevkaTermSS09 = "07hwh8547hqsg4w4gdimc5cl3qqlc937xxc50py9r34rflilckzv";
|
||||
SGr-IosevkaTermSS10 = "1iphz3isv37djyc3xl85b5zjp3760bf216fmg5v0lswxsfaisg8c";
|
||||
SGr-IosevkaTermSS11 = "1f6axizf4d6jilcb1riznfrznrlsyf4ddaisr7clx91vd22mrcdl";
|
||||
SGr-IosevkaTermSS12 = "05rx7mrq3nmqb1257gyw6sjq6y6gf2j5bkkabsj2b3iq1hwzkcdd";
|
||||
SGr-IosevkaTermSS13 = "1x0q3cmdzxa6kvdrnqq5znrcici70cwxha9va99d1vadvz2qjbc3";
|
||||
SGr-IosevkaTermSS14 = "07xqpca7ahkawcb4m0wf45ikwvm7nfgc5v10cfpn41jgnfighqf9";
|
||||
SGr-IosevkaTermSS15 = "0ql2sfkayj3vpk86fvw76gnfcpfdaskxymlhb2ij1jz6ckgqgfny";
|
||||
SGr-IosevkaTermSS16 = "1nr6ms7ybgb74k8zb38rb2rl9q20c8shkx2xfdmgx5qg86dwc9pd";
|
||||
SGr-IosevkaTermSS17 = "0c75xp0w59wypiq8zhzpzwa6n8spmvzm1z067fwy8wmq8sp0i500";
|
||||
SGr-IosevkaTermSS18 = "1rq4ra8al9x7dqv6l12y36pm4vrqkqx2c5rgzc3c6awnwk71rqbz";
|
||||
Iosevka = "1ahw97h75xpqcy2czanlh5h1c76bc4sfdvsld8d7q7fjp4kb8b5s";
|
||||
IosevkaAile = "1xjl664qmckjm625g2znwspj99277l0gknqqsv1sn3jdj2nqn6va";
|
||||
IosevkaCurly = "1hj0rr581d76li02852dcqyj17s598nd1vjnnscyswcg6fxpd2bv";
|
||||
IosevkaCurlySlab = "0fh0i9cpp3h7sz7fvpqvh7phybi8pr8r1sp1a8i2d037ryj6766d";
|
||||
IosevkaEtoile = "1z46km7wzjkkz0hjj95iljl27lmf73w3j6yx30zj3337rlrrpi8z";
|
||||
IosevkaSlab = "1n7m5qvgng1i25sfad0sbrbrl3nwhsrn2gvb2v70va4anlxhwpz8";
|
||||
IosevkaSS01 = "0s44v5d9ffghqvi7nz3kndfkrz4bvp75dc99wnx696j7q4h8id75";
|
||||
IosevkaSS02 = "12j4xg4k8mlr3xwl3sjsw2nccq7mwm10ip1lqid12bylxjbaajvl";
|
||||
IosevkaSS03 = "0hqg7sycvab99c93cn4fjmvqmkgjdjqicgd1gnm27swish02hk55";
|
||||
IosevkaSS04 = "0vbzr72g9xi8m8rqz1nd7j2srzs95j39lb6ii1wqg6ffy944k2nk";
|
||||
IosevkaSS05 = "00zxc6dswardw6bbvyrzh98ikvpnnygi614sqi9vch3wj4rdsfc4";
|
||||
IosevkaSS06 = "15dzb5zzm85jwjq7d1yfw4ifhf6g9yrlxpwychnrjdmsjh3vhjpf";
|
||||
IosevkaSS07 = "03nn0d76cvny9g8xgkidjad0jsarnxcw1zmac3gm5swrjja2z9bv";
|
||||
IosevkaSS08 = "1lzia4pb1crsj6h3gxjh6dlnlfkc6a4ff5h7309mg7yjklqi58f4";
|
||||
IosevkaSS09 = "1xlrxryaypid6cg5n21i4grz8dh3lsban2bi4rgldhjc52kc5jfy";
|
||||
IosevkaSS10 = "0qvq509fic4sqfmfxixs3slaqcbd101j55lmxhxd84nm36bpm5hz";
|
||||
IosevkaSS11 = "1ncxz7a0769dgi9k8g4jp1lfpx5r9wyl5sjirbv1vwc9n0m4j0ij";
|
||||
IosevkaSS12 = "1z9cqgxf15w30bnyj3j22a5jm2p9zzym7hz5picxlscyskswn0g6";
|
||||
IosevkaSS13 = "0yyw4xp4c8y7m2z8dswd8pk0hajkaz47qqw1fik1a99sc25d1i0v";
|
||||
IosevkaSS14 = "0l5ya9xlmnkyfbsmb1w8v446diys3x8w4xfqhbq1nggcnj0nj5vw";
|
||||
IosevkaSS15 = "1lgszq2kapsylihqkb3yw0zspxyy1xc80z3b5d2d41lg0a53b7b0";
|
||||
IosevkaSS16 = "0rwvmjkhq55m0fh2bm0nv2xv4xh42hmjfzvkgc2srpadqvrk9sxa";
|
||||
IosevkaSS17 = "01j6867z7lks9f0l4ijahvykchz9w57mr1mq7zzf6xi1lzx92mh6";
|
||||
IosevkaSS18 = "11g8zfj8d6h6fkzppslgpfwblzdnzlpjmv5a6zs0jd9010vkrhn5";
|
||||
SGr-Iosevka = "0bcn6c17s5xj80sjafq8a1dfa1s5rrx6kj697ca7y0qlyb2mr0j1";
|
||||
SGr-IosevkaCurly = "119ljf5wwmv7anp3sam0vri44hzimk1xlx7bnqs1l32vxcj5mgcy";
|
||||
SGr-IosevkaCurlySlab = "12dnwiljccl8xgriqqcxh7kya928cqf2x9l0a50psqawq3vpa573";
|
||||
SGr-IosevkaFixed = "0w2575wq4mqii6kprl171y4mqim52n241iyf5lkvywhswv6x9bbi";
|
||||
SGr-IosevkaFixedCurly = "1rbzfwkmgz8m1w24iwsjmghg9w8dx749hjmmb70kcbix6rp19z9q";
|
||||
SGr-IosevkaFixedCurlySlab = "0yphmb99rx9wg4gw31nlcskprjdshah4jr6kb585m6r79rk5d0wq";
|
||||
SGr-IosevkaFixedSlab = "1wvd04r01ivdrx3g42yzq6qnc6r7zxw48k5g902xj9z2zca941gf";
|
||||
SGr-IosevkaFixedSS01 = "1h6rna54wbf1sc2m2vqlb10br3nppc1caaw3x2lyz5g9bb887jln";
|
||||
SGr-IosevkaFixedSS02 = "1kjclcr2zcbxafjs0amp5hyfwgklb6xdgs5n9xq0np7lxrmg2kfv";
|
||||
SGr-IosevkaFixedSS03 = "1cf0acb07pg7m9k4lin4m9pdi8fsa27vvsy39aklgixfwlv1bzwf";
|
||||
SGr-IosevkaFixedSS04 = "1bv7v3lby0fjzpnqfn4csnsbzcsjdssmgz2cgb6xjx6daxc7sqv9";
|
||||
SGr-IosevkaFixedSS05 = "01wqjf76ahvy2l6g5ipbrm7qzxbwqrl6n2q39ij3c04knkcmj8w6";
|
||||
SGr-IosevkaFixedSS06 = "058w8vhyxicxwamf4sr7g2f63rm1sazdq4fph879ajpp10j79d5r";
|
||||
SGr-IosevkaFixedSS07 = "025n56j65idr7xknj6snnf76xii0pkr2w0zsg1cidzm2gc9j7vw7";
|
||||
SGr-IosevkaFixedSS08 = "0ap9wnk05b96zbwn1hsxii2s9ij4kj308dbj7gc37mgq0yd4n47p";
|
||||
SGr-IosevkaFixedSS09 = "1k5l4rvglcfj5b20c67vh0m1w2gqqg92m7i1vilj0clq1pg6wb2b";
|
||||
SGr-IosevkaFixedSS10 = "1gi63xmd1nf8g53bcfgg0ljnsmn5xkqqn6gb5lgi4yhfjawrd2ll";
|
||||
SGr-IosevkaFixedSS11 = "0m7wp67j7jvqbw5zayfk7sh2zvnh86dd4szb9pq3lnbsv69q2cmc";
|
||||
SGr-IosevkaFixedSS12 = "071v1hmxa8qiv8d9wqwkvjfllqhgzpyj4r7gdvvalfc45b4xapdv";
|
||||
SGr-IosevkaFixedSS13 = "1wxyz8s97x4pcy0zilmfp6syxfm4nbqd0j392lib3pkj9x71qk2c";
|
||||
SGr-IosevkaFixedSS14 = "0m5l9a2n9iayb7k2giz5x7pfy344ys3kbqccsjr30h3aybmd1d31";
|
||||
SGr-IosevkaFixedSS15 = "113z4d0hgfw82q8cchf496xjv2jpqhvxv0004nx6bmi3l63lzdln";
|
||||
SGr-IosevkaFixedSS16 = "12pyndd2hr9n6xs5f3zmlpkrw9bjdk7pjxrz00qwq36f5rh2x9yv";
|
||||
SGr-IosevkaFixedSS17 = "0q65z5dvmq6l5vjy5al0zq5ls1wna06dq03brkq8pvagl03y2yws";
|
||||
SGr-IosevkaFixedSS18 = "05swkkjkdgcfdggq4m7dp5nxrzr3jmm4b6jjicfb39y4m8i0k2wd";
|
||||
SGr-IosevkaSlab = "0hnfhmyh9nb57kl5higiibjxmsc2qpjcyxfirs4nl0pw4gd2z9ah";
|
||||
SGr-IosevkaSS01 = "1c16fpq447nmkfrnn5y9b5bz2zm6w63ip742f1rd9hs9y67mqc5w";
|
||||
SGr-IosevkaSS02 = "0yp8fmqnh25wpsf8ihmd77xq5jrxc8xk92jiglgpw05agl4c2hyd";
|
||||
SGr-IosevkaSS03 = "0sq07vz18ky2c1k4a0w8xsn5h31m1gdwihjkc5r5wqc0cxjzsrr6";
|
||||
SGr-IosevkaSS04 = "0l9qgx060iw2q1rpx83v2qp677d3gl4k8w41y6s69cbql10srqn9";
|
||||
SGr-IosevkaSS05 = "1r1bln5gl7dnqzgdxfzsvm967ph3r52wmlhnnswlr2l3rpkv5f4f";
|
||||
SGr-IosevkaSS06 = "0sfdrknipxrj3m5yqafw81w97p3lg8faz09pd9f7b38v5x5wcxrv";
|
||||
SGr-IosevkaSS07 = "0g1lp71wfdsg9i9dj6jmn6x7m9mkfzjbb0x5fsc7py443lj8fym7";
|
||||
SGr-IosevkaSS08 = "10j5z800sg75w9a7njzkzc94jkbii4hgdwj89wmkkxp32skfvdhq";
|
||||
SGr-IosevkaSS09 = "1fcn2d1kxn8wfv75cgmr9apri27a09z3a30z4nxx445n9x670z6v";
|
||||
SGr-IosevkaSS10 = "0q92piavh41lmc641x0axq1828msmfl7g8j1svfdlxa46a9j7bh5";
|
||||
SGr-IosevkaSS11 = "01k5qnasidkbd7rmjqyw6cdjyv98dyjg8gvzqrjf34018ygn47ah";
|
||||
SGr-IosevkaSS12 = "1w0mz0m7g18n2xsldc1dq1hvvv60hnvcs9h2k11fq7arri3xn7d4";
|
||||
SGr-IosevkaSS13 = "0hwnhl35s1pdn57m2aqza2x0jakhh4gc3gkvzn1df1hjd8da7gf1";
|
||||
SGr-IosevkaSS14 = "02zvfx2x9arrpxxkkjvr46b90lcssa7jmjg1nh2x025f02isi5gw";
|
||||
SGr-IosevkaSS15 = "0kf92n30622mv2blw9ckjy9fjmmpdqlx5cbs8rkdklwsn1zh1y9p";
|
||||
SGr-IosevkaSS16 = "0798w39v0kh1db1adn4saqdd9hjk673s2kgf4jyn5hcmnxdmkpna";
|
||||
SGr-IosevkaSS17 = "0227mrmh7hd3vwjnk9615p997l1zqqmqphxdmshgxjcch4vk3mxp";
|
||||
SGr-IosevkaSS18 = "1y9dg8w1963ipzdri5vlpiax2x8iacw1wl1iy1zjkq5pwzm1fbgd";
|
||||
SGr-IosevkaTerm = "0shp2vacrcvzc9gg2hdsgb2v9yivbvxnl2a61dvj63k7fqfbmkc0";
|
||||
SGr-IosevkaTermCurly = "0284kkwhidhc6qlpgqiaxqw1dr5nb6bbv8f2hg395q6yhmmsrjvl";
|
||||
SGr-IosevkaTermCurlySlab = "1z80knqj3rk90z721c1ybl1qnhlj7draifs6rfbl9126pc4sx9bw";
|
||||
SGr-IosevkaTermSlab = "1zfqpl3sn0925rska1jfj5a6c0s9rbd0d3z080z40py5fdwz821a";
|
||||
SGr-IosevkaTermSS01 = "1wy98qdc69q125hv4n3fi2z2rhdl4xjrs5mzabkzi5n061zzill0";
|
||||
SGr-IosevkaTermSS02 = "0pc3c1983s7vkga73p6dz3851881c0g8ak1sjlmy8yq7ybx0b8f5";
|
||||
SGr-IosevkaTermSS03 = "1lf3mi6z3cif44k8zp248smz1bkmb0zcna1sq0pa6grkis33fjig";
|
||||
SGr-IosevkaTermSS04 = "14h36plbvbkahxhvavxahma8n79gkabgzi7v4bkqz9q7dbzl3qv5";
|
||||
SGr-IosevkaTermSS05 = "1gf04yrbw1fkcm16ja0j81232avrw2hl4x5np7p6x23fskmidqlm";
|
||||
SGr-IosevkaTermSS06 = "1d0mlmfy8x8jw51rr3fp1mahz4q7h9ydy3hwqbacrz2xxg1hm2za";
|
||||
SGr-IosevkaTermSS07 = "0znj6c834iz5cdq9r84jni6rhzrkpg0xd7lsixrydimlrcavrqwh";
|
||||
SGr-IosevkaTermSS08 = "1rkhx6irnd6g6l9xlgqd7sm6q9wknd5kfaxkip4ds9gynmih8r8p";
|
||||
SGr-IosevkaTermSS09 = "0ab3k6y0jkjba84hnw2px9vw9m14q94l6c0j1lnc8yqdn55jabk7";
|
||||
SGr-IosevkaTermSS10 = "069zzvik717wn4yn7f5x1yjd4rgbg2n8j5jwncrn2d0qlmc7kz6k";
|
||||
SGr-IosevkaTermSS11 = "0vzg70icjai477djgx3j4ba4jgzlafmqzq2yx7glrhzfmsfkh8ik";
|
||||
SGr-IosevkaTermSS12 = "19jhp14y8r8q3cwy6674dy6li1gz9pjx163wv13fnnshrbnsax7w";
|
||||
SGr-IosevkaTermSS13 = "03xswh479sqh36pfr2c4kzmj6m5346hgkwd0h9r3q69r40adimvr";
|
||||
SGr-IosevkaTermSS14 = "05vj5fb3zxf4cgvhlf8ic0mig8qc4dzaz107nii894k83mzg6r6x";
|
||||
SGr-IosevkaTermSS15 = "158w6ba9b3j522lfk7886dqc6q79n35csillh9wszrsg2maymlw2";
|
||||
SGr-IosevkaTermSS16 = "0rqhg12m0l9y3wv13sjlbh9ca5skpz8m8785rb42gy9mxyh1phxf";
|
||||
SGr-IosevkaTermSS17 = "097ad53v61zwp17hd4ijihz6i754w0cp4dyx2r8vj1zl5jk71z1z";
|
||||
SGr-IosevkaTermSS18 = "1aa7l55nmj1h7dbcvnk271lkk5m6x161024syqgs102v7615s3sy";
|
||||
}
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kak-tree-sitter-unwrapped";
|
||||
version = "1.1.3";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromSourcehut {
|
||||
owner = "~hadronized";
|
||||
repo = "kak-tree-sitter";
|
||||
rev = "kak-tree-sitter-v${version}";
|
||||
hash = "sha256-vQZ+zQgwIw5ZBdIuMDD37rIdhe+WpNBmq0TciXBNiSU=";
|
||||
hash = "sha256-vFhNxixXsezK3Qm9d5hEiIttSjcuqHfgCHYrEOeKWvs=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-dcq25kDS+dFC4eBX6EWANWpeJjwR4q1mQP/2PKPIOsc=";
|
||||
cargoHash = "sha256-tO6i19UuistT4yUc0YzZOh+8M5kXq5l1NUTBUOA3YT8=";
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "kohighlights";
|
||||
version = "2.3.1.0";
|
||||
pyproject = false; # manual install
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "noembryo";
|
||||
@@ -23,7 +24,6 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
dontWrapPythonPrograms = true;
|
||||
dontBuild = true;
|
||||
format = "other";
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
@@ -57,6 +57,8 @@ python3Packages.buildPythonApplication rec {
|
||||
})
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
@@ -65,7 +67,8 @@ python3Packages.buildPythonApplication rec {
|
||||
cp -r * $out/share/KoHighlights
|
||||
makeWrapper ${python3.interpreter} $out/bin/KoHighlights \
|
||||
--add-flags "$out/share/KoHighlights/main.py" \
|
||||
--set PYTHONPATH "${python3Packages.makePythonPath dependencies}"
|
||||
--set PYTHONPATH "${python3Packages.makePythonPath dependencies}" \
|
||||
''${qtWrapperArgs[@]}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From ab1de49ad9c23e73cddc4dd82a9fede4f56d28d0 Mon Sep 17 00:00:00 2001
|
||||
From: soyouzpanda <soyouzpanda@soyouzpanda.fr>
|
||||
Date: Tue, 29 Apr 2025 17:09:51 +0200
|
||||
Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=A8(frontend)=20support=20`=5FFILE`?=
|
||||
=?UTF-8?q?=20envuronment=20variables=20for=20secrets?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Allow configuration variables that handles secrets to be read from a
|
||||
file given in an environment variable.
|
||||
---
|
||||
src/frontend/servers/y-provider/src/env.ts | 13 +++++++++----
|
||||
1 files changed, 9 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/servers/y-provider/src/env.ts b/servers/y-provider/src/env.ts
|
||||
index fe281930..e0e02cf5 100644
|
||||
--- a/servers/y-provider/src/env.ts
|
||||
+++ b/servers/y-provider/src/env.ts
|
||||
@@ -1,11 +1,16 @@
|
||||
+import { readFileSync } from 'fs';
|
||||
+
|
||||
export const COLLABORATION_LOGGING =
|
||||
process.env.COLLABORATION_LOGGING || 'false';
|
||||
export const COLLABORATION_SERVER_ORIGIN =
|
||||
process.env.COLLABORATION_SERVER_ORIGIN || 'http://localhost:3000';
|
||||
-export const COLLABORATION_SERVER_SECRET =
|
||||
- process.env.COLLABORATION_SERVER_SECRET || 'secret-api-key';
|
||||
-export const Y_PROVIDER_API_KEY =
|
||||
- process.env.Y_PROVIDER_API_KEY || 'yprovider-api-key';
|
||||
+export const COLLABORATION_SERVER_SECRET = process.env
|
||||
+ .COLLABORATION_SERVER_SECRET_FILE
|
||||
+ ? readFileSync(process.env.COLLABORATION_SERVER_SECRET_FILE, 'utf-8')
|
||||
+ : process.env.COLLABORATION_SERVER_SECRET || 'secret-api-key';
|
||||
+export const Y_PROVIDER_API_KEY = process.env.Y_PROVIDER_API_KEY_FILE
|
||||
+ ? readFileSync(process.env.Y_PROVIDER_API_KEY_FILE, 'utf-8')
|
||||
+ : process.env.Y_PROVIDER_API_KEY || 'yprovider-api-key';
|
||||
export const PORT = Number(process.env.PORT || 4444);
|
||||
export const SENTRY_DSN = process.env.SENTRY_DSN || '';
|
||||
export const COLLABORATION_BACKEND_BASE_URL =
|
||||
--
|
||||
2.47.2
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
fetchYarnDeps,
|
||||
nodejs,
|
||||
fixup-yarn-lock,
|
||||
yarn,
|
||||
makeWrapper,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lasuite-docs-collaboration-server";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "docs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-SLTNkK578YhsDtVBS4vH0E/rXx+rXZIyXMhqwr95QEA=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src/frontend";
|
||||
|
||||
patches = [
|
||||
# Support for $ENVIRONMENT_VARIABLE_FILE to be able to pass secret file
|
||||
# See: https://github.com/suitenumerique/docs/pull/912
|
||||
./environment_variables.patch
|
||||
];
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/src/frontend/yarn.lock";
|
||||
hash = "sha256-ei4xj+W2j5O675cpMAG4yCB3cPLeYwMhqKTacPWFjoo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
fixup-yarn-lock
|
||||
yarn
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror "$offlineCache"
|
||||
fixup-yarn-lock yarn.lock
|
||||
|
||||
# Fixup what fixup-yarn-lock does not fix. Result in error if not fixed.
|
||||
substituteInPlace yarn.lock \
|
||||
--replace-fail '"@fastify/otel@https://codeload.github.com/getsentry/fastify-otel/tar.gz/ae3088d65e286bdc94ac5d722573537d6a6671bb"' '"@fastify/otel@^0.8.0"'
|
||||
|
||||
yarn install \
|
||||
--frozen-lockfile \
|
||||
--force \
|
||||
--production=false \
|
||||
--ignore-engines \
|
||||
--ignore-platform \
|
||||
--ignore-scripts \
|
||||
--no-progress \
|
||||
--non-interactive \
|
||||
--offline
|
||||
|
||||
patchShebangs node_modules
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn --offline COLLABORATION_SERVER run build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{lib,bin}
|
||||
cp -r {apps,node_modules,packages,servers} $out/lib
|
||||
|
||||
makeWrapper ${lib.getExe nodejs} "$out/bin/docs-collaboration-server" \
|
||||
--add-flags "$out/lib/servers/y-provider/dist/start-server.js" \
|
||||
--set NODE_PATH "$out/lib/node_modules"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A collaborative note taking, wiki and documentation platform that scales. Built with Django and React. Opensource alternative to Notion or Outline";
|
||||
homepage = "https://github.com/suitenumerique/docs";
|
||||
changelog = "https://github.com/suitenumerique/docs/blob/${src.tag}/CHANGELOG.md";
|
||||
mainProgram = "docs-collaboration-server";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ soyouzpanda ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
stdenv,
|
||||
fetchYarnDeps,
|
||||
nodejs,
|
||||
fixup-yarn-lock,
|
||||
yarn,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lasuite-docs-frontend";
|
||||
version = "3.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "docs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-SLTNkK578YhsDtVBS4vH0E/rXx+rXZIyXMhqwr95QEA=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src/frontend";
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/src/frontend/yarn.lock";
|
||||
hash = "sha256-ei4xj+W2j5O675cpMAG4yCB3cPLeYwMhqKTacPWFjoo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
nodejs
|
||||
fixup-yarn-lock
|
||||
yarn
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror "$offlineCache"
|
||||
fixup-yarn-lock yarn.lock
|
||||
|
||||
# Fixup what fixup-yarn-lock does not fix. Result in error if not fixed.
|
||||
substituteInPlace yarn.lock \
|
||||
--replace-fail '"@fastify/otel@https://codeload.github.com/getsentry/fastify-otel/tar.gz/ae3088d65e286bdc94ac5d722573537d6a6671bb"' '"@fastify/otel@^0.8.0"'
|
||||
|
||||
yarn install \
|
||||
--frozen-lockfile \
|
||||
--force \
|
||||
--production=false \
|
||||
--ignore-engines \
|
||||
--ignore-platform \
|
||||
--ignore-scripts \
|
||||
--no-progress \
|
||||
--non-interactive \
|
||||
--offline
|
||||
|
||||
patchShebangs node_modules
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn --offline app:build
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cp -r apps/impress/out/ $out
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A collaborative note taking, wiki and documentation platform that scales. Built with Django and React. Opensource alternative to Notion or Outline";
|
||||
homepage = "https://github.com/suitenumerique/docs";
|
||||
changelog = "https://github.com/suitenumerique/docs/blob/${src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ soyouzpanda ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
From dd7d54e64bbdb853ff60162908f142cb34034cdd Mon Sep 17 00:00:00 2001
|
||||
From: soyouzpanda <soyouzpanda@soyouzpanda.fr>
|
||||
Date: Mon, 28 Apr 2025 18:18:39 +0200
|
||||
Subject: [PATCH 1/2] =?UTF-8?q?=E2=9C=A8(backend)=20support=20`=5FFILE`=20?=
|
||||
=?UTF-8?q?environment=20variables=20for=20secrets?=
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Allow configuration variables that handles secrets, like
|
||||
`DJANGO_SECRET_KEY` to be able to read from a file which is given
|
||||
through an environment file.
|
||||
|
||||
For example, if `DJANGO_SECRET_KEY_FILE` is set to
|
||||
`/var/lib/docs/django-secret-key`, the value of `DJANGO_SECRET_KEY` will
|
||||
be the content of `/var/lib/docs/django-secret-key`.
|
||||
---
|
||||
src/backend/impress/settings.py | 19 ++++++++++---------
|
||||
1 files changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/impress/settings.py b/impress/settings.py
|
||||
index 571d7052..23c75a98 100755
|
||||
--- a/impress/settings.py
|
||||
+++ b/impress/settings.py
|
||||
@@ -18,6 +18,7 @@ from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import sentry_sdk
|
||||
from configurations import Configuration, values
|
||||
+from lasuite.configuration.values import SecretFileValue
|
||||
from sentry_sdk.integrations.django import DjangoIntegration
|
||||
from sentry_sdk.integrations.logging import ignore_logger
|
||||
|
||||
@@ -65,7 +66,7 @@ class Base(Configuration):
|
||||
|
||||
# Security
|
||||
ALLOWED_HOSTS = values.ListValue([])
|
||||
- SECRET_KEY = values.Value(None)
|
||||
+ SECRET_KEY = SecretFileValue(None)
|
||||
SERVER_TO_SERVER_API_TOKENS = values.ListValue([])
|
||||
|
||||
# Application definition
|
||||
@@ -84,7 +85,7 @@ class Base(Configuration):
|
||||
"impress", environ_name="DB_NAME", environ_prefix=None
|
||||
),
|
||||
"USER": values.Value("dinum", environ_name="DB_USER", environ_prefix=None),
|
||||
- "PASSWORD": values.Value(
|
||||
+ "PASSWORD": SecretFileValue(
|
||||
"pass", environ_name="DB_PASSWORD", environ_prefix=None
|
||||
),
|
||||
"HOST": values.Value(
|
||||
@@ -122,10 +123,10 @@ class Base(Configuration):
|
||||
AWS_S3_ENDPOINT_URL = values.Value(
|
||||
environ_name="AWS_S3_ENDPOINT_URL", environ_prefix=None
|
||||
)
|
||||
- AWS_S3_ACCESS_KEY_ID = values.Value(
|
||||
+ AWS_S3_ACCESS_KEY_ID = SecretFileValue(
|
||||
environ_name="AWS_S3_ACCESS_KEY_ID", environ_prefix=None
|
||||
)
|
||||
- AWS_S3_SECRET_ACCESS_KEY = values.Value(
|
||||
+ AWS_S3_SECRET_ACCESS_KEY = SecretFileValue(
|
||||
environ_name="AWS_S3_SECRET_ACCESS_KEY", environ_prefix=None
|
||||
)
|
||||
AWS_S3_REGION_NAME = values.Value(
|
||||
@@ -384,7 +385,7 @@ class Base(Configuration):
|
||||
EMAIL_BRAND_NAME = values.Value(None)
|
||||
EMAIL_HOST = values.Value(None)
|
||||
EMAIL_HOST_USER = values.Value(None)
|
||||
- EMAIL_HOST_PASSWORD = values.Value(None)
|
||||
+ EMAIL_HOST_PASSWORD = SecretFileValue(None)
|
||||
EMAIL_LOGO_IMG = values.Value(None)
|
||||
EMAIL_PORT = values.PositiveIntegerValue(None)
|
||||
EMAIL_USE_TLS = values.BooleanValue(False)
|
||||
@@ -407,7 +408,7 @@ class Base(Configuration):
|
||||
COLLABORATION_API_URL = values.Value(
|
||||
None, environ_name="COLLABORATION_API_URL", environ_prefix=None
|
||||
)
|
||||
- COLLABORATION_SERVER_SECRET = values.Value(
|
||||
+ COLLABORATION_SERVER_SECRET = SecretFileValue(
|
||||
None, environ_name="COLLABORATION_SERVER_SECRET", environ_prefix=None
|
||||
)
|
||||
COLLABORATION_WS_URL = values.Value(
|
||||
@@ -477,7 +478,7 @@ class Base(Configuration):
|
||||
OIDC_RP_CLIENT_ID = values.Value(
|
||||
"impress", environ_name="OIDC_RP_CLIENT_ID", environ_prefix=None
|
||||
)
|
||||
- OIDC_RP_CLIENT_SECRET = values.Value(
|
||||
+ OIDC_RP_CLIENT_SECRET = SecretFileValue(
|
||||
None,
|
||||
environ_name="OIDC_RP_CLIENT_SECRET",
|
||||
environ_prefix=None,
|
||||
@@ -592,7 +593,7 @@ class Base(Configuration):
|
||||
AI_FEATURE_ENABLED = values.BooleanValue(
|
||||
default=False, environ_name="AI_FEATURE_ENABLED", environ_prefix=None
|
||||
)
|
||||
- AI_API_KEY = values.Value(None, environ_name="AI_API_KEY", environ_prefix=None)
|
||||
+ AI_API_KEY = SecretFileValue(None, environ_name="AI_API_KEY", environ_prefix=None)
|
||||
AI_BASE_URL = values.Value(None, environ_name="AI_BASE_URL", environ_prefix=None)
|
||||
AI_MODEL = values.Value(None, environ_name="AI_MODEL", environ_prefix=None)
|
||||
AI_ALLOW_REACH_FROM = values.Value(
|
||||
@@ -613,7 +614,7 @@ class Base(Configuration):
|
||||
}
|
||||
|
||||
# Y provider microservice
|
||||
- Y_PROVIDER_API_KEY = values.Value(
|
||||
+ Y_PROVIDER_API_KEY = SecretFileValue(
|
||||
environ_name="Y_PROVIDER_API_KEY",
|
||||
environ_prefix=None,
|
||||
)
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
{
|
||||
lib,
|
||||
python3,
|
||||
fetchFromGitHub,
|
||||
nixosTests,
|
||||
}:
|
||||
let
|
||||
python = python3.override {
|
||||
self = python3;
|
||||
packageOverrides = self: super: {
|
||||
django = super.django_5_2;
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "lasuite-docs";
|
||||
version = "3.3.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "suitenumerique";
|
||||
repo = "docs";
|
||||
tag = "v${version}";
|
||||
hash = "sha256-SLTNkK578YhsDtVBS4vH0E/rXx+rXZIyXMhqwr95QEA=";
|
||||
};
|
||||
|
||||
sourceRoot = "source/src/backend";
|
||||
|
||||
patches = [
|
||||
# Support for $ENVIRONMENT_VARIABLE_FILE to be able to pass secret files
|
||||
# See: https://github.com/suitenumerique/docs/pull/912
|
||||
./environment_variables.patch
|
||||
# Support configuration throught environment variables for SECURE_*
|
||||
./secure_settings.patch
|
||||
];
|
||||
|
||||
build-system = with python.pkgs; [ setuptools ];
|
||||
|
||||
dependencies = with python.pkgs; [
|
||||
beautifulsoup4
|
||||
boto3
|
||||
celery
|
||||
django
|
||||
django-configurations
|
||||
django-cors-headers
|
||||
django-countries
|
||||
django-extensions
|
||||
django-filter
|
||||
django-lasuite
|
||||
django-parler
|
||||
django-redis
|
||||
django-storages
|
||||
django-timezone-field
|
||||
django-treebeard
|
||||
djangorestframework
|
||||
drf-spectacular
|
||||
drf-spectacular-sidecar
|
||||
dockerflow
|
||||
easy-thumbnails
|
||||
factory-boy
|
||||
gunicorn
|
||||
jsonschema
|
||||
lxml
|
||||
markdown
|
||||
mozilla-django-oidc
|
||||
nested-multipart-parser
|
||||
openai
|
||||
psycopg
|
||||
pycrdt
|
||||
pyjwt
|
||||
pyopenssl
|
||||
python-magic
|
||||
redis
|
||||
requests
|
||||
sentry-sdk
|
||||
whitenoise
|
||||
];
|
||||
|
||||
pythonRelaxDeps = true;
|
||||
|
||||
postBuild = ''
|
||||
export DATA_DIR=$(pwd)/data
|
||||
${python.pythonOnBuildForHost.interpreter} manage.py collectstatic --no-input --clear
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
let
|
||||
pythonPath = python.pkgs.makePythonPath dependencies;
|
||||
in
|
||||
''
|
||||
mkdir -p $out/{bin,share}
|
||||
|
||||
cp ./manage.py $out/bin/.manage.py
|
||||
cp -r data/static $out/share
|
||||
chmod +x $out/bin/.manage.py
|
||||
|
||||
makeWrapper $out/bin/.manage.py $out/bin/docs \
|
||||
--prefix PYTHONPATH : "${pythonPath}"
|
||||
makeWrapper ${lib.getExe python.pkgs.celery} $out/bin/celery \
|
||||
--prefix PYTHONPATH : "${pythonPath}:$out/${python.sitePackages}"
|
||||
makeWrapper ${lib.getExe python.pkgs.gunicorn} $out/bin/gunicorn \
|
||||
--prefix PYTHONPATH : "${pythonPath}:$out/${python.sitePackages}"
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
login-and-create-doc = nixosTests.lasuite-docs;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A collaborative note taking, wiki and documentation platform that scales. Built with Django and React. Opensource alternative to Notion or Outline";
|
||||
homepage = "https://github.com/suitenumerique/docs";
|
||||
changelog = "https://github.com/suitenumerique/docs/blob/${src.tag}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ soyouzpanda ];
|
||||
mainProgram = "docs";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
diff --git a/impress/settings.py b/impress/settings.py
|
||||
index 9d825095..518aca7f 100755
|
||||
--- a/impress/settings.py
|
||||
+++ b/impress/settings.py
|
||||
@@ -822,19 +822,24 @@ class Production(Base):
|
||||
#
|
||||
# In other cases, you should comment the following line to avoid security issues.
|
||||
# SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
|
||||
- SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
|
||||
- SECURE_HSTS_SECONDS = 60
|
||||
- SECURE_HSTS_PRELOAD = True
|
||||
- SECURE_HSTS_INCLUDE_SUBDOMAINS = True
|
||||
- SECURE_SSL_REDIRECT = True
|
||||
+ SECURE_PROXY_SSL_HEADER = values.TupleValue(("HTTP_X_FORWARDED_PROTO", "https"),
|
||||
+ environ_name="SECURE_PROXY_SSL_HEADER")
|
||||
+ SECURE_HSTS_SECONDS = values.IntegerValue(
|
||||
+ 60, environ_name="SECURE_HSTS_SECONDS")
|
||||
+ SECURE_HSTS_PRELOAD = values.BooleanValue(
|
||||
+ True, environ_name="SECURE_HSTS_PRELOAD")
|
||||
+ SECURE_HSTS_INCLUDE_SUBDOMAINS = values.BooleanValue(
|
||||
+ True, environ_name="SECURE_HSTS_INCLUDE_SUBDOMAINS")
|
||||
+ SECURE_SSL_REDIRECT = values.BooleanValue(
|
||||
+ True, environ_name="SECURE_SSL_REDIRECT")
|
||||
SECURE_REDIRECT_EXEMPT = [
|
||||
"^__lbheartbeat__",
|
||||
"^__heartbeat__",
|
||||
]
|
||||
|
||||
# Modern browsers require to have the `secure` attribute on cookies with `Samesite=none`
|
||||
- CSRF_COOKIE_SECURE = True
|
||||
- SESSION_COOKIE_SECURE = True
|
||||
+ CSRF_COOKIE_SECURE = values.BooleanValue(True, environ_name="CSRF_COOKIE_SECURE")
|
||||
+ SESSION_COOKIE_SECURE = values.BooleanValue(True, environ_name="SESSION_COOKIE_SECURE")
|
||||
|
||||
# Privacy
|
||||
SECURE_REFERRER_POLICY = "same-origin"
|
||||
@@ -13,16 +13,15 @@
|
||||
libpulseaudio,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "legcord";
|
||||
version = "1.1.3";
|
||||
version = "1.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Legcord";
|
||||
repo = "Legcord";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-e8RhTx16y0hxXoOSztIs5pvI7Vzc9vKUsp1RRbt4Q78=";
|
||||
hash = "sha256-e2ylcK4hjQNUGFn6AefwG+yJOiWiDOKEGeMSwOXBY6I=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@@ -45,7 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
pnpmDeps = pnpm.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-gLjpnpLKJCOOFidSR9r64cBVkMg38/slMsJ7KolScWI=";
|
||||
hash = "sha256-nobOORfhwlGEvNt+MfDKd3rXor6tJHDulz5oD1BGY4I=";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libcpuid";
|
||||
version = "0.7.1";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anrieff";
|
||||
repo = "libcpuid";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/28yo1V4/xYMirt2bNTB/l9Xl8NgRmxTitOW21TY8gE=";
|
||||
hash = "sha256-m/4PJGknuoiWR40aIHtkaHuMEROjsYQ9ZgmJtHdzeSU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
@@ -16,13 +16,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libosmocore";
|
||||
version = "1.11.0";
|
||||
version = "1.11.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "osmocom";
|
||||
repo = "libosmocore";
|
||||
rev = version;
|
||||
hash = "sha256-W5XLiIgevGtHRjrRTx/7rnPYacOAW9QJW0rocyWgFt4=";
|
||||
hash = "sha256-JR1L2ffVqvhylrYWPnWKQ/iihx6in7B3iP6Mo0MHbpw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
||||
@@ -7,8 +7,9 @@
|
||||
cmake,
|
||||
pkg-config,
|
||||
|
||||
# run time
|
||||
# dependencies
|
||||
pcre2,
|
||||
xxHash,
|
||||
|
||||
# update script
|
||||
gitUpdater,
|
||||
@@ -16,13 +17,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libyang";
|
||||
version = "3.7.8";
|
||||
version = "3.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "CESNET";
|
||||
repo = "libyang";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5oJV8gr2rwvSdpX5w3gmIw/LTrWtXVnl6oLr/soNTDk=";
|
||||
hash = "sha256-iHIHXrGAGZ5vYA/pbFmHVVczRtH34lC5IIqyj0SF1r4=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@@ -35,6 +36,10 @@ stdenv.mkDerivation rec {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
xxHash
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pcre2
|
||||
];
|
||||
|
||||
@@ -23,16 +23,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lnd";
|
||||
version = "0.18.5-beta";
|
||||
version = "0.19.0-beta";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightningnetwork";
|
||||
repo = "lnd";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7Y1GcZoj7Uk0PGd0B0J4hXpb5voqmM2f/Ie4FRHI3iQ=";
|
||||
hash = "sha256-eKRgkD/kUz0MkK624R3OahTHOrdP18nBuSZP1volHq8=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-IY7lcEYeFlknyFWEy+lEsbOYfvhN5ApJUnJX0gmIV/w=";
|
||||
vendorHash = "sha256-A7veNDrPke1N+1Ctg4cMqjPhTwyVfbkGMi/YP1xIUqY=";
|
||||
|
||||
subPackages = [
|
||||
"cmd/lncli"
|
||||
|
||||
@@ -21,7 +21,7 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lsp-plugins";
|
||||
version = "1.2.21";
|
||||
version = "1.2.22";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${finalAttrs.version}/lsp-plugins-src-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-ri2h0FV+1kU3HVSneQYSQKApXjmcKqRByW+iNtduEtk=";
|
||||
hash = "sha256-u5cnBIKwTBJpZDqDc7VUJV3eKHscXdvFZ6yU3kgVp1s=";
|
||||
};
|
||||
|
||||
# By default, GStreamer plugins are installed right alongside GStreamer itself
|
||||
|
||||
@@ -1,32 +1,58 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
|
||||
# tests
|
||||
nodejs,
|
||||
python3,
|
||||
php,
|
||||
ruby,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mask";
|
||||
version = "0.11.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jacobdeichert";
|
||||
repo = "mask";
|
||||
rev = "mask/${version}";
|
||||
tag = "mask/${finalAttrs.version}";
|
||||
hash = "sha256-xGD23pso5iS+9dmfTMNtR6YqUqKnzJTzMl+OnRGpL3g=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-JaYr6J3NOwVIHzGO4wLkke5O/T/9WUDENPgLP5Fwyhg=";
|
||||
|
||||
# tests require mask to be installed
|
||||
doCheck = false;
|
||||
preCheck = ''
|
||||
export PATH=$PATH:$PWD/target/${stdenv.hostPlatform.rust.rustcTarget}/$cargoBuildType
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
nativeCheckInputs = [
|
||||
nodejs
|
||||
python3
|
||||
php
|
||||
ruby
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [ versionCheckHook ];
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=^mask/(.*)$" ]; };
|
||||
|
||||
meta = {
|
||||
description = "CLI task runner defined by a simple markdown file";
|
||||
mainProgram = "mask";
|
||||
homepage = "https://github.com/jacobdeichert/mask";
|
||||
changelog = "https://github.com/jacobdeichert/mask/blob/mask/${version}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ figsoda ];
|
||||
changelog = "https://github.com/jacobdeichert/mask/blob/mask/${finalAttrs.version}/CHANGELOG.md";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [
|
||||
figsoda
|
||||
defelo
|
||||
];
|
||||
};
|
||||
}
|
||||
})
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "mdfried";
|
||||
version = "0.12.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "benjajaja";
|
||||
repo = "mdfried";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-pSJexHOfGB8KGTpPrqw+dgymDXyux0uH6CDsZcnsHlE=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ZcWoYfvYmesi7JPOeSmIj0L9qlsoOYf6SMO0XQy6KwA=";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "Markdown viewer TUI for the terminal, with big text and image rendering";
|
||||
homepage = "https://github.com/benjajaja/mdfried";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [ benjajaja ];
|
||||
platforms = lib.platforms.unix;
|
||||
mainProgram = "mdfried";
|
||||
};
|
||||
})
|
||||
@@ -109,7 +109,7 @@ pythonpkgs.buildPythonApplication rec {
|
||||
|
||||
# Needed for tests
|
||||
preCheck = ''
|
||||
export NLTK_DATA=${nltk-data.averaged_perceptron_tagger_eng}
|
||||
export NLTK_DATA=${nltk-data.averaged-perceptron-tagger-eng}
|
||||
'';
|
||||
|
||||
disabledTestPaths = [
|
||||
|
||||
@@ -11,18 +11,18 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "mergiraf";
|
||||
version = "0.8.0";
|
||||
version = "0.8.1";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "mergiraf";
|
||||
repo = "mergiraf";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-CQriH0vZ+ZBSIZcj0MKQEojpugS2g4sCuDICmwLCUBE=";
|
||||
hash = "sha256-HtIrl9q64JLV/ufJ2g9OrQDDOkcwvyn4+l6/dUqwXkw=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-nsWRysIupGC3w0L7OMChcgPPTHSwnmcKv58BTn51cY4=";
|
||||
cargoHash = "sha256-xe+JbXKOfxj0XSUM3zW0cYkWo22nyTOp+mOudv3UbE4=";
|
||||
|
||||
nativeCheckInputs = [
|
||||
git
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
rustPlatform,
|
||||
}:
|
||||
|
||||
@@ -16,31 +15,9 @@ rustPlatform.buildRustPackage rec {
|
||||
hash = "sha256-KgtejBbFg6+klc8OpCs1CIb+7uVPCtP0/EM671vxauk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# https://github.com/Nemris/ndstrim/pull/1
|
||||
(fetchpatch {
|
||||
name = "update-cargo-lock.patch";
|
||||
url = "https://github.com/Nemris/ndstrim/commit/8147bb31a8fb5765f33562957a61cb6ddbe65513.patch";
|
||||
hash = "sha256-HsCc5un9dg0gRkRjwxtjms0cugqWhcTthGfcF50EgYA=";
|
||||
})
|
||||
];
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-wRMMWeZDk9Xt3263pq20Qioy1x8egiPhuoPxmpNTq8M=";
|
||||
|
||||
# TODO: remove this after upstream merge above patch.
|
||||
# Without the workaround below the build results in the following error:
|
||||
# Validating consistency between /build/source/Cargo.lock and /build/ndstrim-0.2.1-vendor.tar.gz/Cargo.lock
|
||||
# <hash>
|
||||
# < version = "0.2.1"
|
||||
# ---
|
||||
# > version = "0.1.0"
|
||||
#
|
||||
# ERROR: cargoHash or cargoSha256 is out of date
|
||||
postPatch = ''
|
||||
cargoSetupPostPatchHook() { true; }
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Trim the excess padding found in Nintendo DS(i) ROMs";
|
||||
homepage = "https://github.com/Nemris/ndstrim";
|
||||
|
||||
@@ -61,19 +61,39 @@ class BuildAttr:
|
||||
return cls(Path(file or "default.nix"), attr)
|
||||
|
||||
|
||||
def discover_git(location: Path) -> str | None:
|
||||
def discover_git(location: Path) -> Path | None:
|
||||
"""
|
||||
Discover the current git repository in the given location.
|
||||
"""
|
||||
current = location.resolve()
|
||||
previous = None
|
||||
|
||||
while current.is_dir() and current != previous:
|
||||
dotgit = current / ".git"
|
||||
if dotgit.is_dir():
|
||||
return str(current)
|
||||
return current
|
||||
elif dotgit.is_file(): # this is a worktree
|
||||
with dotgit.open() as f:
|
||||
dotgit_content = f.read().strip()
|
||||
if dotgit_content.startswith("gitdir: "):
|
||||
return dotgit_content.split("gitdir: ")[1]
|
||||
return Path(dotgit_content.split("gitdir: ")[1])
|
||||
previous = current
|
||||
current = current.parent
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def discover_closest_flake(location: Path) -> Path | None:
|
||||
"""
|
||||
Discover the closest flake.nix file starting from the given location upwards.
|
||||
"""
|
||||
current = location.resolve()
|
||||
previous = None
|
||||
|
||||
while current.is_dir() and current != previous:
|
||||
flake_file = current / "flake.nix"
|
||||
if flake_file.is_file():
|
||||
return current
|
||||
previous = current
|
||||
current = current.parent
|
||||
|
||||
@@ -110,7 +130,15 @@ class Flake:
|
||||
path = Path(path_str)
|
||||
git_repo = discover_git(path)
|
||||
if git_repo is not None:
|
||||
return cls(f"git+file://{git_repo}", nixos_attr)
|
||||
url = f"git+file://{git_repo}"
|
||||
flake_path = discover_closest_flake(path)
|
||||
if (
|
||||
flake_path is not None
|
||||
and flake_path != git_repo
|
||||
and flake_path.is_relative_to(git_repo)
|
||||
):
|
||||
url += f"?dir={flake_path.relative_to(git_repo)}"
|
||||
return cls(url, nixos_attr)
|
||||
return cls(path, nixos_attr)
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
pkg-config,
|
||||
openssl,
|
||||
versionCheckHook,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "nvme-rs";
|
||||
version = "0.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "liberodark";
|
||||
repo = "nvme-rs";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-yM0jzqO+BpsIcr+IMZf5idAY4DTpLxP1VGISzhWhOlI=";
|
||||
};
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-V9drHGeY0dvMVdCd016kELGZe7r/Qhia8fGRI9CO/ns=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
];
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgramArg = "--version";
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
updateScript = nix-update-script { };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Lightweight tool for monitoring NVMe drive health with email alerts";
|
||||
homepage = "https://github.com/liberodark/nvme-rs";
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ liberodark ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "nvme-rs";
|
||||
};
|
||||
})
|
||||
@@ -306,8 +306,8 @@ python.pkgs.buildPythonApplication rec {
|
||||
tesseract5
|
||||
;
|
||||
nltkData = with nltk-data; [
|
||||
punkt_tab
|
||||
snowball_data
|
||||
punkt-tab
|
||||
snowball-data
|
||||
stopwords
|
||||
];
|
||||
tests = { inherit (nixosTests) paperless; };
|
||||
|
||||
@@ -40,7 +40,7 @@ buildGoModule rec {
|
||||
homepage = "https://github.com/yoheimuta/protolint";
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
maintainers = [ maintainers.zane ];
|
||||
maintainers = [ ];
|
||||
mainProgram = "protolint";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rssguard";
|
||||
version = "4.8.3";
|
||||
version = "4.8.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "martinrotter";
|
||||
repo = pname;
|
||||
tag = version;
|
||||
sha256 = "sha256-1y3hmAuIOhh1L+x4ZOPy7ixAizVNPtQjxL3mgNWgx9A=";
|
||||
sha256 = "sha256-CWRsuIvjgQHnCfHVUvellFLma8vvqoROfPjKOIuCSCI=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
||||
Generated
-470
@@ -1,470 +0,0 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
version = 3
|
||||
|
||||
[[package]]
|
||||
name = "anstream"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9e579a7752471abc2a8268df8b20005e3eadd975f585398f17efcfd8d4927371"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"anstyle-parse",
|
||||
"anstyle-query",
|
||||
"anstyle-wincon",
|
||||
"colorchoice",
|
||||
"is-terminal",
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-parse"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
|
||||
dependencies = [
|
||||
"utf8parse",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-query"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
|
||||
dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "anstyle-wincon"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bcd8291a340dd8ac70e18878bc4501dd7b4ff970cfa21c207d36ece51ea88fd"
|
||||
dependencies = [
|
||||
"anstyle",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93aae7a4192245f70fe75dd9157fc7b4a5bf53e88d30bd4396f7d8f9284d5acc"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4f423e341edefb78c9caba2d9c7f7687d0e72e89df3ce3394554754393ac3990"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
"bitflags",
|
||||
"clap_lex",
|
||||
"once_cell",
|
||||
"strsim",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "4.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "191d9573962933b4027f932c600cd252ce27a8ad5979418fe78e43c07996f27b"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_lex"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
|
||||
|
||||
[[package]]
|
||||
name = "colorchoice"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
|
||||
|
||||
[[package]]
|
||||
name = "either"
|
||||
version = "1.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "50d6a0976c999d473fe89ad888d5a284e55366d9dc9038b1ba2aa15128c4afa0"
|
||||
dependencies = [
|
||||
"errno-dragonfly",
|
||||
"libc",
|
||||
"windows-sys 0.45.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno-dragonfly"
|
||||
version = "0.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "glob"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
|
||||
|
||||
[[package]]
|
||||
name = "io-lifetimes"
|
||||
version = "1.0.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "is-terminal"
|
||||
version = "0.4.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"io-lifetimes",
|
||||
"rustix",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.10.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.141"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d59d8c75012853d2e872fb56bc8a2e53718e2cafe1a4c823143141c6d90c322f"
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "minimal-lexical"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "7.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"minimal-lexical",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.17.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.56"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.26"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.37.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1aef160324be24d31a62147fae491c14d2204a3865c7ca8c3b0d7f7bcb3ea635"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"errno",
|
||||
"io-lifetimes",
|
||||
"libc",
|
||||
"linux-raw-sys",
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sleek"
|
||||
version = "0.3.0"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"glob",
|
||||
"sqlformat",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sqlformat"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e"
|
||||
dependencies = [
|
||||
"itertools",
|
||||
"nom",
|
||||
"unicode_categories",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4c9da457c5285ac1f936ebd076af6dac17a61cfe7826f2076b4d015cf47bc8ec"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
|
||||
dependencies = [
|
||||
"thiserror-impl",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thiserror-impl"
|
||||
version = "1.0.40"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
|
||||
|
||||
[[package]]
|
||||
name = "unicode_categories"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e"
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.45.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
|
||||
dependencies = [
|
||||
"windows-targets 0.42.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
dependencies = [
|
||||
"windows-targets 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.42.2",
|
||||
"windows_aarch64_msvc 0.42.2",
|
||||
"windows_i686_gnu 0.42.2",
|
||||
"windows_i686_msvc 0.42.2",
|
||||
"windows_x86_64_gnu 0.42.2",
|
||||
"windows_x86_64_gnullvm 0.42.2",
|
||||
"windows_x86_64_msvc 0.42.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-targets"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
|
||||
dependencies = [
|
||||
"windows_aarch64_gnullvm 0.48.0",
|
||||
"windows_aarch64_msvc 0.48.0",
|
||||
"windows_i686_gnu 0.48.0",
|
||||
"windows_i686_msvc 0.48.0",
|
||||
"windows_x86_64_gnu 0.48.0",
|
||||
"windows_x86_64_gnullvm 0.48.0",
|
||||
"windows_x86_64_msvc 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
|
||||
|
||||
[[package]]
|
||||
name = "windows_aarch64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
|
||||
|
||||
[[package]]
|
||||
name = "windows_i686_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnu"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_gnullvm"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.42.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
|
||||
|
||||
[[package]]
|
||||
name = "windows_x86_64_msvc"
|
||||
version = "0.48.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
|
||||
@@ -15,14 +15,8 @@ rustPlatform.buildRustPackage rec {
|
||||
hash = "sha256-VQ0LmKhFsC12qoXCFHxtV5E+J7eRvZMVH0j+5r8pDk8=";
|
||||
};
|
||||
|
||||
# 0.3.0 has been tagged before the actual Cargo.lock bump, resulting in an inconsistent lock file.
|
||||
# To work around this, the Cargo.lock below is from the commit right after the tag:
|
||||
# https://github.com/nrempel/sleek/commit/18c5457a813a16e3eebfc1c6f512131e6e8daa02
|
||||
postPatch = ''
|
||||
ln -s --force ${./Cargo.lock} Cargo.lock
|
||||
'';
|
||||
|
||||
cargoLock.lockFile = ./Cargo.lock;
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-vq4e/2+YfMw2n8ZMYPa/3HtNk9pCtXWN/u1MzhBkZJQ=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "CLI tool for formatting SQL";
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "trino-cli";
|
||||
version = "439";
|
||||
version = "475";
|
||||
|
||||
jarfilename = "${pname}-${version}-executable.jar";
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://maven/io/trino/${pname}/${version}/${jarfilename}";
|
||||
sha256 = "sha256-ANrv3+hpRn00zFAu6FHltk6seQ4lP2esDIhsJrctfY0=";
|
||||
sha256 = "sha256-NGfouDTSk1M51pEkQbDCzFGCe3jpZd/8FYGGyBzsArI=";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
@@ -36,6 +36,8 @@ rustPlatform.buildRustPackage (finalAttrs: {
|
||||
env = {
|
||||
GEN_ARTIFACTS = "artifacts";
|
||||
OPENSSL_NO_VENDOR = true;
|
||||
# to not have "unknown hash" in help output
|
||||
TYPST_VERSION = finalAttrs.version;
|
||||
};
|
||||
|
||||
# Fix for "Found argument '--test-threads' which wasn't expected, or isn't valid in this context"
|
||||
|
||||
@@ -152,7 +152,7 @@ let
|
||||
|
||||
paths = [
|
||||
nltk-data.punkt
|
||||
nltk-data.averaged_perceptron_tagger
|
||||
nltk-data.averaged-perceptron-tagger
|
||||
];
|
||||
};
|
||||
in
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "unzoo";
|
||||
version = "4.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "museoa";
|
||||
repo = "unzoo";
|
||||
rev = version;
|
||||
hash = "sha256-oPq1I7EsvHaJ7anHbm/KWrYrxJkM79rLhgRfSAdoLtk=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
"doc"
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
${stdenv.cc.targetPrefix}cc -o unzoo -DSYS_IS_UNIX src/unzoo.c
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $doc/share/doc/unzoo
|
||||
cp unzoo $out/bin
|
||||
cp README.TXT $doc/share/doc/unzoo
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/museoa/unzoo/";
|
||||
description = "Manipulate archives of files in Zoo compressed form";
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.all;
|
||||
mainProgram = "unzoo";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchurl,
|
||||
libsForQt5,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "veroroute";
|
||||
version = "2.39";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/veroroute/veroroute-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-+qX8NFkPkQGW29uQUEuetgW3muDP56lMJgrGCAo+5pc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
libsForQt5.qmake
|
||||
libsForQt5.wrapQtAppsHook
|
||||
];
|
||||
buildInputs = [
|
||||
libsForQt5.qtbase
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
cd Src/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Qt based Veroboard/Perfboard/PCB layout and routing application";
|
||||
homepage = "https://sourceforge.net/projects/veroroute";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
maintainers = with lib.maintainers; [
|
||||
nh2
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
@@ -61,23 +61,23 @@ let
|
||||
# and often with different versions. We write them on three lines
|
||||
# like this (rather than using {}) so that the updater script can
|
||||
# find where to edit them.
|
||||
versions.aarch64-darwin = "6.4.6.53970";
|
||||
versions.x86_64-darwin = "6.4.6.53970";
|
||||
versions.x86_64-linux = "6.4.6.1370";
|
||||
versions.aarch64-darwin = "6.4.10.56141";
|
||||
versions.x86_64-darwin = "6.4.10.56141";
|
||||
versions.x86_64-linux = "6.4.10.2027";
|
||||
|
||||
srcs = {
|
||||
aarch64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.aarch64-darwin}/zoomusInstallerFull.pkg?archType=arm64";
|
||||
name = "zoomusInstallerFull.pkg";
|
||||
hash = "sha256-yNsiFZNte4432d8DUyDhPUOVbLul7gUdvr+3qK/Y+tk=";
|
||||
hash = "sha256-LIQl+s/2WfYFIEG/ZsvpWlsWRhToB+5+ymAXCMhDqWE=";
|
||||
};
|
||||
x86_64-darwin = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-darwin}/zoomusInstallerFull.pkg";
|
||||
hash = "sha256-Ut93qQFFN0d58wXD5r8u0B17HbihFg3FgY3a1L8nsIA=";
|
||||
hash = "sha256-jP9ajDCo8iImS8YGFLjNMOLLh9g8uSqYIRl3aqhJAaM=";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz";
|
||||
hash = "sha256-Y+8garSqDcKLCVv1cTiqGEfrGKpK3UoXIq8X4E8CF+8=";
|
||||
hash = "sha256-BwYO8IlQJjZwwn/qokZ+gAgcgmAjG34uExHCajchVqs=";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -245,7 +245,10 @@ let
|
||||
version = versions.${system} or throwSystem;
|
||||
|
||||
targetPkgs = pkgs: (linuxGetDependencies pkgs) ++ [ unpacked ];
|
||||
extraPreBwrapCmds = "unset QT_PLUGIN_PATH";
|
||||
extraPreBwrapCmds = ''
|
||||
unset QT_PLUGIN_PATH
|
||||
unset LANG # would break settings dialog on non-"en_XX" locales
|
||||
'';
|
||||
extraBwrapArgs = [ "--ro-bind ${unpacked}/opt /opt" ];
|
||||
runScript = "/opt/zoom/ZoomLauncher";
|
||||
|
||||
|
||||
@@ -13,13 +13,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zziplib";
|
||||
version = "0.13.78";
|
||||
version = "0.13.79";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gdraheim";
|
||||
repo = "zziplib";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8QxQrxqYO4LtB8prMqgz5a0QqvSKL7KzTkgi+VdHp6A=";
|
||||
hash = "sha256-PUG6MAglYJXJzQMWM7KfLFbHG3bva7FyaP+HdCsRnZQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
callPackage,
|
||||
llvmPackages_16,
|
||||
llvmPackages_17,
|
||||
llvmPackages_18,
|
||||
llvmPackages_19,
|
||||
@@ -17,9 +16,9 @@ let
|
||||
llvmPackages = llvmPackages_18;
|
||||
hash = "sha256-5qSiTq+UWGOwjDVZMIrAt2cDKHkyNPBSAEjpRQUByFM=";
|
||||
};
|
||||
"0.14.0" = {
|
||||
"0.14.1" = {
|
||||
llvmPackages = llvmPackages_19;
|
||||
hash = "sha256-VyteIp5ZRt6qNcZR68KmM7CvN2GYf8vj5hP+gHLkuVk=";
|
||||
hash = "sha256-DhVJIY/z12PJZdb5j4dnCRb7k1CmeQVOnayYRP8azDI=";
|
||||
};
|
||||
} // zigVersions;
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ let
|
||||
aider-nltk-data = symlinkJoin {
|
||||
name = "aider-nltk-data";
|
||||
paths = [
|
||||
nltk-data.punkt_tab
|
||||
nltk-data.punkt-tab
|
||||
nltk-data.stopwords
|
||||
];
|
||||
};
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "bdffont";
|
||||
version = "0.0.30";
|
||||
version = "0.0.31";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.10";
|
||||
@@ -18,7 +18,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "bdffont";
|
||||
inherit version;
|
||||
hash = "sha256-DKZZSXZ3+s92K7RI1lMb8Er5+Tzj9AFJXgNwGs5qeMU=";
|
||||
hash = "sha256-jE6k1gym4UCHpQJTPEip+c5e+9QxNpT41v3fK9WVoLc=";
|
||||
};
|
||||
|
||||
build-system = [ hatchling ];
|
||||
|
||||
@@ -39,12 +39,12 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "coiled";
|
||||
version = "1.95.0";
|
||||
version = "1.96.1";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-+YmBKfiJYJVjpSrPGXlzMbQtweObLrLZr1c+aJ58fu4=";
|
||||
hash = "sha256-iyjZGg7RNaguHVZFMSS65OiO0HC3bqZL7yeOaSGr+IE=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
|
||||
@@ -2,40 +2,52 @@
|
||||
lib,
|
||||
async-timeout,
|
||||
buildPythonPackage,
|
||||
setuptools,
|
||||
versioneer,
|
||||
deprecated,
|
||||
fetchFromGitHub,
|
||||
packaging,
|
||||
pympler,
|
||||
pytest-asyncio,
|
||||
pytest-lazy-fixtures,
|
||||
pytestCheckHook,
|
||||
pythonOlder,
|
||||
redis,
|
||||
typing-extensions,
|
||||
wrapt,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "coredis";
|
||||
version = "4.20.0";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
version = "4.22.0";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alisaifee";
|
||||
repo = pname;
|
||||
repo = "coredis";
|
||||
tag = version;
|
||||
hash = "sha256-N7RQEgpBnXa+xtthySfec1Xw3JHtGCT2ZjmOK7H5B+A=";
|
||||
hash = "sha256-EMiZkKUcVbinWtYimNSQ715PH7pCrXpNKqseLFCu/48=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i '/mypy==/d' pyproject.toml
|
||||
sed -i '/packaging/d' pyproject.toml
|
||||
sed -i '/pympler/d' pyproject.toml
|
||||
sed -i '/types_deprecated/d' pyproject.toml
|
||||
substituteInPlace pytest.ini \
|
||||
--replace "-K" ""
|
||||
--replace-fail "-K" ""
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [
|
||||
setuptools
|
||||
versioneer
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
async-timeout
|
||||
deprecated
|
||||
packaging
|
||||
pympler
|
||||
typing-extensions
|
||||
wrapt
|
||||
];
|
||||
|
||||
@@ -56,11 +68,11 @@ buildPythonPackage rec {
|
||||
"tests/test_utils.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Async redis client with support for redis server, cluster & sentinel";
|
||||
homepage = "https://github.com/alisaifee/coredis";
|
||||
changelog = "https://github.com/alisaifee/coredis/blob/${src.tag}/HISTORY.rst";
|
||||
license = licenses.mit;
|
||||
teams = [ teams.wdz ];
|
||||
license = lib.licenses.mit;
|
||||
teams = [ lib.teams.wdz ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "hiredis";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
@@ -23,7 +23,7 @@ buildPythonPackage rec {
|
||||
repo = "hiredis-py";
|
||||
tag = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-ID5OJdARd2N2GYEpcYOpxenpZlhWnWr5fAClAgqEgGg=";
|
||||
hash = "sha256-z28fBGqZE88vQuJfb39AEN3hGEZMz5gq71IdlpO5VAg=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
||||
@@ -44,7 +44,7 @@ buildPythonPackage rec {
|
||||
|
||||
# Needed for tests
|
||||
preCheck = ''
|
||||
export NLTK_DATA=${nltk-data.averaged_perceptron_tagger_eng}
|
||||
export NLTK_DATA=${nltk-data.averaged-perceptron-tagger-eng}
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
pillow,
|
||||
pytestCheckHook,
|
||||
tabulate,
|
||||
writableTmpDirAsHomeHook,
|
||||
}:
|
||||
|
||||
let
|
||||
@@ -68,6 +69,7 @@ buildPythonPackage rec {
|
||||
pillow
|
||||
pytestCheckHook
|
||||
tabulate
|
||||
writableTmpDirAsHomeHook
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
@@ -97,11 +99,9 @@ buildPythonPackage rec {
|
||||
# The setup.py does all the configuration
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
# detecting source dir as a python package confuses pytest
|
||||
preCheck = ''
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
# detecting source dir as a python package confuses pytest
|
||||
mv onnx/__init__.py onnx/__init__.py.hidden
|
||||
rm onnx/__init__.py
|
||||
'';
|
||||
|
||||
pytestFlagsArray = [
|
||||
|
||||
@@ -2,10 +2,16 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchFromGitHub,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
numpy,
|
||||
onnx,
|
||||
skl2onnx,
|
||||
# native check inputs
|
||||
|
||||
# tests
|
||||
pytestCheckHook,
|
||||
pandas,
|
||||
xgboost,
|
||||
@@ -18,7 +24,7 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "onnxmltools";
|
||||
version = "1.13";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "onnx";
|
||||
@@ -27,7 +33,18 @@ buildPythonPackage rec {
|
||||
hash = "sha256-uNd7N7/FgX8zaJp8ouvftwGqGqas8lZRXFmjpS+t2B4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
postPatch = ''
|
||||
substituteInPlace onnxmltools/proto/__init__.py \
|
||||
--replace-fail \
|
||||
"from onnx.helper import split_complex_to_pairs" \
|
||||
"from onnx.helper import _split_complex_to_pairs as split_complex_to_pairs"
|
||||
'';
|
||||
|
||||
build-system = [
|
||||
setuptools
|
||||
];
|
||||
|
||||
dependencies = [
|
||||
numpy
|
||||
onnx
|
||||
skl2onnx
|
||||
@@ -51,10 +68,11 @@ buildPythonPackage rec {
|
||||
# h20
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "ONNXMLTools enables conversion of models to ONNX";
|
||||
homepage = "https://github.com/onnx/onnxmltools";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
changelog = "https://github.com/onnx/onnxmltools/blob/v${version}/CHANGELOGS.md";
|
||||
license = lib.licenses.asl20;
|
||||
maintainers = with lib.maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ buildPythonPackage rec {
|
||||
hash = "sha256-Hf+Ii1xIKsW8Yn8S4QhEX+/LPWAMQ/Y2M5dTFv5hetg=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
coloredlogs
|
||||
numpy
|
||||
onnx
|
||||
@@ -42,10 +42,10 @@ buildPythonPackage rec {
|
||||
|
||||
pythonImportsCheck = [ "onnxruntime_tools" ];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Transformers Model Optimization Tool of ONNXRuntime";
|
||||
homepage = "https://pypi.org/project/onnxruntime-tools/";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
license = with lib.licenses; [ mit ];
|
||||
maintainers = with lib.maintainers; [ happysalada ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -121,7 +121,6 @@ buildPythonPackage rec {
|
||||
materialx
|
||||
opencolorio
|
||||
openimageio
|
||||
opensubdiv
|
||||
ptex
|
||||
tbb
|
||||
]
|
||||
@@ -139,6 +138,7 @@ buildPythonPackage rec {
|
||||
boost
|
||||
jinja2
|
||||
numpy
|
||||
opensubdiv
|
||||
pyopengl
|
||||
distutils
|
||||
]
|
||||
|
||||
@@ -117,7 +117,7 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/sanic-org/sanic/";
|
||||
changelog = "https://github.com/sanic-org/sanic/releases/tag/${src.tag}";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ p0lyw0lf ];
|
||||
mainProgram = "sanic";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -178,6 +178,11 @@ buildPythonPackage rec {
|
||||
# AssertionError: 2.1376906810000946 not less than 2.0
|
||||
"test_recursive_pad"
|
||||
|
||||
# Since updated onnx to 1.18.0:
|
||||
# onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Load model from ...
|
||||
# Unsupported model IR version: 11, max supported IR version: 10
|
||||
"test_quant_128"
|
||||
|
||||
# Require internet access
|
||||
"test_benchmark_openpilot_model"
|
||||
"test_bn_alone"
|
||||
|
||||
@@ -44,6 +44,6 @@ buildPythonPackage rec {
|
||||
homepage = "https://github.com/sanic-org/tracerite";
|
||||
changelog = "https://github.com/sanic-org/tracerite/releases/tag/v${version}";
|
||||
license = licenses.unlicense;
|
||||
maintainers = [ ];
|
||||
maintainers = with maintainers; [ p0lyw0lf ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ let
|
||||
name = "nltk-test-data";
|
||||
paths = [
|
||||
nltk-data.punkt
|
||||
nltk-data.punkt_tab
|
||||
nltk-data.punkt-tab
|
||||
nltk-data.stopwords
|
||||
];
|
||||
};
|
||||
|
||||
@@ -43,13 +43,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "prl-tools";
|
||||
version = "20.3.0-55895";
|
||||
version = "20.3.1-55959";
|
||||
|
||||
# We download the full distribution to extract prl-tools-lin.iso from
|
||||
# => ${dmg}/Parallels\ Desktop.app/Contents/Resources/Tools/prl-tools-lin.iso
|
||||
src = fetchurl {
|
||||
url = "https://download.parallels.com/desktop/v${lib.versions.major finalAttrs.version}/${finalAttrs.version}/ParallelsDesktop-${finalAttrs.version}.dmg";
|
||||
hash = "sha256-Bs1hgEr5y9TYMGPXGrIOmqMgeyc6wHVo1x7OijTYifY=";
|
||||
hash = "sha256-/J6NouI2htptG06Undeg1rUfbWUu6q/nV2P9D+sS7OA=";
|
||||
};
|
||||
|
||||
hardeningDisable = [
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
buildHomeAssistantComponent rec {
|
||||
owner = "jmcollin78";
|
||||
domain = "versatile_thermostat";
|
||||
version = "7.3.0";
|
||||
version = "7.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
inherit owner;
|
||||
repo = domain;
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-nDKKsVOXAl3hNSzKFk3iKSBZFpPY5WI8jhRaw/mCeL0=";
|
||||
hash = "sha256-sRmf+6rOWnbLZaO5kJw+9Udsyj6fX2BeFh8tN9xkZRk=";
|
||||
};
|
||||
|
||||
passthru.updateScript = gitUpdater { ignoredVersions = "(Alpha|Beta|alpha|beta).*"; };
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
extraPythonPackages ? ps: [ ],
|
||||
unstableGitUpdater,
|
||||
makeWrapper,
|
||||
writeShellScript,
|
||||
@@ -29,7 +30,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [
|
||||
(python3.withPackages (
|
||||
p: with p; [
|
||||
p:
|
||||
with p;
|
||||
[
|
||||
python-can
|
||||
cffi
|
||||
pyserial
|
||||
@@ -38,6 +41,7 @@ stdenv.mkDerivation rec {
|
||||
markupsafe
|
||||
numpy
|
||||
]
|
||||
++ extraPythonPackages p
|
||||
))
|
||||
];
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ let
|
||||
in
|
||||
buildGoModule rec {
|
||||
pname = "grafana";
|
||||
version = "12.0.0";
|
||||
version = "12.0.0+security-01";
|
||||
|
||||
subPackages = [
|
||||
"pkg/cmd/grafana"
|
||||
@@ -53,7 +53,7 @@ buildGoModule rec {
|
||||
owner = "grafana";
|
||||
repo = "grafana";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-VibGeRU0qCkEWUw9yVzG6LG1nomDsn17DBYAfV2eN5E=";
|
||||
hash = "sha256-4i9YHhoneptF72F4zvV+KVUJiP8xfiowPJExQ9iteK4=";
|
||||
};
|
||||
|
||||
# borrowed from: https://github.com/NixOS/nixpkgs/blob/d70d9425f49f9aba3c49e2c389fe6d42bac8c5b0/pkgs/development/tools/analysis/snyk/default.nix#L20-L22
|
||||
|
||||
@@ -10,12 +10,16 @@ let
|
||||
version = "0-unstable-2024-07-29";
|
||||
nativeBuildInputs = [ unzip ];
|
||||
dontBuild = true;
|
||||
dontFixup = true;
|
||||
meta = with lib; {
|
||||
description = "NLTK Data";
|
||||
homepage = "https://github.com/nltk/nltk_data";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ happysalada ];
|
||||
maintainers = with maintainers; [
|
||||
bengsparks
|
||||
happysalada
|
||||
];
|
||||
};
|
||||
};
|
||||
makeNltkDataPackage =
|
||||
@@ -50,41 +54,212 @@ let
|
||||
'';
|
||||
}
|
||||
);
|
||||
|
||||
makeChunker =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "chunkers";
|
||||
hash = "sha256-kemjqaCM9hlKAdMw8oVJnp62EAC9rMQ50dKg7wlAwEc=";
|
||||
};
|
||||
|
||||
makeCorpus =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "corpora";
|
||||
hash = "sha256-8lMjW5YI8h6dHJ/83HVY2OYGDyKPpgkUAKPISiAKqqk=";
|
||||
};
|
||||
|
||||
makeGrammar =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "grammars";
|
||||
hash = "sha256-pyLEcX3Azv8j1kCGvVYonuiNgVJxtWt7veU0S/yNbIM=";
|
||||
};
|
||||
|
||||
makeHelp =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "help";
|
||||
hash = "sha256-97mYLNES5WujLF5gD8Ul4cJ6LqSzz+jDzclUsdBeHNE=";
|
||||
};
|
||||
|
||||
makeMisc =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "misc";
|
||||
hash = "sha256-XtizfEsc8TYWqvvC/eSFdha2ClC5/ZiJM8nue0vXLb4=";
|
||||
};
|
||||
|
||||
makeModel =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "models";
|
||||
hash = "sha256-iq3weEgCci6rgLW2j28F2eRLprJtInGXKe/awJPSVG4=";
|
||||
};
|
||||
|
||||
makeTagger =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "taggers";
|
||||
hash = "sha256-tl3Cn2okhBkUtTXvAmFRx72Brez6iTGRdmFTwFmpk3M=";
|
||||
};
|
||||
|
||||
makeTokenizer =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "tokenizers";
|
||||
hash = "sha256-OzMkruoYbFKqzuimOXIpE5lhHz8tmSqOFoLT+fjdTVg=";
|
||||
};
|
||||
|
||||
makeStemmer =
|
||||
pname:
|
||||
makeNltkDataPackage {
|
||||
inherit pname;
|
||||
location = "stemmers";
|
||||
hash = "sha256-mNefwOPVJGz9kXV3LV4DuV7FJpNir/Nwg4ujd0CogEk=";
|
||||
};
|
||||
in
|
||||
lib.makeScope newScope (self: {
|
||||
punkt = makeNltkDataPackage {
|
||||
pname = "punkt";
|
||||
location = "tokenizers";
|
||||
hash = "sha256-OzMkruoYbFKqzuimOXIpE5lhHz8tmSqOFoLT+fjdTVg=";
|
||||
};
|
||||
punkt_tab = makeNltkDataPackage {
|
||||
pname = "punkt_tab";
|
||||
location = "tokenizers";
|
||||
hash = "sha256-OzMkruoYbFKqzuimOXIpE5lhHz8tmSqOFoLT+fjdTVg=";
|
||||
};
|
||||
averaged_perceptron_tagger = makeNltkDataPackage {
|
||||
pname = "averaged_perceptron_tagger";
|
||||
location = "taggers";
|
||||
hash = "sha256-tl3Cn2okhBkUtTXvAmFRx72Brez6iTGRdmFTwFmpk3M=";
|
||||
};
|
||||
averaged_perceptron_tagger_eng = makeNltkDataPackage {
|
||||
pname = "averaged_perceptron_tagger_eng";
|
||||
location = "taggers";
|
||||
hash = "sha256-tl3Cn2okhBkUtTXvAmFRx72Brez6iTGRdmFTwFmpk3M=";
|
||||
};
|
||||
snowball_data = makeNltkDataPackage {
|
||||
pname = "snowball_data";
|
||||
location = "stemmers";
|
||||
hash = "sha256-mNefwOPVJGz9kXV3LV4DuV7FJpNir/Nwg4ujd0CogEk=";
|
||||
};
|
||||
stopwords = makeNltkDataPackage {
|
||||
pname = "stopwords";
|
||||
location = "corpora";
|
||||
hash = "sha256-8lMjW5YI8h6dHJ/83HVY2OYGDyKPpgkUAKPISiAKqqk=";
|
||||
};
|
||||
wordnet = makeNltkDataPackage {
|
||||
pname = "wordnet";
|
||||
location = "corpora";
|
||||
hash = "sha256-8lMjW5YI8h6dHJ/83HVY2OYGDyKPpgkUAKPISiAKqqk=";
|
||||
};
|
||||
## Chunkers
|
||||
maxent-ne-chunker = makeChunker "maxent_ne_chunker";
|
||||
maxent-ne-chunker-tab = makeChunker "maxent_ne_chunker_tab";
|
||||
|
||||
## Corpora
|
||||
abc = makeCorpus "abc";
|
||||
alpino = makeCorpus "alpino";
|
||||
bcp47 = makeCorpus "bcp47";
|
||||
biocreative-ppi = makeCorpus "biocreative_ppi";
|
||||
brown = makeCorpus "brown";
|
||||
brown-tei = makeCorpus "brown_tei";
|
||||
cess-cat = makeCorpus "cess_cat";
|
||||
cess-esp = makeCorpus "cess_esp";
|
||||
chat80 = makeCorpus "chat80";
|
||||
city-database = makeCorpus "city_database";
|
||||
cmudict = makeCorpus "cmudict";
|
||||
comparative-sentences = makeCorpus "comparative_sentences";
|
||||
comtrans = makeCorpus "comtrans";
|
||||
conll2000 = makeCorpus "conll2000";
|
||||
conll2002 = makeCorpus "conll2002";
|
||||
conll2007 = makeCorpus "conll2007";
|
||||
crubadan = makeCorpus "crubadan";
|
||||
dependency-treebank = makeCorpus "dependency_treebank";
|
||||
dolch = makeCorpus "dolch";
|
||||
europarl-raw = makeCorpus "europarl_raw";
|
||||
extended-omw = makeCorpus "extended_omw";
|
||||
floresta = makeCorpus "floresta";
|
||||
framenet-v15 = makeCorpus "framenet_v15";
|
||||
framenet-v17 = makeCorpus "framenet_v17";
|
||||
gazetteers = makeCorpus "gazetteers";
|
||||
genesis = makeCorpus "genesis";
|
||||
gutenberg = makeCorpus "gutenberg";
|
||||
ieer = makeCorpus "ieer";
|
||||
inaugural = makeCorpus "inaugural";
|
||||
indian = makeCorpus "indian";
|
||||
jeita = makeCorpus "jeita";
|
||||
kimmo = makeCorpus "kimmo";
|
||||
knbc = makeCorpus "knbc";
|
||||
lin-thesaurus = makeCorpus "lin_thesaurus";
|
||||
mac-morpho = makeCorpus "mac_morpho";
|
||||
machado = makeCorpus "machado";
|
||||
masc-tagged = makeCorpus "masc_tagged";
|
||||
movie-reviews = makeCorpus "movie_reviews";
|
||||
mte-teip5 = makeCorpus "mte_teip5";
|
||||
names = makeCorpus "names";
|
||||
nombank-1-0 = makeCorpus "nombank.1.0";
|
||||
nonbreaking-prefixes = makeCorpus "nonbreaking_prefixes";
|
||||
nps-chat = makeCorpus "nps_chat";
|
||||
omw = makeCorpus "omw";
|
||||
omw-1-4 = makeCorpus "omw-1.4";
|
||||
opinion-lexicon = makeCorpus "opinion_lexicon";
|
||||
panlex-swadesh = makeCorpus "panlex_swadesh";
|
||||
paradigms = makeCorpus "paradigms";
|
||||
pe08 = makeCorpus "pe08";
|
||||
pil = makeCorpus "pil";
|
||||
pl196x = makeCorpus "pl196x";
|
||||
ppattach = makeCorpus "ppattach";
|
||||
problem-reports = makeCorpus "problem_reports";
|
||||
product-reviews-1 = makeCorpus "product_reviews_1";
|
||||
product-reviews-2 = makeCorpus "product_reviews_2";
|
||||
propbank = makeCorpus "propbank";
|
||||
pros-cons = makeCorpus "pros_cons";
|
||||
ptb = makeCorpus "ptb";
|
||||
qc = makeCorpus "qc";
|
||||
reuters = makeCorpus "reuters";
|
||||
rte = makeCorpus "rte";
|
||||
semcor = makeCorpus "semcor";
|
||||
senseval = makeCorpus "senseval";
|
||||
sentence-polarity = makeCorpus "sentence_polarity";
|
||||
sentiwordnet = makeCorpus "sentiwordnet";
|
||||
shakespeare = makeCorpus "shakespeare";
|
||||
sinica-treebank = makeCorpus "sinica_treebank";
|
||||
smultron = makeCorpus "smultron";
|
||||
state-union = makeCorpus "state_union";
|
||||
stopwords = makeCorpus "stopwords";
|
||||
subjectivity = makeCorpus "subjectivity";
|
||||
swadesh = makeCorpus "swadesh";
|
||||
switchboard = makeCorpus "switchboard";
|
||||
timit = makeCorpus "timit";
|
||||
toolbox = makeCorpus "toolbox";
|
||||
treebank = makeCorpus "treebank";
|
||||
twitter-samples = makeCorpus "twitter_samples";
|
||||
udhr = makeCorpus "udhr";
|
||||
udhr2 = makeCorpus "udhr2";
|
||||
unicode-samples = makeCorpus "unicode_samples";
|
||||
universal-treebanks-v20 = makeCorpus "universal_treebanks_v20";
|
||||
verbnet = makeCorpus "verbnet";
|
||||
verbnet3 = makeCorpus "verbnet3";
|
||||
webtext = makeCorpus "webtext";
|
||||
wordnet = makeCorpus "wordnet";
|
||||
wordnet-ic = makeCorpus "wordnet_ic";
|
||||
wordnet2021 = makeCorpus "wordnet2021";
|
||||
wordnet2022 = makeCorpus "wordnet2022";
|
||||
wordnet31 = makeCorpus "wordnet31";
|
||||
words = makeCorpus "words";
|
||||
ycoe = makeCorpus "ycoe";
|
||||
|
||||
## Grammars
|
||||
basque-grammars = makeGrammar "basque_grammars";
|
||||
book-grammars = makeGrammar "book_grammars";
|
||||
large-grammars = makeGrammar "large_grammars";
|
||||
sample-grammars = makeGrammar "sample_grammars";
|
||||
spanish-grammars = makeGrammar "spanish_grammars";
|
||||
|
||||
## Help
|
||||
tagsets-json = makeHelp "tagsets_json";
|
||||
|
||||
## Misc
|
||||
mwa-ppdb = makeMisc "mwa_ppdb";
|
||||
perluniprops = makeMisc "perluniprops";
|
||||
|
||||
## Models
|
||||
bllip-wsj-no-aux = makeModel "bllip_wsj_no_aux";
|
||||
moses-sample = makeModel "moses_sample";
|
||||
wmt15-eval = makeModel "wmt15_eval";
|
||||
word2vec-sample = makeModel "word2vec_sample";
|
||||
|
||||
## Taggers
|
||||
averaged-perceptron-tagger = makeTagger "averaged_perceptron_tagger";
|
||||
averaged-perceptron-tagger-eng = makeTagger "averaged_perceptron_tagger_eng";
|
||||
averaged-perceptron-tagger-ru = makeTagger "averaged_perceptron_tagger_ru";
|
||||
averaged-perceptron-tagger-rus = makeTagger "averaged_perceptron_tagger_rus";
|
||||
maxent-treebank-pos-tagger = makeTagger "maxent_treebank_pos_tagger";
|
||||
maxent-treebank-pos-tagger-tab = makeTagger "maxent_treebank_pos_tagger_tab";
|
||||
universal-tagset = makeTagger "universal_tagset";
|
||||
|
||||
## Tokenizers
|
||||
punkt = makeTokenizer "punkt";
|
||||
punkt-tab = makeTokenizer "punkt_tab";
|
||||
|
||||
## Stemmers
|
||||
porter-test = makeStemmer "porter_test";
|
||||
rslp = makeStemmer "rslp";
|
||||
snowball-data = makeStemmer "snowball_data";
|
||||
})
|
||||
|
||||
@@ -1620,6 +1620,7 @@ mapAliases {
|
||||
qtcurve = throw "'qtcurve' has been renamed to/replaced by 'libsForQt5.qtcurve'"; # Converted to throw 2024-10-17
|
||||
qtile-unwrapped = python3.pkgs.qtile; # Added 2023-05-12
|
||||
quantum-espresso-mpi = quantum-espresso; # Added 2023-11-23
|
||||
quaternion-qt5 = throw "'quaternion-qt5' has been removed as quaternion dropped Qt5 support with v0.0.97.1"; # Added 2025-05-24
|
||||
quickbms = throw "'quickbms' has been removed due to being unmaintained for many years."; # Added 2025-05-17
|
||||
quicklispPackages = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07
|
||||
quicklispPackagesABCL = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07
|
||||
@@ -1806,6 +1807,8 @@ mapAliases {
|
||||
strawberry-qt5 = throw "strawberry-qt5 has been replaced by strawberry-qt6"; # Added 2024-11-22
|
||||
strelka = throw "strelka depends on Python 2.6+, and does not support Python 3."; # Added 2025-03-17
|
||||
subberthehut = throw "'subberthehut' has been removed as it was unmaintained upstream"; # Added 2025-05-17
|
||||
substituteAll = throw "`substituteAll` has been removed. Use `replaceVars` instead."; # Added 2025-05-23
|
||||
substituteAllFiles = throw "`substituteAllFiles` has been removed. Use `replaceVars` for each file instead."; # Added 2025-05-23
|
||||
suidChroot = throw "'suidChroot' has been dropped as it was unmaintained, failed to build and had questionable security considerations"; # Added 2025-05-17
|
||||
suitesparse_4_2 = throw "'suitesparse_4_2' has been removed as it was unmaintained upstream"; # Added 2025-05-17
|
||||
suitesparse_4_4 = throw "'suitesparse_4_4' has been removed as it was unmaintained upstream"; # Added 2025-05-17
|
||||
@@ -1945,6 +1948,7 @@ mapAliases {
|
||||
unifiStable = throw "'unifiStable' has been removed since UniFi no longer has LTS and stable releases. Use `pkgs.unifi` instead."; # Converted to throw 2024-04-11
|
||||
unl0kr = throw "'unl0kr' is now included with buffybox. Use `pkgs.buffybox` instead."; # Removed 2024-12-20
|
||||
untrunc = throw "'untrunc' has been renamed to/replaced by 'untrunc-anthwlock'"; # Converted to throw 2024-10-17
|
||||
unzoo = throw "'unzoo' has been removed since it is unmaintained upstream and doesn't compile with newer versions of GCC anymore"; # Removed 2025-05-24
|
||||
uq = throw "'uq' has been removed due to lack of upstream maintenance"; # Added 2025-01-25
|
||||
urxvt_autocomplete_all_the_things = throw "'urxvt_autocomplete_all_the_things' has been renamed to/replaced by 'rxvt-unicode-plugins.autocomplete-all-the-things'"; # Converted to throw 2024-10-17
|
||||
urxvt_bidi = throw "'urxvt_bidi' has been renamed to/replaced by 'rxvt-unicode-plugins.bidi'"; # Converted to throw 2024-10-17
|
||||
|
||||
@@ -843,10 +843,6 @@ with pkgs;
|
||||
|
||||
substitute = callPackage ../build-support/substitute/substitute.nix { };
|
||||
|
||||
substituteAll = callPackage ../build-support/substitute/substitute-all.nix { };
|
||||
|
||||
substituteAllFiles = callPackage ../build-support/substitute-files/substitute-all-files.nix { };
|
||||
|
||||
replaceDependencies = callPackage ../build-support/replace-dependencies.nix { };
|
||||
|
||||
replaceDependency =
|
||||
@@ -1931,9 +1927,6 @@ with pkgs;
|
||||
charles5
|
||||
;
|
||||
|
||||
quaternion-qt5 =
|
||||
libsForQt5.callPackage ../applications/networking/instant-messengers/quaternion
|
||||
{ };
|
||||
quaternion-qt6 =
|
||||
qt6Packages.callPackage ../applications/networking/instant-messengers/quaternion
|
||||
{ };
|
||||
@@ -2343,7 +2336,7 @@ with pkgs;
|
||||
|
||||
mpd-sima = python3Packages.callPackage ../tools/audio/mpd-sima { };
|
||||
|
||||
nltk-data = callPackage ../tools/text/nltk-data { };
|
||||
nltk-data = lib.recurseIntoAttrs (callPackage ../tools/text/nltk-data { });
|
||||
|
||||
seabios-coreboot = seabios.override { ___build-type = "coreboot"; };
|
||||
seabios-csm = seabios.override { ___build-type = "csm"; };
|
||||
|
||||
Reference in New Issue
Block a user