Merge staging-next into staging

This commit is contained in:
nixpkgs-ci[bot]
2025-12-09 18:06:41 +00:00
committed by GitHub
86 changed files with 1809 additions and 481 deletions
+6
View File
@@ -15335,6 +15335,12 @@
githubId = 15693688;
name = "Lucas Eduardo Wendt";
};
lucasfa = {
name = "Lucas Fehlau Arbulu";
githubId = 23667494;
github = "LucasFA";
matrix = "@lucasfa:matrix.org";
};
lucastso10 = {
email = "lucastso10@gmail.com";
github = "lucastso10";
+1
View File
@@ -1735,6 +1735,7 @@
./services/web-apps/suwayomi-server.nix
./services/web-apps/szurubooru.nix
./services/web-apps/trilium.nix
./services/web-apps/tt-rss.nix
./services/web-apps/tuliprox.nix
./services/web-apps/umami.nix
./services/web-apps/vikunja.nix
+1
View File
@@ -10,6 +10,7 @@ in
{
meta.maintainers = with lib.maintainers; [
NotAShelf
mdaniels5757
viperML
];
+6 -1
View File
@@ -29,7 +29,12 @@ let
setw -g pane-base-index ${toString cfg.baseIndex}
set -g history-limit ${toString cfg.historyLimit}
${optionalString cfg.newSession "new-session"}
${optionalString cfg.newSession ''
# Use -A to make new-session idempotent: attach if session "0" exists,
# otherwise create it. This prevents duplicate sessions when multiple
# configs (e.g., system and user) both enable newSession.
new-session -A -s 0
''}
${optionalString cfg.reverseSplit ''
bind v split-window -h
-3
View File
@@ -290,9 +290,6 @@ in
(mkRemovedOptionModule [ "services" "sourcehut" ] ''
The sourcehut packages and the corresponding module have been removed due to being broken and unmaintained.
'')
(mkRemovedOptionModule [ "services" "tt-rss" ] ''
The tt-rss package and module have been removed, since upstream development ceased 2025-11-01 and the source is no longer available officially.
'')
(mkRemovedOptionModule [ "services" "tvheadend" ]
"The tvheadend package and the corresponding module have been removed as nobody was willing to maintain them and they were stuck on an unmaintained version that required FFmpeg 4; please see https://github.com/NixOS/nixpkgs/pull/332259 if you are interested in maintaining a newer version."
)
+1 -1
View File
@@ -340,7 +340,7 @@ in
};
mailer = {
ENABLED = true;
MAILER_TYPE = "sendmail";
PROTOCOL = "sendmail";
FROM = "do-not-reply@example.org";
SENDMAIL_PATH = "''${pkgs.system-sendmail}/bin/sendmail";
};
+714
View File
@@ -0,0 +1,714 @@
{
config,
lib,
pkgs,
...
}:
with lib;
let
cfg = config.services.tt-rss;
inherit (cfg) phpPackage;
configVersion = 26;
dbPort =
if cfg.database.port == null then
(if cfg.database.type == "pgsql" then 5432 else 3306)
else
cfg.database.port;
poolName = "tt-rss";
mysqlLocal = cfg.database.createLocally && cfg.database.type == "mysql";
pgsqlLocal = cfg.database.createLocally && cfg.database.type == "pgsql";
tt-rss-config =
let
password =
if (cfg.database.password != null) then
"'${(escape [ "'" "\\" ] cfg.database.password)}'"
else if (cfg.database.passwordFile != null) then
"file_get_contents('${cfg.database.passwordFile}')"
else
null;
in
pkgs.writeText "config.php" ''
<?php
putenv('TTRSS_PHP_EXECUTABLE=${phpPackage}/bin/php');
putenv('TTRSS_LOCK_DIRECTORY=${cfg.root}/lock');
putenv('TTRSS_CACHE_DIR=${cfg.root}/cache');
putenv('TTRSS_ICONS_DIR=${cfg.root}/feed-icons');
putenv('TTRSS_ICONS_URL=feed-icons');
putenv('TTRSS_SELF_URL_PATH=${cfg.selfUrlPath}');
putenv('TTRSS_MYSQL_CHARSET=UTF8');
putenv('TTRSS_DB_TYPE=${cfg.database.type}');
putenv('TTRSS_DB_HOST=${optionalString (cfg.database.host != null) cfg.database.host}');
putenv('TTRSS_DB_USER=${cfg.database.user}');
putenv('TTRSS_DB_NAME=${cfg.database.name}');
putenv('TTRSS_DB_PASS=' ${optionalString (password != null) ". ${password}"});
putenv('TTRSS_DB_PORT=${toString dbPort}');
putenv('TTRSS_AUTH_AUTO_CREATE=${boolToString cfg.auth.autoCreate}');
putenv('TTRSS_AUTH_AUTO_LOGIN=${boolToString cfg.auth.autoLogin}');
putenv('TTRSS_FEED_CRYPT_KEY=${escape [ "'" "\\" ] cfg.feedCryptKey}');
putenv('TTRSS_SINGLE_USER_MODE=${boolToString cfg.singleUserMode}');
putenv('TTRSS_SIMPLE_UPDATE_MODE=${boolToString cfg.simpleUpdateMode}');
# Never check for updates - the running version of the code should
# be controlled entirely by the version of TT-RSS active in the
# current Nix profile. If TT-RSS updates itself to a version
# requiring a database schema upgrade, and then the SystemD
# tt-rss.service is restarted, the old code copied from the Nix
# store will overwrite the updated version, causing the code to
# detect the need for a schema "upgrade" (since the schema version
# in the database is different than in the code), but the update
# schema operation in TT-RSS will do nothing because the schema
# version in the database is newer than that in the code.
putenv('TTRSS_CHECK_FOR_UPDATES=false');
putenv('TTRSS_FORCE_ARTICLE_PURGE=${toString cfg.forceArticlePurge}');
putenv('TTRSS_SESSION_COOKIE_LIFETIME=${toString cfg.sessionCookieLifetime}');
putenv('TTRSS_ENABLE_GZIP_OUTPUT=${boolToString cfg.enableGZipOutput}');
putenv('TTRSS_PLUGINS=${builtins.concatStringsSep "," cfg.plugins}');
putenv('TTRSS_LOG_DESTINATION=${cfg.logDestination}');
putenv('TTRSS_CONFIG_VERSION=${toString configVersion}');
putenv('TTRSS_PUBSUBHUBBUB_ENABLED=${boolToString cfg.pubSubHubbub.enable}');
putenv('TTRSS_PUBSUBHUBBUB_HUB=${cfg.pubSubHubbub.hub}');
putenv('TTRSS_SPHINX_SERVER=${cfg.sphinx.server}');
putenv('TTRSS_SPHINX_INDEX=${builtins.concatStringsSep "," cfg.sphinx.index}');
putenv('TTRSS_ENABLE_REGISTRATION=${boolToString cfg.registration.enable}');
putenv('TTRSS_REG_NOTIFY_ADDRESS=${cfg.registration.notifyAddress}');
putenv('TTRSS_REG_MAX_USERS=${toString cfg.registration.maxUsers}');
putenv('TTRSS_SMTP_SERVER=${cfg.email.server}');
putenv('TTRSS_SMTP_LOGIN=${cfg.email.login}');
putenv('TTRSS_SMTP_PASSWORD=${escape [ "'" "\\" ] cfg.email.password}');
putenv('TTRSS_SMTP_SECURE=${cfg.email.security}');
putenv('TTRSS_SMTP_FROM_NAME=${escape [ "'" "\\" ] cfg.email.fromName}');
putenv('TTRSS_SMTP_FROM_ADDRESS=${escape [ "'" "\\" ] cfg.email.fromAddress}');
putenv('TTRSS_DIGEST_SUBJECT=${escape [ "'" "\\" ] cfg.email.digestSubject}');
${cfg.extraConfig}
'';
# tt-rss and plugins and themes and config.php
servedRoot = pkgs.runCommand "tt-rss-served-root" { } ''
cp --no-preserve=mode -r ${pkgs.tt-rss} $out
cp ${tt-rss-config} $out/config.php
${optionalString (cfg.pluginPackages != [ ]) ''
for plugin in ${concatStringsSep " " cfg.pluginPackages}; do
cp -r "$plugin"/* "$out/plugins.local/"
done
''}
${optionalString (cfg.themePackages != [ ]) ''
for theme in ${concatStringsSep " " cfg.themePackages}; do
cp -r "$theme"/* "$out/themes.local/"
done
''}
'';
in
{
###### interface
options = {
services.tt-rss = {
enable = mkEnableOption "tt-rss";
root = mkOption {
type = types.path;
default = "/var/lib/tt-rss";
description = ''
Root of the application.
'';
};
user = mkOption {
type = types.str;
default = "tt_rss";
description = ''
User account under which both the update daemon and the web-application run.
'';
};
pool = mkOption {
type = types.str;
default = "${poolName}";
description = ''
Name of existing phpfpm pool that is used to run web-application.
If not specified a pool will be created automatically with
default values.
'';
};
virtualHost = mkOption {
type = types.nullOr types.str;
default = "tt-rss";
description = ''
Name of the nginx virtualhost to use and setup. If null, do not setup any virtualhost.
'';
};
database = {
type = mkOption {
type = types.enum [
"pgsql"
"mysql"
];
default = "pgsql";
description = ''
Database to store feeds. Supported are pgsql and mysql.
'';
};
host = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Host of the database. Leave null to use Unix domain socket.
'';
};
name = mkOption {
type = types.str;
default = "tt_rss";
description = ''
Name of the existing database.
'';
};
user = mkOption {
type = types.str;
default = "tt_rss";
description = ''
The database user. The user must exist and has access to
the specified database.
'';
};
password = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The database user's password.
'';
};
passwordFile = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
The database user's password.
'';
};
port = mkOption {
type = types.nullOr types.port;
default = null;
description = ''
The database's port. If not set, the default ports will be provided (5432
and 3306 for pgsql and mysql respectively).
'';
};
createLocally = mkOption {
type = types.bool;
default = true;
description = "Create the database and database user locally.";
};
};
auth = {
autoCreate = mkOption {
type = types.bool;
default = true;
description = ''
Allow authentication modules to auto-create users in tt-rss internal
database when authenticated successfully.
'';
};
autoLogin = mkOption {
type = types.bool;
default = true;
description = ''
Automatically login user on remote or other kind of externally supplied
authentication, otherwise redirect to login form as normal.
If set to true, users won't be able to set application language
and settings profile.
'';
};
};
pubSubHubbub = {
hub = mkOption {
type = types.str;
default = "";
description = ''
URL to a PubSubHubbub-compatible hub server. If defined, "Published
articles" generated feed would automatically become PUSH-enabled.
'';
};
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable client PubSubHubbub support in tt-rss. When disabled, tt-rss
won't try to subscribe to PUSH feed updates.
'';
};
};
sphinx = {
server = mkOption {
type = types.str;
default = "localhost:9312";
description = ''
Hostname:port combination for the Sphinx server.
'';
};
index = mkOption {
type = types.listOf types.str;
default = [
"ttrss"
"delta"
];
description = ''
Index names in Sphinx configuration. Example configuration
files are available on tt-rss wiki.
'';
};
};
registration = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Allow users to register themselves. Please be aware that allowing
random people to access your tt-rss installation is a security risk
and potentially might lead to data loss or server exploit. Disabled
by default.
'';
};
notifyAddress = mkOption {
type = types.str;
default = "";
description = ''
Email address to send new user notifications to.
'';
};
maxUsers = mkOption {
type = types.int;
default = 0;
description = ''
Maximum amount of users which will be allowed to register on this
system. 0 - no limit.
'';
};
};
email = {
server = mkOption {
type = types.str;
default = "";
example = "localhost:25";
description = ''
Hostname:port combination to send outgoing mail. Blank - use system
MTA.
'';
};
login = mkOption {
type = types.str;
default = "";
description = ''
SMTP authentication login used when sending outgoing mail.
'';
};
password = mkOption {
type = types.str;
default = "";
description = ''
SMTP authentication password used when sending outgoing mail.
'';
};
security = mkOption {
type = types.enum [
""
"ssl"
"tls"
];
default = "";
description = ''
Used to select a secure SMTP connection. Allowed values: ssl, tls,
or empty.
'';
};
fromName = mkOption {
type = types.str;
default = "Tiny Tiny RSS";
description = ''
Name for sending outgoing mail. This applies to password reset
notifications, digest emails and any other mail.
'';
};
fromAddress = mkOption {
type = types.str;
default = "";
description = ''
Address for sending outgoing mail. This applies to password reset
notifications, digest emails and any other mail.
'';
};
digestSubject = mkOption {
type = types.str;
default = "[tt-rss] New headlines for last 24 hours";
description = ''
Subject line for email digests.
'';
};
};
sessionCookieLifetime = mkOption {
type = types.int;
default = 86400;
description = ''
Default lifetime of a session (e.g. login) cookie. In seconds,
0 means cookie will be deleted when browser closes.
'';
};
selfUrlPath = mkOption {
type = types.str;
description = ''
Full URL of your tt-rss installation. This should be set to the
location of tt-rss directory, e.g. http://example.org/tt-rss/
You need to set this option correctly otherwise several features
including PUSH, bookmarklets and browser integration will not work properly.
'';
example = "http://localhost";
};
feedCryptKey = mkOption {
type = types.str;
default = "";
description = ''
Key used for encryption of passwords for password-protected feeds
in the database. A string of 24 random characters. If left blank, encryption
is not used. Requires mcrypt functions.
Warning: changing this key will make your stored feed passwords impossible
to decrypt.
'';
};
singleUserMode = mkOption {
type = types.bool;
default = false;
description = ''
Operate in single user mode, disables all functionality related to
multiple users and authentication. Enabling this assumes you have
your tt-rss directory protected by other means (e.g. http auth).
'';
};
simpleUpdateMode = mkOption {
type = types.bool;
default = false;
description = ''
Enables fallback update mode where tt-rss tries to update feeds in
background while tt-rss is open in your browser.
If you don't have a lot of feeds and don't want to or can't run
background processes while not running tt-rss, this method is generally
viable to keep your feeds up to date.
Still, there are more robust (and recommended) updating methods
available, you can read about them here: <https://tt-rss.org/wiki/UpdatingFeeds>
'';
};
forceArticlePurge = mkOption {
type = types.int;
default = 0;
description = ''
When this option is not 0, users ability to control feed purging
intervals is disabled and all articles (which are not starred)
older than this amount of days are purged.
'';
};
enableGZipOutput = mkOption {
type = types.bool;
default = true;
description = ''
Selectively gzip output to improve wire performance. This requires
PHP Zlib extension on the server.
Enabling this can break tt-rss in several httpd/php configurations,
if you experience weird errors and tt-rss failing to start, blank pages
after login, or content encoding errors, disable it.
'';
};
phpPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.php;
defaultText = "pkgs.php";
description = ''
php package to use for php fpm and update daemon.
'';
};
plugins = mkOption {
type = types.listOf types.str;
default = [
"auth_internal"
"note"
];
description = ''
List of plugins to load automatically for all users.
System plugins have to be specified here. Please enable at least one
authentication plugin here (auth_*).
Users may enable other user plugins from Preferences/Plugins but may not
disable plugins specified in this list.
Disabling auth_internal in this list would automatically disable
reset password link on the login form.
'';
};
pluginPackages = mkOption {
type = types.listOf types.package;
default = [ ];
description = ''
List of plugins to install. The list elements are expected to
be derivations. All elements in this derivation are automatically
copied to the `plugins.local` directory.
'';
};
themePackages = mkOption {
type = types.listOf types.package;
default = [ ];
description = ''
List of themes to install. The list elements are expected to
be derivations. All elements in this derivation are automatically
copied to the `themes.local` directory.
'';
};
logDestination = mkOption {
type = types.enum [
""
"sql"
"syslog"
];
default = "sql";
description = ''
Log destination to use. Possible values: sql (uses internal logging
you can read in Preferences -> System), syslog - logs to system log.
Setting this to blank uses PHP logging (usually to http server
error.log).
'';
};
updateDaemon = {
commandFlags = mkOption {
type = types.str;
default = "--quiet";
description = ''
Command-line flags passed to the update daemon.
The default --quiet flag mutes all logging, including errors.
'';
};
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = ''
Additional lines to append to `config.php`.
'';
};
};
};
imports = [
(mkRemovedOptionModule [ "services" "tt-rss" "checkForUpdates" ] ''
This option was removed because setting this to true will cause TT-RSS
to be unable to start if an automatic update of the code in
services.tt-rss.root leads to a database schema upgrade that is not
supported by the code active in the Nix store.
'')
];
###### implementation
config = mkIf cfg.enable {
assertions = [
{
assertion = cfg.database.password != null -> cfg.database.passwordFile == null;
message = "Cannot set both password and passwordFile";
}
{
assertion =
cfg.database.createLocally -> cfg.database.name == cfg.user && cfg.database.user == cfg.user;
message = ''
When creating a database via NixOS, the db user and db name must be equal!
If you already have an existing DB+user and this assertion is new, you can safely set
`services.tt-rss.database.createLocally` to `false` because removal of `ensureUsers`
and `ensureDatabases` doesn't have any effect.
'';
}
];
services.phpfpm.pools = mkIf (cfg.pool == "${poolName}") {
${poolName} = {
inherit (cfg) user;
inherit phpPackage;
settings = mapAttrs (name: mkDefault) {
"listen.owner" = "nginx";
"listen.group" = "nginx";
"listen.mode" = "0600";
"pm" = "dynamic";
"pm.max_children" = 75;
"pm.start_servers" = 10;
"pm.min_spare_servers" = 5;
"pm.max_spare_servers" = 20;
"pm.max_requests" = 500;
"catch_workers_output" = 1;
};
};
};
# NOTE: No configuration is done if not using virtual host
services.nginx = mkIf (cfg.virtualHost != null) {
enable = true;
virtualHosts = {
${cfg.virtualHost} = {
root = "${cfg.root}/www";
locations."/" = {
index = "index.php";
};
# some clients might still access this old path directly, forward them to the API instead
# e.g. https://apps.apple.com/de/app/tiny-reader-rss/id689519762 at version 2.2.0
locations."~* /feed-icons/(\\d+)\\.ico" = {
return = "302 /public.php?op=feed_icon&id=$1";
};
locations."~ \\.php$" = {
extraConfig = ''
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.socket};
fastcgi_index index.php;
'';
};
};
};
};
systemd.tmpfiles.rules = [
"d '${cfg.root}' 0555 ${cfg.user} tt_rss - -"
"d '${cfg.root}/lock' 0755 ${cfg.user} tt_rss - -"
"d '${cfg.root}/cache' 0755 ${cfg.user} tt_rss - -"
"d '${cfg.root}/cache/upload' 0755 ${cfg.user} tt_rss - -"
"d '${cfg.root}/cache/images' 0755 ${cfg.user} tt_rss - -"
"d '${cfg.root}/cache/export' 0755 ${cfg.user} tt_rss - -"
"d '${cfg.root}/cache/feed-icons' 0755 ${cfg.user} tt_rss - -"
"L+ '${cfg.root}/www' - - - - ${servedRoot}"
];
systemd.services = {
phpfpm-tt-rss = mkIf (cfg.pool == "${poolName}") {
restartTriggers = [ servedRoot ];
};
tt-rss = {
description = "Tiny Tiny RSS feeds update daemon";
preStart = ''
${phpPackage}/bin/php ${cfg.root}/www/update.php --update-schema --force-yes
'';
serviceConfig = {
User = "${cfg.user}";
Group = "tt_rss";
ExecStart = "${phpPackage}/bin/php ${cfg.root}/www/update.php --daemon ${cfg.updateDaemon.commandFlags}";
Restart = "on-failure";
RestartSec = "60";
SyslogIdentifier = "tt-rss";
};
wantedBy = [ "multi-user.target" ];
requires = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.target";
after = [
"network.target"
]
++ optional mysqlLocal "mysql.service"
++ optional pgsqlLocal "postgresql.target";
};
};
services.mysql = mkIf mysqlLocal {
enable = true;
package = mkDefault pkgs.mariadb;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
{
name = cfg.user;
ensurePermissions = {
"${cfg.database.name}.*" = "ALL PRIVILEGES";
};
}
];
};
services.postgresql = mkIf pgsqlLocal {
enable = mkDefault true;
ensureDatabases = [ cfg.database.name ];
ensureUsers = [
{
name = cfg.database.user;
ensureDBOwnership = true;
}
];
};
users.users.tt_rss = optionalAttrs (cfg.user == "tt_rss") {
description = "tt-rss service user";
isSystemUser = true;
group = "tt_rss";
};
users.groups.tt_rss = { };
};
}
+1
View File
@@ -1582,6 +1582,7 @@ in
trickster = runTest ./trickster.nix;
trilium-server = runTestOn [ "x86_64-linux" ] ./trilium-server.nix;
tsm-client-gui = runTest ./tsm-client-gui.nix;
tt-rss = runTest ./web-apps/tt-rss.nix;
ttyd = runTest ./web-servers/ttyd.nix;
tuliprox = runTest ./tuliprox.nix;
tuned = runTest ./tuned.nix;
+45
View File
@@ -0,0 +1,45 @@
{ ... }:
{
name = "tt-rss-nixos";
nodes.machine =
{ pkgs, ... }:
{
services.tt-rss = {
enable = true;
virtualHost = "localhost";
selfUrlPath = "http://localhost/";
pluginPackages = with pkgs; [
tt-rss-plugin-auth-ldap
tt-rss-plugin-feediron
];
plugins = [
"auth_internal"
"feediron"
"note"
];
singleUserMode = true;
themePackages = with pkgs; [ tt-rss-theme-feedly ];
};
};
testScript = ''
import json
import re
machine.wait_for_unit("tt-rss.service")
matches = re.search('__csrf_token = "([^"]*)"', machine.succeed("curl -sSfL --cookie cjar --cookie-jar cjar -sSfL http://localhost/"))
if matches is None:
assert False, "CSRF token not found"
csrf_token = matches.group(1)
# Ensure themes are loaded. No API found for these, so it's a crude check.
preference_page = machine.succeed("curl -sSfL --cookie cjar --cookie-jar cjar http://localhost/backend.php?op=Pref_Prefs")
assert "feedly" in preference_page
plugins = json.loads(machine.succeed(f"curl -sSfL --cookie cjar --cookie-jar cjar 'http://localhost/backend.php' -X POST --data-raw 'op=Pref_Prefs&method=getPluginsList&csrf_token={csrf_token}'"))["plugins"]
expected_plugins = ["auth_internal", "auth_ldap", "feediron", "note"];
found_plugins = [p["name"] for p in plugins if p["name"] in expected_plugins]
assert len(found_plugins) == len(expected_plugins), f"Expected plugins {expected_plugins}, found {found_plugins}"
'';
}
+20 -2
View File
@@ -47,7 +47,7 @@ lib.makeOverridable (
# Hashes, handled by `lib.fetchers.withNormalizedHash`
# whose outputs contain outputHash* attributes.
"hash"
# Use `hash` when overriding with `<pkg>.overrideAttrs`.
"sha256"
];
@@ -131,6 +131,11 @@ lib.makeOverridable (
server admins start using the new version?
*/
let
finalHashHasColon = lib.hasInfix ":" finalAttrs.hash;
finalHashColonMatch = lib.match "([^:]+)[:](.*)" finalAttrs.hash;
in
derivationArgs
// {
inherit name;
@@ -145,7 +150,20 @@ lib.makeOverridable (
++ lib.optionals fetchLFS [ git-lfs ]
++ nativeBuildInputs;
inherit outputHash outputHashAlgo;
hash =
if outputHashAlgo == null || outputHash == "" || lib.hasPrefix outputHashAlgo outputHash then
outputHash
else
"${outputHashAlgo}:${outputHash}";
outputHash =
if finalAttrs.hash == "" then
lib.fakeHash
else if finalHashHasColon then
lib.elemAt finalHashColonMatch 1
else
finalAttrs.hash;
outputHashAlgo = if finalHashHasColon then lib.head finalHashColonMatch else null;
outputHashMode = "recursive";
sparseCheckout =
+22 -4
View File
@@ -64,7 +64,6 @@ lib.extendMkDerivation {
"derivationArgs"
# Hash attributes will be map to the corresponding outputHash*
"hash"
"sha1"
"sha256"
"sha512"
@@ -214,12 +213,15 @@ lib.extendMkDerivation {
}
else if cacert != null then
{
outputHashAlgo = "sha256";
outputHash = "";
outputHashAlgo = null;
outputHash = lib.fakeHash;
}
else
throw "fetchurl requires a hash for fixed-output derivation: ${lib.generators.toPretty { } urls_}";
finalHashHasColon = lib.hasInfix ":" finalAttrs.hash;
finalHashColonMatch = lib.match "([^:]+)[:](.*)" finalAttrs.hash;
resolvedUrl =
let
mirrorSplit = lib.match "mirror://([[:alpha:]]+)/(.+)" url;
@@ -259,7 +261,23 @@ lib.extendMkDerivation {
preferHashedMirrors = false;
# New-style output content requirements.
inherit (hash_) outputHashAlgo outputHash;
hash =
if
hash_.outputHashAlgo == null
|| hash_.outputHash == ""
|| lib.hasPrefix hash_.outputHashAlgo hash_.outputHash
then
hash_.outputHash
else
"${hash_.outputHashAlgo}:${hash_.outputHash}";
outputHashAlgo = if finalHashHasColon then lib.head finalHashColonMatch else null;
outputHash =
if finalAttrs.hash == "" then
lib.fakeHash
else if finalHashHasColon then
lib.elemAt finalHashColonMatch 1
else
finalAttrs.hash;
# Disable TLS verification only when we know the hash and no credentials are
# needed to access the resource
+2 -2
View File
@@ -49,8 +49,8 @@ let
clapJuceExtensions = fetchFromGitHub {
owner = "free-audio";
repo = "clap-juce-extensions";
rev = "4f33b4930b6af806018c009f0f24b3a50808af99";
hash = "sha256-M+T7ll3Ap6VIP5ub+kfEKwT2RW2IxxY4wUPRQKFIotk=";
rev = "645ed2fd0949d36639e3d63333f26136df6df769";
hash = "sha256-Lx88nyEFjPLA5yh8rrqBdyZIxe/j0FgIHoyKcbjuuI4=";
fetchSubmodules = true;
};
+15 -15
View File
@@ -9,16 +9,15 @@
versionCheckHook,
callPackage,
}:
buildGoModule rec {
buildGoModule (finalAttrs: {
pname = "alist";
version = "3.45.0";
webVersion = "3.45.0";
version = "3.55.0";
src = fetchFromGitHub {
owner = "AlistGo";
repo = "alist";
tag = "v${version}";
hash = "sha256-h8oWeTX3z3xye5O4+s7LA7Wm36JOrsU+UdKGZXaDKXk=";
tag = "v${finalAttrs.version}";
hash = "sha256-/psFL/dCG82y1uWEcg45JG6S7+MD0avqU/HjrR+vklA=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -30,13 +29,9 @@ buildGoModule rec {
find "$out" -name .git -print0 | xargs -0 rm -rf
'';
};
web = fetchzip {
url = "https://github.com/AlistGo/alist-web/releases/download/${webVersion}/dist.tar.gz";
hash = "sha256-rNVa+dr/SX2aYHBzeV8QdD5XYCFyelhbqkTpvhF+S2g=";
};
proxyVendor = true;
vendorHash = "sha256-IMoLVAgOaVM1xIFDe8BGOpzyBnDMfD9Q6VogFfOWFzU=";
vendorHash = "sha256-aRnS3LLG25FK1ELKd7K1e5aGLmKnQ7w/3QVe4P9RRLI=";
buildInputs = [ fuse ];
@@ -46,13 +41,13 @@ buildGoModule rec {
"-s"
"-w"
"-X \"github.com/alist-org/alist/v3/internal/conf.GitAuthor=Xhofe <i@nn.ci>\""
"-X github.com/alist-org/alist/v3/internal/conf.Version=${version}"
"-X github.com/alist-org/alist/v3/internal/conf.WebVersion=${webVersion}"
"-X github.com/alist-org/alist/v3/internal/conf.Version=${finalAttrs.version}"
"-X github.com/alist-org/alist/v3/internal/conf.WebVersion=${finalAttrs.passthru.webVersion}"
];
preConfigure = ''
rm -rf public/dist
cp -r ${web} public/dist
cp -r ${finalAttrs.passthru.web} public/dist
'';
preBuild = ''
@@ -92,12 +87,17 @@ buildGoModule rec {
passthru = {
updateScript = lib.getExe (callPackage ./update.nix { });
webVersion = "3.55.0";
web = fetchzip {
url = "https://github.com/AlistGo/alist-web/releases/download/${finalAttrs.passthru.webVersion}/dist.tar.gz";
hash = "sha256-v0o4G2mzd63sShJZRjijIFAUB+ocvF4jspxf841lZ8U=";
};
};
meta = {
description = "File list/WebDAV program that supports multiple storages";
homepage = "https://github.com/alist-org/alist";
changelog = "https://github.com/alist-org/alist/releases/tag/v${version}";
changelog = "https://github.com/alist-org/alist/releases/tag/v${finalAttrs.version}";
license = with lib.licenses; [
agpl3Only
# alist-web
@@ -115,4 +115,4 @@ buildGoModule rec {
];
mainProgram = "alist";
};
}
})
+2 -2
View File
@@ -5,7 +5,7 @@
libspelling,
fetchFromGitHub,
python312Packages,
nodePackages,
mathjax,
meson,
ninja,
pkg-config,
@@ -57,7 +57,7 @@ python312Packages.buildPythonApplication {
# Use mathjax from nixpkgs to avoid loading from CDN
+ ''
substituteInPlace apostrophe/preview_converter.py \
--replace-fail "--mathjax" "--mathjax=file://${nodePackages.mathjax}/lib/node_modules/mathjax/es5/tex-chtml-full.js"
--replace-fail "--mathjax" "--mathjax=file://${mathjax}/lib/node_modules/mathjax/tex-chtml-full.js"
'';
# Should be done in postInstall, but meson checks this eagerly before build
+2 -2
View File
@@ -27,13 +27,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "bazaar";
version = "0.5.10";
version = "0.6.0";
src = fetchFromGitHub {
owner = "kolunmi";
repo = "bazaar";
tag = "v${finalAttrs.version}";
hash = "sha256-isswXfOJZ04MQbaQ6AcNSxasNllGSRS6vukskS0FvCk=";
hash = "sha256-78X2Vxytxan0OD7cNgL1y4LUBaqgoKb+k80sCIi9ag4=";
};
nativeBuildInputs = [
@@ -8,16 +8,16 @@
buildGoModule rec {
pname = "clickhouse-backup";
version = "2.6.39";
version = "2.6.41";
src = fetchFromGitHub {
owner = "Altinity";
repo = "clickhouse-backup";
rev = "v${version}";
hash = "sha256-fx300EyGm9iy4kozcffh8KZz/EYF6yqkdNLSqW1dYQg=";
hash = "sha256-o7twdOyd53rP95Pi+l5MIo+U/lDqB0cynqONokfy8do=";
};
vendorHash = "sha256-MwyjjEePxcwcESfBhmFtYy8aOI50HL7x05cJyGk5gGg=";
vendorHash = "sha256-UxbQ/Q4HsTBkbIMBdeKns6t8tZnfdBRaHDMOA2RYDLI=";
ldflags = [
"-X main.version=${version}"
+18 -9
View File
@@ -2,26 +2,35 @@
lib,
rustPlatform,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
rustPlatform.buildRustPackage (finalAttrs: {
pname = "fblog";
version = "4.16.0";
version = "4.17.0";
src = fetchFromGitHub {
owner = "brocode";
repo = "fblog";
rev = "v${version}";
hash = "sha256-SWwk7qNe2R1aBYGBFqltUZjeOvr4jG1P7/CPIAfHCc8=";
rev = "v${finalAttrs.version}";
hash = "sha256-SDOYW9CpC7E62nVnZL04Kx9ckVEZyvcMolJCfKDqdMk=";
};
cargoHash = "sha256-du9FXuUNqQm1AMqcCFqeso5OPrPCxzTVl5e7kR0rpwc=";
cargoHash = "sha256-Pn8HsBz+5OHz4jF6xmORLQSLYClTHpaJXWiS5sPyV2w=";
meta = with lib; {
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
meta = {
description = "Small command-line JSON log viewer";
mainProgram = "fblog";
homepage = "https://github.com/brocode/fblog";
license = licenses.wtfpl;
maintainers = [ ];
changelog = "https://github.com/brocode/fblog/releases/tag/v${finalAttrs.version}";
license = lib.licenses.wtfpl;
maintainers = [ lib.maintainers.progrm_jarvis ];
};
}
})
+5 -2
View File
@@ -38,6 +38,10 @@ let
# These tests rely on outbound IP address
"TestHandler"
"TestHandler_gcCache"
]
++ lib.optionals stdenv.isDarwin [
# Uses docker-specific options, unsupported on Darwin
"TestMergeJobOptions"
];
in
buildGoModule rec {
@@ -91,8 +95,6 @@ buildGoModule rec {
};
meta = with lib; {
# Cannot process container options: '--pid=host --device=/dev/sda': 'unknown server OS: darwin'
broken = stdenv.hostPlatform.isDarwin;
description = "Runner for Forgejo based on act";
homepage = "https://code.forgejo.org/forgejo/runner";
changelog = "https://code.forgejo.org/forgejo/runner/releases/tag/${src.rev}";
@@ -102,6 +104,7 @@ buildGoModule rec {
emilylange
christoph-heiss
tebriel
nrabulinski
];
mainProgram = "forgejo-runner";
};
@@ -168,5 +168,9 @@ buildNpmPackage (finalAttrs: {
];
platforms = lib.platforms.linux;
mainProgram = "pangolin";
insecure = true;
knownVulnerabilities = [
"CVE-2025-55182"
];
};
})
+1 -6
View File
@@ -12,12 +12,7 @@
gettext,
}:
let
python = python3Packages.python.override {
packageOverrides = self: super: {
django_5 = super.django_5.override { withGdal = true; };
django = super.django_5;
};
};
inherit (froide) python;
in
python.pkgs.buildPythonApplication rec {
pname = "froide-govplan";
+4
View File
@@ -191,6 +191,10 @@ python.pkgs.buildPythonApplication rec {
# Playwright tests not supported on RiscV yet
doCheck = lib.meta.availableOn stdenv.hostPlatform playwright-driver.browsers;
passthru = {
inherit python;
};
meta = {
description = "Freedom of Information Portal";
homepage = "https://github.com/okfde/froide";
+4 -1
View File
@@ -119,7 +119,10 @@ rustPlatform.buildRustPackage rec {
records and runs on all major operating systems plus the web.
'';
homepage = "https://ajfarkas.dev/hyperspeedcube/";
license = lib.licenses.cc-by-nc-sa-40;
license = with lib.licenses; [
mit
asl20
];
maintainers = [ lib.maintainers.omnipotententity ];
platforms = [ "x86_64-linux" ];
};
+5 -5
View File
@@ -4,25 +4,25 @@
fetchFromGitHub,
pkg-config,
wrapGAppsHook4,
gtk4,
gtk4-layer-shell,
hyprland,
gcc,
pixman,
libadwaita,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "hyprshell";
version = "4.7.2";
version = "4.8.1";
src = fetchFromGitHub {
owner = "H3rmt";
repo = "hyprshell";
tag = "v${finalAttrs.version}";
hash = "sha256-6WC7vcPdtKR4iw5VHF88i/NQ+EBfvGxex8AvJONnG5w=";
hash = "sha256-NsFOXepWzgbopnoqwg8EekDLbj01jr8vjaEz/F3QFKU=";
};
cargoHash = "sha256-g23W5cgGxWNyJ4uew2x12vgF5Bvaid1+phV2fxyHbas=";
cargoHash = "sha256-/4mC1cgQKOSOME8WT61hggyHPALj0knVPtGZTa7lO1w=";
nativeBuildInputs = [
wrapGAppsHook4
@@ -30,7 +30,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
];
buildInputs = [
gtk4
libadwaita
gtk4-layer-shell
];
+2 -11
View File
@@ -2,28 +2,19 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
}:
stdenv.mkDerivation rec {
pname = "ioping";
version = "1.2";
version = "1.3";
src = fetchFromGitHub {
owner = "koct9i";
repo = "ioping";
rev = "v${version}";
sha256 = "10bv36bqga8sdifxzywzzpjil7vmy62psirz7jbvlsq1bw71aiid";
hash = "sha256-9lJEjns8ttjgI52ZXeWgL77GMd7o7IvefBJ5UH9y9ks=";
};
patches = [
# add netdata support: https://github.com/koct9i/ioping/pull/41
(fetchpatch {
url = "https://github.com/koct9i/ioping/commit/e7b818457ddb952cbcc13ae732ba0328f6eb73b3.patch";
sha256 = "122ivp4rqsnjszjfn33z8li6glcjhy7689bgipi8cgs5q55j99gf";
})
];
makeFlags = [ "PREFIX=$(out)" ];
meta = with lib; {
+3 -3
View File
@@ -6,16 +6,16 @@
buildGoModule rec {
pname = "kubectl-gadget";
version = "0.46.0";
version = "0.47.0";
src = fetchFromGitHub {
owner = "inspektor-gadget";
repo = "inspektor-gadget";
rev = "v${version}";
hash = "sha256-y5eqkTt9CnEPOyFERWhBPqrgnMGaVuWN2FoDV0pDjdI=";
hash = "sha256-ZGi7zsIphiXNLfVc6u+ZSGsgWWcMaBpyt1BpwS2WRCU=";
};
vendorHash = "sha256-TBaMbIwR/7MzPn8rYgjqeMLma3arwr5W9HiTztd8z9E=";
vendorHash = "sha256-0vpPBQ1ty4FZMj3bgB56Gu5pNdo7SyhxvGQOHos6m9s=";
env.CGO_ENABLED = 0;
+1 -1
View File
@@ -73,7 +73,7 @@ python3Packages.buildPythonApplication rec {
homepage = "https://apps.gnome.org/Letterpress/";
changelog = "https://gitlab.gnome.org/World/Letterpress/-/releases/${version}";
license = licenses.gpl3Plus;
maintainers = [ maintainers.dawidd6 ];
maintainers = [ ];
teams = [ teams.gnome-circle ];
platforms = platforms.linux;
mainProgram = "letterpress";
+35
View File
@@ -0,0 +1,35 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mathjax";
version = "4.0.0";
src = fetchFromGitHub {
owner = "mathjax";
repo = "mathjax";
tag = finalAttrs.version;
hash = "sha256-36lTjx4zuFeT1+QFemiQcCZfAjyh7vFPpYeRhO2mzGI=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/lib/node_modules/mathjax
mv * $out/lib/node_modules/mathjax
# This is a MathJax v3 compat shim, notably still needed for sagemath
ln -s $out/lib/node_modules/mathjax $out/lib/node_modules/mathjax/es5
runHook postInstall
'';
meta = {
changelog = "https://github.com/mathjax/MathJax/releases/tag/${finalAttrs.version}";
description = "Beautiful and accessible math in all browsers";
homepage = "https://www.mathjax.org/";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ pyrox0 ];
};
})
@@ -9,14 +9,14 @@
python3Packages.buildPythonApplication rec {
pname = "nebula-lighthouse-service";
version = "2.0.0";
version = "2.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "manuels";
repo = "nebula-lighthouse-service";
tag = "v${version}";
hash = "sha256-cRwmOGuPEYlURVbaf9AwaSmhvUzzZvATv5RGPUztnbY=";
hash = "sha256-I2eoofEAY1Bbk17opx5cHWK4R+n2RE8JOUVGX1409Xk=";
};
postPatch = ''
@@ -5,6 +5,7 @@
fetchpatch,
installShellFiles,
python3Packages,
python3,
asciidoc,
wrapGAppsNoGuiHook,
iw,
@@ -46,10 +47,14 @@ stdenv.mkDerivation rec {
asciidoc # for a2x
installShellFiles
wrapGAppsNoGuiHook
python3Packages.wrapPython
];
dontWrapGApps = true;
buildInputs = [
(python3.withPackages (ps: [
ps.dbus-python
ps.pygobject3
]))
];
checkInputs = with python3Packages; [
dbus-python
@@ -59,14 +64,10 @@ stdenv.mkDerivation rec {
pytestCheckHook
];
pythonPath = with python3Packages; [
dbus-python
pygobject3
];
installPhase = ''
runHook preInstall
install -D -m755 -t $out/bin networkd-dispatcher
patchShebangs --host $out/bin/networkd-dispatcher
install -Dm644 networkd-dispatcher.service $out/lib/systemd/system/networkd-dispatcher.service
install -Dm644 networkd-dispatcher.conf $out/etc/conf.d/networkd-dispatcher.conf
installManPage networkd-dispatcher.8
@@ -76,13 +77,7 @@ stdenv.mkDerivation rec {
doCheck = true;
preFixup = ''
makeWrapperArgs+=( \
"''${gappsWrapperArgs[@]}" \
--prefix PATH : "${lib.makeBinPath [ iw ]}" \
)
'';
postFixup = ''
wrapPythonPrograms
gappsWrapperArgs+=("--prefix" "PATH" ":" "${lib.makeBinPath [ iw ]}")
'';
meta = with lib; {
+10 -1
View File
@@ -4,12 +4,13 @@
rustPlatform,
installShellFiles,
fetchFromGitHub,
fetchpatch,
nix-update-script,
buildPackages,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "nh-unwrapped";
version = "4.2.0";
version = "4.2.0"; # Did you remove the patch below (and this comment)?
src = fetchFromGitHub {
owner = "nix-community";
@@ -18,6 +19,13 @@ rustPlatform.buildRustPackage (finalAttrs: {
hash = "sha256-6n5SVO8zsdVTD691lri7ZcO4zpqYFU8GIvjI6dbxkA8=";
};
patches = [
(fetchpatch {
url = "https://github.com/nix-community/nh/commit/8bf323483166797a204579a43ed8810113eb128c.patch";
hash = "sha256-hg0LgDPjiPWR+1DRzqORv6QPlrds7ys4PTDXFw6PUoI=";
})
];
strictDeps = true;
nativeBuildInputs = [
@@ -56,6 +64,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
mainProgram = "nh";
maintainers = with lib.maintainers; [
NotAShelf
mdaniels5757
viperML
midischwarz12
];
+10 -4
View File
@@ -1,25 +1,28 @@
{
lib,
nix,
nix-update-script,
fetchFromGitHub,
rustPlatform,
}:
rustPlatform.buildRustPackage rec {
pname = "nps";
version = "0.2.9";
version = "0.2.12";
src = fetchFromGitHub {
owner = "OleMussmann";
repo = "nps";
tag = "v${version}";
hash = "sha256-q/PkigsNAI7MCmeDFBMGuZJFXVL95pQCNOVhNvBH9dc=";
hash = "sha256-kOVpn13lJYeO/99e39c0wbe7qcKHyMj5v4prBtZ3N7s=";
};
cargoHash = "sha256-MThyvhzZXRM4l0K8csLDldMVKiDxKZ5EIFATGVpGpVc=";
cargoHash = "sha256-dJA9fOU06txPAx5kMl7aGoFeKo7UXqB7X+viUfJqG/M=";
nativeCheckInputs = [ nix ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Cache the nix package list, query and sort results by relevance";
longDescription = ''
@@ -38,7 +41,10 @@ rustPlatform.buildRustPackage rec {
homepage = "https://github.com/OleMussmann/nps";
license = lib.licenses.mit;
mainProgram = "nps";
maintainers = with lib.maintainers; [ olemussmann ];
maintainers = with lib.maintainers; [
mdaniels5757
olemussmann
];
platforms = lib.platforms.all;
};
}
+2 -2
View File
@@ -138,13 +138,13 @@ in
goBuild (finalAttrs: {
pname = "ollama";
# don't forget to invalidate all hashes each update
version = "0.13.1";
version = "0.13.2";
src = fetchFromGitHub {
owner = "ollama";
repo = "ollama";
tag = "v${finalAttrs.version}";
hash = "sha256-1+ACdAaad74LttkdJ9L/T0PFNNkBWHKuOpVczv6iQeA=";
hash = "sha256-ffovCXdL/Ooo2Gi/G/A5d+vIwa9LFnaiV1931x2vyG8=";
};
vendorHash = "sha256-NM0vtue0MFrAJCjmpYJ/rPEDWBxWCzBrWDb0MVOhY+Q=";
+4 -4
View File
@@ -11,21 +11,21 @@
rustPlatform.buildRustPackage rec {
pname = "parseable";
version = "2.4.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "parseablehq";
repo = "parseable";
tag = "v${version}";
hash = "sha256-0PyXrwFh2YroxeAPL2GCZiOUfzFLThN0ZnL0a7BDnfw=";
hash = "sha256-+KTSpkrMlIu24YvHvLOLHZiqRZua3D7/kprFqtRuNOQ=";
};
LOCAL_ASSETS_PATH = fetchzip {
url = "https://parseable-prism-build.s3.us-east-2.amazonaws.com/v${version}/build.zip";
hash = "sha256-7uJvWAGDexzWhnm1ofPHzoRD8Q70fQ+eyUPpQHcWv4o=";
hash = "sha256-tSH9gyB9T2ywut+joLIp55Us2ALKvgsyiG/gBQgYLfI=";
};
cargoHash = "sha256-VAdivS7zxoFrjeTnRGbUqtEgCj73iF29ZiCUfzdP1Yo=";
cargoHash = "sha256-3hMGiQmXxar4n4cGPrj4UUznNi8V5YokH+29UGmz34Y=";
nativeBuildInputs = [ pkg-config ];
+4 -4
View File
@@ -19,14 +19,14 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pavucontrol";
version = "6.1";
version = "6.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "pulseaudio";
repo = "pavucontrol";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-cru4I+LljYKIpIr7gSolnuLuUIXgc8l+JUmPrme4+YA=";
tag = "v${finalAttrs.version}";
hash = "sha256-If76Qt2BFgGMYt2PSzDQWmNPsbzneZ6zW9yYnS3lo84=";
};
buildInputs = [
@@ -48,7 +48,7 @@ stdenv.mkDerivation (finalAttrs: {
mesonFlags = [
"--prefix=${placeholder "out"}"
(lib.mesonBool "lynx" false)
(lib.mesonEnable "lynx" false)
];
enableParallelBuilding = true;
-69
View File
@@ -1,69 +0,0 @@
{
stdenv,
lib,
fetchFromGitHub,
autoreconfHook,
gettext,
libtool,
pkg-config,
djvulibre,
exiv2,
fontconfig,
graphicsmagick,
libjpeg,
libuuid,
poppler,
}:
stdenv.mkDerivation rec {
version = "0.9.19";
pname = "pdf2djvu";
src = fetchFromGitHub {
owner = "jwilk";
repo = "pdf2djvu";
rev = version;
sha256 = "sha256-j4mYdmLZ56qTA1KbWBjBvyTyLaeuIITKYsALRIO7lj0=";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
djvulibre
exiv2
fontconfig
graphicsmagick
libjpeg
libuuid
poppler
];
postPatch = ''
substituteInPlace private/autogen \
--replace /usr/share/gettext ${gettext}/share/gettext \
--replace /usr/share/libtool ${libtool}/share/libtool
substituteInPlace configure.ac \
--replace '$djvulibre_bin_path' ${djvulibre.bin}/bin
'';
preAutoreconf = ''
private/autogen
'';
enableParallelBuilding = true;
# Required by Poppler
CXXFLAGS = "-std=c++20";
meta = with lib; {
description = "Creates djvu files from PDF files";
homepage = "https://jwilk.net/software/pdf2djvu";
license = licenses.gpl2Only;
maintainers = with maintainers; [ pSub ];
mainProgram = "pdf2djvu";
};
}
+2 -2
View File
@@ -24,13 +24,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "peazip";
version = "10.7.0";
version = "10.8.0";
src = fetchFromGitHub {
owner = "peazip";
repo = "peazip";
rev = finalAttrs.version;
hash = "sha256-JVSr4ztDHjJF+vzhaMSSAWt6PEtxNzfCRBQBlfLA4xs=";
hash = "sha256-A95rFW5kZ+gUbaLkAXRKu8jaBb43ONX+2wZXDWfT2G4=";
};
sourceRoot = "${finalAttrs.src.name}/peazip-sources";
+3 -3
View File
@@ -10,16 +10,16 @@
php.buildComposerProject2 (finalAttrs: {
pname = "phpunit";
version = "12.4.4";
version = "12.5.1";
src = fetchFromGitHub {
owner = "sebastianbergmann";
repo = "phpunit";
tag = finalAttrs.version;
hash = "sha256-J57kK1wtiNJ54pAwnQNxvqdmA/omVyZKrnRJSeNX0Tg=";
hash = "sha256-fbHHoqCHL3KizoVRWm+Dj+nfb5CLF8SGfMc1D2OjbHY=";
};
vendorHash = "sha256-xaOM6BHaW4aEm5tAv3zFRg4QpV8L3p8y7KoipWtnqKI=";
vendorHash = "sha256-CuH86qqKVIQSRgTslKWBt8c9G06Ti6hbFw3bQ0ouL3k=";
passthru = {
updateScript = nix-update-script { };
@@ -0,0 +1,30 @@
{
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
pname = "prettier-plugin-jinja-template";
version = "2.1.0";
src = fetchFromGitHub {
owner = "davidodenwald";
repo = "prettier-plugin-jinja-template";
tag = "v${finalAttrs.version}";
hash = "sha256-qAmN4VJCJana7YbrQC/51JKCbP2DN10HpIt+S88yvPE=";
};
npmDepsHash = "sha256-/m0+z2fSwX77zRY4Yg4xdyI/ZEzAKNUuicaqz0b8f5w=";
passthru.update-script = nix-update-script { };
meta = {
description = "Formatter plugin for Jinja2 template files";
homepage = "https://github.com/davidodenwald/prettier-plugin-jinja-template";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ adamperkowski ];
mainProgram = "prettier-plugin-jinja-template";
};
})
+3 -3
View File
@@ -20,13 +20,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "readest";
version = "0.9.94";
version = "0.9.95";
src = fetchFromGitHub {
owner = "readest";
repo = "readest";
tag = "v${finalAttrs.version}";
hash = "sha256-yDMVkcypw+7zoVAUeVL23agNr8rG3gvNJFbVJW/VNKY=";
hash = "sha256-0fWxmip7Emu4z4v5VyV0nW9Dj1JvOOLJub1szboawP8=";
fetchSubmodules = true;
};
@@ -40,7 +40,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
fetcherVersion = 1;
hash = "sha256-Q+kGrf24zKeLyM4JhSXXKtKRGQbwwiHm+aUuHHSyN/U=";
hash = "sha256-hYwkPqePFPEdqZ3w0mNvNEypsVL1PKv29LFk7b11zkg=";
};
pnpmRoot = "../..";
+2 -2
View File
@@ -10,7 +10,7 @@
# is always preferred, see `sage-src.nix` for that.
let
inherit (pkgs) symlinkJoin callPackage nodePackages;
inherit (pkgs) symlinkJoin callPackage mathjax;
python3 = pkgs.python3 // {
pkgs = pkgs.python3.pkgs.overrideScope (
@@ -66,7 +66,7 @@ let
inherit singular maxima;
inherit three;
cysignals = python3.pkgs.cysignals;
mathjax = nodePackages.mathjax;
mathjax = mathjax;
};
# The shell file that gets sourced on every sage start. Will also source
@@ -0,0 +1,34 @@
{
lib,
nixosTests,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "tt-rss-plugin-auth-ldap";
version = "unstable-2022-11-30";
src = fetchFromGitHub {
owner = "hydrian";
repo = "TTRSS-Auth-LDAP";
rev = "582ade49fd433a30b403caa1d0689fca5f3c99e1";
sha256 = "sha256-favz/2KvWqvv8ehTv3gc7TBbFDjkrOmutChnyKPgces=";
};
installPhase = ''
install -D plugins/auth_ldap/init.php $out/auth_ldap/init.php
'';
passthru = {
tests = { inherit (nixosTests) tt-rss; };
};
meta = with lib; {
description = "Plugin for TT-RSS to authenticate users via ldap";
license = licenses.asl20;
homepage = "https://github.com/hydrian/TTRSS-Auth-LDAP";
maintainers = with maintainers; [ mic92 ];
platforms = platforms.all;
};
}
@@ -0,0 +1,33 @@
{
lib,
stdenv,
fetchgit,
}:
stdenv.mkDerivation {
pname = "tt-rss-plugin-data-migration";
version = "0-unstable-2023-11-01";
src = fetchgit {
url = "https://git.tt-rss.org/fox/ttrss-data-migration.git";
rev = "e13d5f97b4887ce7b57b3d76228d838dec15963d";
hash = "sha256-xnbR5IQ0h7ilxchNj55ROZdq1L7MIAwv3/00k09WTTs=";
};
installPhase = ''
runHook preInstall
install -D init.php $out/data_migration/init.php
runHook postInstall
'';
meta = {
description = "Plugin for TT-RSS to exports and imports *all* articles of a specific user via neutral format (JSON files in a ZIP archive)";
# this plugin doesn't have a license file
license = lib.licenses.unfree;
homepage = "https://git.tt-rss.org/fox/ttrss-data-migration.git/";
maintainers = with lib.maintainers; [ wrvsrx ];
platforms = lib.platforms.all;
};
}
@@ -0,0 +1,38 @@
{
lib,
stdenv,
fetchFromGitHub,
tt-rss,
}:
stdenv.mkDerivation rec {
pname = "tt-rss-plugin-feediron";
version = "1.33";
src = fetchFromGitHub {
owner = "feediron";
repo = "ttrss_plugin-feediron";
rev = "v${version}";
sha256 = "sha256-KU4XQJNK7Ua7rZaXA32lv16RlloCysAb54E5kEY847A=";
};
installPhase = ''
mkdir -p $out/feediron
cp -r bin filters init.php preftab recipes $out/feediron/
'';
meta = with lib; {
description = "Evolution of ttrss_plugin-af_feedmod";
longDescription = ''
This is a plugin for Tiny Tiny RSS (tt-rss).
It allows you to replace an article's contents by the contents of an element on the linked URL's page
i.e. create a "full feed".
'';
license = licenses.mit;
homepage = "https://github.com/feediron/ttrss_plugin-feediron";
maintainers = with maintainers; [ milogert ];
inherit (tt-rss.meta) platforms;
};
}
@@ -0,0 +1,37 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "tt-rss-plugin-ff-instagram";
version = "0-unstable-2019-01-10"; # No release, see https://github.com/wltb/ff_instagram/issues/6
src = fetchFromGitHub {
owner = "wltb";
repo = "ff_instagram";
rev = "0366ffb18c4d490c8fbfba2f5f3367a5af23cfe8";
sha256 = "0vvzl6wi6jmrqknsfddvckjgsgfizz1d923d1nyrpzjfn6bda1vk";
};
installPhase = ''
mkdir -p $out/ff_instagram
cp *.php $out/ff_instagram
'';
meta = with lib; {
broken = true; # Plugin code does not conform to plugin API changes. See https://github.com/wltb/ff_instagram/issues/13
description = "Plugin for Tiny Tiny RSS that allows to fetch posts from Instagram user sites";
longDescription = ''
Plugin for Tiny Tiny RSS that allows to fetch posts from Instagram user sites.
The name of the plugin in TT-RSS is 'ff_instagram'.
'';
license = licenses.agpl3Plus;
homepage = "https://github.com/wltb/ff_instagram";
maintainers = with maintainers; [ gileri ];
platforms = platforms.all;
};
}
@@ -0,0 +1,35 @@
{
lib,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "tt-rss-plugin-freshapi";
version = "0-unstable-2024-11-14";
src = fetchFromGitHub {
owner = "eric-pierce";
repo = "freshapi";
rev = "44c98f12e8a4423501fc6d8cb7903cca11094dc6";
hash = "sha256-1cQ4QMrXOdtelAbmMEuhWJPFi5XrAoR3IGlFzb8122k=";
};
installPhase = ''
runHook preInstall
install -D init.php $out/freshapi/init.php
install -D api/greader.php $out/freshapi/api/greader.php
install -D api/freshapi.php $out/freshapi/api/freshapi.php
runHook postInstall
'';
meta = {
description = "FreshRSS / Google Reader API Plugin for Tiny-Tiny RSS";
license = lib.licenses.agpl3Only;
homepage = "https://github.com/eric-pierce/freshapi";
maintainers = with lib.maintainers; [ wrvsrx ];
platforms = lib.platforms.all;
};
}
@@ -0,0 +1,38 @@
{
lib,
nixosTests,
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
pname = "tt-rss-theme-feedly";
version = "4.1.0";
src = fetchFromGitHub {
owner = "levito";
repo = "tt-rss-feedly-theme";
rev = "v${version}";
sha256 = "sha256-3mD1aY7gjdvucRzY7sLmZ1RsHtraAg1RGE/3uDp6/o4=";
};
dontBuild = true;
installPhase = ''
mkdir $out
cp -ra feedly *.css $out
'';
passthru = {
tests = { inherit (nixosTests) tt-rss; };
};
meta = with lib; {
description = "Feedly theme for Tiny Tiny RSS";
license = licenses.mit;
homepage = "https://github.com/levito/tt-rss-feedly-theme";
maintainers = with maintainers; [ das_j ];
platforms = platforms.all;
};
}
+49
View File
@@ -0,0 +1,49 @@
# nixpkgs-update: no auto update
{
lib,
stdenv,
fetchgit,
nixosTests,
unstableGitUpdater,
}:
stdenv.mkDerivation rec {
pname = "tt-rss";
version = "0-unstable-2025-11-01";
src = fetchgit {
url = "https://github.com/tt-rss/tt-rss.git";
rev = "912162ad811869af334232d32fe6c79b3cf095ca";
hash = "sha256-2U9V4MTWGNZzdVr9AlH/S7KdBGPap+mm5/KieWLcF1A=";
};
installPhase = ''
runHook preInstall
mkdir $out
cp -ra * $out/
# see the code of Config::get_version(). you can check that the version in
# the footer of the preferences pages is not UNKNOWN
echo "${version}" > $out/version_static.txt
runHook postInstall
'';
passthru = {
tests = { inherit (nixosTests) tt-rss; };
updateScript = unstableGitUpdater { hardcodeZeroVersion = true; };
};
meta = with lib; {
description = "Web-based news feed (RSS/Atom) aggregator";
license = licenses.gpl3Plus;
homepage = "https://tt-rss.org";
maintainers = with maintainers; [
gileri
globin
zohl
];
platforms = platforms.all;
};
}
+16 -5
View File
@@ -30,6 +30,15 @@ stdenv.mkDerivation (finalAttrs: {
fetchSubmodules = true;
};
postPatch = ''
# LTO needs special setup on Linux
substituteInPlace CMakeLists.txt \
--replace-fail 'juce::juce_recommended_lto_flags' '# Not forcing LTO'
rm -rf clap-juce-extensions
ln -s ${finalAttrs.passthru.clapJuceExtensions} clap-juce-extensions
'';
strictDeps = true;
nativeBuildInputs = [
@@ -56,11 +65,13 @@ stdenv.mkDerivation (finalAttrs: {
(lib.cmakeFeature "USE_SYSTEM_JUCE" "ON")
];
# LTO needs special setup on Linux
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail 'juce::juce_recommended_lto_flags' '# Not forcing LTO'
'';
passthru.clapJuceExtensions = fetchFromGitHub {
owner = "free-audio";
repo = "clap-juce-extensions";
rev = "645ed2fd0949d36639e3d63333f26136df6df769";
hash = "sha256-Lx88nyEFjPLA5yh8rrqBdyZIxe/j0FgIHoyKcbjuuI4=";
fetchSubmodules = true;
};
meta = {
description = "Wavetable synthesizer";
+2 -2
View File
@@ -20,13 +20,13 @@
}:
gcc15Stdenv.mkDerivation (finalAttrs: {
pname = "vicinae";
version = "0.16.12";
version = "0.16.14";
src = fetchFromGitHub {
owner = "vicinaehq";
repo = "vicinae";
tag = "v${finalAttrs.version}";
hash = "sha256-GolXMuAvhWqljCdMo/9hlY0Vo52Bxx+dnLfYQWr9tk8=";
hash = "sha256-G9zuw0IuzOxCeAcLE+IXcsdp0vAGMXBBdlfjBISnL90=";
};
apiDeps = fetchNpmDeps {
+2 -2
View File
@@ -12,12 +12,12 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wayland-bongocat";
version = "1.2.5";
version = "1.3.2";
src = fetchFromGitHub {
owner = "saatvik333";
repo = "wayland-bongocat";
tag = "v${finalAttrs.version}";
hash = "sha256-VkBuqmen6s/LDFu84skQ3wOpIeURZ5e93lvAiEdny70=";
hash = "sha256-hsCNbweWBqCQRCKnVTSQwwQCPz/U2KoqpZZE92Q5BhA=";
};
# Package dependencies
+3 -3
View File
@@ -20,7 +20,7 @@
libspectre,
libgxps,
webkitgtk_4_1,
nodePackages,
mathjax,
ninja,
djvulibre,
backends ? [
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
];
mesonFlags = [
"-Dmathjax-directory=${nodePackages.mathjax}"
"-Dmathjax-directory=${mathjax}"
"-Dintrospection=true"
]
++ (map (x: "-D${x}=true") backends);
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
libspectre
libgxps
webkitgtk_4_1
nodePackages.mathjax
mathjax
djvulibre
];
@@ -26,7 +26,7 @@
stdenv.mkDerivation rec {
pname = "elementary-files";
version = "7.1.6";
version = "7.2.0";
outputs = [
"out"
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
owner = "elementary";
repo = "files";
rev = version;
hash = "sha256-z6trjczB+ZLPvWO/R41PTSA1tSBIVD/kMF12TupwId4=";
hash = "sha256-m6ICWL2JZoWh3myHLOhrKZ4St8zJcyVWhfozg+kdOng=";
};
nativeBuildInputs = [
@@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "pantheon-agent-polkit";
version = "8.0.1";
version = "8.0.2";
src = fetchFromGitHub {
owner = "elementary";
repo = "pantheon-agent-polkit";
rev = version;
hash = "sha256-qqeB8SLuES/KoK7ycQ2J1YBA07HITovdnO8kSsrVcfs=";
hash = "sha256-tuugtrnamY9QMlF/ju5+4gwcEESFqH4jDH/kz790v5Y=";
};
nativeBuildInputs = [
@@ -323,6 +323,18 @@ self: super:
'';
}) super.di-core;
# Template Haskell on Darwin fails to load an available symbol in these
# transitive dependencies since GHC 9.10.3.
# See issue https://github.com/NixOS/nixpkgs/issues/461651
hercules-ci-agent = overrideCabal (old: {
preBuild = ''
DYLD_INSERT_LIBRARIES="''${DYLD_INSERT_LIBRARIES:+$DYLD_INSERT_LIBRARIES:}$(pkg-config --variable=libdir nix-store)/libnixstore.dylib:$(pkg-config --variable=libdir nix-util)/libnixutil.dylib"
export DYLD_INSERT_LIBRARIES
echo "DYLD_INSERT_LIBRARIES=$DYLD_INSERT_LIBRARIES"
''
+ (old.preBuild or "");
}) super.hercules-ci-agent;
# Require /usr/bin/security which breaks sandbox
http-reverse-proxy = dontCheck super.http-reverse-proxy;
servant-auth-server = dontCheck super.servant-auth-server;
@@ -242,6 +242,7 @@ mapAliases {
inherit (pkgs) markdown-link-check; # added 2024-06-28
markdownlint-cli = pkgs.markdownlint-cli; # added 2023-07-29
inherit (pkgs) markdownlint-cli2; # added 2023-08-22
inherit (pkgs) mathjax; # Added 2025-11-28
inherit (pkgs) mathjax-node-cli; # added 2023-11-02
mastodon-bot = throw "'mastodon-bot' has been removed because it was archived by upstream in 2021."; # Added 2025-11-07
mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
@@ -18,7 +18,6 @@
, "gulp-cli"
, "js-yaml"
, "lcov-result-merger"
, "mathjax"
, "node2nix"
, "postcss"
, "prebuild-install"
-18
View File
@@ -21722,24 +21722,6 @@ in
bypassCache = true;
reconstructLock = true;
};
mathjax = nodeEnv.buildNodePackage {
name = "mathjax";
packageName = "mathjax";
version = "3.2.2";
src = fetchurl {
url = "https://registry.npmjs.org/mathjax/-/mathjax-3.2.2.tgz";
sha512 = "Bt+SSVU8eBG27zChVewOicYs7Xsdt40qm4+UpHyX7k0/O9NliPc+x77k1/FEsPsjKPZGJvtRZM1vO+geW0OhGw==";
};
buildInputs = globalBuildInputs;
meta = {
description = "Beautiful and accessible math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers. This package includes the packaged components (install mathjax-full to get the source ";
homepage = "https://github.com/mathjax/MathJax#readme";
license = "Apache-2.0";
};
production = true;
bypassCache = true;
reconstructLock = true;
};
node2nix = nodeEnv.buildNodePackage {
name = "node2nix";
packageName = "node2nix";
@@ -2,7 +2,7 @@
buildDunePackage,
alcotest,
graphql,
ocaml_lwt,
lwt,
}:
buildDunePackage {
@@ -10,11 +10,9 @@ buildDunePackage {
inherit (graphql) version src;
duneVersion = "3";
propagatedBuildInputs = [
graphql
ocaml_lwt
lwt
];
checkInputs = [ alcotest ];
@@ -86,6 +86,6 @@ buildPythonPackage rec {
homepage = "https://github.com/ansible/ansible-compat";
changelog = "https://github.com/ansible/ansible-compat/releases/tag/${src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dawidd6 ];
maintainers = [ ];
};
}
@@ -1,8 +1,10 @@
{
lib,
buildPythonPackage,
dnspython,
fetchFromGitHub,
icalendar,
icalendar-searcher,
lxml,
manuel,
pytestCheckHook,
@@ -23,14 +25,14 @@
buildPythonPackage rec {
pname = "caldav";
version = "2.1.0";
version = "2.2.1";
pyproject = true;
src = fetchFromGitHub {
owner = "python-caldav";
repo = "caldav";
tag = "v${version}";
hash = "sha256-iVM3dBG2CNaMOUlEM0nGVKYUZHfX0LKjars7HJ1QWC0=";
hash = "sha256-FsIF4BcwAUyYw8J7o4j4CnSd8eIc1Yd5WtxErC6RZ7Y=";
};
build-system = [
@@ -39,9 +41,11 @@ buildPythonPackage rec {
];
dependencies = [
dnspython
lxml
requests
icalendar
icalendar-searcher
recurring-ical-events
];
@@ -57,6 +61,11 @@ buildPythonPackage rec {
(toPythonModule (xandikos.override { python3Packages = python.pkgs; }))
];
disabledTests = [
# test contacts CalDAV servers on the internet
"test_rfc8764_test_conf"
];
pythonImportsCheck = [ "caldav" ];
meta = with lib; {
@@ -29,6 +29,9 @@ buildPythonPackage rec {
homepage = "https://github.com/timofurrer/colorful";
changelog = "https://github.com/timofurrer/colorful/releases/tag/${src.tag}";
license = licenses.mit;
maintainers = with maintainers; [ kalbasit ];
maintainers = with maintainers; [
kalbasit
l33tname
];
};
}
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "django-pghistory";
version = "3.8.3";
version = "3.9.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Opus10";
repo = "django-pghistory";
tag = version;
hash = "sha256-Sx2dR5l86D+2t+1DViW1PfI74zyLmgwNm81zVmZ7IH8=";
hash = "sha256-v0Qya5IuRA2nD8LjVEtliDRL9Qxnanod6WhPCu5RJ90=";
};
build-system = [
@@ -14,12 +14,12 @@
buildPythonPackage rec {
pname = "hidapi";
version = "0.14.0.post4";
version = "0.15.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-SPziU+Um0XtmP7+ZicccfvdlPO1fS+ZfFDfDE/s9vfY=";
hash = "sha256-7LwmXL6Le4h1X0IeC6JfCECR7FUMK5D/no3dT81UAxE=";
};
build-system = [
@@ -0,0 +1,53 @@
{
buildPythonPackage,
fetchFromGitHub,
icalendar,
lib,
poetry-core,
poetry-dynamic-versioning,
pyicu,
pytestCheckHook,
recurring-ical-events,
}:
buildPythonPackage rec {
pname = "icalendar-searcher";
version = "1.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "python-caldav";
repo = "icalendar-searcher";
tag = "v${version}";
hash = "sha256-RwWm41+7AyoqwVGBaa+50ljUILJG5kCD4LMsULWjVEM=";
};
build-system = [
poetry-core
poetry-dynamic-versioning
];
dependencies = [
icalendar
recurring-ical-events
];
optional-dependencies = {
collation = [ pyicu ];
};
pythonImportsCheck = [ "icalendar_searcher" ];
nativeCheckInputs = [
pytestCheckHook
]
++ lib.concatAttrValues optional-dependencies;
meta = {
changelog = "https://github.com/python-caldav/icalendar-searcher/blob/${src.tag}/CHANGELOG.md";
description = "Search, filter and sort iCalendar components";
homepage = "https://github.com/python-caldav/icalendar-searcher";
license = lib.licenses.agpl3Only;
maintainers = [ lib.maintainers.dotlambda ];
};
}
@@ -72,7 +72,7 @@ buildPythonPackage rec {
homepage = "https://github.com/ansible-community/molecule";
changelog = "https://github.com/ansible/molecule/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ dawidd6 ];
maintainers = [ ];
mainProgram = "molecule";
};
}
@@ -37,7 +37,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Collection on molecule plugins";
homepage = "https://github.com/ansible-community/molecule-plugins";
maintainers = with maintainers; [ dawidd6 ];
maintainers = [ ];
license = licenses.mit;
};
}
@@ -22,14 +22,14 @@
buildPythonPackage rec {
pname = "nltk";
version = "3.9.1";
version = "3.9.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-h9EnvT3kvYmk+BJl5fpZyxsZmydEAXU3D3QX0rx66Gg=";
hash = "sha256-D0CemwacpBd8GQPD6EPu+Qx+kpkvpJMa5gfabeSeFBk=";
};
dependencies = [
@@ -0,0 +1,43 @@
{
aiohttp,
buildPythonPackage,
fetchFromGitHub,
lib,
mashumaro,
pytestCheckHook,
setuptools,
}:
buildPythonPackage rec {
pname = "python-google-weather-api";
version = "0.0.4";
pyproject = true;
src = fetchFromGitHub {
owner = "tronikos";
repo = "python-google-weather-api";
tag = "v${version}";
hash = "sha256-5ljKaIwG78oufb0iRaqTY46wxelAiuQUvhmRbZWo5Fk=";
};
build-system = [ setuptools ];
dependencies = [
aiohttp
mashumaro
];
pythonImportsCheck = [ "google_weather_api" ];
nativeCheckInputs = [
pytestCheckHook
];
meta = {
changelog = "https://github.com/tronikos/python-google-weather-api/releases/tag/${src.tag}";
description = "Python client library for the Google Weather API";
homepage = "https://github.com/tronikos/python-google-weather-api";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.dotlambda ];
};
}
@@ -10,7 +10,7 @@
}:
buildPythonPackage rec {
version = "1.22";
version = "1.23";
pname = "python-rapidjson";
pyproject = true;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "python-rapidjson";
repo = "python-rapidjson";
tag = "v${version}";
hash = "sha256-q+qIuFD3TboevD88iaBQxwOoOdb6I+yyCsNXIqMcR3g=";
hash = "sha256-BlEmEvwGAm3Ix2YwJSwrxgqqANqmgiWRiRWP91JITio=";
};
patches = [
@@ -96,6 +96,7 @@
tree-sitter-scala = lib.importJSON ./tree-sitter-scala.json;
tree-sitter-scheme = lib.importJSON ./tree-sitter-scheme.json;
tree-sitter-scss = lib.importJSON ./tree-sitter-scss.json;
tree-sitter-slint = lib.importJSON ./tree-sitter-slint.json;
tree-sitter-smithy = lib.importJSON ./tree-sitter-smithy.json;
tree-sitter-sml = lib.importJSON ./tree-sitter-sml.json;
tree-sitter-solidity = lib.importJSON ./tree-sitter-solidity.json;
@@ -0,0 +1,14 @@
{
"url": "https://github.com/slint-ui/tree-sitter-slint",
"rev": "96bc969d20ff347030519184ea2467f4046a524d",
"date": "2025-07-13T19:36:58Z",
"path": "/nix/store/vns80yp0k4hpjrdxyasbijnj1q2v1rlf-tree-sitter-slint",
"sha256": "0q55q7rjf53jvhdxxr4qbnxwi5j1vxbda6g9pw18swn11nw72dn9",
"hash": "sha256-yTZxuA3Bco0Cv+kZ1VbfQZbIu12Y5N4b3HIUJ/PBpWA=",
"fetchLFS": false,
"fetchSubmodules": false,
"deepClone": false,
"fetchTags": false,
"leaveDotGit": false,
"rootDir": ""
}
@@ -500,6 +500,10 @@ let
orga = "crystal-lang-tools";
repo = "tree-sitter-crystal";
};
"tree-sitter-slint" = {
orga = "slint-ui";
repo = "tree-sitter-slint";
};
};
pinnedGrammars = [
@@ -39,7 +39,7 @@ index dfccc661..85233f3b 100644
+set -eu -o pipefail +o posix
+shopt -s nullglob
+export PROG=\"{}\"
+\"{}\" $@",
+\"{}\" \"$@\"",
+ unwrapped_lld.to_string_lossy().to_string(),
+ ld_wrapper_path.to_string_lossy().to_string(),
+ );
+210 -210
View File
@@ -1,352 +1,352 @@
{
"aurorae": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/aurorae-6.5.3.tar.xz",
"hash": "sha256-veKz6r6F9CQmsylkuSgqtoiKlckkmlc6aAoPJ751dHA="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/aurorae-6.5.4.tar.xz",
"hash": "sha256-+88IekKANr5effxH5nb3OzZHE6azPWbf+lDqa97vsXY="
},
"bluedevil": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/bluedevil-6.5.3.tar.xz",
"hash": "sha256-7kHZ+GTQSYH5ITSx+rke4jxZwW16f9x/hQqa+sfQBVo="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/bluedevil-6.5.4.tar.xz",
"hash": "sha256-OBPu54ecgYHPFrW8cDsFZYaO390GLZ7DhHnEBsuzJPE="
},
"breeze": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/breeze-6.5.3.tar.xz",
"hash": "sha256-14KHWkUQwxQ1zNWq0gnrUZwKTd/bfaOS9U6uhjwuhpk="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/breeze-6.5.4.tar.xz",
"hash": "sha256-K1Cy6P8lDKeC/2X46lFAEh1UTYuLpOqjRdYiToB2w9E="
},
"breeze-grub": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/breeze-grub-6.5.3.tar.xz",
"hash": "sha256-SFOW2Up8UGzeZlxr+4BuT208kOIxmU+d3EsBU3V2e+M="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/breeze-grub-6.5.4.tar.xz",
"hash": "sha256-nyb6GML1WysYFjr/Z7gwxx8soSniBLRUycZ1c9tpEVY="
},
"breeze-gtk": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/breeze-gtk-6.5.3.tar.xz",
"hash": "sha256-0mpg9i/OwNq4IBeGP0tb64oHt6IcpIr0Rw5FC/nco6o="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/breeze-gtk-6.5.4.tar.xz",
"hash": "sha256-nKoO1Av8nW5cuZeC+uugUnE/G5n86/qjJuGALRaKNks="
},
"breeze-plymouth": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/breeze-plymouth-6.5.3.tar.xz",
"hash": "sha256-5RVJfEOFu9vXFd05NHSURPtOAqN0Is5EicGIcF4FNpo="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/breeze-plymouth-6.5.4.tar.xz",
"hash": "sha256-mq4caQ/Luwai0QkDBDSWDgWYKw50KAZvq33y2YJJzGM="
},
"discover": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/discover-6.5.3.tar.xz",
"hash": "sha256-2FutPU1ugVREFgzZ1uG9NX3IOZUQ+0Uv77JVmqruiYI="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/discover-6.5.4.tar.xz",
"hash": "sha256-oVq82Akoj2/x+XXE4WweajmdXh4PAriFUMU9Dd0Qjk4="
},
"drkonqi": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/drkonqi-6.5.3.tar.xz",
"hash": "sha256-P361CnXx/geU4ipxV7w7Zjtn5E/tg2NRbxoYkwXf6v4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/drkonqi-6.5.4.tar.xz",
"hash": "sha256-7Mo3qm/aOpcZxO/aeg066sFTwOfQuvUvJ2SDDSSl4+0="
},
"flatpak-kcm": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/flatpak-kcm-6.5.3.tar.xz",
"hash": "sha256-QnBULxIREYZSy1o7kZixsBGNSYHHaYe5g0JpKmvKAaE="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/flatpak-kcm-6.5.4.tar.xz",
"hash": "sha256-DbNbXxYR53ps7ShEhLIqgagus9JridxlFTr4xeeAEbk="
},
"kactivitymanagerd": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kactivitymanagerd-6.5.3.tar.xz",
"hash": "sha256-rscEXnx5aZLiJneOnozXIOE7yI+f5CTf5wV0na98L+0="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kactivitymanagerd-6.5.4.tar.xz",
"hash": "sha256-JbbLsIRwmuBUgvG0NEu0NZhmpM37lmU44xCImvJJc0g="
},
"kde-cli-tools": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kde-cli-tools-6.5.3.tar.xz",
"hash": "sha256-/VMsPfWm20FRgIK8lFw2kxyNqCkRfCE3+zC5ORrrY/w="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kde-cli-tools-6.5.4.tar.xz",
"hash": "sha256-iP5DNUKczshC3pDqqIGTDszSm8lHUoyvb+Esk+YJ77Y="
},
"kde-gtk-config": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kde-gtk-config-6.5.3.tar.xz",
"hash": "sha256-jyRSFJWF4+BciP/tuC5D2sHsdmmgjmozwDutAzKJnz4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kde-gtk-config-6.5.4.tar.xz",
"hash": "sha256-N0dJbEdpGtsJEWsbhVh6ekQBWyUSnIoE+moqH63tJKg="
},
"kdecoration": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kdecoration-6.5.3.tar.xz",
"hash": "sha256-MjihNaZwNvhtlX81JHxR6xjktGYJJgR4pmMMrck0Sb0="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kdecoration-6.5.4.tar.xz",
"hash": "sha256-CIzTUnNbCZavj5GVTBjYN8n6O02KVFsIzDMZsQqiDvc="
},
"kdeplasma-addons": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kdeplasma-addons-6.5.3.tar.xz",
"hash": "sha256-hCZCmq8VvzPTx7f2GDfptWeem3znP2EiczmKepd8Yoc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kdeplasma-addons-6.5.4.tar.xz",
"hash": "sha256-JRBkaaaB82P3tBX7Jtia7Vc03CNxg5aXovBf1FWLQW8="
},
"kgamma": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kgamma-6.5.3.tar.xz",
"hash": "sha256-gfa5/TueYUXRHznfkUl1cLJF14welMPuHmHWL7gDlg0="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kgamma-6.5.4.tar.xz",
"hash": "sha256-Ezq5LfMlQ3H9F93wUTaRfygW40+aCOrrwAml3JXQ4r0="
},
"kglobalacceld": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kglobalacceld-6.5.3.tar.xz",
"hash": "sha256-R6nJgVsd00/Z7HfygmzpWSFvASdYUzdZNkNPEtySh9I="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kglobalacceld-6.5.4.tar.xz",
"hash": "sha256-Fga1AWtvpVTjpmD8A+Wf00AmneUtbKTuOmLmt53YWNI="
},
"kinfocenter": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kinfocenter-6.5.3.tar.xz",
"hash": "sha256-wrRk7VgKCCPY0XH7LRpTOmqi2huItBQtNgRTwVKDQwQ="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kinfocenter-6.5.4.tar.xz",
"hash": "sha256-qFRmn6yDFb7CBc0XrXmwPLQfn5wPevOngj1kEcaMM8o="
},
"kmenuedit": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kmenuedit-6.5.3.tar.xz",
"hash": "sha256-5QA00JFjVIb1Lo1De7ujg9DfAYWkFm0ZfTH4dl5bCuc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kmenuedit-6.5.4.tar.xz",
"hash": "sha256-5X12tCMeVvI3lXyc19imiBpCY4zt5ADR5CprtIoYlqk="
},
"knighttime": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/knighttime-6.5.3.tar.xz",
"hash": "sha256-Gu+3bcfhD3IrrGwMQphajowi3EDs4eqG0SxE1taVa5k="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/knighttime-6.5.4.tar.xz",
"hash": "sha256-33u/T+rbzUN9Xpd4WHjF2oKgyeyZvVoB3VeIQywHsMc="
},
"kpipewire": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kpipewire-6.5.3.tar.xz",
"hash": "sha256-Dw+IQFfHkCbOaak/LtltM1gUABVf7Ivdzi0ro7GX3MU="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kpipewire-6.5.4.tar.xz",
"hash": "sha256-/InvfM3Nu9xVuRR0IPX1z4W/OQLAezrgwNv51KI7pIo="
},
"krdp": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/krdp-6.5.3.tar.xz",
"hash": "sha256-W+z7fNiPdW31LU8g0/IytkUwPG4TLW1+33W2bhNC0ro="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/krdp-6.5.4.tar.xz",
"hash": "sha256-VCfuR//i9snQ1kaToQ8A7fQkWhNak90yc4W7fRkFMIk="
},
"kscreen": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kscreen-6.5.3.tar.xz",
"hash": "sha256-fwnvdUbO8khN/+CRhT1pKK2jindtX78LENR6yW3poMc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kscreen-6.5.4.tar.xz",
"hash": "sha256-ofJ/FTVWiL0M5EhNtNBjzOwZKJRO3ZYM1EEqyr9fZiU="
},
"kscreenlocker": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kscreenlocker-6.5.3.tar.xz",
"hash": "sha256-JkZKRhNHMF8qLLOyjjoOj8YC/KbKirXSynE3O32dpo4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kscreenlocker-6.5.4.tar.xz",
"hash": "sha256-RwAhqGtIalT10KYx3tw8KwKJmVPf+CSgPFNLYMhiOJk="
},
"ksshaskpass": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/ksshaskpass-6.5.3.tar.xz",
"hash": "sha256-2vXSFN7Mz7Xyi5LhyLwQKL8FEbJa2fUBFoSPXavpbg4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/ksshaskpass-6.5.4.tar.xz",
"hash": "sha256-T97wef64lj1anlVNwRrOjHKHMndfA0D8H0Oxq6mhaGE="
},
"ksystemstats": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/ksystemstats-6.5.3.tar.xz",
"hash": "sha256-GbN+ASZI0n/ob6MA0s0s5lwhZy07ohRcplVbrw4qqRM="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/ksystemstats-6.5.4.tar.xz",
"hash": "sha256-pTA4IyIht3PGlTEsbNPxGpA74aoYb9TCdN3e2MGsMfs="
},
"kwallet-pam": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kwallet-pam-6.5.3.tar.xz",
"hash": "sha256-NvH4KbfonJdu7eN35sEhrp0bRAJcontVZW8lfRiNDHQ="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kwallet-pam-6.5.4.tar.xz",
"hash": "sha256-Ztng423uos53E0uyTDTL+Nz2IxcEYrSpBC9/DmTCfd8="
},
"kwayland": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kwayland-6.5.3.tar.xz",
"hash": "sha256-5sE7ekgSckEC/i+C9QLkL4gSEUOBqCu4G4YT6lqzhyU="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kwayland-6.5.4.tar.xz",
"hash": "sha256-67c3G0AqC+0MxVlmzBDRO0MbKIy30Z4fQVGYU/mOPTk="
},
"kwayland-integration": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kwayland-integration-6.5.3.tar.xz",
"hash": "sha256-FydO4DEBAM9/Ey+lN3ohFrTmjt9K2A0k4mppaBb+6nM="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kwayland-integration-6.5.4.tar.xz",
"hash": "sha256-0aQwQ1KbPl4GmHBpYt5WIH25wscWP7TZDDKhZtguQs4="
},
"kwin": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kwin-6.5.3.tar.xz",
"hash": "sha256-kOr3TXczpZHl+RcLWaSe4ONoTelUq3Vv7wQhwDUUn3E="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kwin-6.5.4.tar.xz",
"hash": "sha256-JYRD9yGAz1qBQbRAu1GnFKLmfjCGdzYpB5POUNe7HXA="
},
"kwin-x11": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kwin-x11-6.5.3.tar.xz",
"hash": "sha256-rnUVpZDXn4YT3DIrRBNyTLBGZ3EDaYb0fQEs7Oeem9k="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kwin-x11-6.5.4.tar.xz",
"hash": "sha256-dVdiUjbQwGeTgEyTqS31AYklvG8AncHyBnCfw0cloiU="
},
"kwrited": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/kwrited-6.5.3.tar.xz",
"hash": "sha256-HB9zeSc+qnmRio+r1hcIztxIJpxNNn8vpWQwnkHTcJw="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/kwrited-6.5.4.tar.xz",
"hash": "sha256-jhMPXSHOYkqXTY5yZ0RvMXoX+gEqU9u3XRQPZdq36aY="
},
"layer-shell-qt": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/layer-shell-qt-6.5.3.tar.xz",
"hash": "sha256-lNfYVKFRw/UCh0jW6ojGiiimwdjHYQ02EHRdGI0nMEk="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/layer-shell-qt-6.5.4.tar.xz",
"hash": "sha256-u5XbJT/80p4IGRZWtqVEn4qIAMOCVoc+JSl0m1XqqAo="
},
"libkscreen": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/libkscreen-6.5.3.tar.xz",
"hash": "sha256-HgA2xIhoJLvrMPPOVYueTRA3OIXmAIfW2RVT8nN00i8="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/libkscreen-6.5.4.tar.xz",
"hash": "sha256-mKaE+sAdDT6jCaifAKdznsMiY9849ae5iOdDAq9Ub5Q="
},
"libksysguard": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/libksysguard-6.5.3.tar.xz",
"hash": "sha256-640B+89kEKnVrnjFODklJOILv03AqWGaNzKkcx1ecYc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/libksysguard-6.5.4.tar.xz",
"hash": "sha256-dPNwviRyKvoq55rPPXPtxqI/Dsuo4LcX3pc/XQ2gUI4="
},
"libplasma": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/libplasma-6.5.3.tar.xz",
"hash": "sha256-H+QPSIUBB43HAPPKAY5P9dTF00T7zUrbdqzoYmnHqfU="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/libplasma-6.5.4.tar.xz",
"hash": "sha256-Hunzem8cJr7ANTYNCdgbRNe27Yw/YKFV2Lhkw6ZQBu4="
},
"milou": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/milou-6.5.3.tar.xz",
"hash": "sha256-cnOvFoA9eFGo+ObbZggWWvSbd9E6fsauPPiOjjZyHLc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/milou-6.5.4.tar.xz",
"hash": "sha256-3VaTgeooJaR+uz9LmY/TXXU0EfRTUO+wBWbfaBRBtfc="
},
"ocean-sound-theme": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/ocean-sound-theme-6.5.3.tar.xz",
"hash": "sha256-QSmDsRVvICX8FYFQdfKbG5bzvC3hXFQM6iViRSEYQfY="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/ocean-sound-theme-6.5.4.tar.xz",
"hash": "sha256-wEzJT3AEe6o6yFBDSRWhGIctV2MHyKHqbtYzT+isvuQ="
},
"oxygen": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/oxygen-6.5.3.tar.xz",
"hash": "sha256-N5+Y252Cm5dbClmjilbZoyT+rEu2+V/CCl6loiA9bZQ="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/oxygen-6.5.4.tar.xz",
"hash": "sha256-vz8iRNLlBmK0G8cqrWkm17v1t9Dpa2W43BIwItyDuxI="
},
"oxygen-sounds": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/oxygen-sounds-6.5.3.tar.xz",
"hash": "sha256-mw4pp6gZ5q7qCb3TenQTQRX/ZnboK6dvOXuodsbxpyI="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/oxygen-sounds-6.5.4.tar.xz",
"hash": "sha256-CVh/F4twpdFqzkk3ykoVfzu9SjfCVBXtghUQFov5yZg="
},
"plasma-activities": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-activities-6.5.3.tar.xz",
"hash": "sha256-67KZCpUEhk7TMt6D+SlBkkr6dOV5udG0Brudh20O4h0="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-activities-6.5.4.tar.xz",
"hash": "sha256-niLzry86POMIUlZPrFlvSVY09DGcCtI+x2OplKvlBTk="
},
"plasma-activities-stats": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-activities-stats-6.5.3.tar.xz",
"hash": "sha256-3PMkaMumXscGfqY6rAz61BncJJdYBmmYk2mYFO45/NQ="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-activities-stats-6.5.4.tar.xz",
"hash": "sha256-3xJiOjD0uw60H87MtL6lOBcu8Jtx1qtAobRDr6jfvMo="
},
"plasma-browser-integration": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-browser-integration-6.5.3.tar.xz",
"hash": "sha256-zE1y8l5CkRDCpa0q2AjeN+0TiVfjLe/cFdGcigv/3U4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-browser-integration-6.5.4.tar.xz",
"hash": "sha256-OlDZTf/wbr+wOJ5BsHS6FXSowa9sUmqPgTlcltGW3rA="
},
"plasma-desktop": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-desktop-6.5.3.tar.xz",
"hash": "sha256-u3ZKLJd0f54wJ0KUJwRnVPs6x9/2rIIXFRHHFvqk0Lc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-desktop-6.5.4.tar.xz",
"hash": "sha256-4I0YQa36N0rxAByGYEpL8vDVoiMP4fLJJdthzZhLjAw="
},
"plasma-dialer": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-dialer-6.5.3.tar.xz",
"hash": "sha256-ZbmtEPxJf3Bk+9bPBeFtCadTTspxcLW0Tky51RMoa6s="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-dialer-6.5.4.tar.xz",
"hash": "sha256-C196ifp1IJAMeBB2jDdrvXxPPriBo65baLQRfwkjqfI="
},
"plasma-disks": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-disks-6.5.3.tar.xz",
"hash": "sha256-/6ismcPTQN/qCMedow34t2GOymN4NwjtG6ihBtr3m/w="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-disks-6.5.4.tar.xz",
"hash": "sha256-7IboZZwD8L2IZ7sX+odlhu4VrCSq1SiRHevxLFNMcRs="
},
"plasma-firewall": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-firewall-6.5.3.tar.xz",
"hash": "sha256-9b6VaxRJ+ZVq8tSg42+jwpHct2ywlQVz42Z7MsfuEGA="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-firewall-6.5.4.tar.xz",
"hash": "sha256-LD/k5O/zG2vwaUhf5Y2kfqnZLDXbU88Eml4JUEJEIhA="
},
"plasma-integration": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-integration-6.5.3.tar.xz",
"hash": "sha256-qq/y0E4+f8KJNT9GTJvgsneCrjWWpTxmfO1Drmu53Lg="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-integration-6.5.4.tar.xz",
"hash": "sha256-QeTBBz+aiFJzOq4/NHOHU/jt4GuYVZHuZ6eY5KCqXiM="
},
"plasma-mobile": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-mobile-6.5.3.tar.xz",
"hash": "sha256-a+TU1gevnBYbkg8TClUyuYyL8+4kMLi+IruyEQdbMFk="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-mobile-6.5.4.tar.xz",
"hash": "sha256-/VqGOZi6velx5LcuezsKl7ADxbB7/HEVvfogX4e9Pgg="
},
"plasma-nano": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-nano-6.5.3.tar.xz",
"hash": "sha256-4wECuW6/1MYdMMnPqA+a+ybWHvrt96UggNCKUOt8DLc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-nano-6.5.4.tar.xz",
"hash": "sha256-gOIdbA/L2z1f/CRXOsk4qe/4W7WW0sckGMjbEoVO0GM="
},
"plasma-nm": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-nm-6.5.3.tar.xz",
"hash": "sha256-mtaWHwzmxNGE79bufP4mH7RKrulkTrTKdMja68RW78M="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-nm-6.5.4.tar.xz",
"hash": "sha256-pYTGi+mBro76+qalQzmD1kdUVO4ngG7kHH4qTQhZyK8="
},
"plasma-pa": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-pa-6.5.3.tar.xz",
"hash": "sha256-Wyzwyyxq1nGji5ojJ4SVLKVhlzD3zeMA6uMpvFaosu4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-pa-6.5.4.tar.xz",
"hash": "sha256-ptuvnYR2Jw7NeAkF321Z0rXclwJXrrqPYmnu0d1/83U="
},
"plasma-sdk": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-sdk-6.5.3.tar.xz",
"hash": "sha256-DosLY3mbt4VVu82I4/gEUR3utWJ4WIVFRg6MeULeD98="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-sdk-6.5.4.tar.xz",
"hash": "sha256-DZyudSwhx1+pyHL+dQXONok8hjIQ1ztoeZp1G2VuewM="
},
"plasma-systemmonitor": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-systemmonitor-6.5.3.tar.xz",
"hash": "sha256-pPJKX+oGPMCyLT4ENvB80mxZ8qZy/KwZln/vOlOqHY0="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-systemmonitor-6.5.4.tar.xz",
"hash": "sha256-uGWG8jTCMQHukDJuD1F1GIJ20aBJdZIxZLQR8kAOg2c="
},
"plasma-thunderbolt": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-thunderbolt-6.5.3.tar.xz",
"hash": "sha256-YCvRd/aYjKgB64XXNyLxfYEfQBy40lzCVHOhymusihE="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-thunderbolt-6.5.4.tar.xz",
"hash": "sha256-AuklIfhbtqkza2q9c6x4zSLyMqXU9hTEekTV77DGs6g="
},
"plasma-vault": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-vault-6.5.3.tar.xz",
"hash": "sha256-5h5HULUzsofkAUAznD9d4gPmPpBgTyCkTgboHcpcK48="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-vault-6.5.4.tar.xz",
"hash": "sha256-7NiMm+J+zgC1QoEKcda9KD0bK/GuIlJgVQQWKBXKsMY="
},
"plasma-welcome": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-welcome-6.5.3.tar.xz",
"hash": "sha256-ZGgg/Gk7OI1wame2oet/RAlYUfa4fpQLywfM1UGqnzk="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-welcome-6.5.4.tar.xz",
"hash": "sha256-hU3qQRZWA+oszOtAGpHCIAx/4vI9CrwjH5TbcVosK+g="
},
"plasma-workspace": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-workspace-6.5.3.tar.xz",
"hash": "sha256-/2TLrcl0k+rw9jPLAJErz8IFNt2mhLq8+ks+7NSDyhc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-workspace-6.5.4.tar.xz",
"hash": "sha256-SUtnHXD2fuOC/q7Q3Kcu1n/npCOmM44s2yQR+TvOdB4="
},
"plasma-workspace-wallpapers": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma-workspace-wallpapers-6.5.3.tar.xz",
"hash": "sha256-RH06VnUNU/U84aJzXzUSRGY3bOPQiQtAIAvF+4jwHZc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma-workspace-wallpapers-6.5.4.tar.xz",
"hash": "sha256-k9byTW4KjZFXi8B98qv8leiCaMSk/dZvJHGhxr+fYvs="
},
"plasma5support": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plasma5support-6.5.3.tar.xz",
"hash": "sha256-tYu3vLWRTj88dtPekg2VPIeR8Pmo4tbrhBBRsYAJeX8="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plasma5support-6.5.4.tar.xz",
"hash": "sha256-rd62LZ7ubnCgZCh2zgDifkN8/W5tC9ruMaN4wmrD0lg="
},
"plymouth-kcm": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/plymouth-kcm-6.5.3.tar.xz",
"hash": "sha256-Y0uV8uUDNcuWgQt97Y2kV/RAad5JpR7AdrxcdFlEU0Q="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/plymouth-kcm-6.5.4.tar.xz",
"hash": "sha256-X+z5WUhcfWFnOXbjBrPz4UGXHfVc1HJdRWcxLoOAQIc="
},
"polkit-kde-agent-1": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/polkit-kde-agent-1-6.5.3.tar.xz",
"hash": "sha256-CytHmBtRqVsWVaOsOYX/BM6rurNxfrQDjo+uao6wdZo="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/polkit-kde-agent-1-6.5.4.tar.xz",
"hash": "sha256-q0RoQvzWDJp0DDTYUf7vmPyi72AKPJSfLsOFiDj7iiQ="
},
"powerdevil": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/powerdevil-6.5.3.tar.xz",
"hash": "sha256-KZksuRClYnVIYjvOWjv1Hn+mggxM1lDqJVtNPdCKOGM="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/powerdevil-6.5.4.tar.xz",
"hash": "sha256-meQnt1drGTC7QKNYQZ+brDbjtZ+R/30cTHO7bFgDPho="
},
"print-manager": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/print-manager-6.5.3.tar.xz",
"hash": "sha256-6+pmZL0fPNejAzufxvh5dkgiHF19c526VSQ9OnpHe+I="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/print-manager-6.5.4.tar.xz",
"hash": "sha256-h3YlVrEyf8420tHuxOQPxpA7rdxSBPKKt6QEXoRkZos="
},
"qqc2-breeze-style": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/qqc2-breeze-style-6.5.3.tar.xz",
"hash": "sha256-/zG01G47iypgAxpblk6on3wULN0zkr3mC0qA9i8mW9M="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/qqc2-breeze-style-6.5.4.tar.xz",
"hash": "sha256-qTZpnFZY4Rc3dGiDF34pxx0PDNqRsKWuSZ4fv5LffA8="
},
"sddm-kcm": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/sddm-kcm-6.5.3.tar.xz",
"hash": "sha256-f+4ZDdHK6g4ZP3BQMKl4qxhOBlGbTUUxO09+Oxk5QKM="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/sddm-kcm-6.5.4.tar.xz",
"hash": "sha256-4J+cYbWJ0eGA5EXTCYyNLuaQ/5JlZq59w6IB1BCv3rc="
},
"spacebar": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/spacebar-6.5.3.tar.xz",
"hash": "sha256-5ambyJlQ9M4rZEIj0sgDz5O5NSnZzYuP2LUXRErlqWM="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/spacebar-6.5.4.tar.xz",
"hash": "sha256-R2CWpBJVnayKunYwdAzSsDfyMuG/RQlvYQrYkBmWQFk="
},
"spectacle": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/spectacle-6.5.3.tar.xz",
"hash": "sha256-zxUBZuzUtAwvp7O0dhzuIv8IssyNpoz4zW/8Dvx4yLc="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/spectacle-6.5.4.tar.xz",
"hash": "sha256-s1bdk2LZVXIC2H1VYc5F7d4o+etKsOOP07iSYj8tS8E="
},
"systemsettings": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/systemsettings-6.5.3.tar.xz",
"hash": "sha256-lwLQeN/0+vrWpa+Mq5+GWcZF4d10x7n/firu7nKGf4o="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/systemsettings-6.5.4.tar.xz",
"hash": "sha256-eY72yCYQX0Qzlhr1mpoYL/do1YvUpRbhjJEuUCBgOAM="
},
"wacomtablet": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/wacomtablet-6.5.3.tar.xz",
"hash": "sha256-RssHC6n02Lv0yfc1M/qllwFe3msk9tABHDok6L2tOx4="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/wacomtablet-6.5.4.tar.xz",
"hash": "sha256-Tif/a3wDoMYkACCIrerDomfYl9sgjSdVVitIGasJpr4="
},
"xdg-desktop-portal-kde": {
"version": "6.5.3",
"url": "mirror://kde/stable/plasma/6.5.3/xdg-desktop-portal-kde-6.5.3.tar.xz",
"hash": "sha256-HtvipF/LxiAbm9M8XTX0CQDTxAQb9bIvaEyztth94ZI="
"version": "6.5.4",
"url": "mirror://kde/stable/plasma/6.5.4/xdg-desktop-portal-kde-6.5.4.tar.xz",
"hash": "sha256-ALPyDbI3kA6wFaEAlfuF0yTagIDSCrr931ywROsSUWs="
}
}
-13
View File
@@ -8,19 +8,6 @@
mkKdeDerivation {
pname = "breeze";
# Fix extra thicc padding on menu items
# FIXME: remove in next update
patches = [
(fetchpatch {
url = "https://invent.kde.org/plasma/breeze/-/commit/4a8a46aba6b9e39bfb02c7f46933079b5a50eff5.diff";
hash = "sha256-ZzRMMwz3OihChywzQWBNv9rPcZI+IcXNVzoRuXTWt9c=";
})
(fetchpatch {
url = "https://invent.kde.org/plasma/breeze/-/commit/2cd5b37dad8f213aab4029b6d3b80ca7f159ea50.diff";
hash = "sha256-3pOJEH1H3o+U40K/mtKnruPsoA+vy+HrAa8vU5Oza6c=";
})
];
outputs = [
"out"
"dev"
@@ -39,7 +39,10 @@ stdenv.mkDerivation rec {
description = "Linux driver for QC71 laptop";
homepage = "https://github.com/pobrn/qc71_laptop/";
license = licenses.gpl2Only;
maintainers = with maintainers; [ aacebedo ];
maintainers = with maintainers; [
aacebedo
lucasfa
];
platforms = [ "x86_64-linux" ];
};
}
@@ -2168,7 +2168,8 @@
];
"google_weather" =
ps: with ps; [
]; # missing inputs: python-google-weather-api
python-google-weather-api
];
"google_wifi" =
ps: with ps; [
];
@@ -7381,6 +7382,7 @@
"google_tasks"
"google_translate"
"google_travel_time"
"google_weather"
"google_wifi"
"govee_ble"
"govee_light_local"
@@ -0,0 +1,26 @@
{
lib,
buildHomeAssistantComponent,
fetchFromGitHub,
}:
buildHomeAssistantComponent rec {
owner = "lovelylain";
domain = "ingress";
version = "1.2.9";
src = fetchFromGitHub {
inherit owner;
repo = "hass_ingress";
tag = version;
hash = "sha256-jjig0Dl/vdeuN7e25CH5L/Xvc60RM3BiAt3jUw/C9q4=";
};
meta = {
changelog = "https://github.com/lovelylain/hass_ingress/releases/tag/${src.tag}";
description = "Add additional ingress panels to your Home Assistant frontend";
homepage = "https://github.com/lovelylain/hass_ingress";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ David-Kopczynski ];
};
}
+2 -2
View File
@@ -5,14 +5,14 @@
patches ? [ ],
}:
let
version = "4.5.2";
version = "4.5.3";
in
applyPatches {
src = fetchFromGitHub {
owner = "mastodon";
repo = "mastodon";
rev = "v${version}";
hash = "sha256-LePly+CcM+Dv6ipX9jIWWKhy2PiF1j8vgc9CXn2o+DQ=";
hash = "sha256-OOcy4eBGao2cVnRYhAogeSw0X234TEr50tFT2sSjmaQ=";
passthru = {
inherit version;
yarnHash = "sha256-2MOl6kHidkGU2I/cZaUmbQCiEl9SDfL/j9fT/6eNdFA=";
@@ -2,8 +2,8 @@
grafanaPlugin {
pname = "grafana-exploretraces-app";
version = "1.2.0";
zipHash = "sha256-QXBOODMgFJvPLgr1Gr6mkpW2YJwYlDO/ZXL3BlEhEJ0=";
version = "1.2.2";
zipHash = "sha256-vQSnjSPiYvgwpbO7VvmG77DfP85+R6fRoGGpr+xslTc=";
meta = with lib; {
description = "Opinionated traces app";
license = licenses.agpl3Only;
+99 -1
View File
@@ -5,7 +5,13 @@
}:
let
tests = tests-stdenv // test-extendMkDerivation // tests-fetchhg // tests-go // tests-python;
tests =
tests-stdenv
// test-extendMkDerivation
// tests-fetchhg
// tests-fetchurl
// tests-go
// tests-python;
tests-stdenv =
let
@@ -131,6 +137,98 @@ let
};
};
tests-fetchgit =
let
src-with-sha256 = pkgs.fetchgit {
url = "https://example.com/source.git";
sha256 = lib.fakeSha256;
};
in
{
test-fetchgit-hash-compat = {
expr = {
inherit (src-with-sha256)
outputHash
outputHashAlgo
;
};
expected = {
outputHash = lib.fakeSha256;
outputHashAlgo = "sha256";
};
};
test-fetchgit-overrideAttrs-hash = {
expr = {
inherit (src-with-sha256.overrideAttrs { hash = pkgs.nix.src.hash; })
outputHash
outputHashAlgo
;
};
expected = {
outputHash = pkgs.nix.src.hash;
outputHashAlgo = null;
};
};
test-fetchurl-overrideAttrs-hash-empty = {
expr = {
inherit (src-with-sha256.overrideAttrs { hash = ""; })
outputHash
outputHashAlgo
;
};
expected = {
outputHash = lib.fakeHash;
outputHashAlgo = null;
};
};
};
tests-fetchurl =
let
src-with-sha256 = pkgs.fetchurl {
url = "https://example.com/source.tar.gz";
sha256 = lib.fakeSha256;
};
in
{
test-fetchurl-hash-compat = {
expr = {
inherit (src-with-sha256)
outputHash
outputHashAlgo
;
};
expected = {
outputHash = lib.fakeSha256;
outputHashAlgo = "sha256";
};
};
test-fetchurl-overrideAttrs-hash = {
expr = {
inherit (src-with-sha256.overrideAttrs { hash = pkgs.hello.src.hash; })
outputHash
outputHashAlgo
;
};
expected = {
outputHash = pkgs.hello.src.hash;
outputHashAlgo = null;
};
};
test-fetchurl-overrideAttrs-hash-empty = {
expr = {
inherit (src-with-sha256.overrideAttrs { hash = ""; })
outputHash
outputHashAlgo
;
};
expected = {
outputHash = lib.fakeHash;
outputHashAlgo = null;
};
};
};
tests-fetchhg =
let
ruamel_0_18_14-hash = "sha256-HDkPPp1xI3uoGYlS9mwPp1ZjG2gKvx6vog0Blj6tBuI=";
@@ -28,7 +28,10 @@ buildPythonApplication rec {
homepage = "https://github.com/timofurrer/pandoc-plantuml-filter";
description = "Pandoc filter which converts PlantUML code blocks to PlantUML images";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ cmcdragonkai ];
maintainers = with lib.maintainers; [
cmcdragonkai
l33tname
];
mainProgram = "pandoc-plantuml";
};
}
+2 -7
View File
@@ -1243,6 +1243,7 @@ mapAliases {
pcp = throw "'pcp' has been removed because the upstream repo was archived and it hasn't been updated since 2021"; # Added 2025-09-23
pcre16 = throw "'pcre16' has been removed because it is obsolete. Consider migrating to 'pcre2' instead."; # Added 2025-05-29
pcsctools = throw "'pcsctools' has been renamed to/replaced by 'pcsc-tools'"; # Converted to throw 2025-10-27
pdf2djvu = throw "pdf2djvu has been removed because it was broken and archived upstream"; # added 2025-12-06
pdf4tcl = throw "'pdf4tcl' has been renamed to/replaced by 'tclPackages.pdf4tcl'"; # Converted to throw 2025-10-27
pds = warnAlias "'pds' has been renamed to 'bluesky-pds'" bluesky-pds; # Added 2025-08-20
pdsadmin = warnAlias "'pdsadmin' has been renamed to 'bluesky-pdsadmin'" bluesky-pdsadmin; # Added 2025-08-20
@@ -1611,13 +1612,6 @@ mapAliases {
trilium-next-server = trilium-server; # Added 2025-08-30
trojita = throw "'trojita' has been dropped as it depends on KDE Gear 5, and is unmaintained"; # Added 2025-08-20
trust-dns = throw "'trust-dns' has been renamed to/replaced by 'hickory-dns'"; # Converted to throw 2025-10-27
tt-rss = throw "'tt-rss' has been removed, as it was discontinued on 2025-11-01"; # Added 2025-10-03
tt-rss-plugin-auth-ldap = throw "'tt-rss-plugin-auth-ldap' has been removed, as tt-rss was discontinued and removed"; # Added 2025-10-03
tt-rss-plugin-data-migration = throw "'tt-rss-plugin-data-migration' has been removed, as tt-rss was discontinued and removed"; # Added 2025-10-03
tt-rss-plugin-feediron = throw "'tt-rss-plugin-feediron' has been removed, as tt-rss was discontinued and removed"; # Added 2025-10-03
tt-rss-plugin-feedly = throw "'tt-rss-plugin-feedly' has been removed, as tt-rss was discontinued and removed"; # Added 2025-10-03
tt-rss-plugin-ff-instagram = throw "'tt-rss-plugin-ff-instagram' has been removed, as tt-rss was discontinued and removed"; # Added 2025-10-03
tt-rss-plugin-freshapi = throw "'tt-rss-plugin-freshapi' has been removed, as tt-rss was discontinued and removed"; # Added 2025-10-03
tvbrowser-bin = throw "'tvbrowser-bin' has been renamed to/replaced by 'tvbrowser'"; # Converted to throw 2025-10-27
typst-fmt = throw "'typst-fmt' has been renamed to/replaced by 'typstfmt'"; # Converted to throw 2025-10-27
typstfmt = throw "'typstfmt' has been removed due to lack of upstream maintenance, consider using 'typstyle' instead"; # Added 2025-10-26
@@ -1733,6 +1727,7 @@ mapAliases {
zinc = throw "'zinc' has been renamed to/replaced by 'zincsearch'"; # Converted to throw 2025-10-27
zint = throw "'zint' has been renamed to/replaced by 'zint-qt'"; # Converted to throw 2025-10-27
zombietrackergps = throw "'zombietrackergps' has been dropped, as it depends on KDE Gear 5 and is unmaintained"; # Added 2025-08-20
zotero_7 = throw "'zotero_7' has been renamed to/replaced by 'zotero'"; # Added 2025-12-09
zotify = throw "zotify has been removed due to lack of upstream maintenance"; # Added 2025-09-26
zq = throw "zq has been replaced by zed"; # Converted to throw 2025-10-26
zsh-git-prompt = throw "zsh-git-prompt was removed as it is unmaintained upstream"; # Added 2025-08-28
-2
View File
@@ -12617,8 +12617,6 @@ with pkgs;
SDL_image = SDL_image.override { SDL = SDL_sixel; };
};
zotero_7 = pkgs.zotero;
zynaddsubfx = callPackage ../applications/audio/zynaddsubfx {
guiModule = "zest";
fftw = fftwSinglePrec;
+1 -2
View File
@@ -1394,8 +1394,6 @@ let
ocaml-lua = callPackage ../development/ocaml-modules/ocaml-lua { };
ocaml_lwt = lwt;
ocaml-migrate-parsetree = ocaml-migrate-parsetree-1-8;
ocaml-migrate-parsetree-1-8 =
@@ -2251,6 +2249,7 @@ let
chacha = throw "chacha has been removed because it has been marked as broken since at least November 2024. It is now vendored inside mirage-crypto, consider using that instead."; # Added 2025-10-11
gd4o = throw "ocamlPackages.gd4o is not maintained, use ocamlPackages.gd instead";
ocaml-vdom = throw "2023-10-09: ocamlPackages.ocaml-vdom was renamed to ocamlPackages.vdom";
ocaml_lwt = throw "ocamlPackages.ocaml_lwt has been renamed to ocamlPackages.lwt"; # Added 2025-12-05
}
)).overrideScope
liftJaneStreet;
+4 -2
View File
@@ -5749,8 +5749,6 @@ self: super: with self; {
fritzconnection = callPackage ../development/python-modules/fritzconnection { };
froide = toPythonModule (pkgs.froide.override { python3Packages = self; });
frozendict = callPackage ../development/python-modules/frozendict { };
frozenlist = callPackage ../development/python-modules/frozenlist { };
@@ -7107,6 +7105,8 @@ self: super: with self; {
icalendar-compatibility = callPackage ../development/python-modules/icalendar-compatibility { };
icalendar-searcher = callPackage ../development/python-modules/icalendar-searcher { };
icalevents = callPackage ../development/python-modules/icalevents { };
icdiff = callPackage ../development/python-modules/icdiff { };
@@ -15177,6 +15177,8 @@ self: super: with self; {
python-google-nest = callPackage ../development/python-modules/python-google-nest { };
python-google-weather-api = callPackage ../development/python-modules/python-google-weather-api { };
python-gvm = callPackage ../development/python-modules/python-gvm { };
python-hcl2 = callPackage ../development/python-modules/python-hcl2 { };