Merge master into staging-nixos

This commit is contained in:
nixpkgs-ci[bot]
2026-05-30 18:25:33 +00:00
committed by GitHub
116 changed files with 1064 additions and 514 deletions
+1 -2
View File
@@ -36,8 +36,7 @@ body:
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Beta (26.05)"
- "- Stable (25.11)"
- "- Stable (26.05)"
default: 0
validations:
required: true
@@ -36,8 +36,7 @@ body:
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Beta (26.05)"
- "- Stable (25.11)"
- "- Stable (26.05)"
default: 0
validations:
required: true
@@ -36,8 +36,7 @@ body:
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Beta (26.05)"
- "- Stable (25.11)"
- "- Stable (26.05)"
default: 0
validations:
required: true
+1 -2
View File
@@ -38,8 +38,7 @@ body:
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Beta (26.05)"
- "- Stable (25.11)"
- "- Stable (26.05)"
default: 0
validations:
required: true
+1 -2
View File
@@ -38,8 +38,7 @@ body:
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Beta (26.05)"
- "- Stable (25.11)"
- "- Stable (26.05)"
default: 0
validations:
required: true
+1 -2
View File
@@ -36,8 +36,7 @@ body:
options:
- "Please select a version."
- "- Unstable (26.11)"
- "- Beta (26.05)"
- "- Stable (25.11)"
- "- Stable (26.05)"
default: 0
validations:
required: true
+1 -1
View File
@@ -1,4 +1,4 @@
# Nixpkgs 26.05 ("Yarara", 2026.05/??) {#sec-nixpkgs-release-26.05}
# Nixpkgs 26.05 ("Yarara", 2026.05/30) {#sec-nixpkgs-release-26.05}
## Highlights {#sec-nixpkgs-release-26.05-highlights}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+2
View File
@@ -17,6 +17,8 @@
- `requireFile` now sets `meta.license = lib.licenses.unfree` by default. Users of `requireFile`-based derivations that preserve this default will need to explicitly allow their evaluation as described in [](#sec-allow-unfree).
- `librest` providing 0.7 ABI was removed. `librest_1_0` providing 1.0 ABI was renamed to `librest` and `librest_1_0` was kept as an alias.
## Other Notable Changes {#sec-nixpkgs-release-26.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
+5
View File
@@ -19399,6 +19399,11 @@
githubId = 79978224;
name = "winston";
};
nelind = {
name = "Nel";
github = "nelind3";
githubId = 57587152;
};
nelsonjeppesen = {
email = "nix@jeppesen.io";
github = "NelsonJeppesen";
@@ -1,4 +1,4 @@
# Release 26.05 ("Yarara", 2026.05/??) {#sec-release-26.05}
# Release 26.05 ("Yarara", 2026.05/30) {#sec-release-26.05}
## Highlights {#sec-release-26.05-highlights}
@@ -10,7 +10,7 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- Create the first release note entry in this section!
- [tranquil](https://tangled.org/tranquil.farm/tranquil-pds) is an ATProto PDS (personal data server) implementation in Rust. A featureful, spec conscious and community driven alternative to the Bluesky reference implementation PDS. Available as [services.tranquil-pds](#opt-services.tranquil-pds.enable).
## Backward Incompatibilities {#sec-release-26.11-incompatibilities}
+1
View File
@@ -1793,6 +1793,7 @@
./services/web-apps/suwayomi-server.nix
./services/web-apps/szurubooru.nix
./services/web-apps/tabbyapi.nix
./services/web-apps/tranquil-pds.nix
./services/web-apps/trilium.nix
./services/web-apps/tt-rss.nix
./services/web-apps/tuliprox.nix
@@ -0,0 +1,251 @@
{
lib,
pkgs,
config,
...
}:
let
cfg = config.services.tranquil-pds;
inherit (lib) types mkPackageOption mkOption;
settingsFormat = pkgs.formats.toml { };
in
{
options.services.tranquil-pds = {
enable = lib.mkEnableOption "tranquil-pds AT Protocol personal data server";
package = mkPackageOption pkgs "tranquil-pds" { };
user = mkOption {
type = types.str;
default = "tranquil-pds";
description = "User under which tranquil-pds runs";
};
group = mkOption {
type = types.str;
default = "tranquil-pds";
description = "Group under which tranquil-pds runs";
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/tranquil-pds";
description = "Working directory for tranquil-pds. Also expected to be used for data (blobs)";
};
environmentFiles = mkOption {
type = types.listOf types.path;
default = [ ];
description = ''
File to load environment variables from. Loaded variables override
values set in {option}`environment`.
Use it to set values of `JWT_SECRET`, `DPOP_SECRET` and `MASTER_KEY`.
Generate these with:
```
openssl rand -base64 48
```
'';
};
database.createLocally = mkOption {
type = types.bool;
default = false;
description = ''
Create the postgres database and user on the local host.
'';
};
settings = mkOption {
type = types.submodule {
freeformType = settingsFormat.type;
options = {
server = {
host = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Host for tranquil-pds to listen on";
};
port = mkOption {
type = types.int;
default = 3000;
description = "Port for tranquil-pds to listen on";
};
hostname = mkOption {
type = types.str;
default = "";
example = "pds.example.com";
description = "The public-facing hostname of the PDS";
};
max_blob_size = mkOption {
type = types.int;
default = 10737418240; # 10 GiB
description = "Maximum allowed blob size in bytes.";
};
};
frontend = {
enabled =
lib.mkEnableOption "serving the frontend from the backend. Disable to serve the frontend manually"
// {
default = true;
};
dir = mkPackageOption pkgs "tranquil-pds-frontend" { };
};
storage = {
path = mkOption {
type = types.path;
default = "${cfg.dataDir}/blobs";
defaultText = "\${cfg.dataDir}/blobs";
description = "Directory for storing blobs";
};
};
tranquil_store = {
data_dir = mkOption {
type = types.path;
default = "${cfg.dataDir}/store";
defaultText = "\${cfg.dataDir}/store";
description = "Directory for tranquil-store files";
};
};
};
};
description = ''
Configuration options to set for the service. Secrets should be
specified using {option}`environmentFile`.
Refer to <https://tangled.org/tranquil.farm/tranquil-pds/blob/main/example.toml>
for available configuration options.
'';
};
};
config = lib.mkIf cfg.enable (
lib.mkMerge [
(lib.mkIf cfg.database.createLocally {
services.postgresql = {
enable = true;
ensureDatabases = [ cfg.user ];
ensureUsers = [
{
name = cfg.user;
ensureDBOwnership = true;
}
];
};
services.tranquil-pds.settings.database.url =
lib.mkDefault "postgresql:///${cfg.user}?host=/run/postgresql";
systemd.services.tranquil-pds = {
requires = [ "postgresql.service" ];
after = [ "postgresql.service" ];
};
})
{
users.users.${cfg.user} = {
isSystemUser = true;
inherit (cfg) group;
home = cfg.dataDir;
};
users.groups.${cfg.group} = { };
systemd.tmpfiles.settings."tranquil-pds" =
lib.genAttrs
[
cfg.dataDir
cfg.settings.storage.path
cfg.settings.tranquil_store.data_dir
]
(_: {
d = {
mode = "0750";
inherit (cfg) user group;
};
});
environment.etc = {
"tranquil-pds/config.toml".source =
let
conf = settingsFormat.generate "tranquil-pds.toml" cfg.settings;
in
pkgs.runCommandLocal "validated-tranquil-config" { nativeBuildInputs = [ cfg.package ]; } ''
tranquil-server --config ${conf} validate --ignore-secrets
ln -s ${conf} $out
'';
};
systemd.services.tranquil-pds = {
description = "Tranquil PDS - ATProtocol Personal Data Server";
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = cfg.user;
Group = cfg.group;
UMask = "0077";
ExecStart = lib.getExe cfg.package;
Restart = "on-failure";
RestartSec = 5;
WorkingDirectory = cfg.dataDir;
StateDirectory = "tranquil-pds";
ReadWritePaths = [
cfg.settings.storage.path
];
EnvironmentFile = cfg.environmentFiles;
CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
ProtectProc = "invisible";
ProcSubset = "pid";
NoNewPrivileges = true;
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true;
PrivateUsers = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
RestrictAddressFamilies = [
"AF_INET"
"AF_INET6"
"AF_UNIX"
];
RestrictNamespaces = true;
LockPersonality = true;
MemoryDenyWriteExecute = true;
RestrictRealtime = true;
RestrictSUIDSGID = true;
RemoveIPC = true;
PrivateMounts = true;
SystemCallFilter = [
"@system-service"
"~@privileged @resources"
];
SystemCallArchitectures = "native";
};
};
}
]
);
meta.maintainers = with lib.maintainers; [ nelind ];
}
+1
View File
@@ -1708,6 +1708,7 @@ in
tracee = handleTestOn [ "x86_64-linux" ] ./tracee.nix { };
traefik = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./traefik.nix;
trafficserver = runTest ./trafficserver.nix;
tranquil-pds = runTest ./tranquil-pds.nix;
transfer-sh = runTest ./transfer-sh.nix;
transmission_4 = runTest ./transmission.nix;
trezord = runTest ./trezord.nix;
+35
View File
@@ -0,0 +1,35 @@
{ lib, ... }:
{
name = "tranquil-pds";
nodes.machine =
{ pkgs, ... }:
{
services.tranquil-pds = {
enable = true;
database.createLocally = true;
settings = {
server = {
hostname = "pds";
port = 8080;
};
secrets = {
allow_insecure = true;
jwt_secret = "test-jwt-secret-must-be-32-chars-long";
dpop_secret = "test-dpop-secret-must-be-32-chars-long";
master_key = "test-master-key-must-be-32-chars-long";
};
};
};
};
testScript = ''
machine.wait_for_unit("tranquil-pds.service")
machine.wait_for_open_port(8080)
machine.succeed("curl --fail http://localhost:8080")
'';
meta.maintainers = with lib.maintainers; [ nelind ];
}
@@ -413,7 +413,7 @@ let
done
# Disable update checks
touch $out/${libDir}/is-packaged-app
touch "$out/${libDir}/is-packaged-app"
cd "$out"
@@ -1,151 +0,0 @@
{
pkgsBuildBuild,
go,
buildGoModule,
stdenv,
lib,
fetchFromGitHub,
nixosTests,
autoSignDarwinBinariesHook,
nix-update-script,
}:
let
common =
{
stname,
target,
postInstall ? "",
}:
buildGoModule rec {
pname = stname;
version = "2.0.15";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
tag = "v${version}";
hash = "sha256-v77ovjV+UoCRA1GteP+HDqC8dsRvtOhFX/IkSgSIf8Y=";
};
vendorHash = "sha256-boYTLgvH+iWlh3y3Z0LPvSVGEget3X94AthtJKphhCw=";
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
# Recent versions of macOS seem to require binaries to be signed when
# run from Launch Agents/Daemons, even on x86 devices where it has a
# more lax code signing policy compared to Apple Silicon. So just sign
# the binaries on both architectures to make it possible for launchd to
# auto-start Syncthing at login.
autoSignDarwinBinariesHook
];
doCheck = false;
env = {
BUILD_USER = "nix";
BUILD_HOST = "nix";
};
buildPhase = ''
runHook preBuild
(
export GOOS="${pkgsBuildBuild.go.GOOS}" GOARCH="${pkgsBuildBuild.go.GOARCH}" CC=$CC_FOR_BUILD
go build build.go
go generate github.com/syncthing/syncthing/lib/api/auto github.com/syncthing/syncthing/cmd/infra/strelaypoolsrv/auto
)
./build -goos ${go.GOOS} -goarch ${go.GOARCH} -no-upgrade -version v${version} build ${target}
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 ${target} $out/bin/${target}
runHook postInstall
'';
inherit postInstall;
passthru = {
tests = {
inherit (nixosTests)
syncthing
syncthing-folders
syncthing-guiPassword
syncthing-guiPasswordFile
syncthing-init
syncthing-no-settings
syncthing-relay
;
};
updateScript = nix-update-script { };
};
meta = {
homepage = "https://syncthing.net/";
description = "Open Source Continuous File Synchronization";
changelog = "https://github.com/syncthing/syncthing/releases/tag/v${version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
joko
peterhoeg
];
mainProgram = target;
platforms = lib.platforms.unix;
};
};
in
{
syncthing = common {
stname = "syncthing";
target = "syncthing";
postInstall = ''
# This installs man pages in the correct directory according to the suffix
# on the filename
for mf in man/*.[1-9]; do
mantype="$(echo "$mf" | awk -F"." '{print $NF}')"
mandir="$out/share/man/man$mantype"
install -Dm644 "$mf" "$mandir/$(basename "$mf")"
done
install -Dm644 etc/linux-desktop/syncthing-ui.desktop $out/share/applications/syncthing-ui.desktop
install -Dm644 assets/logo-32.png $out/share/icons/hicolor/32x32/apps/syncthing.png
install -Dm644 assets/logo-64.png $out/share/icons/hicolor/64x64/apps/syncthing.png
install -Dm644 assets/logo-128.png $out/share/icons/hicolor/128x128/apps/syncthing.png
install -Dm644 assets/logo-256.png $out/share/icons/hicolor/256x256/apps/syncthing.png
install -Dm644 assets/logo-512.png $out/share/icons/hicolor/512x512/apps/syncthing.png
install -Dm644 assets/logo-only.svg $out/share/icons/hicolor/scalable/apps/syncthing.svg
''
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
mkdir -p $out/lib/systemd/{system,user}
substitute etc/linux-systemd/system/syncthing@.service \
$out/lib/systemd/system/syncthing@.service \
--replace-fail /usr/bin/syncthing $out/bin/syncthing
substitute etc/linux-systemd/user/syncthing.service \
$out/lib/systemd/user/syncthing.service \
--replace-fail /usr/bin/syncthing $out/bin/syncthing
'';
};
syncthing-discovery = common {
stname = "syncthing-discovery";
target = "stdiscosrv";
};
syncthing-relay = common {
stname = "syncthing-relay";
target = "strelaysrv";
postInstall = lib.optionalString (stdenv.hostPlatform.isLinux) ''
mkdir -p $out/lib/systemd/system
substitute cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \
$out/lib/systemd/system/strelaysrv.service \
--replace-fail /usr/bin/strelaysrv $out/bin/strelaysrv
'';
};
}
+6 -5
View File
@@ -12,14 +12,14 @@
fetchFromGitHub,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "antimicrox";
version = "3.5.1";
src = fetchFromGitHub {
owner = "AntiMicroX";
repo = pname;
rev = version;
repo = "antimicrox";
rev = finalAttrs.version;
sha256 = "sha256-ZIHhgyOpabWkdFZoha/Hj/1d8/b6qVolE6dn0xAFZVw=";
};
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
udevCheckHook
libsForQt5.wrapQtAppsHook
];
buildInputs = [
SDL2
libsForQt5.qttools
@@ -46,10 +47,10 @@ stdenv.mkDerivation rec {
meta = {
description = "GUI for mapping keyboard and mouse controls to a gamepad";
inherit (src.meta) homepage;
inherit (finalAttrs.src.meta) homepage;
maintainers = [ ];
license = lib.licenses.gpl3Plus;
platforms = with lib.platforms; linux;
mainProgram = "antimicrox";
};
}
})
+2 -3
View File
@@ -1,6 +1,6 @@
{
lib,
fetchFromGitea,
fetchFromCodeberg,
rustPlatform,
pkg-config,
lz4,
@@ -17,8 +17,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "awww";
version = "0.12.1";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "LGFae";
repo = "awww";
tag = "v${finalAttrs.version}";
+2 -2
View File
@@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "betterleaks";
version = "1.3.0";
version = "1.3.1";
src = fetchFromGitHub {
owner = "betterleaks";
repo = "betterleaks";
tag = "v${finalAttrs.version}";
hash = "sha256-65ITYF3PFYuMXsAEEVOXVBlaZnM01w/BpOdCD0LW5Y4=";
hash = "sha256-bPrOp5PP5BxkSOA7wUmq/bbVPg+bwymGQ0rl8PvPSAE=";
};
vendorHash = "sha256-RStdC7M0+bPNXwaATxkMOBGf1OrT0pqlNPTJ7TCelfk=";
@@ -33,13 +33,13 @@ let
in
buildNpmPackage' rec {
pname = "bitwarden-desktop";
version = "2026.3.1";
version = "2026.5.0";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
rev = "desktop-v${version}";
hash = "sha256-ecaCHk04N9h0RP8gK0o+MLgYS6Linsqi7AaC86hwQ3U=";
hash = "sha256-R00wt5W4kKmFIODEaGoUqDwfGyHH/2PpiRaC8Gq3d88=";
};
patches = [
@@ -85,7 +85,7 @@ buildNpmPackage' rec {
npmWorkspace = "apps/desktop";
npmDepsFetcherVersion = 2;
npmDepsHash = "sha256-1t4CSd1NDC1medTTFHSzX9ZkgHqPG2L//yjaloH47z0=";
npmDepsHash = "sha256-xmb3zwE8/nWpRlUOgTz2UhNRaUA8KW9sHQHA97pjjfg=";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit
@@ -95,7 +95,7 @@ buildNpmPackage' rec {
cargoRoot
patches
;
hash = "sha256-d9Iv7OekHOteH1lyAuyj/EzfU/KSCW6ATx83foOW3IE=";
hash = "sha256-phvk4t1JKfSYGzm/vm1rT8A0fACHJF/C0WiZ2Lk3cV0=";
};
cargoRoot = "apps/desktop/desktop_native";
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "cargo-edit";
version = "0.13.10";
version = "0.13.11";
src = fetchFromGitHub {
owner = "killercup";
repo = "cargo-edit";
rev = "v${finalAttrs.version}";
hash = "sha256-9CmbOIRHgYlc/bAN8BS5NyzfgRIzyneh/LC/sZFZUuo=";
hash = "sha256-u4mjbIs9rLZOZ4MUITc4QYnfEcTyZT5aXt6U7fwefoo=";
};
cargoHash = "sha256-O1tY0RVH4FHr7kWJ8+BUyD7LzzqlaObO0dHwrsX2biQ=";
cargoHash = "sha256-1PCncmiY+olGGMOT2AfIbGY5sup4ysPVqdBmuecDWk0=";
nativeBuildInputs = [ pkg-config ];
+2 -2
View File
@@ -13,11 +13,11 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "copybara";
version = "20260420";
version = "20260525";
src = fetchurl {
url = "https://github.com/google/copybara/releases/download/v${finalAttrs.version}/copybara_deploy.jar";
hash = "sha256-0ddQZ5CtsV0trTi6+AhNA2KU9hQAedz47MpxvPK27cg=";
hash = "sha256-vldamyDTV1wccm01Jwiv0ftaIq0UGG91U0jZWuht+vs=";
};
nativeBuildInputs = [
+2 -3
View File
@@ -1,7 +1,7 @@
{
lib,
python3Packages,
fetchFromGitea,
fetchFromCodeberg,
makeWrapper,
libjpeg,
exiftool,
@@ -11,8 +11,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
pname = "cropgui";
version = "0.9";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "jepler";
repo = "cropgui";
tag = "v${finalAttrs.version}";
+2 -3
View File
@@ -1,7 +1,7 @@
{
lib,
stdenv,
fetchFromGitea,
fetchFromCodeberg,
appstream,
cmake,
desktop-file-utils,
@@ -27,8 +27,7 @@ stdenv.mkDerivation (finalAttrs: {
pname = "gamepad-mirror";
version = "0.3-unstable-2025-10-18";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "vendillah";
repo = "GamepadMirror";
rev = "aa86d55f21b4d206eab61d0bf7cd9ccafc8aa607";
+3 -3
View File
@@ -13,16 +13,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "git-branchless";
version = "0.11.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "arxanas";
repo = "git-branchless";
rev = "v${finalAttrs.version}";
hash = "sha256-mxZLS39/QNDSR3RZsG17Sd+ses3IEqtbqIMASxOpzmo=";
hash = "sha256-V769kYbmUe6JtVoo83ejxUsegyiBh07tMYPVhJiFNgs=";
};
cargoHash = "sha256-bAZ0M3/RD3L+x0Xb+n6XPn0wRj+bQkoOmErSDuOHIRw=";
cargoHash = "sha256-5uygCOzPNqHjKJfq2LFTfaRT/N++/AY/PwlBJ8j8QwM=";
nativeBuildInputs = [ pkg-config ];
+2 -3
View File
@@ -1,7 +1,7 @@
{
lib,
buildGoModule,
fetchFromGitea,
fetchFromCodeberg,
nix-update-script,
versionCheckHook,
}:
@@ -11,8 +11,7 @@ buildGoModule (finalAttrs: {
version = "0.9.0";
__structuredAttrs = true;
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "git-pages";
repo = "git-pages";
tag = "v${finalAttrs.version}";
+2 -2
View File
@@ -12,7 +12,7 @@
gtk4,
gobject-introspection,
gdk-pixbuf,
librest_1_0,
librest,
libgweather,
geoclue2,
wrapGAppsHook4,
@@ -66,7 +66,7 @@ stdenv.mkDerivation (finalAttrs: {
libshumate
libgweather
libadwaita
librest_1_0
librest
libsecret
libsoup_3
];
@@ -13,7 +13,7 @@
json-glib,
keyutils,
libadwaita,
librest_1_0,
librest,
libxml2,
libsecret,
gobject-introspection,
@@ -79,7 +79,7 @@ stdenv.mkDerivation (finalAttrs: {
gvfs # OwnCloud, Google Drive
json-glib
libkrb5
librest_1_0
librest
libxml2
libsecret
libsoup_3
+2 -2
View File
@@ -9,7 +9,7 @@
vala,
pkg-config,
adwaita-icon-theme,
libchamplain,
libchamplain_libsoup3,
gdl,
wrapGAppsHook3,
}:
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gdl
libchamplain
libchamplain_libsoup3
adwaita-icon-theme
libxml2
];
+2 -2
View File
@@ -14,7 +14,7 @@
libarchive,
libdmapsharing,
libsoup_3,
librest_1_0,
librest,
gnome,
libxml2,
lua5_4,
@@ -90,7 +90,7 @@ stdenv.mkDerivation rec {
libarchive
libdmapsharing
libsoup_3
librest_1_0
librest
gmime
gom
json-glib
+2 -3
View File
@@ -1,7 +1,7 @@
{
lib,
rustPlatform,
fetchFromGitea,
fetchFromCodeberg,
python3,
sqlite,
}:
@@ -10,8 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "hittekaart";
version = "0.2.0";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "dunj3";
repo = "hittekaart";
tag = "v${finalAttrs.version}";
-2
View File
@@ -27,7 +27,6 @@
libwebp,
libxdmcp,
pango,
pcre,
pcre2,
wayland,
wayland-protocols,
@@ -80,7 +79,6 @@ gcc15Stdenv.mkDerivation (finalAttrs: {
libwebp
libxdmcp
pango
pcre
pcre2
wayland
wayland-protocols
+2 -2
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hypseus-singe";
version = "2.11.7";
version = "2.12.0";
src = fetchFromGitHub {
owner = "DirtBagXon";
repo = "hypseus-singe";
tag = "v${finalAttrs.version}";
hash = "sha256-/Jt4w6LQ/EdZ1kmXlu08clDu+uYRL/UlgEyxa+BXooM=";
hash = "sha256-H9ogg01Szp5ab8reFnL108QhnkqkHdBFZo6YziNMzms=";
};
patches = [ ./use-shared-mpeg2.patch ];
+20
View File
@@ -79,6 +79,26 @@ import ./generic.nix {
url = "https://github.com/lxc/incus/commit/5b29ecc164ef28239d2e2a874a7c871a2e419083.patch?full_index=1";
hash = "sha256-jpyJYjiZvRw/aOGsykEx8uotRBF7p1q5O08PVhyQtvk=";
})
(fetchpatch2 {
name = "incusd-storage_Fix-unsafe-access-to-backup-data.patch";
url = "https://github.com/lxc/incus/commit/d71c5053a4c8318e6eb07337a7a4a07a6608ef73.patch?full_index=1";
hash = "sha256-/mH0/KmX9sG8HZTcdk8MT+QZtNqZa934wcHptvdVtXM=";
})
(fetchpatch2 {
name = "incusd-storage_Guard-nil-ExpiresAt-in-CreateCustomVolumeFromBackup.patch";
url = "https://github.com/lxc/incus/commit/ab6b7dff0c770044875d9d26a6254a7075b4d00b.patch?full_index=1";
hash = "sha256-d7VUetQzUTBq3GLYM1JKy2KDbBxOW5Lg7Di1/JPNzSE=";
})
(fetchpatch2 {
name = "incusd-storage_Guard-nil-fields-in-createDependentVolumesFromBackup.patch";
url = "https://github.com/lxc/incus/commit/98e64f0a6fcfdc9676eea0246418d490c53297bf.patch?full_index=1";
hash = "sha256-+lB7eHsGZ/dW7aL4/wIWD4AF6t7s4QYfAld1bQOw2tQ=";
})
(fetchpatch2 {
name = "incusd-storage-s3_Confine-multipart-uploads-with-os.Root.patch";
url = "https://github.com/lxc/incus/commit/a6012422b45c86f3b1956788cff5d75c604ad838.patch?full_index=1";
hash = "sha256-u3NLKE8Rh8i6HMbJ0KNhH7gbuwIpJ1SPqiyVoiuw9Sc=";
})
];
nixUpdateExtraArgs = [
"--version-regex=^v(7\\.0\\.[0-9]+)$"
+2 -2
View File
@@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "kalamine";
version = "0.38";
version = "0.40";
pyproject = true;
src = fetchFromGitHub {
owner = "OneDeadKey";
repo = "kalamine";
rev = "v${finalAttrs.version}";
hash = "sha256-eDOwoI7S0l48oOWWDaBbDlC0A8RtPEA+FDCHpPur0OQ=";
hash = "sha256-9R8N5p+VNuiqTl3a0SSmJEVg3Ol76nROf43GsdOdJL8=";
};
nativeBuildInputs = [
@@ -4,7 +4,7 @@
fetchFromGitHub,
autoreconfHook,
automake,
fftw,
fftwSinglePrec,
ladspa-header,
libxml2,
pkg-config,
@@ -39,8 +39,9 @@ stdenv.mkDerivation (finalAttrs: {
perlPackages.perl
perlPackages.XMLParser
];
buildInputs = [
fftw
fftwSinglePrec
ladspa-header
libxml2
];
@@ -15,10 +15,8 @@
sqlite,
gnome,
clutter-gtk,
libsoup_2_4,
libsoup_3,
gobject-introspection, # , libmemphis
withLibsoup3 ? false,
}:
stdenv.mkDerivation rec {
@@ -51,7 +49,7 @@ stdenv.mkDerivation rec {
buildInputs = [
sqlite
(if withLibsoup3 then libsoup_3 else libsoup_2_4)
libsoup_3
];
propagatedBuildInputs = [
@@ -64,7 +62,7 @@ stdenv.mkDerivation rec {
mesonFlags = [
(lib.mesonBool "gtk_doc" (stdenv.buildPlatform == stdenv.hostPlatform))
"-Dvapi=true"
(lib.mesonBool "libsoup3" withLibsoup3)
(lib.mesonBool "libsoup3" true)
];
passthru = {
@@ -89,7 +87,7 @@ stdenv.mkDerivation rec {
OpenCycleMap, OpenAerialMap, and Maps for free.
'';
teams = lib.optionals withLibsoup3 [
teams = [
lib.teams.gnome
lib.teams.pantheon
];
+2 -2
View File
@@ -8,7 +8,7 @@
gobject-introspection,
ninja,
glib,
librest_1_0,
librest,
}:
stdenv.mkDerivation rec {
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = [
glib
librest_1_0
librest
];
passthru = {
@@ -14,7 +14,7 @@
gnome,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "librest";
version = "0.10.2";
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
];
src = fetchurl {
url = "mirror://gnome/sources/librest/${lib.versions.majorMinor version}/librest-${version}.tar.xz";
url = "mirror://gnome/sources/librest/${lib.versions.majorMinor finalAttrs.version}/librest-${finalAttrs.version}.tar.xz";
sha256 = "e2y5Ers6Is+n3PAFkl3LYogwJNsMCQmUhufWhRGFybg=";
};
@@ -64,7 +64,6 @@ stdenv.mkDerivation rec {
passthru = {
updateScript = gnome.updateScript {
packageName = "librest";
attrPath = "librest_1_0";
versionPolicy = "odd-unstable";
};
};
@@ -76,4 +75,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.unix;
teams = [ lib.teams.gnome ];
};
}
})
+2 -2
View File
@@ -8,7 +8,7 @@
wrapGAppsHook4,
enchant,
gtkmm4,
libchamplain,
libchamplain_libsoup3,
libgcrypt,
shared-mime-info,
libshumate,
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
libgcrypt
enchant
gtkmm4
(libchamplain.override { withLibsoup3 = true; })
libchamplain_libsoup3
libshumate
];
@@ -2,10 +2,12 @@
lib,
stdenv,
fetchFromGitHub,
cmake,
lua,
pkg-config,
rsync,
lua5_2_compat,
asciidoc,
libxml2,
docbook_xml_dtd_45,
@@ -17,14 +19,14 @@
let
xnu = darwin.sourceRelease "xnu";
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "lsyncd";
version = "2.3.1";
src = fetchFromGitHub {
owner = "axkibe";
owner = "lsyncd";
repo = "lsyncd";
rev = "release-${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-QBmvS1HGF3VWS+5aLgDr9AmUfEsuSz+DTFIeql2XHH4=";
};
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
'';
# Special flags needed on Darwin:
# https://github.com/axkibe/lsyncd/blob/42413cabbedca429d55a5378f6e830f191f3cc86/INSTALL#L51
# https://github.com/lsyncd/lsyncd/blob/42413cabbedca429d55a5378f6e830f191f3cc86/INSTALL#L51
cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [
"-DWITH_INOTIFY=OFF"
"-DWITH_FSEVENTS=ON"
@@ -47,9 +49,10 @@ stdenv.mkDerivation rec {
cmake
pkg-config
];
buildInputs = [
rsync
lua
lua5_2_compat
asciidoc
libxml2
docbook_xml_dtd_45
@@ -58,11 +61,11 @@ stdenv.mkDerivation rec {
];
meta = {
homepage = "https://github.com/axkibe/lsyncd";
homepage = "https://github.com/lsyncd/lsyncd";
description = "Utility that synchronizes local directories with remote targets";
mainProgram = "lsyncd";
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [ bobvanderlinden ];
};
}
})
+9 -8
View File
@@ -15,27 +15,27 @@ let
];
python = python3.withPackages (pkgs: pydeps);
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "makehuman";
version = "1.3.0";
source = fetchFromGitHub {
owner = "makehumancommunity";
repo = "makehuman";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-x0v/SkwtOl1lkVi2TRuIgx2Xgz4JcWD3He7NhU44Js4=";
name = "${pname}-source";
name = "makehuman-source";
};
assets = fetchFromGitHub {
owner = "makehumancommunity";
repo = "makehuman-assets";
rev = "v${version}";
tag = "v${finalAttrs.version}";
hash = "sha256-Jd2A0PAHVdFMnDLq4Mu5wsK/E6A4QpKjUyv66ix1Gbo=";
name = "${pname}-assets-source";
name = "makehuman-assets-source";
};
srcs = [
srcs = with finalAttrs; [
source
assets
];
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
propagatedBuildInputs = pydeps;
finalSource = "${pname}-final";
finalSource = "makehuman-final";
postUnpack = ''
mkdir -p $finalSource
@@ -107,5 +107,6 @@ stdenv.mkDerivation rec {
mainProgram = "makehuman";
maintainers = with lib.maintainers; [ elisesouche ];
platforms = lib.platforms.all;
broken = true; # Added 2026-05-12
};
}
})
+3 -3
View File
@@ -89,16 +89,16 @@ let
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "matrix-tuwunel";
version = "1.6.1";
version = "1.7.0";
src = fetchFromGitHub {
owner = "matrix-construct";
repo = "tuwunel";
tag = "v${finalAttrs.version}";
hash = "sha256-GIYG2fKiUSOx2aAumCZLrc4vuWj1UWJf8nXyuDdj1oI=";
hash = "sha256-bB42SEa/gkFlkjb4L12Uh7xI4+3NmJgfbUPU01NXaEQ=";
};
cargoHash = "sha256-V8byPrtgUQPri36pNtgOEtTlblxMAm90cSf8fgmx4tA=";
cargoHash = "sha256-czCKzV/DCMJK0sN/jP5Jo98Zdii9DIAGAVnFnK0YtmY=";
nativeBuildInputs = [
pkg-config
@@ -1,13 +0,0 @@
diff --git a/includes/Installer/DatabaseUpdater.php b/includes/Installer/DatabaseUpdater.php
index 8ed996b9dee..733a3210096 100644
--- a/includes/Installer/DatabaseUpdater.php
+++ b/includes/Installer/DatabaseUpdater.php
@@ -1380,7 +1380,7 @@ public function purgeCache() {
// ObjectCache
$this->db->newDeleteQueryBuilder()
->deleteFrom( 'objectcache' )
- ->where( ISQLPlatform::ALL_ROWS )
+ ->where( "keyname NOT LIKE '%:MWSession:%'" )
->caller( __METHOD__ )
->execute();
-6
View File
@@ -14,12 +14,6 @@ stdenvNoCC.mkDerivation rec {
hash = "sha256-XqjB8yHJ+Nuk0aweTsoYJ/sTUZ1KIZDiOfUUMgWKQmk=";
};
patches = [
# NixOS runs the update script on every start as we might need to run some migrations.
# Normally this clears all active sessions, for usability we do not do that.
./keep-session-object-cache.diff
];
postPatch = ''
substituteInPlace includes/installer/CliInstaller.php \
--replace-fail '$vars = Installer::getExistingLocalSettings();' '$vars = null;'
+2 -2
View File
@@ -6,13 +6,13 @@
buildGoModule (finalAttrs: {
pname = "mtr-exporter";
version = "0.6.0";
version = "0.7.0";
src = fetchFromGitHub {
owner = "mgumz";
repo = "mtr-exporter";
rev = finalAttrs.version;
hash = "sha256-GkTkL72ZdxeCMG24rjGx8vWt5GQqrTXNxTDpQ81ite8=";
hash = "sha256-X765/f6dnnu10dti22wXMr74MIGqOraTVVcOeQBAqeA=";
};
vendorHash = null;
+2 -2
View File
@@ -18,13 +18,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "neowall";
version = "0.4.6";
version = "0.4.7";
src = fetchFromGitHub {
owner = "1ay1";
repo = "neowall";
tag = "v${finalAttrs.version}";
hash = "sha256-esI7m5V6ISpoXllLNjb52TdVMKel4FKOKPa40n3rofo=";
hash = "sha256-QtPxt0NS2u5DXNLT8XjBiPb2Jy73Pk2QO+itFCJ/9cU=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "nfdump";
version = "1.7.7";
version = "1.7.8";
src = fetchFromGitHub {
owner = "phaag";
repo = "nfdump";
tag = "v${finalAttrs.version}";
hash = "sha256-2CQ57OEKCOaRvuBX4GN2Gz/S7B6CUTpvArD84QqLZEw=";
hash = "sha256-7e3gV/yibVU76BUeGAlwVbOUgDmj63eh1p9g4MM8YoM=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "niks3";
version = "1.4.0";
version = "1.6.0";
src = fetchFromGitHub {
owner = "Mic92";
repo = "niks3";
tag = "v${finalAttrs.version}";
hash = "sha256-zskaX55kGzbFFO0UGwTsOpALEzPTSIycgbrQRurlVz8=";
hash = "sha256-S2nSP6YWUz8I2uRZuAY93FoAAUa9TiZetLzjBv1n5vk=";
};
vendorHash = "sha256-/3klr19Rfz4dZrv8cWPaClLw1FgKfgqnBaR7KCydfQE=";
vendorHash = "sha256-KJM0m9QrtU6nJMmR+GBaJDNf5DUzmsVySroKIq0cMsE=";
subPackages = [
"cmd/niks3"
+2 -3
View File
@@ -1,6 +1,6 @@
{
lib,
fetchFromGitea,
fetchFromCodeberg,
rustPlatform,
nix-update-script,
versionCheckHook,
@@ -10,8 +10,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
pname = "nu-lint";
version = "1.1.2";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "wvhulle";
repo = "nu-lint";
tag = "v${finalAttrs.version}";
@@ -0,0 +1,76 @@
diff --git a/hatch_build.py b/hatch_build.py
index 036079a..fa2275e 100644
--- a/hatch_build.py
+++ b/hatch_build.py
@@ -1,6 +1,5 @@
import os
import subprocess
-import sys
from pathlib import Path
from tempfile import TemporaryDirectory
@@ -58,28 +57,27 @@ class BuildHook(BuildHookInterface):
# Configure the project
subprocess.check_call((
- sys.executable, "-m", "mesonbuild.mesonmain",
- "setup", Dirs.build,
+ "meson", "setup", Dirs.build,
"--buildtype", "release",
"--reconfigure", "--wipe",
), cwd=Dirs.repository)
# Make binaries for all known driver version
for driver in subprocess.check_output(
- ("git", "tag"), cwd=Dirs.opengpu
+ ("cat", "./SOURCE_TAGS"), cwd=Dirs.opengpu
).decode().strip().splitlines():
# Checkout driver version
- subprocess.check_call(
- ("git", "checkout", "-f", driver),
- cwd=Dirs.opengpu,
- )
+ if driver != os.environ["OLDEST_DRIVER_VERSION"]:
+ subprocess.check_call(
+ ("git", "apply", f"./PATCHES/{driver}.patch"),
+ cwd=Dirs.opengpu,
+ )
# Compile an executable
- subprocess.check_call((
- sys.executable, "-m", "ninja",
- "-C", Dirs.build,
- ))
+ subprocess.check_call(
+ ("ninja", "-C", Dirs.build)
+ )
# Find and vendor the binary for this version
binary = Dirs.build.joinpath("nvibrant")
@@ -90,25 +88,3 @@ class BuildHook(BuildHookInterface):
# Include in the wheel
build["force_include"][str(target)] = f"nvibrant/resources/{target.name}"
-
- # Revert back main branch
- subprocess.check_call(
- ("git", "checkout", "-f", "main"),
- cwd=Dirs.opengpu
- )
-
-# --------------------------------------------------------------------------- #
-
-if __name__ == '__main__':
-
- # Intended operation
- subprocess.check_call(
- ("git", "config", "advice.detachedHead", "false"),
- cwd=Dirs.opengpu,
- )
-
- environ = os.environ.copy()
- subprocess.check_call(
- args=("uv", "build", "--wheel", "-o", Dirs.dist),
- cwd=Dirs.repository,
- )
+133 -19
View File
@@ -1,38 +1,152 @@
{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
pkg-config,
python3Packages,
writeShellScript,
common-updater-scripts,
coreutils,
gitMinimal,
}:
stdenv.mkDerivation (finalAttrs: {
python3Packages.buildPythonApplication (finalAttrs: {
pname = "nvibrant";
version = "1.1.0";
version = finalAttrs.passthru._version;
pyproject = true;
src = fetchFromGitHub {
owner = "Tremeschin";
repo = "nvibrant";
rev = "v${finalAttrs.version}";
hash = "sha256-RZIi1V3hcwZdaI84Nd0YSQOjDng9/ZDg7aqfTL7GJIU=";
fetchSubmodules = true;
passthru = {
nvibrantVersion = "1.2.0";
oldestDriverVersion = "515.43.04";
latestDriverVersion = "595.58.03";
_version = lib.concatStringsSep "-" [
finalAttrs.passthru.nvibrantVersion
"unstable"
finalAttrs.passthru.latestDriverVersion
];
srcAttrs = {
nvibrant = fetchFromGitHub {
owner = "tremeschin";
repo = "nvibrant";
name = "nvibrant";
tag = "v${finalAttrs.passthru.nvibrantVersion}";
hash = "sha256-OQo+VGWz8LNpsCdXbJXWWCrnVE0+t4s220uJ+pTHVKs=";
};
open-gpu = fetchFromGitHub {
owner = "nvidia";
repo = "open-gpu-kernel-modules";
name = "open-gpu";
tag = finalAttrs.passthru.oldestDriverVersion;
hash = "sha256-pSVK5oVob4QBo18ULHnQfO3UrTcC5lDDrTR9ec9pDp8=";
# since .git isn't deterministic, we can't use it to checkout tags in
# the build phase, so instead we generate patches for each version
# upgrade before .git is removed and apply them incrementally
fetchTags = true;
postCheckout = ''
cd $out
while IFS= read -r tag; do
echo "adding $tag"
echo "$tag" >> SOURCE_TAGS
if [[ "$tag" == ${finalAttrs.passthru.latestDriverVersion} ]]; then
echo 'reached end of known tags'
break
fi
done < <(git tag --sort v:refname)
mkdir PATCHES
prev_tag=${finalAttrs.passthru.oldestDriverVersion}
while IFS= read -r tag; do
if [ "$prev_tag" == "$tag" ]; then continue; fi
echo "generating patch: $prev_tag -> $tag"
git diff --minimal --binary "$prev_tag" "$tag" \
> "PATCHES/$tag.patch"
prev_tag=$tag
done < SOURCE_TAGS
unset prev_tag
rm -rf .git
'';
};
};
updateScript = writeShellScript "update-nvibrant" ''
set -euo pipefail
export PATH="${
lib.makeBinPath [
common-updater-scripts
coreutils
gitMinimal
]
}:$PATH"
list_tags() {
git ls-remote --tags --sort v:refname --refs "$1" |
cut --delimiter=/ --field=3-
}
readarray -t nvibrant_tags < <(list_tags \
'https://github.com/tremeschin/nvibrant.git')
readarray -t open_gpu_tags < <(list_tags \
'https://github.com/nvidia/open-gpu-kernel-modules.git')
update-source-version nvibrant "''${nvibrant_tags[-1]:1}" \
--version-key=nvibrantVersion --source-key=srcAttrs.nvibrant \
--ignore-same-hash --ignore-same-version
update-source-version nvibrant "''${open_gpu_tags[0]}" \
--version-key=oldestDriverVersion --source-key=srcAttrs.open-gpu \
--ignore-same-hash --ignore-same-version
update-source-version nvibrant "''${open_gpu_tags[-1]}" \
--version-key=latestDriverVersion --source-key=srcAttrs.open-gpu \
--ignore-same-hash --ignore-same-version
'';
};
nativeBuildInputs = [
srcs = lib.attrValues finalAttrs.passthru.srcAttrs;
sourceRoot = ".";
postUnpack = ''
mv open-gpu nvibrant/
cd nvibrant
'';
# replaces code that depends on .git and uses of python -m {ninja,meson}
patches = [ ./hatch_build.patch ];
configurePhase = ''
export OLDEST_DRIVER_VERSION=${finalAttrs.passthru.oldestDriverVersion}
'';
nativeBuildInputs = [ gitMinimal ];
build-system = with python3Packages; [
hatchling
meson
ninja
pkg-config
];
mesonBuildType = "release";
dependencies = with python3Packages; [
packaging
];
meta = with lib; {
meta = {
description = "Configure NVIDIA's Digital Vibrance on Wayland";
homepage = "https://github.com/Tremeschin/nvibrant";
license = licenses.gpl3Only;
maintainers = [ maintainers.mikaeladev ];
platforms = [ "x86_64-linux" ];
mainProgram = "nvibrant";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
mikaeladev
];
};
})
-2
View File
@@ -35,7 +35,6 @@
opencascade-occt_7_6,
openvdb,
opencv,
pcre,
systemd,
onetbb,
webkitgtk_4_1,
@@ -124,7 +123,6 @@ stdenv.mkDerivation (finalAttrs: {
nlopt
opencascade-occt_7_6
openvdb
pcre
onetbb
webkitgtk_4_1
wxGTK'
+2 -2
View File
@@ -10,11 +10,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "pig";
version = "0.17.0";
version = "0.18.0";
src = fetchurl {
url = "mirror://apache/pig/pig-${finalAttrs.version}/pig-${finalAttrs.version}.tar.gz";
sha256 = "1wwpg0w47f49rnivn2d26vrxgyfl9gpqx3vmzbl5lhx6x5l3fqbd";
sha256 = "sha256-aEWtuTajw7zHFFF2WVPK5BA+QQui9sWkfMm+yt4KQ0o=";
};
+4 -4
View File
@@ -8,14 +8,14 @@
libsForQt5,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "QMediathekView";
version = "0.2.1";
src = fetchFromGitHub {
owner = "adamreichold";
repo = "QMediathekView";
rev = "v${version}";
tag = "v${finalAttrs.version}";
sha256 = "0i9hac9alaajbra3lx23m0iiq6ww4is00lpbzg5x70agjrwj0nd6";
};
@@ -40,11 +40,11 @@ stdenv.mkDerivation rec {
meta = {
description = "Alternative Qt-based front-end for the database maintained by the MediathekView project";
inherit (src.meta) homepage;
inherit (finalAttrs.src.meta) homepage;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ dotlambda ];
broken = stdenv.hostPlatform.isAarch64;
mainProgram = "QMediathekView";
};
}
})
+4 -4
View File
@@ -6,18 +6,18 @@
sudo,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "qsudo";
version = "2020.03.27";
src = fetchFromGitHub {
owner = "project-trident";
repo = "qsudo";
rev = "v${version}";
tag = "v${finalAttrs.version}";
sha256 = "06kg057vwkvafnk69m9rar4wih3vq4h36wbzwbfc2kndsnn47lfl";
};
sourceRoot = "${src.name}/src-qt5";
sourceRoot = "${finalAttrs.src.name}/src-qt5";
nativeBuildInputs = [
libsForQt5.qmake
@@ -41,4 +41,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.romildo ];
};
}
})
+3 -3
View File
@@ -7,14 +7,14 @@
qemu,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "qtemu";
version = "2.1";
src = fetchFromGitLab {
owner = "qtemu";
repo = "gui";
rev = version;
rev = finalAttrs.version;
sha256 = "1555178mkfw0gwmw8bsxmg4339j2ifp0yb4b2f39nxh9hwshg07j";
};
@@ -51,4 +51,4 @@ stdenv.mkDerivation rec {
maintainers = with lib.maintainers; [ romildo ];
mainProgram = "qtemu";
};
}
})
+51
View File
@@ -0,0 +1,51 @@
{
lib,
buildGoModule,
fetchFromGitHub,
git,
installShellFiles,
writableTmpDirAsHomeHook,
}:
buildGoModule (finalAttrs: {
pname = "ralphex";
version = "1.3.2";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "umputun";
repo = "ralphex";
tag = "v${finalAttrs.version}";
hash = "sha256-4+U2m6dPH4u5RCt1eIeR1PMU90hDD13mmu+2bXnF7D0=";
};
vendorHash = null;
ldflags = [
"-s"
"-w"
"-X main.revision=${finalAttrs.version}"
];
nativeBuildInputs = [ installShellFiles ];
nativeCheckInputs = [
git
writableTmpDirAsHomeHook
];
__darwinAllowLocalNetworking = true;
postInstall = ''
installShellCompletion completions/*
'';
meta = {
description = "Extended Ralph loop for autonomous AI-driven plan execution";
homepage = "https://ralphex.com/";
license = lib.licenses.mit;
mainProgram = "ralphex";
maintainers = [ lib.maintainers.sikmir ];
};
})
@@ -3,31 +3,37 @@
stdenv,
fetchpatch,
fetchurl,
updateAutotoolsGnuConfigScriptsHook,
perl,
libiconv,
zlib,
popt,
enableACLs ? lib.meta.availableOn stdenv.hostPlatform acl,
config,
enableACLs ? config.rsync.enableACLs or (lib.meta.availableOn stdenv.hostPlatform acl),
acl,
enableLZ4 ? true,
enableLZ4 ? config.rsync.enableLZ4 or true,
lz4,
enableOpenSSL ? true,
enableOpenSSL ? config.rsync.enableOpenSSL or true,
openssl,
enableXXHash ? true,
enableXXHash ? config.rsync.enableXXHash or true,
xxhash,
enableZstd ? true,
enableZstd ? config.rsync.enableZstd or true,
zstd,
nixosTests,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rsync";
version = "3.4.1";
src = fetchurl {
# signed with key 9FEF 112D CE19 A0DC 7E88 2CB8 1BB2 4997 A853 5F6F
url = "mirror://samba/rsync/src/rsync-${version}.tar.gz";
url = "mirror://samba/rsync/src/rsync-${finalAttrs.version}.tar.gz";
hash = "sha256-KSS8s6Hti1UfwQH3QLnw/gogKxFQJ2R89phQ1l/YjFI=";
};
@@ -95,8 +101,8 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.unix;
identifiers.cpeParts = {
vendor = "samba";
inherit version;
inherit (finalAttrs) version;
update = "-";
};
};
}
})
@@ -1,23 +1,25 @@
{
lib,
stdenv,
fetchFromGitHub,
lib,
cmake,
gmp,
pkg-config,
sail,
ninja,
z3,
cmake,
ninja,
pkg-config,
ocamlPackages,
gmp,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "sail-riscv";
version = "0.8";
src = fetchFromGitHub {
owner = "riscv";
repo = "sail-riscv";
rev = version;
rev = finalAttrs.version;
hash = "sha256-50ATe3DQcdyNOqP85mEMyEwxzpBOplzRN9ulaJNo9zo=";
};
@@ -26,7 +28,7 @@ stdenv.mkDerivation rec {
cmake
pkg-config
ninja
sail
ocamlPackages.sail
];
buildInputs = [
gmp
@@ -42,4 +44,4 @@ stdenv.mkDerivation rec {
maintainers = [ ];
license = lib.licenses.bsd2;
};
}
})
+2 -3
View File
@@ -1,7 +1,7 @@
{
lib,
buildGoModule,
fetchFromGitea,
fetchFromCodeberg,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
@@ -20,8 +20,7 @@ buildGoModule (finalAttrs: {
pname = "searchix";
version = "0.4.8";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "alinnow";
repo = "searchix";
tag = "v${finalAttrs.version}";
@@ -16,7 +16,8 @@
soxr,
aixlog,
popl,
pulseaudioSupport ? false,
config,
pulseaudioSupport ? config.pulseaudio or stdenv.hostPlatform.isLinux,
pipewireSupport ? stdenv.hostPlatform.isLinux,
libpulseaudio,
pipewire,
+3 -3
View File
@@ -8,16 +8,16 @@
buildGoModule (finalAttrs: {
pname = "sonoscli";
version = "0.1.0";
version = "0.3.1";
src = fetchFromGitHub {
owner = "steipete";
repo = "sonoscli";
tag = "v${finalAttrs.version}";
hash = "sha256-9ouRJ0Rr+W5Kx9BltgW29Jo1Jq7Hb/un4XBkq+0in9o=";
hash = "sha256-q7YVZcEKBHAX5vcel24DNLHhx3t+V7jWOWS7mrUGHqQ=";
};
vendorHash = "sha256-hocnLCzWN8srQcO3BMNkd2lt0m54Qe7sqAhUxVZlz1k=";
vendorHash = "sha256-9jK3jKbFp+5WSQfMbNzwIB55bC5KScZOaFHItffTF00=";
subPackages = [ "cmd/sonos" ];
@@ -0,0 +1,10 @@
{
syncthing,
}:
(syncthing.override {
target = "stdiscosrv";
}).overrideAttrs
{
pname = "syncthing-discovery";
postInstall = "";
}
@@ -0,0 +1,19 @@
{
lib,
stdenv,
syncthing,
}:
(syncthing.override {
target = "strelaysrv";
}).overrideAttrs
{
pname = "syncthing-relay";
postInstall = lib.optionalString (stdenv.hostPlatform.isLinux) ''
mkdir -p $out/lib/systemd/system
substitute cmd/strelaysrv/etc/linux-systemd/strelaysrv.service \
$out/lib/systemd/system/strelaysrv.service \
--replace-fail /usr/bin/strelaysrv $out/bin/strelaysrv
'';
}
+126
View File
@@ -0,0 +1,126 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
pkgsBuildBuild,
go,
darwin,
nixosTests,
nix-update-script,
target ? "syncthing",
}:
assert builtins.elem target [
"syncthing"
"stdiscosrv" # syncthing-discovery
"strelaysrv" # syncthing-relay
];
buildGoModule (finalAttrs: {
pname = "syncthing";
version = "2.0.15";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
tag = "v${finalAttrs.version}";
hash = "sha256-v77ovjV+UoCRA1GteP+HDqC8dsRvtOhFX/IkSgSIf8Y=";
};
vendorHash = "sha256-boYTLgvH+iWlh3y3Z0LPvSVGEget3X94AthtJKphhCw=";
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
# Recent versions of macOS seem to require binaries to be signed when
# run from Launch Agents/Daemons, even on x86 devices where it has a
# more lax code signing policy compared to Apple Silicon. So just sign
# the binaries on both architectures to make it possible for launchd to
# auto-start Syncthing at login.
darwin.autoSignDarwinBinariesHook
];
doCheck = false;
env = {
BUILD_USER = "nix";
BUILD_HOST = "nix";
};
buildPhase = ''
runHook preBuild
(
export GOOS="${pkgsBuildBuild.go.GOOS}" GOARCH="${pkgsBuildBuild.go.GOARCH}" CC=$CC_FOR_BUILD
go build build.go
go generate github.com/syncthing/syncthing/lib/api/auto github.com/syncthing/syncthing/cmd/infra/strelaypoolsrv/auto
)
./build -goos ${go.GOOS} -goarch ${go.GOARCH} -no-upgrade -version v${finalAttrs.version} build ${target}
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 ${target} $out/bin/${target}
runHook postInstall
'';
postInstall = ''
# This installs man pages in the correct directory according to the suffix
# on the filename
for mf in man/*.[1-9]; do
mantype="$(echo "$mf" | awk -F"." '{print $NF}')"
mandir="$out/share/man/man$mantype"
install -Dm644 "$mf" "$mandir/$(basename "$mf")"
done
install -Dm644 etc/linux-desktop/syncthing-ui.desktop $out/share/applications/syncthing-ui.desktop
install -Dm644 assets/logo-32.png $out/share/icons/hicolor/32x32/apps/syncthing.png
install -Dm644 assets/logo-64.png $out/share/icons/hicolor/64x64/apps/syncthing.png
install -Dm644 assets/logo-128.png $out/share/icons/hicolor/128x128/apps/syncthing.png
install -Dm644 assets/logo-256.png $out/share/icons/hicolor/256x256/apps/syncthing.png
install -Dm644 assets/logo-512.png $out/share/icons/hicolor/512x512/apps/syncthing.png
install -Dm644 assets/logo-only.svg $out/share/icons/hicolor/scalable/apps/syncthing.svg
''
+ lib.optionalString (stdenv.hostPlatform.isLinux) ''
mkdir -p $out/lib/systemd/{system,user}
substitute etc/linux-systemd/system/syncthing@.service \
$out/lib/systemd/system/syncthing@.service \
--replace-fail /usr/bin/syncthing $out/bin/syncthing
substitute etc/linux-systemd/user/syncthing.service \
$out/lib/systemd/user/syncthing.service \
--replace-fail /usr/bin/syncthing $out/bin/syncthing
'';
passthru = {
tests = {
inherit (nixosTests)
syncthing
syncthing-folders
syncthing-guiPassword
syncthing-guiPasswordFile
syncthing-init
syncthing-no-settings
syncthing-relay
;
};
updateScript = nix-update-script { };
};
meta = {
homepage = "https://syncthing.net/";
description = "Open Source Continuous File Synchronization";
changelog = "https://github.com/syncthing/syncthing/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mpl20;
maintainers = with lib.maintainers; [
joko
peterhoeg
];
mainProgram = target;
platforms = lib.platforms.unix;
};
})
+35
View File
@@ -0,0 +1,35 @@
{
lib,
fetchFromGitHub,
rustPlatform,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "t-lang";
version = "0.3.1";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "alecthomas";
repo = "t";
tag = "v${finalAttrs.version}";
hash = "sha256-J/lQ5x72Z6yv/F0+n9tMLsIP4ojrbZKuUajPlvMnBsU=";
};
cargoHash = "sha256-86T8rOKXx6agZw6xu10YVCgP+dyuodCW1ZZlimQFcFk=";
passthru.updateScript = nix-update-script { };
meta = {
description = "Text processing language and utility";
longDescription = ''
T is a concise language for manipulating text, replacing common usage
patterns of Unix utilities like grep, sed, cut, awk, sort, and uniq.
'';
homepage = "https://github.com/alecthomas/t";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ chillcicada ];
mainProgram = "t";
};
})
+6 -3
View File
@@ -13,6 +13,9 @@
which,
}:
let
electron = electron_41;
in
buildNpmPackage rec {
pname = "teams-for-linux";
version = "2.11.1";
@@ -46,7 +49,7 @@ buildNpmPackage rec {
runHook preBuild
electron_dist="$(mktemp -d)"
cp -r ${electron_41.dist}/. "$electron_dist"
cp -r ${electron.dist}/. "$electron_dist"
chmod -R u+w "$electron_dist"
npm exec electron-builder -- \
@@ -54,7 +57,7 @@ buildNpmPackage rec {
-c.npmRebuild=true \
-c.asarUnpack="**/*.node" \
-c.electronDist="$electron_dist" \
-c.electronVersion=${electron_41.version} \
-c.electronVersion=${electron.version} \
-c.mac.identity=null
runHook postBuild
@@ -76,7 +79,7 @@ buildNpmPackage rec {
popd
# Linux needs 'aplay' for notification sounds
makeWrapper '${lib.getExe electron_41}' "$out/bin/teams-for-linux" \
makeWrapper '${lib.getExe electron}' "$out/bin/teams-for-linux" \
--prefix PATH : ${
lib.makeBinPath [
alsa-utils
+2 -3
View File
@@ -2,7 +2,7 @@
buildGo126Module,
cairo,
copyDesktopItems,
fetchFromGitea,
fetchFromCodeberg,
gdk-pixbuf,
glib,
glib-networking,
@@ -41,8 +41,7 @@ in
buildGo126Module (finalAttrs: {
pname = "tonearm";
version = "1.4.0";
src = fetchFromGitea {
domain = "codeberg.org";
src = fetchFromCodeberg {
owner = "dergs";
repo = "Tonearm";
tag = "v${finalAttrs.version}";
@@ -0,0 +1,61 @@
{
lib,
stdenvNoCC,
fetchgit,
nodejs,
pnpm,
pnpmConfigHook,
fetchPnpmDeps,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "tranquil-frontend";
version = "0.6.3";
src = fetchgit {
url = "https://tangled.org/tranquil.farm/tranquil-pds";
tag = "v${finalAttrs.version}";
hash = "sha256-TORNOFPlbCt4QWNd+bmxkShTUvT/5ynOj+UBYITAhg8=";
};
sourceRoot = "${finalAttrs.src.name}/frontend";
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs)
pname
version
src
sourceRoot
;
inherit pnpm;
fetcherVersion = 4;
hash = "sha256-qbmIAvE/3u/NB5x9bERCGQqwiDLkzjff3QchgR+ZDFs=";
};
strictDeps = true;
__structuredAttrs = true;
nativeBuildInputs = [
pnpm
nodejs
pnpmConfigHook
];
buildPhase = ''
runHook preBuild
pnpm build
runHook postBuild
'';
installPhase = ''
runHook preInstall
cp -r ./dist $out
runHook postInstall
'';
meta = {
description = "First party frontend for the Tranquil PDS implementation";
homepage = "https://tangled.org/tranquil.farm/tranquil-pds";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ nelind ];
};
})
+47
View File
@@ -0,0 +1,47 @@
{
lib,
fetchgit,
rustPlatform,
pkg-config,
openssl,
protobuf,
nixosTests,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tranquil-pds";
version = "0.6.3";
src = fetchgit {
url = "https://tangled.org/tranquil.farm/tranquil-pds";
tag = "v${finalAttrs.version}";
hash = "sha256-TORNOFPlbCt4QWNd+bmxkShTUvT/5ynOj+UBYITAhg8=";
};
cargoHash = "sha256-tQk9WQZmaG2XEx5gocPhYd8fZ2cikvduhln5h/w+WZA=";
__structuredAttrs = true;
nativeBuildInputs = [
pkg-config
protobuf
];
buildInputs = [
openssl
];
# the tranquil test suite has shown itself virtually impossible to complete on most hardware thus stopping reviews.
# disable the check phase for now
doCheck = false;
passthru.tests = { inherit (nixosTests) tranquil-pds; };
meta = {
description = "Tranquil ATProto Personal Data Server implementation written in Rust";
homepage = "https://tangled.org/tranquil.farm/tranquil-pds";
license = lib.licenses.agpl3Plus;
maintainers = with lib.maintainers; [ nelind ];
mainProgram = "tranquil-server";
};
})
+3 -3
View File
@@ -15,13 +15,13 @@ let
in
buildGoModule {
pname = "typescript-go";
version = "0-unstable-2026-05-20";
version = "0-unstable-2026-05-29";
src = fetchFromGitHub {
owner = "microsoft";
repo = "typescript-go";
rev = "2cf002eed790973677ee285b54bd1687ac2c76cb";
hash = "sha256-ViKlU1J8VLjoxQlPpjpijVN4XR63IhZ5o+sO4nt2ZgQ=";
rev = "9a5877538d3a22ea428f045700aa27f75487dc62";
hash = "sha256-kJp7QW6KRqlJDV+zezK5ruasGilW5HGWeu6FJbNHKfY=";
fetchSubmodules = false;
};
+3 -3
View File
@@ -21,13 +21,13 @@ assert selinuxSupport -> lib.meta.availableOn stdenv.hostPlatform libselinux;
stdenv.mkDerivation (finalAttrs: {
pname = "uutils-coreutils";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "uutils";
repo = "coreutils";
tag = finalAttrs.version;
hash = "sha256-nH0WtsVP1uwPvimpGnmWx5v0VButIFJu9K5wXsiC4cA=";
hash = "sha256-g+RuVQr7CNtF9eqEJb3dlgfgPO3aRwWgXWPniNmhXeA=";
};
# error: linker `aarch64-linux-gnu-gcc` not found
@@ -37,7 +37,7 @@ stdenv.mkDerivation (finalAttrs: {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs) pname src version;
hash = "sha256-FMTzMgXcAg9dk7dfYG7lTOHYJxN3YHjf0R96LS7W3FI=";
hash = "sha256-WoPqxO1TBt4eCOR3tlzuoXqH9u/mTHR5Dr/WnKLxyYM=";
};
buildInputs =
+6 -3
View File
@@ -16,6 +16,9 @@
nix-update-script,
}:
let
electron = electron_40;
in
buildNpmPackage (finalAttrs: {
pname = "winboat";
version = "0.9.0";
@@ -59,8 +62,8 @@ buildNpmPackage (finalAttrs: {
node scripts/build.ts
npm exec electron-builder --linux -- \
--dir \
-c.electronDist=${electron_40.dist} \
-c.electronVersion=${electron_40.version}
-c.electronDist=${electron.dist} \
-c.electronVersion=${electron.version}
'';
installPhase = ''
@@ -81,7 +84,7 @@ buildNpmPackage (finalAttrs: {
ln -sf $out/share/winboat/resources/data $out/share/winboat/data
ln -sf $out/share/winboat/resources/guest_server $out/share/winboat/guest_server
makeWrapper ${electron_40}/bin/electron $out/bin/winboat \
makeWrapper ${electron}/bin/electron $out/bin/winboat \
--add-flag "$out/share/winboat/resources/app.asar" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations --enable-wayland-ime=true}}" \
--suffix PATH : ${

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