Merge staging-next into staging

Changed files
+762 -175
doc
build-helpers
nixos
modules
services
networking
ssh
web-apps
tests
web-apps
pkgs
build-support
by-name
_3
_389-ds-base
an
anubis
bo
bootc
ca
cargo-lambda
cargo-tauri
co
consul
ex
exploitdb
fa
faudio
fo
forgejo
gn
gnucash
gv
ho
homepage-dashboard
li
libcpr
ov
overpush
qq
re
repomix
te
terramate
to
tr
trealla
ty
un
unrar
wd
wdisplays
ya
yazi
plugins
chmod
git
glow
jump-to-char
lsar
mactag
mediainfo
mime-ext
mount
ouch
piper
projects
relative-motions
restore
smart-enter
smart-filter
smart-paste
starship
toggle-pane
vcs-files
yatline
zw
zwave-js-ui
development
libraries
libsoup
python-modules
backrefs
bayesian-optimization
coffea
gocardless-pro
jianpu-ly
llama-index-instrumentation
llama-index-workflows
mkdocs-build-plantuml
mkdocs-material
mktestdocs
roadlib
games
minecraft-servers
misc
tmux-plugins
top-level
+2
doc/build-helpers/fetchers.chapter.md
···
The environment variable `NIX_SSL_CERT_FILE` is also inherited in fetchers, and can be used to provide a custom certificate bundle to fetchers. This is usually required for a https proxy to work without certificate validation errors.
[]{#fetchurl}
## `fetchurl` {#sec-pkgs-fetchers-fetchurl}
···
The environment variable `NIX_SSL_CERT_FILE` is also inherited in fetchers, and can be used to provide a custom certificate bundle to fetchers. This is usually required for a https proxy to work without certificate validation errors.
+
To use a temporary Tor instance as a proxy for fetching from `.onion` addresses, add `nativeBuildInputs = [ tor.proxyHook ];` to the fetcher parameters.
+
[]{#fetchurl}
## `fetchurl` {#sec-pkgs-fetchers-fetchurl}
+1
nixos/modules/module-list.nix
···
./services/web-apps/part-db.nix
./services/web-apps/pds.nix
./services/web-apps/peering-manager.nix
./services/web-apps/peertube.nix
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/photoprism.nix
···
./services/web-apps/part-db.nix
./services/web-apps/pds.nix
./services/web-apps/peering-manager.nix
+
./services/web-apps/peertube-runner.nix
./services/web-apps/peertube.nix
./services/web-apps/pgpkeyserver-lite.nix
./services/web-apps/photoprism.nix
+1
nixos/modules/services/networking/ssh/sshd.nix
···
restartTriggers = [ config.environment.etc."ssh/sshd_config".source ];
serviceConfig = {
Restart = "always";
ExecStart = lib.concatStringsSep " " [
(lib.getExe' cfg.package "sshd")
···
restartTriggers = [ config.environment.etc."ssh/sshd_config".source ];
serviceConfig = {
+
Type = "notify-reload";
Restart = "always";
ExecStart = lib.concatStringsSep " " [
(lib.getExe' cfg.package "sshd")
+256
nixos/modules/services/web-apps/peertube-runner.nix
···
···
+
{
+
lib,
+
pkgs,
+
config,
+
...
+
}:
+
+
let
+
cfg = config.services.peertube-runner;
+
+
settingsFormat = pkgs.formats.toml { };
+
configFile = settingsFormat.generate "config.toml" cfg.settings;
+
+
env = {
+
NODE_ENV = "production";
+
XDG_CONFIG_HOME = "/var/lib/peertube-runner";
+
XDG_CACHE_HOME = "/var/cache/peertube-runner";
+
# peertube-runner makes its IPC socket in $XDG_DATA_HOME.
+
XDG_DATA_HOME = "/run/peertube-runner";
+
};
+
in
+
{
+
options.services.peertube-runner = {
+
enable = lib.mkEnableOption "peertube-runner";
+
package = lib.mkPackageOption pkgs [ "peertube" "runner" ] { };
+
+
user = lib.mkOption {
+
type = lib.types.str;
+
default = "prunner";
+
example = "peertube-runner";
+
description = "User account under which peertube-runner runs.";
+
};
+
group = lib.mkOption {
+
type = lib.types.str;
+
default = "prunner";
+
example = "peertube-runner";
+
description = "Group under which peertube-runner runs.";
+
};
+
+
settings = lib.mkOption {
+
type = settingsFormat.type;
+
default = { };
+
example = lib.literalExpression ''
+
{
+
jobs.concurrency = 4;
+
ffmpeg = {
+
threads = 0; # Let ffmpeg automatically choose.
+
nice = 5;
+
};
+
transcription.model = "large-v3";
+
}
+
'';
+
description = ''
+
Configuration for peertube-runner.
+
+
See available configuration options at https://docs.joinpeertube.org/maintain/tools#configuration.
+
'';
+
};
+
instancesToRegister = lib.mkOption {
+
type =
+
with lib.types;
+
attrsOf (submodule {
+
options = {
+
url = lib.mkOption {
+
type = lib.types.str;
+
example = "https://mypeertubeinstance.com";
+
description = "URL of the PeerTube instance.";
+
};
+
registrationTokenFile = lib.mkOption {
+
type = lib.types.path;
+
example = "/run/secrets/my-peertube-instance-registration-token";
+
description = ''
+
Path to a file containing a registration token for the PeerTube instance.
+
+
See how to generate registration tokens at https://docs.joinpeertube.org/admin/remote-runners#manage-remote-runners.
+
'';
+
};
+
runnerName = lib.mkOption {
+
type = lib.types.str;
+
example = "Transcription";
+
description = "Runner name declared to the PeerTube instance.";
+
};
+
runnerDescription = lib.mkOption {
+
type = with lib.types; nullOr str;
+
default = null;
+
example = "Runner for video transcription";
+
description = "Runner description declared to the PeerTube instance.";
+
};
+
};
+
});
+
default = { };
+
example = {
+
personal = {
+
url = "https://mypeertubeinstance.com";
+
registrationTokenFile = "/run/secrets/my-peertube-instance-registration-token";
+
runnerName = "Transcription";
+
runnerDescription = "Runner for video transcription";
+
};
+
};
+
description = "PeerTube instances to register this runner with.";
+
};
+
+
enabledJobTypes = lib.mkOption {
+
type = with lib.types; nonEmptyListOf str;
+
default = [
+
"vod-web-video-transcoding"
+
"vod-hls-transcoding"
+
"vod-audio-merge-transcoding"
+
"live-rtmp-hls-transcoding"
+
"video-studio-transcoding"
+
"video-transcription"
+
];
+
example = [ "video-transcription" ];
+
description = "Job types that this runner will execute.";
+
};
+
};
+
+
config = lib.mkIf cfg.enable {
+
assertions = [
+
{
+
assertion = !(cfg.settings ? registeredInstances);
+
message = ''
+
`services.peertube-runner.settings.registeredInstances` cannot be used.
+
Instead, registered instances can be configured with `services.peertube-runner.instancesToRegister`.
+
'';
+
}
+
];
+
warnings = lib.optional (cfg.instancesToRegister == { }) ''
+
`services.peertube-runner.instancesToRegister` is empty.
+
Instances cannot be manually registered using the command line.
+
'';
+
+
services.peertube-runner.settings = {
+
transcription = lib.mkIf (lib.elem "video-transcription" cfg.enabledJobTypes) {
+
engine = lib.mkDefault "whisper-ctranslate2";
+
enginePath = lib.mkDefault (lib.getExe pkgs.whisper-ctranslate2);
+
};
+
};
+
+
environment.systemPackages = [
+
(pkgs.writeShellScriptBin "peertube-runner" ''
+
${lib.concatMapAttrsStringSep "\n" (name: value: ''export ${name}="${toString value}"'') env}
+
+
if [[ "$USER" == ${cfg.user} ]]; then
+
exec ${lib.getExe' cfg.package "peertube-runner"} "$@"
+
else
+
echo "This has to be run with the \`${cfg.user}\` user. Ex: \`sudo -u ${cfg.user} peertube-runner\`"
+
fi
+
'')
+
];
+
+
systemd.services.peertube-runner = {
+
description = "peertube-runner daemon";
+
after = [
+
"network.target"
+
(lib.mkIf config.services.peertube.enable "peertube.service")
+
];
+
wantedBy = [ "multi-user.target" ];
+
+
environment = env;
+
path = [ pkgs.ffmpeg-headless ];
+
+
script = ''
+
config_dir=$XDG_CONFIG_HOME/peertube-runner-nodejs/default
+
mkdir -p $config_dir
+
config_file=$config_dir/config.toml
+
cp -f --no-preserve=mode,ownership ${configFile} $config_file
+
+
${lib.optionalString ((lib.length (lib.attrNames cfg.instancesToRegister)) > 0) ''
+
# Temp config directory for registration commands
+
temp_dir=$(mktemp --directory)
+
temp_config_dir=$temp_dir/peertube-runner-nodejs/default
+
mkdir -p $temp_config_dir
+
temp_config_file=$temp_config_dir/config.toml
+
+
mkdir -p $STATE_DIRECTORY/runner_tokens
+
${lib.concatMapAttrsStringSep "\n" (instanceName: instance: ''
+
runner_token_file=$STATE_DIRECTORY/runner_tokens/${instanceName}
+
+
# Register any currenctly unregistered instances.
+
if [ ! -f $runner_token_file ] || [[ $(cat $runner_token_file) != ptrt-* ]]; then
+
# Server has to be running for registration.
+
XDG_CONFIG_HOME=$temp_dir ${lib.getExe' cfg.package "peertube-runner"} server &
+
+
XDG_CONFIG_HOME=$temp_dir ${lib.getExe' cfg.package "peertube-runner"} register \
+
--url ${lib.escapeShellArg instance.url} \
+
--registration-token "$(cat ${instance.registrationTokenFile})" \
+
--runner-name ${lib.escapeShellArg instance.runnerName} \
+
${lib.optionalString (
+
instance.runnerDescription != null
+
) ''--runner-description ${lib.escapeShellArg instance.runnerDescription}''}
+
+
# Kill the server
+
kill $!
+
+
${lib.getExe pkgs.yq-go} -e ".registeredInstances[0].runnerToken" \
+
$temp_config_file > $runner_token_file
+
rm $temp_config_file
+
fi
+
+
echo "
+
+
[[registeredInstances]]
+
url = \"${instance.url}\"
+
runnerToken = \"$(cat $runner_token_file)\"
+
runnerName = \"${instance.runnerName}\"
+
${lib.optionalString (
+
instance.runnerDescription != null
+
) ''runnerDescription = \"${instance.runnerDescription}\"''}
+
" >> $config_file
+
'') cfg.instancesToRegister}
+
''}
+
+
# Don't allow changes that won't persist.
+
chmod 440 $config_file
+
+
systemd-notify --ready
+
exec ${lib.getExe' cfg.package "peertube-runner"} server ${
+
lib.concatMapStringsSep " " (jobType: "--enable-job ${jobType}") cfg.enabledJobTypes
+
}
+
'';
+
serviceConfig = {
+
Type = "notify";
+
NotifyAccess = "all"; # for systemd-notify
+
Restart = "always";
+
RestartSec = 5;
+
SyslogIdentifier = "prunner";
+
User = cfg.user;
+
Group = cfg.group;
+
StateDirectory = "peertube-runner";
+
StateDirectoryMode = "0700";
+
CacheDirectory = "peertube-runner";
+
CacheDirectoryMode = "0700";
+
RuntimeDirectory = "peertube-runner";
+
RuntimeDirectoryMode = "0700";
+
+
ProtectSystem = "full";
+
NoNewPrivileges = true;
+
ProtectHome = true;
+
CapabilityBoundingSet = "~CAP_SYS_ADMIN";
+
};
+
};
+
+
users.users = lib.mkIf (cfg.user == "prunner") {
+
${cfg.user} = {
+
isSystemUser = true;
+
group = cfg.group;
+
};
+
};
+
users.groups = lib.mkIf (cfg.group == "prunner") {
+
${cfg.group} = { };
+
};
+
};
+
+
meta.maintainers = lib.teams.ngi.members;
+
}
+73 -14
nixos/tests/web-apps/peertube.nix
···
import ../make-test-python.nix (
-
{ pkgs, ... }:
{
name = "peertube";
-
meta.maintainers = with pkgs.lib.maintainers; [ izorkin ];
nodes = {
database = {
···
environment = {
etc = {
"peertube/password-init-root".text = ''
-
PT_INITIAL_ROOT_PASSWORD=zw4SqYVdcsXUfRX8aaFX
'';
"peertube/secrets-peertube".text = ''
063d9c60d519597acef26003d5ecc32729083965d09181ef3949200cbe5f09ee
···
];
};
extraHosts = ''
-
192.168.2.11 peertube.local
'';
-
firewall.allowedTCPPorts = [ 9000 ];
};
services.peertube = {
enable = true;
-
localDomain = "peertube.local";
enableWebHttps = false;
serviceEnvironmentFile = "/etc/peertube/password-init-root";
···
];
};
extraHosts = ''
-
192.168.2.11 peertube.local
'';
};
};
};
···
database.wait_for_open_port(31638)
server.wait_for_unit("peertube.service")
-
server.wait_for_open_port(9000)
# Check if PeerTube is running
-
client.succeed("curl --fail http://peertube.local:9000/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube\ Test\ Server'")
-
# Check PeerTube CLI version
-
client.succeed('peertube-cli auth add -u "http://peertube.local:9000" -U "root" --password "zw4SqYVdcsXUfRX8aaFX"')
-
client.succeed('peertube-cli auth list | grep "http://peertube.local:9000"')
-
client.succeed('peertube-cli auth del "http://peertube.local:9000"')
-
client.fail('peertube-cli auth list | grep "http://peertube.local:9000"')
client.shutdown()
server.shutdown()
···
import ../make-test-python.nix (
+
{ lib, pkgs, ... }:
+
let
+
domain = "peertube.local";
+
port = 9000;
+
url = "http://${domain}:${toString port}";
+
password = "zw4SqYVdcsXUfRX8aaFX";
+
registrationTokenFile = "/etc/peertube-runner-registration-token";
+
in
{
name = "peertube";
+
meta.maintainers = with lib.maintainers; [ izorkin ] ++ lib.teams.ngi.members;
nodes = {
database = {
···
environment = {
etc = {
"peertube/password-init-root".text = ''
+
PT_INITIAL_ROOT_PASSWORD=${password}
'';
"peertube/secrets-peertube".text = ''
063d9c60d519597acef26003d5ecc32729083965d09181ef3949200cbe5f09ee
···
];
};
extraHosts = ''
+
192.168.2.11 ${domain}
'';
+
firewall.allowedTCPPorts = [ port ];
};
services.peertube = {
enable = true;
+
localDomain = domain;
enableWebHttps = false;
serviceEnvironmentFile = "/etc/peertube/password-init-root";
···
];
};
extraHosts = ''
+
192.168.2.11 ${domain}
'';
};
+
+
services.peertube-runner = {
+
enable = true;
+
# Don't pull in unneeded dependencies.
+
enabledJobTypes = [ "video-studio-transcoding" ];
+
instancesToRegister = {
+
testServer1 = {
+
inherit url registrationTokenFile;
+
runnerName = "I'm a test!!!";
+
};
+
testServer2 = {
+
inherit url registrationTokenFile;
+
runnerName = "I'm also a test...";
+
runnerDescription = "Even more testing?!?!";
+
};
+
};
+
};
+
# Will be manually started in test script.
+
systemd.services.peertube-runner.wantedBy = lib.mkForce [ ];
};
};
···
database.wait_for_open_port(31638)
server.wait_for_unit("peertube.service")
+
server.wait_for_open_port(${toString port})
# Check if PeerTube is running
+
client.succeed("curl --fail ${url}/api/v1/config/about | jq -r '.instance.name' | grep 'PeerTube Test Server'")
+
+
+
# PeerTube CLI
+
+
client.succeed('peertube-cli auth add -u "${url}" -U "root" --password "${password}"')
+
client.succeed('peertube-cli auth list | grep "${url}"')
+
client.succeed('peertube-cli auth del "${url}"')
+
client.fail('peertube-cli auth list | grep "${url}"')
+
+
+
# peertube-runner
+
+
access_token = client.succeed(
+
'peertube-cli get-access-token --url "${url}" --username "root" --password "${password}"'
+
).strip()
+
# Generate registration token.
+
client.succeed(f"curl --fail -X POST -H 'Authorization: Bearer {access_token}' ${url}/api/v1/runners/registration-tokens/generate")
+
# Get registration token, and put it where `registrationTokenFile` from the
+
# peertube-runner module points to.
+
client.succeed(
+
f"curl --fail -H 'Authorization: Bearer {access_token}' ${url}/api/v1/runners/registration-tokens" \
+
" | jq --raw-output '.data[0].registrationToken'" \
+
" > ${registrationTokenFile}"
+
)
+
+
client.systemctl("start peertube-runner.service")
+
client.wait_for_unit("peertube-runner.service")
+
+
runner_command = "sudo -u prunner peertube-runner"
+
client.succeed(f'{runner_command} list-registered | grep "I\'m a test!!!"')
+
client.succeed(f'{runner_command} list-registered | grep "I\'m also a test..."')
+
client.succeed(f'{runner_command} list-registered | grep "Even more testing?!?!"')
+
+
# Service should still work once instances are already registered.
+
client.systemctl("restart peertube-runner.service")
+
client.wait_for_unit("peertube-runner.service")
+
+
# Cleanup
client.shutdown()
server.shutdown()
+13
pkgs/build-support/fetchgit/default.nix
···
"GIT_PROXY_COMMAND"
"NIX_GIT_SSL_CAINFO"
"SOCKS_SERVER"
];
inherit preferLocalBuild meta allowedRequisites;
···
"GIT_PROXY_COMMAND"
"NIX_GIT_SSL_CAINFO"
"SOCKS_SERVER"
+
+
# This is a parameter intended to be set by setup hooks or preFetch
+
# scripts that want per-URL control over HTTP proxies used by Git
+
# (if per-URL control isn't needed, `http_proxy` etc. will
+
# suffice). It must be a whitespace-separated (with backslash as an
+
# escape character) list of pairs like this:
+
#
+
# http://domain1/path1 proxy1 https://domain2/path2 proxy2
+
#
+
# where the URLs are as documented in the `git-config` manual page
+
# under `http.<url>.*`, and the proxies are as documented on the
+
# same page under `http.proxy`.
+
"FETCHGIT_HTTP_PROXIES"
];
inherit preferLocalBuild meta allowedRequisites;
+5
pkgs/build-support/fetchgit/nix-prefetch-git
···
echo "$sparseCheckout" | git sparse-checkout set --stdin ${nonConeMode:+--no-cone}
fi
( [ -n "$http_proxy" ] && clean_git config --global http.proxy "$http_proxy" ) || true
}
# Return the reference of an hash if it exists on the remote repository.
···
echo "$sparseCheckout" | git sparse-checkout set --stdin ${nonConeMode:+--no-cone}
fi
( [ -n "$http_proxy" ] && clean_git config --global http.proxy "$http_proxy" ) || true
+
local proxy_pairs i
+
read -a proxy_pairs <<< "${FETCHGIT_HTTP_PROXIES:-}"
+
for ((i = 1; i < ${#proxy_pairs[@]}; i += 2)); do
+
clean_git config --global "http.${proxy_pairs[$i - 1]}.proxy" "${proxy_pairs[$i]}"
+
done
}
# Return the reference of an hash if it exists on the remote repository.
+3 -3
pkgs/by-name/_3/_389-ds-base/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "389-ds-base";
-
version = "3.1.2";
src = fetchFromGitHub {
owner = "389ds";
repo = "389-ds-base";
rev = "389-ds-base-${finalAttrs.version}";
-
hash = "sha256-FIx+ZW3K5KevU+wAiwPbDAQ6q7rPFEHFa+5eKqtgzpQ=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
sourceRoot = "${finalAttrs.src.name}/src";
name = "389-ds-base-${finalAttrs.version}";
-
hash = "sha256-8A2xnJI22mjupX5FVsvRa5RfWyOE+VLH2aJwBHjDOME=";
};
nativeBuildInputs = [
···
stdenv.mkDerivation (finalAttrs: {
pname = "389-ds-base";
+
version = "3.1.3";
src = fetchFromGitHub {
owner = "389ds";
repo = "389-ds-base";
rev = "389-ds-base-${finalAttrs.version}";
+
hash = "sha256-hRTK9xBu8v8+SGa/3IB8Alh/aGUiRRn2LmYOvXy0Yd4=";
};
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) src;
sourceRoot = "${finalAttrs.src.name}/src";
name = "389-ds-base-${finalAttrs.version}";
+
hash = "sha256-pNzMQjeBpmzFg6oWCxhLDmKGUKIW6jGmZQWai5Yunjc=";
};
nativeBuildInputs = [
+3 -3
pkgs/by-name/an/anubis/package.nix
···
buildGoModule (finalAttrs: {
pname = "anubis";
-
version = "1.21.0";
src = fetchFromGitHub {
owner = "TecharoHQ";
repo = "anubis";
tag = "v${finalAttrs.version}";
-
hash = "sha256-FKX8E32unAKK8e/Nlrj24FU1amc7AJw28hzmZDbIcIc=";
};
vendorHash = "sha256-cWkC3Bqut5h3hHh5tPIPeHMnkwoqKMnG1x40uCtUIwI=";
···
pname = "anubis-xess";
inherit (finalAttrs) version src;
-
npmDepsHash = "sha256-jvYmAbbMRy8fK2Y0YC0UJGhNRLzk1kjzGvRbqhWFzS4=";
buildPhase = ''
runHook preBuild
···
buildGoModule (finalAttrs: {
pname = "anubis";
+
version = "1.21.3";
src = fetchFromGitHub {
owner = "TecharoHQ";
repo = "anubis";
tag = "v${finalAttrs.version}";
+
hash = "sha256-CMFd9che+D1ot1Iqk0VcJmna0xIqHlRIvNnzYo+q+RU=";
};
vendorHash = "sha256-cWkC3Bqut5h3hHh5tPIPeHMnkwoqKMnG1x40uCtUIwI=";
···
pname = "anubis-xess";
inherit (finalAttrs) version src;
+
npmDepsHash = "sha256-NJMUXGXcaY8l1WIbvCn+aIknVuagR7X8gRkme9xpYQ0=";
buildPhase = ''
runHook preBuild
+3 -3
pkgs/by-name/bo/bootc/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "bootc";
-
version = "1.5.0";
useFetchCargoVendor = true;
-
cargoHash = "sha256-3/Ngq6ZHPoE9BMychv+Jg0LhtJrY8GPrFYu7lRvX1+k=";
doInstallCheck = true;
src = fetchFromGitHub {
owner = "bootc-dev";
repo = "bootc";
rev = "v${version}";
-
hash = "sha256-1u4pBiySYzudFVf4bayQ7FbXf4EjA4v1+AOX9E+tjyA=";
};
nativeBuildInputs = [ pkg-config ];
···
rustPlatform.buildRustPackage rec {
pname = "bootc";
+
version = "1.5.1";
useFetchCargoVendor = true;
+
cargoHash = "sha256-+FxydTK0Dmcj+doHMSoTgiues7Rrwxv/D+BOq4siKCk=";
doInstallCheck = true;
src = fetchFromGitHub {
owner = "bootc-dev";
repo = "bootc";
rev = "v${version}";
+
hash = "sha256-LmhgCiVFbhrePV/A/FaNjD7VytUZqSm9VDU+1z0O98U=";
};
nativeBuildInputs = [ pkg-config ];
+3 -3
pkgs/by-name/ca/cargo-lambda/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "cargo-lambda";
-
version = "1.8.5";
src = fetchFromGitHub {
owner = "cargo-lambda";
repo = "cargo-lambda";
tag = "v${version}";
-
hash = "sha256-iYfm7/XbLThtEo+zSW8sn7T6XEhzyiVKy6/cisshc+Y=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-mCD3Szbl5BXknTWJhm2xlcIV0aKczsEi8yRDA4erTYc=";
nativeCheckInputs = [ cacert ];
···
rustPlatform.buildRustPackage rec {
pname = "cargo-lambda";
+
version = "1.8.6";
src = fetchFromGitHub {
owner = "cargo-lambda";
repo = "cargo-lambda";
tag = "v${version}";
+
hash = "sha256-ocFD2FK1nlEJ8xXhDSxpSKYU8oZk/QwfojveypVt1GU=";
};
useFetchCargoVendor = true;
+
cargoHash = "sha256-yE0pr7RZb015d51QtwVNfqXd8yEETvDdKJ5M7Oqc4Ds=";
nativeCheckInputs = [ cacert ];
+3 -3
pkgs/by-name/ca/cargo-tauri/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "tauri";
-
version = "2.7.0";
src = fetchFromGitHub {
owner = "tauri-apps";
repo = "tauri";
tag = "tauri-cli-v${version}";
-
hash = "sha256-nEt4xoVHozqxWnyrXTn7XDgH2HYCzrfqBgt71+goYms=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-av5UF0MgKnTwEX4dHhekvj2tz/BOZyUbs1YqLwx28Cw=";
nativeBuildInputs = [ pkg-config ];
···
rustPlatform.buildRustPackage rec {
pname = "tauri";
+
version = "2.7.1";
src = fetchFromGitHub {
owner = "tauri-apps";
repo = "tauri";
tag = "tauri-cli-v${version}";
+
hash = "sha256-0J55AvAvvqTVls4474GcgLPBtSC+rh8cXVKluMjAVBE=";
};
useFetchCargoVendor = true;
+
cargoHash = "sha256-nkY1ydc2VewRwY+B5nR68mz8Ff3FK1KoHE4dLzNtPkY=";
nativeBuildInputs = [ pkg-config ];
+3 -3
pkgs/by-name/co/consul/package.nix
···
buildGoModule rec {
pname = "consul";
-
version = "1.21.2";
# Note: Currently only release tags are supported, because they have the Consul UI
# vendored. See
···
owner = "hashicorp";
repo = "consul";
tag = "v${version}";
-
hash = "sha256-ejslKLoZFxNKQiV9AH+djRIN1lUC4WvUBkaVOENsHwM=";
};
# This corresponds to paths with package main - normally unneeded but consul
···
"connect/certgen"
];
-
vendorHash = "sha256-Bmuc/nNNztd0wZqpLrFv4FZ/1CZ2lN1Bhob+grJJC8w=";
doCheck = false;
···
buildGoModule rec {
pname = "consul";
+
version = "1.21.3";
# Note: Currently only release tags are supported, because they have the Consul UI
# vendored. See
···
owner = "hashicorp";
repo = "consul";
tag = "v${version}";
+
hash = "sha256-mWwDAlHbG0L/9xNAmUxAj2S5dDaWZaah/OWPndBRRWE=";
};
# This corresponds to paths with package main - normally unneeded but consul
···
"connect/certgen"
];
+
vendorHash = "sha256-jb/oUcqMHNBlDgqYNDai2Q9ChA98JGXwFHWNxnrMpaU=";
doCheck = false;
+2 -2
pkgs/by-name/ex/exploitdb/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "exploitdb";
-
version = "2025-07-17";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
tag = finalAttrs.version;
-
hash = "sha256-RxK983lsfEHKCG9lG7EBVgpS3XJ3NC0LjsgDF8dVcn8=";
};
nativeBuildInputs = [ makeWrapper ];
···
stdenv.mkDerivation (finalAttrs: {
pname = "exploitdb";
+
version = "2025-07-23";
src = fetchFromGitLab {
owner = "exploit-database";
repo = "exploitdb";
tag = finalAttrs.version;
+
hash = "sha256-wnYqtWtqvy5SsgHSDIzxNpnhXMT4WIVwWh2woW4eLhw=";
};
nativeBuildInputs = [ makeWrapper ];
+2 -2
pkgs/by-name/fa/faudio/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "faudio";
-
version = "25.06";
src = fetchFromGitHub {
owner = "FNA-XNA";
repo = "FAudio";
tag = finalAttrs.version;
-
hash = "sha256-wIFUOOpI/kUeXjodHwt1KZ30ooSYEGrZ8XSW0zOm3xk=";
};
nativeBuildInputs = [ cmake ];
···
stdenv.mkDerivation (finalAttrs: {
pname = "faudio";
+
version = "25.07";
src = fetchFromGitHub {
owner = "FNA-XNA";
repo = "FAudio";
tag = finalAttrs.version;
+
hash = "sha256-ZMU3ntvnUHbeWQ5k5ZSnSLBABGm/F/rSAUM4blorpts=";
};
nativeBuildInputs = [ cmake ];
+2 -2
pkgs/by-name/fo/forgejo/package.nix
···
import ./generic.nix {
-
version = "12.0.0";
-
hash = "sha256-8cokjK9fbxd9lm+5oDoMll9f7ejiVzMNuDgC0Pk1pbM=";
npmDepsHash = "sha256-kq2AV1D0xA4Csm8XUTU5D0iCmyuajcnwlLdPjJ/mj1g=";
vendorHash = "sha256-B9menPCDUOYHPCS0B5KpxuE03FdFXmA8XqkiYEAxs5Y=";
lts = false;
···
import ./generic.nix {
+
version = "12.0.1";
+
hash = "sha256-MBk5QHjnyMXmQDIbMuehjcGN/PUN1ViRtIi1pJGHlW0=";
npmDepsHash = "sha256-kq2AV1D0xA4Csm8XUTU5D0iCmyuajcnwlLdPjJ/mj1g=";
vendorHash = "sha256-B9menPCDUOYHPCS0B5KpxuE03FdFXmA8XqkiYEAxs5Y=";
lts = false;
+23 -8
pkgs/by-name/gn/gnucash/package.nix
···
gettext,
glib,
glibcLocales,
gtest,
guile,
gwenhywfar,
···
perlPackages,
pkg-config,
swig,
-
webkitgtk_4_0,
wrapGAppsHook3,
python3,
-
replaceVars,
}:
-
stdenv.mkDerivation rec {
pname = "gnucash";
version = "5.11";
···
nativeBuildInputs = [
cmake
gettext
makeWrapper
wrapGAppsHook3
pkg-config
···
libxml2
libxslt
swig
-
webkitgtk_4_0
-
python3
]
++ (with perlPackages; [
JSONParse
···
# Perl wrapping
dontWrapGApps = true;
-
# gnucash is wrapped using the args constructed for wrapGAppsHook3.
# gnc-fq-* are cli utils written in Perl hence the extra wrapping
postFixup = ''
-
wrapProgram $out/bin/gnucash "''${gappsWrapperArgs[@]}"
-
wrapProgram $out/bin/gnucash-cli "''${gappsWrapperArgs[@]}"
wrapProgram $out/bin/finance-quote-wrapper \
--prefix PERL5LIB : "${
···
FinanceQuote
]
}"
'';
passthru.updateScript = ./update.sh;
···
gettext,
glib,
glibcLocales,
+
gobject-introspection,
gtest,
guile,
gwenhywfar,
···
perlPackages,
pkg-config,
swig,
+
webkitgtk_4_1,
wrapGAppsHook3,
python3,
}:
+
let
+
py = python3.withPackages (
+
ps: with ps; [
+
pygobject3.out
+
]
+
);
+
in
stdenv.mkDerivation rec {
pname = "gnucash";
version = "5.11";
···
nativeBuildInputs = [
cmake
gettext
+
gobject-introspection
makeWrapper
wrapGAppsHook3
pkg-config
···
libxml2
libxslt
swig
+
webkitgtk_4_1
+
py
]
++ (with perlPackages; [
JSONParse
···
# Perl wrapping
dontWrapGApps = true;
+
# We could not find the python entrypoint and somehow it is used from PATH,
+
# so force to use the one with all dependencies
# gnc-fq-* are cli utils written in Perl hence the extra wrapping
postFixup = ''
+
wrapProgram $out/bin/gnucash \
+
--prefix PATH : ${lib.makeBinPath [ py ]} \
+
"''${gappsWrapperArgs[@]}"
+
wrapProgram $out/bin/gnucash-cli \
+
--prefix PATH : ${lib.makeBinPath [ py ]} \
+
"''${gappsWrapperArgs[@]}"
wrapProgram $out/bin/finance-quote-wrapper \
--prefix PERL5LIB : "${
···
FinanceQuote
]
}"
+
+
chmod +x $out/share/gnucash/python/pycons/*.py
+
patchShebangs $out/share/gnucash/python/pycons/*.py
'';
passthru.updateScript = ./update.sh;
+8 -2
pkgs/by-name/gv/gvfs/package.nix
···
libmsgraph,
python3,
gsettings-desktop-schemas,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gvfs";
version = "1.57.2";
···
glib-networking # TLS support
gnome-online-accounts
libsecret
-
libgdata
libmsgraph
];
mesonFlags = [
···
"-Dgcr=false"
"-Dgoa=false"
"-Dkeyring=false"
-
"-Dgoogle=false"
"-Donedrive=false"
]
++ lib.optionals (avahi == null) [
"-Ddnssd=false"
···
libmsgraph,
python3,
gsettings-desktop-schemas,
+
googleSupport ? false, # dependency on vulnerable libsoup versions
}:
+
assert googleSupport -> gnomeSupport;
stdenv.mkDerivation (finalAttrs: {
pname = "gvfs";
version = "1.57.2";
···
glib-networking # TLS support
gnome-online-accounts
libsecret
libmsgraph
+
]
+
++ lib.optionals googleSupport [
+
libgdata
];
mesonFlags = [
···
"-Dgcr=false"
"-Dgoa=false"
"-Dkeyring=false"
"-Donedrive=false"
+
]
+
++ lib.optionals (!googleSupport) [
+
"-Dgoogle=false"
]
++ lib.optionals (avahi == null) [
"-Ddnssd=false"
+4 -4
pkgs/by-name/ho/homepage-dashboard/package.nix
···
dashboardIcons = fetchFromGitHub {
owner = "homarr-labs";
repo = "dashboard-icons";
-
rev = "51a2ae7b101c520bcfb5b44e5ddc99e658bc1e21"; # Until 2025-01-06
-
hash = "sha256-rKXeMAhHV0Ax7mVFyn6hIZXm5RFkbGakjugU0DG0jLM=";
};
installLocalIcons = ''
mkdir -p $out/share/homepage/public/icons
-
cp ${dashboardIcons}/png/* $out/share/homepage/public/icons
-
cp ${dashboardIcons}/svg/* $out/share/homepage/public/icons
cp ${dashboardIcons}/LICENSE $out/share/homepage/public/icons/
'';
in
···
dashboardIcons = fetchFromGitHub {
owner = "homarr-labs";
repo = "dashboard-icons";
+
rev = "f222c55843b888a82e9f2fe2697365841cbe6025"; # Until 2025-07-11
+
hash = "sha256-VOWQh8ZadsqNInoXcRKYuXfWn5MK0qJpuYEWgM7Pny8=";
};
installLocalIcons = ''
mkdir -p $out/share/homepage/public/icons
+
cp -r --no-preserve=mode ${dashboardIcons}/png/. $out/share/homepage/public/icons
+
cp -r --no-preserve=mode ${dashboardIcons}/svg/. $out/share/homepage/public/icons
cp ${dashboardIcons}/LICENSE $out/share/homepage/public/icons/
'';
in
+2 -2
pkgs/by-name/li/libcpr/package.nix
···
}:
let
-
version = "1.11.2";
in
stdenv.mkDerivation {
pname = "libcpr";
···
owner = "libcpr";
repo = "cpr";
rev = version;
-
hash = "sha256-nKX9AYVC4e3B+vOzXWZu8S4I5BNpKnqkFJ2e8bVAUE4=";
};
nativeBuildInputs = [ cmake ];
···
}:
let
+
version = "1.12.0";
in
stdenv.mkDerivation {
pname = "libcpr";
···
owner = "libcpr";
repo = "cpr";
rev = version;
+
hash = "sha256-OkOyh2ibt/jX/Dc+TB1uSlWtzEhdSQwHVN96oCOh2yM=";
};
nativeBuildInputs = [ cmake ];
+3 -3
pkgs/by-name/ov/overpush/package.nix
···
buildGoModule (finalAttrs: {
pname = "overpush";
-
version = "0.4.3";
src = fetchFromGitHub {
owner = "mrusme";
repo = "overpush";
tag = "v${finalAttrs.version}";
-
hash = "sha256-Bs5Mlpod7bIQxekadU6xBhgC8nchli+BvxEH6NeMOKw=";
};
-
vendorHash = "sha256-wsuztFwEfluUxL2RjMP7Y+JtxQHr5oLwHkAL8UIHyVQ=";
env.CGO_ENABLED = "0";
···
buildGoModule (finalAttrs: {
pname = "overpush";
+
version = "0.4.5";
src = fetchFromGitHub {
owner = "mrusme";
repo = "overpush";
tag = "v${finalAttrs.version}";
+
hash = "sha256-6tSptrvlaljKMUawGD3Bk1LBwge/Awvvudpr+juuuQQ=";
};
+
vendorHash = "sha256-KUfGc4vFfw59mwqR840cbL4ubBH1i+sIniHU0CDCKTg=";
env.CGO_ENABLED = "0";
+10 -10
pkgs/by-name/qq/qq/sources.nix
···
# Generated by ./update.sh - do not update manually!
-
# Last updated: 2025-07-18
{ fetchurl }:
let
any-darwin = {
-
version = "6.9.75-2025-07-10";
src = fetchurl {
-
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.75_250710_01.dmg";
-
hash = "sha256-ejplu4I5PRBdwMrgDZ51WS+qN1GKc5qHqMToIvgR6og=";
};
};
in
···
aarch64-darwin = any-darwin;
x86_64-darwin = any-darwin;
aarch64-linux = {
-
version = "3.2.18-2025-07-10";
src = fetchurl {
-
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250710_arm64_01.deb";
-
hash = "sha256-37HEXpLyeIjgXsAonNjS3YaIwk4It2LDy6Yj4lqK94Q=";
};
};
x86_64-linux = {
-
version = "3.2.18-2025-07-10";
src = fetchurl {
-
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250710_amd64_01.deb";
-
hash = "sha256-P023rIalPAgBXZqJvnCgEHqTumWm+dhaUefzuR/4aoU=";
};
};
}
···
# Generated by ./update.sh - do not update manually!
+
# Last updated: 2025-07-25
{ fetchurl }:
let
any-darwin = {
+
version = "6.9.77-2025-07-24";
src = fetchurl {
+
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Mac/QQ_6.9.77_250724_01.dmg";
+
hash = "sha256-ZHpFH5PPDaVtbEZsb+1fyoscWuPYedTrIaoqhnsXRlc=";
};
};
in
···
aarch64-darwin = any-darwin;
x86_64-darwin = any-darwin;
aarch64-linux = {
+
version = "3.2.18-2025-07-24";
src = fetchurl {
+
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250724_arm64_01.deb";
+
hash = "sha256-j+ouSBfryrRXQbyC4ZDyrKPLqJVw67tGjlHdKel5Br4=";
};
};
x86_64-linux = {
+
version = "3.2.18-2025-07-24";
src = fetchurl {
+
url = "https://dldir1v6.qq.com/qqfile/qq/QQNT/Linux/QQ_3.2.18_250724_amd64_01.deb";
+
hash = "sha256-HHFUXAv6oWsipBYECLNFJG8OMQ7fxjruA210w/oFFok=";
};
};
}
+3 -3
pkgs/by-name/re/repomix/package.nix
···
buildNpmPackage rec {
pname = "repomix";
-
version = "1.1.0";
src = fetchFromGitHub {
owner = "yamadashy";
repo = "repomix";
tag = "v${version}";
-
hash = "sha256-kqbVQCXLxcDYtKJt34gzhvgXdpF786uk5N2j2W4pcRg=";
};
-
npmDepsHash = "sha256-Ewyfhx1VwbUVM045KcDvgTzTCEVEssMVQrNbbnwnz+8=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
···
buildNpmPackage rec {
pname = "repomix";
+
version = "1.2.0";
src = fetchFromGitHub {
owner = "yamadashy";
repo = "repomix";
tag = "v${version}";
+
hash = "sha256-WLL9EBC7YQ3MH0/J/a18j3GsHBkJdS4+bucIenq0UwU=";
};
+
npmDepsHash = "sha256-LEd0Wo0dgmCvEYB8yyqtVuyhDsUQAaHxvCl9nNVOVME=";
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
+2 -2
pkgs/by-name/te/terramate/package.nix
···
buildGoModule rec {
pname = "terramate";
-
version = "0.14.0";
src = fetchFromGitHub {
owner = "terramate-io";
repo = "terramate";
rev = "v${version}";
-
hash = "sha256-op8mwCofnktV+kkvh4mO5tfLrynlxGbQzOxq6JR7HbE=";
};
vendorHash = "sha256-u9eXi7FjMsXm0H0y7Gs/Wu2I8tp4rRLxtjUxrrHJkEU=";
···
buildGoModule rec {
pname = "terramate";
+
version = "0.14.1";
src = fetchFromGitHub {
owner = "terramate-io";
repo = "terramate";
rev = "v${version}";
+
hash = "sha256-75tx0LQwAUdox7qIkedPH956DAx0l6f+9M+6VgYDosQ=";
};
vendorHash = "sha256-u9eXi7FjMsXm0H0y7Gs/Wu2I8tp4rRLxtjUxrrHJkEU=";
+15 -1
pkgs/by-name/to/tor/package.nix
···
nixosTests,
writeShellScript,
versionCheckHook,
}:
let
···
versionCheckProgramArg = "--version";
passthru = {
-
tests.tor = nixosTests.tor;
updateScript = callPackage ./update.nix { };
};
meta = {
···
nixosTests,
writeShellScript,
versionCheckHook,
+
makeSetupHook,
}:
let
···
versionCheckProgramArg = "--version";
passthru = {
+
tests = {
+
inherit (nixosTests) tor;
+
proxyHook = callPackage ./proxy-hook-tests.nix {
+
tor = finalAttrs.finalPackage;
+
};
+
};
updateScript = callPackage ./update.nix { };
+
proxyHook = makeSetupHook {
+
name = "tor-proxy-hook";
+
substitutions = {
+
grep = lib.getExe gnugrep;
+
tee = lib.getExe' coreutils "tee";
+
tor = lib.getExe finalAttrs.finalPackage;
+
};
+
} ./proxy-hook.sh;
};
meta = {
+45
pkgs/by-name/to/tor/proxy-hook-tests.nix
···
···
+
{
+
testers,
+
fetchFromGitLab,
+
fetchgit,
+
fetchurl,
+
fetchzip,
+
linkFarm,
+
tor,
+
}:
+
let
+
domain = "eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion";
+
rev = "933c5491db00c703d5d8264fdabd5a5b10aff96f";
+
hash = "sha256-o6Wpso8GSlQH39GpH3IXZyrVhdP8pEYFxLDq9a7yHX0=";
+
in
+
linkFarm "tor-proxy-hook-tests" {
+
fetchgit = testers.invalidateFetcherByDrvHash fetchgit {
+
name = "fetchgit-tor-source";
+
url = "http://${domain}/tpo/core/tor";
+
inherit rev hash;
+
nativeBuildInputs = [ tor.proxyHook ];
+
};
+
+
fetchzip = testers.invalidateFetcherByDrvHash fetchzip {
+
name = "fetchzip-tor-source";
+
url = "http://${domain}/tpo/core/tor/-/archive/${rev}/tor-${rev}.zip";
+
inherit hash;
+
nativeBuildInputs = [ tor.proxyHook ];
+
};
+
+
fetchurl = testers.invalidateFetcherByDrvHash fetchurl {
+
name = "fetchurl-tor-source";
+
url = "http://${domain}/tpo/core/tor/-/raw/${rev}/Cargo.lock";
+
hash = "sha256-oX4WbsscLADgJ5o+czpueyAih7ic0u4lZQs7y1vMA3A=";
+
nativeBuildInputs = [ tor.proxyHook ];
+
};
+
+
fetchFromGitLab = testers.invalidateFetcherByDrvHash fetchFromGitLab {
+
name = "gitlab-tor-source";
+
protocol = "http";
+
owner = "tpo/core";
+
repo = "tor";
+
inherit domain rev hash;
+
nativeBuildInputs = [ tor.proxyHook ];
+
};
+
}
+19
pkgs/by-name/to/tor/proxy-hook.sh
···
···
+
_setupTorProxy(){
+
local torSocket=$NIX_BUILD_TOP/.tor.sock
+
local torPort=unix:$torSocket
+
+
exec {tor_fd}< <(@tor@ --DataDirectory "$NIX_BUILD_TOP/.tor" --SocksPort "$torPort")
+
exitHooks+=("kill '$!'")
+
+
# Wait for Tor to start
+
read < <(<&$tor_fd- @tee@ /dev/fd/2 | @grep@ -m 1 -F 'Bootstrapped 100% (done): Done')
+
+
export ALL_PROXY="socks5h://localhost$torSocket"
+
+
# A Git repository may have submodules that fetch from clearnet URLs, so
+
# for better performance, use Tor only for onion addresses. (fetchgit
+
# doesn't respect ALL_PROXY, so this doesn't conflict.)
+
export FETCHGIT_HTTP_PROXIES="http://*.onion $ALL_PROXY ${FETCHGIT_HTTP_PROXIES-}"
+
}
+
+
postHooks+=(_setupTorProxy)
+2 -2
pkgs/by-name/tr/trealla/package.nix
···
];
stdenv.mkDerivation (finalAttrs: {
pname = "trealla";
-
version = "2.78.0";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${finalAttrs.version}";
-
hash = "sha256-CJ1/Qbt6osuJZNuKiEaGEsDztVo8hTNOv6XvUQyWbFU=";
};
postPatch = ''
···
];
stdenv.mkDerivation (finalAttrs: {
pname = "trealla";
+
version = "2.78.24";
src = fetchFromGitHub {
owner = "trealla-prolog";
repo = "trealla";
rev = "v${finalAttrs.version}";
+
hash = "sha256-0OCb/U09b7DNd3bOEszuVH7gA0cRVqoWS7/HRZRFCIs=";
};
postPatch = ''
+3 -3
pkgs/by-name/ty/ty/package.nix
···
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ty";
-
version = "0.0.1-alpha.15";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "ty";
tag = finalAttrs.version;
fetchSubmodules = true;
-
hash = "sha256-7aOFRrnj4WFTuQWcOgdSU3w9KWwRbpPj3K6g4y0JPo0=";
};
# For Darwin platforms, remove the integration test for file notifications,
···
cargoBuildFlags = [ "--package=ty" ];
-
cargoHash = "sha256-vhsXYqU3Y5xGDLE/AVkVIY4eweHbyR/E3RvGoHG+1ZE=";
nativeBuildInputs = [ installShellFiles ];
···
rustPlatform.buildRustPackage (finalAttrs: {
pname = "ty";
+
version = "0.0.1-alpha.16";
src = fetchFromGitHub {
owner = "astral-sh";
repo = "ty";
tag = finalAttrs.version;
fetchSubmodules = true;
+
hash = "sha256-hpDzl1TJRCfr5l76HwK90WAbAgeDR48eRNs9knj87lk=";
};
# For Darwin platforms, remove the integration test for file notifications,
···
cargoBuildFlags = [ "--package=ty" ];
+
cargoHash = "sha256-/SoF87aZHypzEsetgmALmNTheEH/CodZEPW2I5+F/a4=";
nativeBuildInputs = [ installShellFiles ];
+2 -2
pkgs/by-name/un/unrar/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "unrar";
-
version = "7.1.8";
src = fetchzip {
url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
stripRoot = false;
-
hash = "sha256-0A6GAuAOJuP6bcNsfhNe7zALGu3nkqa3Q16FphXwT7A=";
};
sourceRoot = finalAttrs.src.name;
···
stdenv.mkDerivation (finalAttrs: {
pname = "unrar";
+
version = "7.1.9";
src = fetchzip {
url = "https://www.rarlab.com/rar/unrarsrc-${finalAttrs.version}.tar.gz";
stripRoot = false;
+
hash = "sha256-CkeE97RcEyCwOX4NKZG2d63ZvxsYFN8Y1swJ9ODb8sk=";
};
sourceRoot = finalAttrs.src.name;
+2 -2
pkgs/by-name/wd/wdisplays/package.nix
···
stdenv.mkDerivation (finalAttrs: {
pname = "wdisplays";
-
version = "1.1.1";
nativeBuildInputs = [
meson
···
owner = "artizirk";
repo = "wdisplays";
rev = finalAttrs.version;
-
sha256 = "sha256-dtvP930ChiDRT60xq6xBDU6k+zHnkrAkxkKz2FxlzRs=";
};
meta = with lib; {
···
stdenv.mkDerivation (finalAttrs: {
pname = "wdisplays";
+
version = "1.1.3";
nativeBuildInputs = [
meson
···
owner = "artizirk";
repo = "wdisplays";
rev = finalAttrs.version;
+
sha256 = "sha256-KabaW2BH4zAS0xWkzCM8YaAnP/hkZL7Wq3EARantRis=";
};
meta = with lib; {
+3 -3
pkgs/by-name/ya/yazi/plugins/chmod/default.nix
···
}:
mkYaziPlugin {
pname = "chmod.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "chmod.yazi";
+
version = "25.5.31-unstable-2025-06-26";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "7c174cc0ae1e07876218868e5e0917308201c081";
+
hash = "sha256-RE93ZNlG6CRGZz7YByXtO0mifduh6MMGls6J9IYwaFA=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/git/default.nix
···
}:
mkYaziPlugin {
pname = "git.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "git.yazi";
+
version = "25.5.31-unstable-2025-07-05";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "cbc4450a6c238114362e3c2fbca355166c2a2202";
+
hash = "sha256-otD7zmm/Juh68D2czRhtU7CZFIaMgADxuo8p68cS7fk=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/glow/default.nix
···
}:
mkYaziPlugin {
pname = "glow.yazi";
-
version = "0-unstable-2025-04-15";
src = fetchFromGitHub {
owner = "Reledia";
repo = "glow.yazi";
-
rev = "2da96e3ffd9cd9d4dd53e0b2636f83ff69fe9af0";
-
hash = "sha256-4krck4U/KWmnl32HWRsblYW/biuqzDPysrEn76buRck=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "glow.yazi";
+
version = "0-unstable-2025-06-13";
src = fetchFromGitHub {
owner = "Reledia";
repo = "glow.yazi";
+
rev = "bd3eaa58c065eaf216a8d22d64c62d8e0e9277e9";
+
hash = "sha256-mzW/ut/LTEriZiWF8YMRXG9hZ70OOC0irl5xObTNO40=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/jump-to-char/default.nix
···
}:
mkYaziPlugin {
pname = "jump-to-char.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "jump-to-char.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/lsar/default.nix
···
}:
mkYaziPlugin {
pname = "lsar.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "lsar.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/mactag/default.nix
···
}:
mkYaziPlugin {
pname = "mactag.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "mactag.yazi";
+
version = "25.5.31-unstable-2025-07-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "e5f00e2716fd177b0ca0d313f1a6e64f01c12760";
+
hash = "sha256-DLcmzCmITybWrYuBpTyswtoGUimpagkyeVUWmbKjarY=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/mediainfo/default.nix
···
}:
mkYaziPlugin {
pname = "mediainfo.yazi";
-
version = "25.5.31-unstable-2025-06-05";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "mediainfo.yazi";
-
rev = "a7d1aa69a1a107e64540c17f19ac94be1366769f";
-
hash = "sha256-HUD8Sv1C4gzZRvSEIYqcmm+A0mBYDuwZHCNH26kipS0=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "mediainfo.yazi";
+
version = "25.5.31-unstable-2025-07-19";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "mediainfo.yazi";
+
rev = "f89605ce7ca33181ee6770e641d80ec4673093e0";
+
hash = "sha256-NloChkZWKo9JL636d+G7vgEY/HX24udngYftw/Ydzk4=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/mime-ext/default.nix
···
}:
mkYaziPlugin {
pname = "mime-ext.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "mime-ext.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/mount/default.nix
···
}:
mkYaziPlugin {
pname = "mount.yazi";
-
version = "25.5.28-unstable-2025-06-11";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "c1d638374c76655896c06e9bc91cdb39857b7f15";
-
hash = "sha256-cj2RjeW4/9ZRCd/H4PxrIQWW9kSOxtdi72f+8o13aPI=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "mount.yazi";
+
version = "25.5.31-unstable-2025-07-02";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "e5f00e2716fd177b0ca0d313f1a6e64f01c12760";
+
hash = "sha256-DLcmzCmITybWrYuBpTyswtoGUimpagkyeVUWmbKjarY=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/ouch/default.nix
···
}:
mkYaziPlugin {
pname = "ouch.yazi";
-
version = "0-unstable-2025-06-10";
src = fetchFromGitHub {
owner = "ndtoan96";
repo = "ouch.yazi";
-
rev = "1ee69a56da3c4b90ec8716dd9dd6b82e7a944614";
-
hash = "sha256-4KZeDkMXlhUV0Zh+VGBtz9kFPGOWCexYVuKUSCN463o=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "ouch.yazi";
+
version = "0-unstable-2025-07-13";
src = fetchFromGitHub {
owner = "ndtoan96";
repo = "ouch.yazi";
+
rev = "0742fffea5229271164016bf96fb599d861972db";
+
hash = "sha256-C0wG8NQ+zjAMfd+J39Uvs3K4U6e3Qpo1yLPm2xcsAaI=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/piper/default.nix
···
}:
mkYaziPlugin {
pname = "piper.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "f9b3f8876eaa74d8b76e5b8356aca7e6a81c0fb7";
-
hash = "sha256-EoIrbyC7WgRzrEtvso2Sr6HnNW91c5E+RZGqnjEi6Zo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "piper.yazi";
+
version = "25.5.31-unstable-2025-06-21";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "3d1efb706924112daed986a4eef634e408bad65e";
+
hash = "sha256-GgEg1A5sxaH7hR1CUOO9WV21kH8B2YUGAtOapcWLP7Y=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/projects/default.nix
···
}:
mkYaziPlugin {
pname = "projects.yazi";
-
version = "0-unstable-2025-06-03";
src = fetchFromGitHub {
owner = "MasouShizuka";
repo = "projects.yazi";
-
rev = "7037dd5eee184ccb7725bdc9f7ea6faa188420d5";
-
hash = "sha256-Lc0MeiAuPgJTq4ojNw9hwxqPJ74S4ymn4uPTkxGeZGc=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "projects.yazi";
+
version = "0-unstable-2025-06-19";
src = fetchFromGitHub {
owner = "MasouShizuka";
repo = "projects.yazi";
+
rev = "a5e33db284ab580de7b549e472bba13a5ba7c7b9";
+
hash = "sha256-4VD1OlzGgyeB1jRgPpI4aWnOCHNZQ9vhh40cbU80Les=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/relative-motions/default.nix
···
}:
mkYaziPlugin {
pname = "relative-motions.yazi";
-
version = "25.5.28-unstable-2025-06-05";
src = fetchFromGitHub {
owner = "dedukun";
repo = "relative-motions.yazi";
-
rev = "2e3b6172e6226e0db96aea12d09dea2d2e443fea";
-
hash = "sha256-v0e06ieBKNmt9DATdL7R4AyVFa9DlNBwpfME3LHozLA=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "relative-motions.yazi";
+
version = "25.5.28-unstable-2025-07-09";
src = fetchFromGitHub {
owner = "dedukun";
repo = "relative-motions.yazi";
+
rev = "a603d9ea924dfc0610bcf9d3129e7cba605d4501";
+
hash = "sha256-9i6x/VxGOA3bB3FPieB7mQ1zGaMK5wnMhYqsq4CvaM4=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/restore/default.nix
···
}:
mkYaziPlugin {
pname = "restore.yazi";
-
version = "25.5.31-unstable-2025-06-05";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "restore.yazi";
-
rev = "b7c33766e0bc4bbbb99e8e934be90e3beb881d29";
-
hash = "sha256-qtthY7eySqXoA3TARubZF0SsYkkLEgkjdtPUxR5ro0I=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "restore.yazi";
+
version = "25.5.31-unstable-2025-07-11";
src = fetchFromGitHub {
owner = "boydaihungst";
repo = "restore.yazi";
+
rev = "84f1921806c49b7b20af26cbe57cb4fd286142e2";
+
hash = "sha256-pEQZ/2Z4XVYlfzqtCz51bIgE9KzkDF/qyX8vThhlWGI=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/smart-enter/default.nix
···
}:
mkYaziPlugin {
pname = "smart-enter.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "smart-enter.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/smart-filter/default.nix
···
}:
mkYaziPlugin {
pname = "smart-filter.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "smart-filter.yazi";
+
version = "25.5.31-unstable-2025-07-23";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "de53d90cb2740f84ae595f93d0c4c23f8618a9e4";
+
hash = "sha256-ixZKOtLOwLHLeSoEkk07TB3N57DXoVEyImR3qzGUzxQ=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/smart-paste/default.nix
···
}:
mkYaziPlugin {
pname = "smart-paste.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "smart-paste.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/starship/default.nix
···
}:
mkYaziPlugin {
pname = "starship.yazi";
-
version = "25.4.8-unstable-2025-06-01";
src = fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
-
rev = "6a0f3f788971b155cbc7cec47f6f11aebbc148c9";
-
hash = "sha256-q1G0Y4JAuAv8+zckImzbRvozVn489qiYVGFQbdCxC98=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "starship.yazi";
+
version = "25.4.8-unstable-2025-07-08";
src = fetchFromGitHub {
owner = "Rolv-Apneseth";
repo = "starship.yazi";
+
rev = "a63550b2f91f0553cc545fd8081a03810bc41bc0";
+
hash = "sha256-PYeR6fiWDbUMpJbTFSkM57FzmCbsB4W4IXXe25wLncg=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/toggle-pane/default.nix
···
}:
mkYaziPlugin {
pname = "toggle-pane.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "a54b96a3f21495ab3659e45d5354bcc8413be15c";
-
hash = "sha256-TtVaWazkk2xnomhJFinElbUsXUKAbDDhLEVq5Ah3nAk=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "toggle-pane.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/vcs-files/default.nix
···
}:
mkYaziPlugin {
pname = "vcs-files.yazi";
-
version = "25.5.28-unstable-2025-05-28";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
-
rev = "d642bfb0822eb0c3c5c891ab0f4b6f897a2083cb";
-
hash = "sha256-WF2b9t0VPGNP3QXgr/GMDFcSh5bsXC7KKd2ICL4WDHo=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "vcs-files.yazi";
+
version = "25.5.31-unstable-2025-06-18";
src = fetchFromGitHub {
owner = "yazi-rs";
repo = "plugins";
+
rev = "86d28e4fb4f25f36cc501b8cb0badb37a6b14263";
+
hash = "sha256-m/gJTDm0cVkIdcQ1ZJliPqBhNKoCW1FciLkuq7D1mxo=";
};
meta = {
+3 -3
pkgs/by-name/ya/yazi/plugins/yatline/default.nix
···
}:
mkYaziPlugin {
pname = "yatline.yazi";
-
version = "0-unstable-2025-06-11";
src = fetchFromGitHub {
owner = "imsi32";
repo = "yatline.yazi";
-
rev = "73bce63ffb454ea108a96f316e2a8c2e16a35262";
-
hash = "sha256-pIaqnxEGKiWvtFZJm0e7GSbbIc2qaTCB+czHLcVuVzY=";
};
meta = {
···
}:
mkYaziPlugin {
pname = "yatline.yazi";
+
version = "25.5.31-unstable-2025-06-12";
src = fetchFromGitHub {
owner = "imsi32";
repo = "yatline.yazi";
+
rev = "88bd1c58357d472fe7e8daf9904936771fc49795";
+
hash = "sha256-RkQKZQAa5U9eMWk1Q0doueJZiuP4elUJ0dM1XKLSnDo=";
};
meta = {
+3 -3
pkgs/by-name/zw/zwave-js-ui/package.nix
···
buildNpmPackage rec {
pname = "zwave-js-ui";
-
version = "10.8.0";
src = fetchFromGitHub {
owner = "zwave-js";
repo = "zwave-js-ui";
tag = "v${version}";
-
hash = "sha256-/YXt5yvlYdslxtc6dVGJXsgoMMmIXt8lRoYPn6nNjYY=";
};
-
npmDepsHash = "sha256-qQJ/TCaRvdaKok1ud4MzrM8dtYjlNpESxiN/sJbPexY=";
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
···
buildNpmPackage rec {
pname = "zwave-js-ui";
+
version = "10.10.0";
src = fetchFromGitHub {
owner = "zwave-js";
repo = "zwave-js-ui";
tag = "v${version}";
+
hash = "sha256-75B/3hBD2FfLRcbBbj+uB43dd7Wiaipy8prBEcwSB6Y=";
};
+
npmDepsHash = "sha256-8WEUicgztCi6eK7vri3cOKjDgMx2DIcJTIGp0WTNiDc=";
passthru.tests.zwave-js-ui = nixosTests.zwave-js-ui;
+26
pkgs/development/libraries/libsoup/default.nix
···
"libsoup-2.4"
"libsoup-gnome-2.4"
];
};
}
···
"libsoup-2.4"
"libsoup-gnome-2.4"
];
+
knownVulnerabilities = [
+
''
+
libsoup 2 is EOL, with many known unfixed CVEs.
+
The last release happened 2023-10-11,
+
with few security backports since and no stable release.
+
+
Vulnerabilities likely include (incomplete list):
+
- CVE-2025-4948: https://gitlab.gnome.org/GNOME/libsoup/-/issues/449
+
- CVE-2025-46421: https://gitlab.gnome.org/GNOME/libsoup/-/issues/439
+
- CVE-2025-32914: https://gitlab.gnome.org/GNOME/libsoup/-/issues/436
+
- CVE-2025-32913: https://gitlab.gnome.org/GNOME/libsoup/-/issues/435
+
- CVE-2025-32912: https://gitlab.gnome.org/GNOME/libsoup/-/issues/434
+
- CVE-2025-32911: https://gitlab.gnome.org/GNOME/libsoup/-/issues/433
+
- CVE-2025-32910: https://gitlab.gnome.org/GNOME/libsoup/-/issues/432
+
- CVE-2025-32909: https://gitlab.gnome.org/GNOME/libsoup/-/issues/431
+
- CVE-2025-32907: https://gitlab.gnome.org/GNOME/libsoup/-/issues/428
+
- CVE-2025-32053: https://gitlab.gnome.org/GNOME/libsoup/-/issues/426
+
- CVE-2025-32052: https://gitlab.gnome.org/GNOME/libsoup/-/issues/425
+
- CVE-2025-32050: https://gitlab.gnome.org/GNOME/libsoup/-/issues/424
+
- CVE-2024-52531: https://gitlab.gnome.org/GNOME/libsoup/-/issues/423
+
- CVE-2025-2784: https://gitlab.gnome.org/GNOME/libsoup/-/issues/422
+
+
These vulnerabilities were fixed in libsoup 3,
+
with the vulnerable code present in libsoup 2 versions.
+
''
+
];
};
}
+40
pkgs/development/python-modules/backrefs/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
hatchling,
+
pytestCheckHook,
+
regex,
+
}:
+
+
buildPythonPackage rec {
+
pname = "backrefs";
+
version = "5.9";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "facelessuser";
+
repo = "backrefs";
+
tag = version;
+
hash = "sha256-W75JLoBn990PoO3Ej3nb3BjOGm0c71o8hDDBUFWr8i4=";
+
};
+
+
build-system = [
+
hatchling
+
];
+
+
pythonImportsCheck = [ "backrefs" ];
+
+
nativeCheckInputs = [
+
pytestCheckHook
+
regex
+
];
+
+
meta = {
+
description = "Wrapper around re or regex that adds additional back references";
+
homepage = "https://github.com/facelessuser/backrefs";
+
changelog = "https://github.com/facelessuser/backrefs/releases/tag/${version}";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ drupol ];
+
};
+
}
+2 -2
pkgs/development/python-modules/bayesian-optimization/default.nix
···
buildPythonPackage rec {
pname = "bayesian-optimization";
-
version = "3.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "bayesian-optimization";
repo = "BayesianOptimization";
tag = "v${version}";
-
hash = "sha256-ruMxuMTXVpS5oaZk994xIjgUnhpybrvhvy69nvU5feE=";
};
build-system = [ poetry-core ];
···
buildPythonPackage rec {
pname = "bayesian-optimization";
+
version = "3.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "bayesian-optimization";
repo = "BayesianOptimization";
tag = "v${version}";
+
hash = "sha256-dq5R0/gqjSzQPAmYvtByJ6gT8pOiXcezfYlKpFLnryk=";
};
build-system = [ poetry-core ];
+2 -4
pkgs/development/python-modules/coffea/default.nix
···
dask,
dask-awkward,
dask-histogram,
-
fsspec-xrootd,
hist,
lz4,
matplotlib,
···
buildPythonPackage rec {
pname = "coffea";
-
version = "2025.7.1";
pyproject = true;
src = fetchFromGitHub {
owner = "CoffeaTeam";
repo = "coffea";
tag = "v${version}";
-
hash = "sha256-GtofpITO9QcwFcKyVTz7clquJy2tBTlkf3IR1cXlklM=";
};
build-system = [
···
dask
dask-awkward
dask-histogram
-
fsspec-xrootd
hist
lz4
matplotlib
···
dask,
dask-awkward,
dask-histogram,
hist,
lz4,
matplotlib,
···
buildPythonPackage rec {
pname = "coffea";
+
version = "2025.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "CoffeaTeam";
repo = "coffea";
tag = "v${version}";
+
hash = "sha256-MSCJRjw4bbQQAA39fOQAJ9qfRXO/hUrLeXZMRVGd2Zc=";
};
build-system = [
···
dask
dask-awkward
dask-histogram
hist
lz4
matplotlib
+2 -2
pkgs/development/python-modules/gocardless-pro/default.nix
···
buildPythonPackage rec {
pname = "gocardless-pro";
-
version = "3.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gocardless";
repo = "gocardless-pro-python";
tag = "v${version}";
-
hash = "sha256-NbUgntDZnre6raLGhC2NIY1DctaYInSk5JvsTRDO/dQ=";
};
build-system = [ setuptools ];
···
buildPythonPackage rec {
pname = "gocardless-pro";
+
version = "3.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "gocardless";
repo = "gocardless-pro-python";
tag = "v${version}";
+
hash = "sha256-nSgOHc4Y8wes2lYWWdhxkGXiXUaRnpaj1/gnmeA7dXA=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/jianpu-ly/default.nix
···
buildPythonPackage rec {
pname = "jianpu-ly";
-
version = "1.859";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "jianpu_ly";
-
hash = "sha256-+DMaFEf8LfXMujmq1eKQO2/8L1lqQ2Idc5UuN7saIP4=";
};
dependencies = [ lilypond ];
···
buildPythonPackage rec {
pname = "jianpu-ly";
+
version = "1.860";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "jianpu_ly";
+
hash = "sha256-lUsQMNYQVuZ0Ob007hrSigGLWuyFehLEdm112V3PLXI=";
};
dependencies = [ lilypond ];
+2 -2
pkgs/development/python-modules/llama-index-instrumentation/default.nix
···
buildPythonPackage rec {
pname = "llama-index-instrumentation";
-
version = "0.2.0";
pyproject = true;
src = fetchPypi {
pname = "llama_index_instrumentation";
inherit version;
-
hash = "sha256-roMzUiSH4iozcykkqaCN+0VvVJk8XJfYNA2zxiC3bxM=";
};
pythonRelaxDeps = [ "pydantic" ];
···
buildPythonPackage rec {
pname = "llama-index-instrumentation";
+
version = "0.3.0";
pyproject = true;
src = fetchPypi {
pname = "llama_index_instrumentation";
inherit version;
+
hash = "sha256-d3QcHZhh6tCA5vmDUGJZcUiNHgRr7ekc7J4M4vY+o0o=";
};
pythonRelaxDeps = [ "pydantic" ];
+2 -2
pkgs/development/python-modules/llama-index-workflows/default.nix
···
buildPythonPackage rec {
pname = "llama-index-workflows";
-
version = "1.1.0";
pyproject = true;
src = fetchPypi {
pname = "llama_index_workflows";
inherit version;
-
hash = "sha256-/wAdNiEAv8KjNTzF8lKKCttSJF5jIZGoa0vdrN5ytq8=";
};
pythonRelaxDeps = [ "pydantic" ];
···
buildPythonPackage rec {
pname = "llama-index-workflows";
+
version = "1.2.0";
pyproject = true;
src = fetchPypi {
pname = "llama_index_workflows";
inherit version;
+
hash = "sha256-9rGfAaNAoa+x0v0ihcnc40bjBKOq5RnmEDBZ9a+yYJ8=";
};
pythonRelaxDeps = [ "pydantic" ];
+45
pkgs/development/python-modules/mkdocs-build-plantuml/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
pkgs, # Only for pkgs.plantuml,
+
setuptools,
+
httplib2,
+
}:
+
+
buildPythonPackage rec {
+
pname = "mkdocs-build-plantuml";
+
version = "1.11.0";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "christo-ph";
+
repo = "mkdocs_build_plantuml";
+
tag = version;
+
hash = "sha256-cbyxvWBIV+v81m+xGZZsUypkM1uuj4ADMUrAYlc/XBI=";
+
};
+
+
# There's only one substitution, no patch is needed.
+
postPatch = ''
+
substituteInPlace mkdocs_build_plantuml_plugin/plantuml.py \
+
--replace-fail '/usr/local/bin/plantuml' '${lib.getExe pkgs.plantuml}'
+
'';
+
+
build-system = [ setuptools ];
+
+
dependencies = [
+
httplib2
+
];
+
+
pythonImportsCheck = [ "mkdocs_build_plantuml_plugin" ];
+
+
# No tests available
+
doCheck = false;
+
+
meta = {
+
description = "MkDocs plugin to help generate your plantuml images locally or remotely as files (NOT inline)";
+
homepage = "https://github.com/christo-ph/mkdocs_build_plantuml";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ drupol ];
+
};
+
}
+4 -5
pkgs/development/python-modules/mkdocs-material/default.nix
···
{
lib,
babel,
buildPythonPackage,
cairosvg,
colorama,
···
pillow,
pygments,
pymdown-extensions,
-
pythonOlder,
regex,
requests,
trove-classifiers,
···
buildPythonPackage rec {
pname = "mkdocs-material";
-
version = "9.6.4";
pyproject = true;
-
disabled = pythonOlder "3.7";
-
src = fetchFromGitHub {
owner = "squidfunk";
repo = "mkdocs-material";
tag = version;
-
hash = "sha256-Di+m06LuS5mXzvmz8Cvby49HguUPbXEJf9PnR8fQ5jw=";
};
nativeBuildInputs = [
···
propagatedBuildInputs = [
babel
colorama
jinja2
markdown
···
{
lib,
babel,
+
backrefs,
buildPythonPackage,
cairosvg,
colorama,
···
pillow,
pygments,
pymdown-extensions,
regex,
requests,
trove-classifiers,
···
buildPythonPackage rec {
pname = "mkdocs-material";
+
version = "9.6.15";
pyproject = true;
src = fetchFromGitHub {
owner = "squidfunk";
repo = "mkdocs-material";
tag = version;
+
hash = "sha256-EksLvPl/VfGSufdqgWlQTd6kz07/pTIAOz7hMBdy8Ro=";
};
nativeBuildInputs = [
···
propagatedBuildInputs = [
babel
+
backrefs
colorama
jinja2
markdown
+2 -2
pkgs/development/python-modules/mktestdocs/default.nix
···
buildPythonPackage rec {
pname = "mktestdocs";
-
version = "0.2.3";
pyproject = true;
src = fetchFromGitHub {
owner = "koaning";
repo = "mktestdocs";
tag = version;
-
hash = "sha256-egLlgq0lQOk0cPBly01zQ0rkl7D7Rf/bZ4en5oG+wlE=";
};
build-system = [ setuptools ];
···
buildPythonPackage rec {
pname = "mktestdocs";
+
version = "0.2.5";
pyproject = true;
src = fetchFromGitHub {
owner = "koaning";
repo = "mktestdocs";
tag = version;
+
hash = "sha256-OiOkU/qfxeLbCT1QywA1rGSwe9Ja8tENTmBo93vo0vc=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/roadlib/default.nix
···
buildPythonPackage rec {
pname = "roadlib";
-
version = "1.3.1";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
-
hash = "sha256-RI6gUqCaOeLesIwHtsASEkTtdRxLCAP6+C5Yj8mBb2o=";
};
build-system = [ setuptools ];
···
buildPythonPackage rec {
pname = "roadlib";
+
version = "1.4.0";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
+
hash = "sha256-xiWX16bnEhy7Ykn0nEXpXLJJ5rsZrr2rYmu6WE5XhaQ=";
};
build-system = [ setuptools ];
+3 -3
pkgs/games/minecraft-servers/versions.json
···
{
"1.21": {
-
"sha1": "6e64dcabba3c01a7271b4fa6bd898483b794c59b",
-
"url": "https://piston-data.mojang.com/v1/objects/6e64dcabba3c01a7271b4fa6bd898483b794c59b/server.jar",
-
"version": "1.21.6",
"javaVersion": 21
},
"1.20": {
···
{
"1.21": {
+
"sha1": "05e4b48fbc01f0385adb74bcff9751d34552486c",
+
"url": "https://piston-data.mojang.com/v1/objects/05e4b48fbc01f0385adb74bcff9751d34552486c/server.jar",
+
"version": "1.21.7",
"javaVersion": 21
},
"1.20": {
+40
pkgs/misc/tmux-plugins/default.nix
···
};
};
extrakto = mkTmuxPlugin {
pluginName = "extrakto";
version = "0-unstable-2024-08-25";
···
repo = "tmux-gruvbox";
rev = "3f9e38d7243179730b419b5bfafb4e22b0a969ad";
hash = "sha256-jvGCrV94vJroembKZLmvGO8NknV1Hbgz2IuNmc/BE9A=";
};
};
···
};
};
+
dotbar = mkTmuxPlugin rec {
+
pluginName = "dotbar";
+
version = "0.3.0";
+
src = fetchFromGitHub {
+
owner = "vaaleyard";
+
repo = "tmux-dotbar";
+
tag = version;
+
hash = "sha256-n9k18pJnd5mnp9a7VsMBmEHDwo3j06K6/G6p7/DTyIY=";
+
};
+
meta = {
+
homepage = "https://github.com/vaaleyard/tmux-dotbar";
+
downloadPage = "https://github.com/vaaleyard/tmux-dotbar";
+
description = "Simple and minimalist status bar for tmux";
+
changelog = "https://github.com/vaaleyard/tmux-dotbar/releases/tag/${version}";
+
license = lib.licenses.mit;
+
platforms = lib.platforms.unix;
+
maintainers = with lib.maintainers; [ FKouhai ];
+
};
+
};
+
extrakto = mkTmuxPlugin {
pluginName = "extrakto";
version = "0-unstable-2024-08-25";
···
repo = "tmux-gruvbox";
rev = "3f9e38d7243179730b419b5bfafb4e22b0a969ad";
hash = "sha256-jvGCrV94vJroembKZLmvGO8NknV1Hbgz2IuNmc/BE9A=";
+
};
+
};
+
+
harpoon = mkTmuxPlugin {
+
pluginName = "harpoon";
+
rtpFilePath = "harpoon.tmux";
+
version = "0.4.0";
+
src = fetchFromGitHub {
+
owner = "chaitanyabsprip";
+
repo = "tmux-harpoon";
+
rev = "v0.4.0";
+
hash = "sha256-+IakWkPoQFhIQ4m/98NVYWe5tFKmtfKBnPXZcfU9iOk=";
+
};
+
meta = {
+
homepage = "https://github.com/Chaitanyabsprip/tmux-harpoon";
+
downloadPage = "https://github.com/Chaitanyabsprip/tmux-harpoon";
+
description = "Tool to bookmark session supporting auto create for sessions";
+
license = lib.licenses.mit;
+
platforms = lib.platforms.unix;
+
maintainers = with lib.maintainers; [ FKouhai ];
};
};
+4
pkgs/top-level/python-packages.nix
···
backports-tarfile = callPackage ../development/python-modules/backports-tarfile { };
backtesting = callPackage ../development/python-modules/backtesting { };
bacpypes = callPackage ../development/python-modules/bacpypes { };
···
mkdocs-awesome-nav = callPackage ../development/python-modules/mkdocs-awesome-nav { };
mkdocs-backlinks = callPackage ../development/python-modules/mkdocs-backlinks { };
mkdocs-drawio-exporter = callPackage ../development/python-modules/mkdocs-drawio-exporter { };
···
backports-tarfile = callPackage ../development/python-modules/backports-tarfile { };
+
backrefs = callPackage ../development/python-modules/backrefs { };
+
backtesting = callPackage ../development/python-modules/backtesting { };
bacpypes = callPackage ../development/python-modules/bacpypes { };
···
mkdocs-awesome-nav = callPackage ../development/python-modules/mkdocs-awesome-nav { };
mkdocs-backlinks = callPackage ../development/python-modules/mkdocs-backlinks { };
+
+
mkdocs-build-plantuml = callPackage ../development/python-modules/mkdocs-build-plantuml { };
mkdocs-drawio-exporter = callPackage ../development/python-modules/mkdocs-drawio-exporter { };
-1
pkgs/top-level/release-small.nix
···
util-linux = linux;
util-linuxMinimal = linux;
w3m = all;
-
webkitgtk_4_0 = linux;
wget = all;
which = all;
wirelesstools = linux;
···
util-linux = linux;
util-linuxMinimal = linux;
w3m = all;
wget = all;
which = all;
wirelesstools = linux;