Merge master into staging-next

This commit is contained in:
nixpkgs-ci[bot]
2025-08-27 18:05:32 +00:00
committed by GitHub
201 changed files with 9046 additions and 2141 deletions
-1
View File
@@ -26,7 +26,6 @@ It also implements [NixOS](https://nixos.org/nixos/), a purely-functional Linux
* [Discourse Forum](https://discourse.nixos.org/)
* [Matrix Chat](https://matrix.to/#/#space:nixos.org)
* [NixOS Weekly](https://weekly.nixos.org/)
* [Official wiki](https://wiki.nixos.org/)
* [Community-maintained list of ways to get in touch](https://wiki.nixos.org/wiki/Get_In_Touch#Chat) (Discord, Telegram, IRC, etc.)
+2
View File
@@ -18,6 +18,8 @@
- The minimum version of Nix required to evaluate Nixpkgs has been raised from 2.3 to 2.18.
- `mono4` and `mono5` have been removed. Use `mono6` or `mono` instead.
- The `offrss` package was removed due to lack of upstream maintenance since 2012. It's recommended for users to migrate to another RSS reader
- GCC 9, 10, 11, and 12 have been removed, as they have reached endoflife upstream and are no longer supported.
+20 -1
View File
@@ -166,7 +166,16 @@ rec {
overrideWith = newArgs: origArgs // (if isFunction newArgs then newArgs origArgs else newArgs);
# Re-call the function but with different arguments
overrideArgs = mirrorArgs (newArgs: makeOverridable f (overrideWith newArgs));
overrideArgs = mirrorArgs (
/**
Change the arguments with which a certain function is called.
In some cases, you may find a list of possible attributes to pass in this function's `__functionArgs` attribute, but it will not be complete for an original function like `args@{foo, ...}: ...`, which accepts arbitrary attributes.
This function was provided by `lib.makeOverridable`.
*/
newArgs: makeOverridable f (overrideWith newArgs)
);
# Change the result of the function call by applying g to it
overrideResult = g: makeOverridable (mirrorArgs (args: g (f args))) origArgs;
in
@@ -176,6 +185,16 @@ rec {
override = overrideArgs;
overrideDerivation = fdrv: overrideResult (x: overrideDerivation x fdrv);
${if result ? overrideAttrs then "overrideAttrs" else null} =
/**
Override the attributes that were passed to `mkDerivation` in order to generate this derivation.
This function is provided by `lib.makeOverridable`, and indirectly by `callPackage` among others, in order to make the combination of `override` and `overrideAttrs` work.
Specifically, it re-adds the `override` attribute to the result of `overrideAttrs`.
The real implementation of `overrideAttrs` is provided by `stdenv.mkDerivation`.
*/
# NOTE: part of the above documentation had to be duplicated in `mkDerivation`'s `overrideAttrs`.
# design/tech debt issue: https://github.com/NixOS/nixpkgs/issues/273815
fdrv: overrideResult (x: x.overrideAttrs fdrv);
}
else if isFunction result then
+2 -3
View File
@@ -119,9 +119,8 @@ When adding users to [`maintainer-list.nix`](./maintainer-list.nix), the followi
Note: GitHub's "Verified" label does not display the user's full key fingerprint, and should not be used for validating the key matches.
- If the user has specified a `github` account name, ensure they have also specified a `githubId` and verify the two match.
- Ensure that the user has specified a `github` account name and a `githubId` and verify the two match.
Maintainer entries that include a `github` field must also include their `githubId`.
People can and do change their GitHub name frequently, and the ID is used as the official and stable identity of the maintainer.
Given a maintainer entry like this:
@@ -139,7 +138,7 @@ When adding users to [`maintainer-list.nix`](./maintainer-list.nix), the followi
First, make sure that the listed GitHub handle matches the author of the commit.
Then, visit the URL `https://api.github.com/users/ghost` and validate that the `id` field matches the provided `githubId`.
Then, visit the URL `https://api.github.com/user/10137` and validate that the `login` field matches the provided `github` handle.
### Maintainer teams
+21 -10
View File
@@ -4,13 +4,12 @@
handle = {
# Required
name = "Your name";
# Optional, but at least one of email, matrix or githubId must be given
email = "address@example.org";
matrix = "@user:example.org";
github = "GithubUsername";
githubId = your-github-id;
# Optional
email = "address@example.org";
matrix = "@user:example.org";
keys = [{
fingerprint = "AAAA BBBB CCCC DDDD EEEE FFFF 0000 1111 2222 3333";
}];
@@ -21,16 +20,16 @@
- `handle` is the handle you are going to use in nixpkgs expressions,
- `name` is a name that people would know and recognize you by,
- `email` is your maintainer email address,
- `matrix` is your Matrix user ID,
- `github` is your GitHub handle (as it appears in the URL of your profile page, `https://github.com/<userhandle>`),
- `githubId` is your GitHub user ID, which can be found at `https://api.github.com/users/<userhandle>`,
- `email` is your maintainer email address,
- `matrix` is your Matrix user ID,
- `keys` is a list of your PGP/GPG key fingerprints.
Specifying a GitHub account ensures that you automatically:
- get invited to the @NixOS/nixpkgs-maintainers team ;
- once you are part of the @NixOS org, OfBorg will request you review
pull requests that modify a package for which you are a maintainer.
Specifying a GitHub account is required, because:
- you will get invited to the @NixOS/nixpkgs-maintainers team;
- once you are part of the @NixOS org, you can be requested for review;
- once you can be requested for review, CI will request you review pull requests that modify a package for which you are a maintainer.
`handle == github` is strongly preferred whenever `github` is an acceptable attribute name and is short and convenient.
@@ -11527,6 +11526,12 @@
githubId = 2588851;
name = "Jan Solanti";
};
janTatesa = {
email = "taduradnik@gmail.com";
github = "janTatesa";
githubId = 100917739;
name = "Tatesa Uradnik";
};
jappie = {
email = "jappieklooster@hotmail.com";
github = "jappeace";
@@ -13892,6 +13897,12 @@
github = "KSJ2000";
githubId = 184105270;
};
ktechmidas = {
email = "daniel@ktechmidas.net";
github = "ktechmidas";
githubId = 9920871;
name = "Monotoko";
};
ktf = {
email = "giulio.eulisse@cern.ch";
github = "ktf";
+1
View File
@@ -638,6 +638,7 @@
./services/hardware/brltty.nix
./services/hardware/buffyboard.nix
./services/hardware/ddccontrol.nix
./services/hardware/deepcool-digital-linux.nix
./services/hardware/display.nix
./services/hardware/fancontrol.nix
./services/hardware/freefall.nix
@@ -0,0 +1,47 @@
{
config,
pkgs,
lib,
...
}:
let
cfg = config.services.hardware.deepcool-digital-linux;
in
{
meta.maintainers = [ lib.maintainers.NotAShelf ];
options.services.hardware.deepcool-digital-linux = {
enable = lib.mkEnableOption "DeepCool Digital monitoring daemon";
package = lib.mkPackageOption pkgs "deepcool-digital-linux" { };
extraArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
example = lib.literalExpression ''
[
# Change the update interval
"--update 750"
# Enable the alarm
"--alarm"
]
'';
description = ''
Extra command line arguments to be passed to the deepcool-digital-linux daemon.
'';
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.services.deepcool-digital-linux = {
description = "DeepCool Digital";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
StateDirectory = "deepcool-digital-linux";
WorkingDirectory = "/var/lib/deepcool-digital-linux";
ExecStart = "${lib.getExe cfg.package} ${lib.escapeShellArgs cfg.extraArgs}";
Restart = "always";
};
};
};
}
+1 -1
View File
@@ -10,7 +10,7 @@ let
mkTestName =
pkg: "${pkg.pname}_${builtins.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor pkg.version)}";
redisPackages = {
inherit (pkgs) redis keydb;
inherit (pkgs) redis keydb valkey;
};
makeRedisTest =
{
@@ -1,65 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
lv2,
pkg-config,
libGLU,
libGL,
cairo,
pango,
libjack2,
}:
let
version = "0.7.0";
robtkVersion = "80a2585253a861c81f0bfb7e4579c75f5c73af89";
robtkName = "robtk-${robtkVersion}";
src = fetchFromGitHub {
owner = "x42";
repo = "sisco.lv2";
rev = "v${version}";
sha256 = "1r6g29yqbdqgkh01x6d3nvmvc58rk2dp94fd0qyyizq37a1qplj1";
};
robtkSrc = fetchFromGitHub {
owner = "x42";
repo = "robtk";
rev = robtkVersion;
sha256 = "0gk16nrvnrffqqw0yd015kja9wkgbzvb648bl1pagriabhznhfxl";
};
in
stdenv.mkDerivation rec {
pname = "sisco.lv2";
inherit version;
srcs = [
src
robtkSrc
];
sourceRoot = src.name;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
lv2
pango
cairo
libjack2
libGLU
libGL
];
postUnpack = "chmod u+w -R ${robtkName}-src; mv ${robtkName}-src/* ${sourceRoot}/robtk";
sisco_VERSION = version;
preConfigure = "makeFlagsArray=(PREFIX=$out)";
meta = with lib; {
description = "Simple audio oscilloscope with variable time scale, triggering, cursors and numeric readout in LV2 plugin format";
homepage = "http://x42.github.io/sisco.lv2/";
license = licenses.gpl2;
maintainers = [ ];
platforms = platforms.linux;
};
}
@@ -5072,8 +5072,8 @@ let
mktplcRef = {
name = "vstuc";
publisher = "VisualStudioToolsForUnity";
version = "1.1.2";
hash = "sha256-Haai7sTGAreO7cUvSIc12bQl7WwQl+waJumYOvpVJ7M=";
version = "1.1.3";
hash = "sha256-MQ7XW45NFhpx0kH3+O3nWXGKUzE9z+axYYQs7rER9ns=";
};
meta = {
description = "Integrates Visual Studio Code for Unity";
@@ -10,8 +10,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
mktplcRef = {
name = "wgsl-analyzer";
publisher = "wgsl-analyzer";
version = "0.10.178";
hash = "sha256-ZYhvCZ/ww6GbFF5ythVSgI41dZsbC4Y77s6+KEeEkCY=";
version = "0.11.39";
hash = "sha256-r2epJdgXn+2oUcgix+eDXeezslr5akxfCkj4uGDadqI=";
};
nativeBuildInputs = [
-58
View File
@@ -1,58 +0,0 @@
{
lib,
stdenv,
fetchgit,
autoreconfHook,
glib,
pkg-config,
libxml2,
exiv2,
imagemagick6,
version,
sha256,
rev,
}:
stdenv.mkDerivation {
inherit version;
pname = "cataract";
src = fetchgit {
url = "git://git.bzatek.net/cataract";
inherit sha256 rev;
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
glib
libxml2
exiv2
imagemagick6
];
prePatch = ''
sed -i 's|#include <exiv2/exif.hpp>|#include <exiv2/exiv2.hpp>|' src/jpeg-utils.cpp
'';
# Add workaround for -fno-common toolchains like upstream gcc-10 to
# avoid build failures like:
# ld: stats.o:/build/cataract-675e647/src/stats.h:24: multiple definition of
# `stats_images'; cgg.o:/build/cataract-675e647/src/stats.h:24: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
installPhase = ''
mkdir $out/{bin,share} -p
cp src/cgg{,-dirgen} $out/bin/
'';
meta = with lib; {
homepage = "http://cgg.bzatek.net/";
description = "Simple static web photo gallery, designed to be clean and easily usable";
license = licenses.gpl2;
maintainers = [ maintainers.matthiasbeyer ];
platforms = with platforms; linux ++ darwin;
};
}
@@ -1,7 +0,0 @@
{ callPackage }:
callPackage ./build.nix {
version = "1.1.0";
rev = "675e647dc8ae918d29f520a29be9201ae85a94dd";
sha256 = "13b9rvcy9k2ay8w36j28kc7f4lnxp4jc0494ck3xsmwgqsawmzdj";
}
@@ -1,7 +0,0 @@
{ callPackage }:
callPackage ./build.nix {
version = "unstable-2016-10-18";
rev = "db3d992febbe703931840e9bdad95c43081694a5";
sha256 = "04f85piy675lq36w1mw6mw66n8911mmn4ifj8h9x47z8z806h3rf";
}
@@ -7,7 +7,6 @@
qttools,
qtwayland,
wrapQtAppsHook,
...
}:
stdenv.mkDerivation rec {
+2 -2
View File
@@ -51,14 +51,14 @@
}:
buildPythonApplication rec {
pname = "visidata";
version = "3.1.1";
version = "3.2";
format = "setuptools";
src = fetchFromGitHub {
owner = "saulpw";
repo = "visidata";
rev = "v${version}";
hash = "sha256-ICEYC9QjYrB+oTzakfjgyg4DigzDOtYnqHRTaqF7Gw0=";
hash = "sha256-kOg9OypWNGStNYFctPIwzVa1CsZBySY2IpA3eDrS7eY=";
};
propagatedBuildInputs = [
@@ -803,7 +803,7 @@
}
},
"ungoogled-chromium": {
"version": "139.0.7258.138",
"version": "139.0.7258.154",
"deps": {
"depot_tools": {
"rev": "ea7a0baff0d8554cf6d38f525b4e7882c2b4ec18",
@@ -815,16 +815,16 @@
"hash": "sha256-gwptzuirIdPAV9XCaAT09aM/fY7d6xgBU7oSu9C4tmE="
},
"ungoogled-patches": {
"rev": "139.0.7258.138-1",
"hash": "sha256-dmkUQHG9E0owKBIZi/e0mC5lc07rmU1muzP63PLdtTs="
"rev": "139.0.7258.154-1",
"hash": "sha256-GGuHEkqcTEvy1m1m8n4hReo8DmLQMDd5J6P1iTnG4Ys="
},
"npmHash": "sha256-R2gOpfPOUAmnsnUTIvzDPHuHNzL/b2fwlyyfTrywEcI="
},
"DEPS": {
"src": {
"url": "https://chromium.googlesource.com/chromium/src.git",
"rev": "884e54ea8d42947ed636779015c5b4815e069838",
"hash": "sha256-MCBHB1ms3H8AXqiIDHH7C+8/NDcgsn3pDx7mKtGdfbc=",
"rev": "9e0d6b2b47ffb17007b713429c9a302f9e43847f",
"hash": "sha256-L3cq3kx7hOv8bzwkQ+nyDM9VDzsvHaRzrSwrqwyCdHA=",
"recompress": true
},
"src/third_party/clang-format/script": {
@@ -899,8 +899,8 @@
},
"src/third_party/angle": {
"url": "https://chromium.googlesource.com/angle/angle.git",
"rev": "96492b317e27ba4106ed00f5faa4534cfeaa0b8f",
"hash": "sha256-TE8vYLNnAzVkGQZ2ZYuNHnu8fwp2Qv4ANP0btgrKYSQ="
"rev": "d9fc4a372074b1079c193c422fc4a180e79b6636",
"hash": "sha256-owMOjZEXhjXkEwzKdNVUk6Uzqdfp8UQq4JLDSvbvyeA="
},
"src/third_party/angle/third_party/glmark2/src": {
"url": "https://chromium.googlesource.com/external/github.com/glmark2/glmark2",
@@ -1384,8 +1384,8 @@
},
"src/third_party/pdfium": {
"url": "https://pdfium.googlesource.com/pdfium.git",
"rev": "849572b5c41e5bf59dc88bf54c41067faa9b5b00",
"hash": "sha256-lTUkzpzIskbEL7b2xBWT8s9YNyu1AZ235SBo5AfQtpg="
"rev": "bbdc38bc2d1693f56154f78eb5d4ff296d8ca3da",
"hash": "sha256-LYo73KuSVBEcRN1PqG0EBFeKaLy66UPtZ3DMHP5YVXM="
},
"src/third_party/perfetto": {
"url": "https://chromium.googlesource.com/external/github.com/google/perfetto.git",
@@ -1599,8 +1599,8 @@
},
"src/v8": {
"url": "https://chromium.googlesource.com/v8/v8.git",
"rev": "4d36678284f92d381f411c7947588d7a09989ca4",
"hash": "sha256-X5k2R7/sS3/C2S5hC1ILSquWjnPol3Pk+xe1suzgnFs="
"rev": "a0a7886d6b3707be8d4b403e463fa82fdb3f216c",
"hash": "sha256-KjIBJw40hiBkcHNn96dD5iZs2n2HMWIkAJ6ND2+5JJQ="
}
}
}
@@ -1,41 +0,0 @@
{
fetchFromGitHub,
buildPythonPackage,
lib,
isPy27,
}:
buildPythonPackage rec {
pname = "nitpick";
version = "1.1";
format = "other";
disabled = !isPy27;
src = fetchFromGitHub {
owner = "travisb-ca";
repo = pname;
rev = version;
sha256 = "11gn6nc6ypwivy20bx1r0rm2giblwx6jv485zk875a9pdbcwbrf6";
};
installPhase = ''
mkdir -p $out/share/src
install -m 755 -t $out/share/src nitpick.py
mkdir -p $out/bin
ln -s $out/share/src/nitpick.py $out/bin/nitpick
'';
meta = {
description = "Distributed issue tracker";
longDescription = ''
Nitpick is a distributed issue tracker. It helps keep track of which nits you
should pick. It's intended to be used with source code such that the issues can
follow the code via whatever VCS or distribution mechanism.
'';
homepage = "http://travisbrown.ca/projects/nitpick/docs/nitpick.html";
license = with lib.licenses; gpl2;
maintainers = [ ];
};
}
-43
View File
@@ -1,43 +0,0 @@
{
lib,
gccStdenv,
fetchFromGitHub,
autoreconfHook,
xorgproto,
libX11,
libXpm,
}:
gccStdenv.mkDerivation {
pname = "0verkill";
version = "0-unstable-2011-01-13";
src = fetchFromGitHub {
owner = "hackndev";
repo = "0verkill";
rev = "522f11a3e40670bbf85e0fada285141448167968";
sha256 = "WO7PN192HhcDl6iHIbVbH7MVMi1Tl2KyQbDa9DWRO6M=";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [
libX11
xorgproto
libXpm
];
configureFlags = [ "--with-x" ];
# The code needs an update for gcc-10:
# https://github.com/hackndev/0verkill/issues/7
env.NIX_CFLAGS_COMPILE = "-fcommon";
hardeningDisable = [ "all" ]; # Someday the upstream will update the code...
meta = {
homepage = "https://github.com/hackndev/0verkill";
description = "ASCII-ART bloody 2D action deathmatch-like game";
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [ ];
platforms = lib.platforms.unix;
};
}
-1
View File
@@ -10,7 +10,6 @@
perl,
trackma,
ueberzug,
...
}:
stdenvNoCC.mkDerivation rec {
pname = "adl";
@@ -3,7 +3,6 @@
fetchFromGitHub,
unstableGitUpdater,
stdenvNoCC,
...
}:
stdenvNoCC.mkDerivation (self: {
+6 -6
View File
@@ -17,16 +17,16 @@
rustPlatform.buildRustPackage {
pname = "anyrun";
version = "0-unstable-2025-08-18";
version = "25.9.0.pre-release.1-unstable-2025-08-19";
src = fetchFromGitHub {
owner = "kirottu";
owner = "anyrun-org";
repo = "anyrun";
rev = "bed987ed5dec0b29865b973ad4fce04c5da2ea21";
hash = "sha256-2iAIrSC4ubTCEM5BeC+R7dywkj9CAV0K6vHbqxCcCtA=";
rev = "af1ffe4f17921825ff2a773995604dce2b2df3cd";
hash = "sha256-PKxVhfjd2AlzTopuVEx5DJMC4R7LnM5NIoMmirKMsKI=";
};
cargoHash = "sha256-n+UJzx80JAQ4hqdk7OjyvSsCYql9I6yKLA5ab9iS9vQ=";
cargoHash = "sha256-KpAnfytTtCJunhpk9exv8LYtF8mKDGFUUbsPP47M+Kk=";
strictDeps = true;
enableParallelBuilding = true;
@@ -62,7 +62,7 @@ rustPlatform.buildRustPackage {
meta = {
description = "Wayland-native, highly customizable runner";
homepage = "https://github.com/kirottu/anyrun";
homepage = "https://github.com/anyrun-org/anyrun";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
khaneliman
-1
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
callPackage,
...
}:
let
pname = "aptakube";
-1
View File
@@ -2,7 +2,6 @@
lib,
buildGoModule,
fetchFromGitHub,
...
}:
let
version = "0.6.2";
+2 -2
View File
@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "armadillo";
version = "14.6.3";
version = "15.0.1";
src = fetchurl {
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
hash = "sha256-rR4qpbkKOJq3FOLQCXLOZNpCWCsX3YnBiTU1hVHm4gU=";
hash = "sha256-9SCg1Qu6/M17nnkzIc1//tN0aVwuOLvf1CiEF0XgTDc=";
};
nativeBuildInputs = [ cmake ];
-1
View File
@@ -8,7 +8,6 @@
jdk,
findutils,
sleuthkit,
...
}:
let
jdkWithJfx = jdk.override (
-1
View File
@@ -3,7 +3,6 @@
lib,
libusb-compat-0_1,
stdenv,
...
}:
stdenv.mkDerivation {
+12 -10
View File
@@ -3,37 +3,39 @@
stdenv,
rustPlatform,
fetchFromGitHub,
llvmPackages_20,
btfdump,
rustc,
zlib,
ncurses,
libxml2,
}:
rustPlatform.buildRustPackage rec {
pname = "bpf-linker";
version = "0.9.14";
version = "0.9.15";
src = fetchFromGitHub {
owner = "aya-rs";
repo = "bpf-linker";
tag = "v${version}";
hash = "sha256-accW1w0Mn9Mo9r2LrupQdgx+3850Dth8EfnnuzO+ZzM=";
hash = "sha256-5HXYtAn6KaFXsiA3Nt0IwmFLOXBhZWYrD8cMZ8rZ1fk=";
};
cargoHash = "sha256-D1N4zQjpllQg6Nn92+HWWsSmGsOon0mygErWg3X8Gx8=";
cargoHash = "sha256-coIcd6WjVQM/b51jwkG8It/wubXx6wuuPlzzelPFE38=";
buildNoDefaultFeatures = true;
buildFeatures = [ "llvm-${lib.versions.major rustc.llvm.version}" ];
nativeBuildInputs = [ rustc.llvm ];
nativeBuildInputs = [ llvmPackages_20.llvm ];
buildInputs = [
zlib
ncurses
libxml2
];
# fails with: couldn't find crate `core` with expected target triple bpfel-unknown-none
# rust-src and `-Z build-std=core` are required to properly run the tests
doCheck = false;
nativeCheckInputs = [
btfdump
rustc.llvmPackages.clang.cc
];
meta = {
description = "Simple BPF static linker";
+30
View File
@@ -0,0 +1,30 @@
{
lib,
stdenv,
rustPlatform,
fetchCrate,
cargo-hack,
rustc,
zlib,
libxml2,
}:
rustPlatform.buildRustPackage rec {
pname = "btfdump";
version = "0.0.4";
src = fetchCrate {
inherit pname version;
hash = "sha256-iLYGFXB4goiY7eJXXBhX9Y1TOltsW40ogeBhvTV2NvU=";
};
cargoHash = "sha256-uGp9XaqepceUmaEKBVEcu8oorfMAOk8BCPIHtun8Sto=";
meta = {
description = "BTF introspection tool";
mainProgram = "btf";
homepage = "https://github.com/anakryiko/btfdump";
license = with lib.licenses; [ bsd2 ];
maintainers = [ ];
};
}
+2 -2
View File
@@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "bulky";
version = "3.8";
version = "3.9";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "bulky";
rev = version;
hash = "sha256-LVrVgfYCcfaIFDPQu8cFr2+KkzXboDSjPwM5UIP4G9c=";
hash = "sha256-LrArLx0AOEaeAvLBVhV9ho5H+qeiaBfjs8+iV5W9u+w=";
};
nativeBuildInputs = [
-1
View File
@@ -5,7 +5,6 @@
ninja,
sphinx,
python3Packages,
...
}:
pkgs.stdenv.mkDerivation {
+60 -11
View File
@@ -1,37 +1,86 @@
{
comet-gog_kind ? "latest",
lib,
stdenv,
rustPlatform,
fetchFromGitHub,
protobuf,
buildPackages,
meson,
ninja,
pkgsCross,
}:
rustPlatform.buildRustPackage rec {
let
versionInfoTable = {
"latest" = {
version = "0.3.1";
srcHash = "sha256-asg2xp9A5abmsF+CgOa+ScK2sQwSNFQXD5Qnm76Iyhg=";
cargoHash = "sha256-K0lQuk2PBwnVlkRpYNo4Z7to/Lx2fY6RIlkgmMjvEtc=";
};
# version pin that is compatible with heroic
"heroic" = {
version = "0.2.0";
srcHash = "sha256-LAEt2i/SRABrz+y2CTMudrugifLgHNxkMSdC8PXYF0E=";
cargoHash = "sha256-SvDE+QqaSK0+4XgB3bdmqOtwxBDTlf7yckTR8XjmMXc=";
};
};
versionInfo = versionInfoTable.${comet-gog_kind};
in
rustPlatform.buildRustPackage (finalAttrs: {
pname = "comet-gog";
version = "0.3.1";
inherit (versionInfo) version cargoHash;
src = fetchFromGitHub {
owner = "imLinguin";
repo = "comet";
tag = "v${version}";
hash = "sha256-asg2xp9A5abmsF+CgOa+ScK2sQwSNFQXD5Qnm76Iyhg=";
tag = "v${finalAttrs.version}";
hash = versionInfo.srcHash;
fetchSubmodules = true;
};
cargoHash = "sha256-K0lQuk2PBwnVlkRpYNo4Z7to/Lx2fY6RIlkgmMjvEtc=";
# error: linker `aarch64-linux-gnu-gcc` not found
postPatch = ''
rm .cargo/config.toml
'';
env.PROTOC = lib.getExe' protobuf "protoc";
# TECHNICALLY, we could remove this, but then we'd be using the vendored precompiled protoc binary...
env.PROTOC = lib.getExe' buildPackages.protobuf "protoc";
passthru.dummy-service = stdenv.mkDerivation {
pname = "galaxy-dummy-service";
inherit (finalAttrs) version src;
sourceRoot = "${finalAttrs.src.name}/dummy-service";
nativeBuildInputs = [
meson
ninja
pkgsCross.mingwW64.buildPackages.gcc
];
mesonFlags = [
"--cross-file meson/x86_64-w64-mingw32.ini"
];
installPhase = ''
runHook preInstall
install -D GalaxyCommunication.exe -t "$out"/
runHook postInstall
'';
};
meta = {
changelog = "https://github.com/imLinguin/comet/releases/tag/v${version}";
changelog = "https://github.com/imLinguin/comet/releases/tag/${finalAttrs.src.tag}";
description = "Open Source implementation of GOG Galaxy's Communication Service";
homepage = "https://github.com/imLinguin/comet";
license = lib.licenses.gpl3Plus;
mainProgram = "comet";
maintainers = with lib.maintainers; [ tomasajt ];
maintainers = with lib.maintainers; [
tomasajt
aidalgol
];
};
}
})
-1
View File
@@ -3,7 +3,6 @@
lib,
fetchurl,
cups,
...
}:
stdenv.mkDerivation rec {
+9 -9
View File
@@ -9,26 +9,26 @@ let
inherit (stdenv) hostPlatform;
sources = {
x86_64-linux = fetchurl {
url = "https://downloads.cursor.com/lab/2025.08.22-82fb571/linux/x64/agent-cli-package.tar.gz";
hash = "sha256-jfjYWM9Vuq9sYZcnqiap3TKuVWHHKt/aF7XaVilJjsE=";
url = "https://downloads.cursor.com/lab/2025.08.27-24c29c1/linux/x64/agent-cli-package.tar.gz";
hash = "sha256-046NAHLckWOvIG5WJ8p3SNiUTbelEw2eTZ+/1DvTpNY=";
};
aarch64-linux = fetchurl {
url = "https://downloads.cursor.com/lab/2025.08.22-82fb571/linux/arm64/agent-cli-package.tar.gz";
hash = "sha256-uMK5jO77TQntsrR450WWBj9q5VBowNUhO6UkZ/z1ys4=";
url = "https://downloads.cursor.com/lab/2025.08.27-24c29c1/linux/arm64/agent-cli-package.tar.gz";
hash = "sha256-Ft/7AivBm3VWsgtYAE0a9SqDLzuiFnGUTdEjsBZjUDA=";
};
x86_64-darwin = fetchurl {
url = "https://downloads.cursor.com/lab/2025.08.22-82fb571/darwin/x64/agent-cli-package.tar.gz";
hash = "sha256-gFM+igXGdLLJXVHAou6pRTIVqsg6iPagaghBAzRcPXw=";
url = "https://downloads.cursor.com/lab/2025.08.27-24c29c1/darwin/x64/agent-cli-package.tar.gz";
hash = "sha256-lgn7gaiItLzvhh7ePtUcDCqPuZFUWE3WDSzn5TY3Taw=";
};
aarch64-darwin = fetchurl {
url = "https://downloads.cursor.com/lab/2025.08.22-82fb571/darwin/arm64/agent-cli-package.tar.gz";
hash = "sha256-XN2QaFt/lbVHfFfdZaznRvUlMWIHq7nUbe3uptrGjN0=";
url = "https://downloads.cursor.com/lab/2025.08.27-24c29c1/darwin/arm64/agent-cli-package.tar.gz";
hash = "sha256-+zC4rTzTCj1MSCYA///6Br82SffTRdICHuhnhaXsAWg=";
};
};
in
stdenv.mkDerivation {
pname = "cursor-cli";
version = "0-unstable-2025-08-22";
version = "0-unstable-2025-08-27";
src = sources.${hostPlatform.system};
-1
View File
@@ -2,7 +2,6 @@
lib,
fetchFromGitHub,
rustPlatform,
...
}:
rustPlatform.buildRustPackage rec {
pname = "ddh";
@@ -0,0 +1,44 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
libudev-zero,
versionCheckHook,
nix-update-script,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "deepcool-digital-linux";
version = "0.8.3-alpha";
src = fetchFromGitHub {
owner = "Nortank12";
repo = "deepcool-digital-linux";
tag = "v${finalAttrs.version}";
hash = "sha256-Whmjd6NCOUkE7hM3FaN7grMwcC/suL7AJDVSgnZSKzM=";
};
cargoHash = "sha256-K1pEbUyENPUS4QK0lztWmw8ov1fGrx8KHdODmSByfek=";
buildInputs = [ libudev-zero ];
nativeBuildInputs = [
pkg-config
];
doInstallCheck = false; # FIXME: version cmd returns 0.8.3, set to true when we switch to a stable version
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
meta = {
changelog = "https://github.com/Nortank12/deepcool-digital-linux/releases/tag/v${finalAttrs.version}";
description = "Linux version for the DeepCool Digital Windows software";
homepage = "https://github.com/Nortank12/deepcool-digital-linux";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ NotAShelf ];
mainProgram = "deepcool-digital-linux";
platforms = lib.platforms.linux;
};
})
+2 -2
View File
@@ -1,11 +1,11 @@
{
lib,
buildGoModule,
buildGo125Module,
fetchFromGitHub,
stdenv,
}:
buildGoModule rec {
buildGo125Module rec {
pname = "delve";
version = "1.25.1";
@@ -7,7 +7,6 @@
coreutils,
fetchFromGitHub,
makeWrapper,
...
}:
stdenv.mkDerivation rec {
@@ -18,13 +18,13 @@
}:
stdenv.mkDerivation rec {
pname = "ed-odyssey-materials-helper";
version = "2.240";
version = "2.243";
src = fetchFromGitHub {
owner = "jixxed";
repo = "ed-odyssey-materials-helper";
tag = version;
hash = "sha256-KRWOfLFrczOON6HiddM8g2qi2hzGfZbUsk02VvW2VyA=";
hash = "sha256-aeoU34U8DMdtSiNqnAPuzmRoDhgf9CIJRwB4A3Qw/EU=";
};
nativeBuildInputs = [
+2 -2
View File
@@ -6,13 +6,13 @@
}:
buildGoModule rec {
pname = "eigenlayer";
version = "0.13.2";
version = "0.13.3";
src = fetchFromGitHub {
owner = "Layr-Labs";
repo = "eigenlayer-cli";
rev = "v${version}";
hash = "sha256-08Fu2PiYNBJr7vRX4LaxMiR4ke86rqTFHfi0k+A8t6c=";
hash = "sha256-8HCoUZHRma4dIIZvIFRkXJl7r73j2stn6fuUj/cQ16g=";
};
vendorHash = "sha256-gFWUxC2pTMx3QVbIkqpCrsA2ZTQpal89pEJv11uCMJ8=";
+28
View File
@@ -0,0 +1,28 @@
--- a/entc/gen/graph.go 2025-08-26 12:42:17.548313631 +0100
+++ b/entc/gen/graph.go 2025-08-26 12:43:32.398186157 +0100
@@ -1008,22 +1008,10 @@
// ModuleInfo returns the entgo.io/ent version.
func (Config) ModuleInfo() (m debug.Module) {
- const pkg = "entgo.io/ent"
- info, ok := debug.ReadBuildInfo()
- if !ok {
- return
- }
- // Was running as a CLI (ent/cmd/ent).
- if info.Main.Path == pkg {
- return info.Main
- }
- // Or, as a main package (ent/entc).
- for _, dep := range info.Deps {
- if dep.Path == pkg {
- return *dep
- }
+ return debug.Module{
+ Version: "@version@",
+ Sum: "@sum@",
}
- return
}
// FeatureEnabled reports if the given feature name is enabled.
+9
View File
@@ -3,6 +3,7 @@
buildGoModule,
fetchFromGitHub,
installShellFiles,
replaceVars,
}:
buildGoModule rec {
@@ -18,6 +19,14 @@ buildGoModule rec {
vendorHash = "sha256-ec5tA9TsDKGnHVZWilLj7bdHrd46uQcNQ8YCK/s6UAY=";
patches = [
# patch in version information so we don't get "version = "(devel)";"
(replaceVars ./ent_version.patch {
inherit version;
sum = src.outputHash;
})
];
subPackages = [ "cmd/ent" ];
ldflags = [
+653 -743
View File
File diff suppressed because it is too large Load Diff
+7 -6
View File
@@ -8,6 +8,7 @@
bintools,
stdenv,
mono,
nix-update-script,
}:
let
mainProgram = "EventStore.ClusterNode";
@@ -15,21 +16,21 @@ in
buildDotnetModule rec {
pname = "EventStore";
version = "23.6.0";
version = "24.10.6";
src = fetchFromGitHub {
owner = "EventStore";
repo = "EventStore";
rev = "oss-v${version}";
hash = "sha256-+Wxm6yusaCoqXIbsi0ZoALAviKUyNMQwbzsQtBK/PCo=";
tag = "v${version}";
hash = "sha256-8/sagvMyJ1/onGMuJ28QLWI5M8dBDWyGOcZKUv3PJsQ=";
leaveDotGit = true;
};
# Fixes application reporting 0.0.0.0 as its version.
MINVERVERSIONOVERRIDE = version;
dotnet-sdk = dotnetCorePackages.sdk_6_0-bin;
dotnet-runtime = dotnetCorePackages.aspnetcore_6_0-bin;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.aspnetcore_8_0;
nativeBuildInputs = [
git
@@ -69,7 +70,7 @@ buildDotnetModule rec {
kill "$PID";
'';
passthru.updateScript = ./updater.sh;
passthru.updateScript = nix-update-script { };
meta = with lib; {
homepage = "https://geteventstore.com/";
-21
View File
@@ -1,21 +0,0 @@
#! /usr/bin/env nix-shell
#! nix-shell -I nixpkgs=./. -i bash -p curl jq common-updater-scripts
# shellcheck shell=bash
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
new_version="$(curl -s "https://api.github.com/repos/EventStore/EventStore/releases/latest" | jq -r '.name')"
new_version="${new_version#oss-v}"
old_version="$(sed -nE 's/\s*version = "(.*)".*/\1/p' ./default.nix)"
if [[ "$new_version" == "$old_version" ]]; then
echo "Already up to date!"
exit 0
fi
cd ../../../..
update-source-version eventstore "${new_version//v}"
$(nix-build -A eventstore.fetch-deps --no-out-link)
+2 -2
View File
@@ -9,7 +9,7 @@
stdenv.mkDerivation rec {
pname = "evtest";
version = "1.35";
version = "1.36";
nativeBuildInputs = [
autoreconfHook
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
src = fetchgit {
url = "git://anongit.freedesktop.org/${pname}";
rev = "refs/tags/${pname}-${version}";
sha256 = "sha256-xF2dwjTmTOyZ/kmASYWqKfnvqCjw0OmdNKrNMrjNl5g=";
sha256 = "sha256-M7AGcHklErfRIOu64+OU397OFuqkAn4dqZxx7sDfklc=";
};
meta = with lib; {
-1
View File
@@ -7,7 +7,6 @@
darwin,
copyDesktopItems,
makeDesktopItem,
...
}:
let
pname = "feishin";
+20 -15
View File
@@ -1,31 +1,36 @@
{
lib,
stdenv,
fetchurl,
fetchFromGitLab,
testers,
writeScript,
gitUpdater,
autoreconfHook,
util-macros,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "font-util";
version = "1.4.1";
src = fetchurl {
url = "mirror://xorg/individual/font/font-util-${finalAttrs.version}.tar.xz";
hash = "sha256-XJ9kEjwZSxUP7okEmZFoc4bm/zbvKve4C6U++vNozJU=";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
group = "xorg";
owner = "font";
repo = "util";
tag = "font-util-${finalAttrs.version}";
hash = "sha256-cv6Whex1s4+J7Ue4IOHdO9WtrarTgSpLEghWpbUl+0o=";
};
nativeBuildInputs = [
autoreconfHook
util-macros
];
passthru = {
updateScript = writeScript "update-${finalAttrs.pname}" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts
version="$(list-directory-versions --pname ${finalAttrs.pname} \
--url https://xorg.freedesktop.org/releases/individual/font/ \
| sort -V | tail -n1)"
update-source-version ${finalAttrs.pname} "$version"
'';
updateScript = gitUpdater {
rev-prefix = "font-util-";
ignoredVersions = "1_0_1";
};
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
-1
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
callPackage,
...
}:
let
version = "5.5.239";
+5 -6
View File
@@ -170,11 +170,11 @@ let
linux = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "139.0.7258.127";
version = "139.0.7258.154";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-84T/yRj7KBPybttKSRLN7sP1Ki8C8qfo3OKfZI/vAP8=";
hash = "sha256-6uEk4a5bVlsVNwW+ZHHBgTGmw/ArgrRQwKfLcSITt8o=";
};
# With strictDeps on, some shebangs were not being patched correctly
@@ -275,11 +275,11 @@ let
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "139.0.7258.128";
version = "139.0.7258.155";
src = fetchurl {
url = "http://dl.google.com/release2/chrome/kg4v265dmolyd75txmmp4a5np4_139.0.7258.128/GoogleChrome-139.0.7258.128.dmg";
hash = "sha256-UzCkawKshzXoi2FK34QxwHXyHIsjDeu8BxL2+p7t9W8=";
url = "http://dl.google.com/release2/chrome/gzhmrqghx4b6bwhn7ck3vb2h5y_139.0.7258.155/GoogleChrome-139.0.7258.155.dmg";
hash = "sha256-k8kbSLD7K4AuuZlPYavjEyL+4Cbx3geYCghLfaf5o2E=";
};
dontPatch = true;
@@ -318,7 +318,6 @@ let
homepage = "https://www.google.com/chrome/browser/";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [
jnsgruk
johnrtitor
];
platforms = lib.platforms.darwin ++ [ "x86_64-linux" ];
-1
View File
@@ -2,7 +2,6 @@
lib,
buildGoModule,
fetchFromGitHub,
...
}:
buildGoModule rec {
@@ -0,0 +1,49 @@
{
lib,
stdenv,
gitUpdater,
fetchFromGitHub,
cmake,
pkgsCross,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "heroic-epic-integration";
version = "0.3";
src = fetchFromGitHub {
owner = "Etaash-mathamsetty";
repo = "heroic-epic-integration";
tag = "v${finalAttrs.version}";
hash = "sha256-Zn0MsaQd8Ro6eu8IQkMcLNGLVTUukwajkn8PRLfB+Yw=";
};
nativeBuildInputs = [
cmake
pkgsCross.mingwW64.buildPackages.gcc
];
cmakeFlags = [ (lib.cmakeFeature "CMAKE_TOOLCHAIN_FILE" "../windows.cmake") ];
installPhase = ''
runHook preInstall
mkdir $out
cp heroic-epic-integration.exe $out/EpicGamesLauncher.exe
runHook postInstall
'';
meta = {
description = "Wrapper process for games launched through Heroic Games Launcher";
longDescription = ''
This is a Windows executable that pretends to be EpicGamesLauncher.exe for
games that expect it to be their parent process.
'';
homepage = "https://github.com/Etaash-mathamsetty/heroic-epic-integration";
changelog = "https://github.com/Etaash-mathamsetty/heroic-epic-integration/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aidalgol ];
};
passthru.updateScript = gitUpdater { };
})
+18 -8
View File
@@ -1,8 +1,8 @@
{
lib,
callPackage,
stdenv,
fetchFromGitHub,
nix-update-script,
# Pinned, because our FODs are not guaranteed to be stable between major versions.
pnpm_10,
nodejs,
@@ -12,13 +12,15 @@
electron_36,
vulkan-helper,
gogdl,
legendary-heroic,
nile,
comet-gog,
comet-gog_heroic,
umu-launcher,
}:
let
legendary = callPackage ./legendary.nix { };
epic-integration = callPackage ./epic-integration.nix { };
comet-gog = comet-gog_heroic;
electron = electron_36;
in
stdenv.mkDerivation (finalAttrs: {
@@ -48,6 +50,8 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# Make Heroic create Steam shortcuts (to non-steam games) with the correct path to heroic.
./fix-non-steam-shortcuts.patch
# Fixes incorrect path to GalaxyCommunication.exe
./pr-4885.patch
];
env.ELECTRON_SKIP_BINARY_DOWNLOAD = "1";
@@ -79,14 +83,21 @@ stdenv.mkDerivation (finalAttrs: {
cp -r public "$out/opt/heroic/resources/app.asar.unpacked/build"
rm -rf "$out/opt/heroic/resources/app.asar.unpacked/build/bin"
mkdir -p "$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux"
mkdir -p \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux" \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/win32"
ln -s \
"${lib.getExe gogdl}" \
"${lib.getExe legendary-heroic}" \
"${lib.getExe legendary}" \
"${lib.getExe nile}" \
"${lib.getExe comet-gog}" \
"${lib.getExe vulkan-helper}" \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/linux"
# Don't symlink these so we don't confuse Windows applications under Wine/Proton.
cp \
"${comet-gog.dummy-service}/GalaxyCommunication.exe" \
"${epic-integration}/EpicGamesLauncher.exe" \
"$out/opt/heroic/resources/app.asar.unpacked/build/bin/x64/win32"
makeWrapper "${electron}/bin/electron" "$out/bin/heroic" \
--inherit-argv0 \
@@ -105,14 +116,13 @@ stdenv.mkDerivation (finalAttrs: {
'';
passthru = {
inherit (finalAttrs) pnpmDeps;
updateScript = nix-update-script { };
inherit epic-integration legendary;
};
meta = with lib; {
description = "Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac";
homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher";
changelog = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases";
changelog = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/tag/v${finalAttrs.version}";
license = licenses.gpl3Only;
maintainers = with maintainers; [ aidalgol ];
# Heroic may work on nix-darwin, but it needs a dedicated maintainer for the platform.
@@ -0,0 +1,71 @@
From a98cc23b288e13665c8698eec56e0653613946d7 Mon Sep 17 00:00:00 2001
From: Aidan Gauland <aidalgol@fastmail.net>
Date: Tue, 19 Aug 2025 09:45:55 +1200
Subject: [PATCH] [Fix] Run GalaxyComm executable path through fixAsarPath
---
src/backend/constants/paths.ts | 4 ++++
src/backend/launcher.ts | 15 +++++----------
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/backend/constants/paths.ts b/src/backend/constants/paths.ts
index 1d05ce5b58..2e9cff1197 100644
--- a/src/backend/constants/paths.ts
+++ b/src/backend/constants/paths.ts
@@ -44,6 +44,10 @@ export const fakeEpicExePath = fixAsarPath(
join(publicDir, 'bin', 'x64', 'win32', 'EpicGamesLauncher.exe')
)
+export const galaxyCommunicationExePath = fixAsarPath(
+ join(publicDir, 'bin', 'x64', 'win32', 'GalaxyCommunication.exe')
+)
+
export const webviewPreloadPath = fixAsarPath(
join('file://', publicDir, 'webviewPreload.js')
)
diff --git a/src/backend/launcher.ts b/src/backend/launcher.ts
index a239cff927..2262dc35b2 100644
--- a/src/backend/launcher.ts
+++ b/src/backend/launcher.ts
@@ -80,7 +80,7 @@ import {
defaultWinePrefix,
fixesPath,
flatpakHome,
- publicDir,
+ galaxyCommunicationExePath,
runtimePath,
userHome
} from './constants/paths'
@@ -888,28 +888,23 @@ async function prepareWineLaunch(
try {
if (runner === 'gog' && experimentalFeatures?.cometSupport !== false) {
- const communicationSource = join(
- publicDir,
- 'bin/x64/win32/GalaxyCommunication.exe'
- )
-
- const galaxyCommPath =
+ const galaxyCommWinePath =
'C:\\ProgramData\\GOG.com\\Galaxy\\redists\\GalaxyCommunication.exe'
const communicationDest = await getWinePath({
- path: galaxyCommPath,
+ path: galaxyCommWinePath,
gameSettings,
variant: 'unix'
})
if (!existsSync(communicationDest)) {
mkdirSync(dirname(communicationDest), { recursive: true })
- await copyFile(communicationSource, communicationDest)
+ await copyFile(galaxyCommunicationExePath, communicationDest)
await runWineCommand({
commandParts: [
'sc',
'create',
'GalaxyCommunication',
- `binpath=${galaxyCommPath}`
+ `binpath=${galaxyCommWinePath}`
],
gameSettings,
protonVerb: 'runinprefix'
+2 -2
View File
@@ -4,7 +4,7 @@
fetchFromGitHub,
installShellFiles,
stdenv,
makeBinaryWrapper,
makeWrapper,
pciutils,
versionCheckHook,
nix-update-script,
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
nativeBuildInputs = [
installShellFiles
makeBinaryWrapper
makeWrapper
];
# NOTE: The HyFetch project maintains an updated version of neofetch renamed
+2 -2
View File
@@ -18,13 +18,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hypridle";
version = "0.1.6";
version = "0.1.7";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hypridle";
rev = "v${finalAttrs.version}";
hash = "sha256-uChAGmceKS9F9jqs1xb58BLTVZLF+sFU00MWDEVfYLg=";
hash = "sha256-YzRWE3rCnsY0WDRJcn4KvyWUoe+5zdkUYNIaHGP9BZ4=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -37,7 +37,7 @@
}:
ags.bundle {
pname = "hyprpanel";
version = "0-unstable-2025-07-24";
version = "0-unstable-2025-08-19";
__structuredAttrs = true;
strictDeps = true;
@@ -45,8 +45,8 @@ ags.bundle {
src = fetchFromGitHub {
owner = "Jas-SinghFSU";
repo = "HyprPanel";
rev = "d24afbec746ed16db9637085b2f6047a2ac491b5";
hash = "sha256-pTDsWVppLaWMTRAGTPonz0UZlh/Xa8iJCtCB+qk5o1g=";
rev = "6385f2e15df908e0c13bed800f4b091300e5b981";
hash = "sha256-ukXfV1cAsxoar0IVEO2/s3qnVEZpZf0wvqE3PIESobw=";
};
# keep in sync with https://github.com/Jas-SinghFSU/HyprPanel/blob/master/flake.nix#L42
+14 -11
View File
@@ -3,7 +3,7 @@
fetchFromGitHub,
nixosTests,
fetchYarnDeps,
nodejs,
applyPatches,
php,
yarnConfigHook,
yarnBuildHook,
@@ -24,23 +24,26 @@ php.buildComposerProject2 (finalAttrs: {
pname = "invoiceplane";
inherit version;
src = fetchFromGitHub {
owner = "InvoicePlane";
repo = "InvoicePlane";
tag = "v${version}";
hash = "sha256-XNjdFWP5AEulbPZcMDXYSdDhaLWlgu3nnCSFnjUjGpk=";
src = applyPatches {
src = fetchFromGitHub {
owner = "InvoicePlane";
repo = "InvoicePlane";
tag = "v${version}";
hash = "sha256-XNjdFWP5AEulbPZcMDXYSdDhaLWlgu3nnCSFnjUjGpk=";
};
patches = [
# Fix composer.json validation
# See https://github.com/InvoicePlane/InvoicePlane/pull/1306
./fix_composer_validation.patch
];
};
patches = [
# yarn.lock missing some resolved attributes and fails
./fix-yarn-lock.patch
# Fix composer.json validation
# See https://github.com/InvoicePlane/InvoicePlane/pull/1306
./fix_composer_validation.patch
];
vendorHash = "sha256-qnWLcEabQpu0Yp4Q2NWQm4XFV4YW679cvXo6p/dDECI=";
vendorHash = "sha256-UCYAnECuIbIYg1T4I8I9maXVKXJc1zkyauBuIy5frTY=";
nativeBuildInputs = [
yarnConfigHook
-1
View File
@@ -2,7 +2,6 @@
lib,
buildGoModule,
fetchFromGitHub,
...
}:
buildGoModule (finalAttrs: {
pname = "izrss";
-1
View File
@@ -4,7 +4,6 @@
fetchFromGitHub,
nix-update-script,
kdePackages,
...
}:
stdenv.mkDerivation (finalAttrs: {
pname = "kara";
+2 -2
View File
@@ -33,13 +33,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "kew";
version = "3.4.0";
version = "3.4.1";
src = fetchFromGitHub {
owner = "ravachol";
repo = "kew";
tag = "v${finalAttrs.version}";
hash = "sha256-dKjAv93NgP0iB5VMWWisvISXQOmx3lyUXG2zKCz2+Bc=";
hash = "sha256-WJxSE3b/VYqDtmRkQhUfGaY7A9zQxUIgy4PswpVzDmU=";
};
postPatch = ''
+3 -3
View File
@@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "libdeltachat";
version = "2.11.0";
version = "2.12.0";
src = fetchFromGitHub {
owner = "chatmail";
repo = "core";
tag = "v${version}";
hash = "sha256-W1DEG72Fk98pp0lm5+AyVb9zcpE5c2mqElOHFpofx58=";
hash = "sha256-EoRUoZz2L+k9M5J5OQUFUOkjUc1Qqy8ERZkdtG3ur+k=";
};
patches = [
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
cargoDeps = rustPlatform.fetchCargoVendor {
pname = "chatmail-core";
inherit version src;
hash = "sha256-P/wIat9sflXfloboMdN15EGo1cqxgPZ0OBDYF/iB/7A=";
hash = "sha256-PNi1oA9iBBQZRQXIHcWMAmLlgzlzt0nxh8hkPsFEx28=";
};
nativeBuildInputs = [
-1
View File
@@ -4,7 +4,6 @@
fetchFromGitHub,
autoreconfHook,
libusb1,
...
}:
stdenv.mkDerivation rec {
+2 -2
View File
@@ -21,7 +21,7 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "lsp-plugins";
version = "1.2.22";
version = "1.2.23";
outputs = [
"out"
@@ -31,7 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
src = fetchurl {
url = "https://github.com/lsp-plugins/lsp-plugins/releases/download/${finalAttrs.version}/lsp-plugins-src-${finalAttrs.version}.tar.gz";
hash = "sha256-u5cnBIKwTBJpZDqDc7VUJV3eKHscXdvFZ6yU3kgVp1s=";
hash = "sha256-GxjSnDsEPiXbaJ9khSvgQZeVONxWf4WJilurHpSf14w=";
};
# By default, GStreamer plugins are installed right alongside GStreamer itself
+26
View File
@@ -0,0 +1,26 @@
{ lib, fetchurl }:
fetchurl rec {
pname = "lucide";
version = "0.541.0";
url = "https://unpkg.com/lucide-static@${version}/font/Lucide.ttf";
hash = "sha256-b6zAx9b89oYS1Vrm7XR8Uu0M6unmTfC3o9Q2ZAuCrjo=";
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
mkdir -p $out/share/fonts/truetype
cp -a $downloadedFile $out/share/fonts/truetype/Lucide.ttf
'';
meta = {
homepage = "https://lucide.dev/";
description = "Open-source icon library that provides 1000+ icons";
downloadPage = url;
platforms = lib.platforms.all;
license = lib.licenses.isc;
maintainers = [ lib.maintainers.janTatesa ];
sourceProvenance = [ lib.sourceTypes.binaryBytecode ];
};
}
@@ -3,7 +3,6 @@
buildGoModule,
fetchFromGitHub,
nix-update-script,
...
}:
buildGoModule rec {
pname = "maildir-rank-addr";
@@ -9,7 +9,6 @@
]
++ lib.optional (lib.meta.availableOn stdenv.hostPlatform matrix-synapse-unwrapped.python.pkgs.systemd) "systemd",
plugins ? [ ],
...
}:
let
+42 -39
View File
@@ -1,48 +1,52 @@
{
lib,
stdenv,
fetchurl,
unzip,
makeWrapper,
flex,
fetchFromGitHub,
autoreconfHook,
bison,
ncurses,
flex,
makeWrapper,
buddy,
tecla,
libsigsegv,
gmpxx,
cln,
cvc4,
gmpxx,
libsigsegv,
tecla,
yices,
# passthru.tests
tamarin-prover,
}:
let
version = "3.4";
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "maude";
inherit version;
version = "3.5";
src = fetchurl {
url = "https://github.com/maude-lang/Maude/archive/refs/tags/Maude${version}.tar.gz";
sha256 = "IXWEWAmh388NpNSt9wnOpLkzhZ09N+AStO2wn5dRT8o=";
src = fetchFromGitHub {
owner = "maude-lang";
repo = "Maude";
tag = "Maude${finalAttrs.version}";
hash = "sha256-1no5K3+0N4MCg2Nr+9FgwWH6G9Inwh2MIYuA/auZhys=";
};
# Always enabled in CVC4 1.8: https://github.com/CVC4/CVC4/pull/4519
postPatch = ''
sed -i '/rewrite-divk/d' src/Mixfix/cvc4_Bindings.cc
'';
nativeBuildInputs = [
flex
autoreconfHook
bison
unzip
flex
makeWrapper
];
buildInputs = [
ncurses
buddy
tecla
cln
cvc4
gmpxx
libsigsegv
cln
tecla
yices
];
@@ -54,23 +58,24 @@ stdenv.mkDerivation {
"fortify"
];
# Fix for glibc-2.34, see
# https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/maude/maude-3.1-r1.ebuild?id=f021cc6cfa1e35eb9c59955830f1fd89bfcb26b4
configureFlags = [ "--without-libsigsegv" ];
__darwinAllowLocalNetworking = true;
# Certain tests (in particular, Misc/fileTest) expect us to build in a subdirectory
# We'll use the directory Opt/ as suggested in INSTALL
preConfigure = ''
mkdir Opt; cd Opt
configureFlagsArray=(
--datadir="$out/share/maude"
TECLA_LIBS="-ltecla -lncursesw"
LIBS="-lcln"
CFLAGS="-O3" CXXFLAGS="-O3"
)
'';
configureScript = "../configure";
configureFlags = [
"--with-cvc4=yes"
"--with-yices2=yes"
"--prefix=${placeholder "out"}"
"--datadir=${placeholder "out"}/share/maude"
];
makeFlags = [ "CVC4_LIB=-lcvc4 -lcln" ];
preConfigure = ''
mkdir -p build
cd build
'';
doCheck = true;
postInstall = ''
@@ -89,7 +94,6 @@ stdenv.mkDerivation {
description = "High-level specification language";
mainProgram = "maude";
license = lib.licenses.gpl2Plus;
longDescription = ''
Maude is a high-performance reflective language and system
supporting both equational and rewriting logic specification and
@@ -99,8 +103,7 @@ stdenv.mkDerivation {
equational specification and programming, Maude also supports
rewriting logic computation.
'';
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.peti ];
};
}
})
-1
View File
@@ -8,7 +8,6 @@
git,
pandocSupport ? true,
pandoc ? null,
...
}:
assert pandocSupport -> pandoc != null;
-1
View File
@@ -8,7 +8,6 @@
libXpm,
imake,
installShellFiles,
...
}:
stdenv.mkDerivation rec {
+3 -3
View File
@@ -17,12 +17,12 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "models-dev";
version = "0-unstable-2025-08-21";
version = "0-unstable-2025-08-26";
src = fetchFromGitHub {
owner = "sst";
repo = "models.dev";
rev = "7d417bd1b54bfff3c63f2bc2cc486e6b2700a18d";
hash = "sha256-9p+Fc21slH0R7YLJOAlVPS+ZPv+I9j745lGYz6+ln/c=";
rev = "cf6249c3930608772771c160b5a177c6bcff5801";
hash = "sha256-yZA8LsMMvTs/wYW2lO7hl7/79WSk+jL87FMKAcC7/AE=";
};
node_modules = stdenvNoCC.mkDerivation {
@@ -2,7 +2,6 @@
stdenv,
callPackage,
lib,
...
}:
let
-47
View File
@@ -1,47 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
pkg-config,
mono4,
gtk-sharp-2_0,
}:
stdenv.mkDerivation rec {
pname = "mono-addins";
version = "1.3.3";
src = fetchFromGitHub {
owner = "mono";
repo = "mono-addins";
rev = "mono-addins-${version}";
sha256 = "018g3bd8afjc39h22h2j5r6ldsdn08ynx7wg889gdvnxg3hrxgl2";
};
nativeBuildInputs = [
pkg-config
autoreconfHook
];
# Use msbuild when https://github.com/NixOS/nixpkgs/pull/43680 is merged
buildInputs = [
mono4
gtk-sharp-2_0
];
dontStrip = true;
meta = with lib; {
homepage = "https://www.mono-project.com/archived/monoaddins/";
description = "Generic framework for creating extensible applications";
mainProgram = "mautil";
longDescription = ''
Mono.Addins is a generic framework for creating extensible applications,
and for creating libraries which extend those applications.
'';
platforms = platforms.linux;
license = licenses.mit;
};
}
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "moonlight";
version = "1.3.26";
version = "1.3.27";
src = fetchFromGitHub {
owner = "moonlight-mod";
repo = "moonlight";
tag = "v${finalAttrs.version}";
hash = "sha256-NcwRidwb/ask65LE86os4RkhyoPQo5sLu0sJs/NboK4=";
hash = "sha256-feWRxpNfnBj110DMlBqipe7wunqDZ8SvUvrtnnlePgk=";
};
nativeBuildInputs = [
@@ -28,7 +28,7 @@ stdenv.mkDerivation (finalAttrs: {
buildInputs = [ nodejs_22 ];
fetcherVersion = 2;
hash = "sha256-LUUpcC2eS8VvzguicIn9xsKql9w3533xxUJ+l7e7Anc=";
hash = "sha256-Y+OusNJJUTVxa7D99Y/dJeJO4o0UDXFnY48Z2oGPF0Y=";
};
env = {
+3 -3
View File
@@ -12,7 +12,7 @@
let
dotnet-sdk = dotnetCorePackages.sdk_6_0-bin;
dotnet-sdk = dotnetCorePackages.sdk_8_0-source;
xplat = fetchurl {
url = "https://github.com/mono/msbuild/releases/download/v16.9.0/mono_msbuild_6.12.0.137.zip";
@@ -83,7 +83,7 @@ mkPackage rec {
# The provided libhostfxr.dylib is for x86_64-darwin, so we remove it
rm artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/libhostfxr.dylib
ln -s $(find ${dotnet-sdk.unwrapped}/share/dotnet -name libhostfxr${sharedLibrary}) artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
ln -s $(find ${dotnet-sdk.unwrapped}/share/dotnet/host -name libhostfxr${sharedLibrary}) artifacts/mono-msbuild/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
# overwrite the file
echo "#!${stdenv.shell}" > eng/common/dotnet-install.sh
@@ -110,7 +110,7 @@ mkPackage rec {
--set-default MONO_GC_PARAMS "nursery-size=64m" \
--add-flags "$out/lib/mono/msbuild/15.0/bin/MSBuild.dll"
ln -s $(find ${dotnet-sdk.unwrapped}/share/dotnet -name libhostfxr${sharedLibrary}) $out/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
ln -s $(find ${dotnet-sdk.unwrapped}/share/dotnet/host -name libhostfxr${sharedLibrary}) $out/lib/mono/msbuild/Current/bin/SdkResolvers/Microsoft.DotNet.MSBuildSdkResolver/
'';
doInstallCheck = true;
@@ -10,7 +10,6 @@
defaultPort ? 3000,
# Where to find the Ollama service; this url gets baked into the Nix package
ollamaUrl ? "http://127.0.0.1:11434",
...
}:
let
+82
View File
@@ -0,0 +1,82 @@
{
lib,
python3Packages,
fetchFromGitHub,
wrapGAppsHook4,
gobject-introspection,
gtk4,
glib,
makeDesktopItem,
copyDesktopItems,
networkmanager,
}:
python3Packages.buildPythonApplication rec {
pname = "nmgui";
version = "1.0.0";
format = "other";
src = fetchFromGitHub {
owner = "s-adi-dev";
repo = "nmgui";
tag = "v${version}";
hash = "sha256-HS/n40Ng8S5N14DtEH/upwlxdzwCoOEJA40EMdCcLw4=io";
};
nativeBuildInputs = [
wrapGAppsHook4
gobject-introspection
copyDesktopItems
];
buildInputs = [
gtk4
glib
];
dependencies = with python3Packages; [
pygobject3
nmcli
];
desktopItems = [
(makeDesktopItem {
name = "nmgui";
exec = "nmgui";
icon = "network-wireless-symbolic";
comment = "GTK4-based Network Manager GUI using nmcli";
desktopName = "NM GUI";
categories = [
"Network"
"GTK"
];
startupNotify = true;
})
];
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/applications,opt/nmgui}
# Copy the app files
cp -r app $out/opt/nmgui/
runHook postInstall
'';
postFixup = ''
makeWrapper ${python3Packages.python.interpreter} $out/bin/nmgui \
--add-flags "$out/opt/nmgui/app/main.py" \
--prefix PYTHONPATH : "$PYTHONPATH" \
"''${gappsWrapperArgs[@]}"
'';
meta = {
description = "Python library for interacting with NetworkManager CLI";
homepage = "https://github.com/s-adi-dev/nmgui";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ktechmidas ];
mainProgram = "nmgui";
inherit (networkmanager.meta) platforms;
changelog = "https://github.com/s-adi-dev/nmgui/releases/tag/v${version}";
};
}
@@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
...
}:
stdenv.mkDerivation rec {
+4 -4
View File
@@ -22,12 +22,12 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "opencode";
version = "0.5.13";
version = "0.5.28";
src = fetchFromGitHub {
owner = "sst";
repo = "opencode";
tag = "v${finalAttrs.version}";
hash = "sha256-CzVzBvuK/RRYxFA4wOhkIXuXjoxWHHRnzUpGuvl9kQU=";
hash = "sha256-g/qIn9s3yw3zvCuxD4ByHiFWmQ3TclrhFurqXEcIYnY=";
};
tui = buildGoModule {
@@ -36,7 +36,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
modRoot = "packages/tui";
vendorHash = "sha256-acDXCL7ZQYW5LnEqbMgDwpTbSgtf4wXnMMVtQI1Dv9s=";
vendorHash = "sha256-78MfWF0HSeLFLGDr1Zh74XeyY71zUmmazgG2MnWPucw=";
subPackages = [ "cmd/opencode" ];
@@ -101,7 +101,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
# Required else we get errors that our fixed-output derivation references store paths
dontFixup = true;
outputHash = "sha256-hznCg/7c9uNV7NXTkb6wtn3EhJDkGI7yZmSIA2SqX7g=";
outputHash = "sha256-BZ7rVCcBMTbyYWx5VEfFQo3UguthDgxhIjZ+6T3jrIM=";
outputHashAlgo = "sha256";
outputHashMode = "recursive";
};
-1
View File
@@ -3,7 +3,6 @@
lib,
fetchFromGitHub,
plan9port,
...
}:
stdenv.mkDerivation rec {
@@ -2,12 +2,10 @@
lib,
buildGoModule,
fetchFromGitHub,
fetchpatch,
stdenv,
apple-sdk,
versionCheckHook,
nix-update-script,
...
}:
buildGoModule (finalAttrs: {
-1
View File
@@ -4,7 +4,6 @@
swift,
swiftpm,
fetchFromGitHub,
...
}:
swiftPackages.stdenv.mkDerivation {
-1
View File
@@ -5,7 +5,6 @@
pihole,
pihole-ftl,
procps,
...
}:
stdenv.mkDerivation (finalAttrs: {
-1
View File
@@ -27,7 +27,6 @@
systemd,
util-linux,
stateDir ? "/etc/pihole",
...
}:
(resholve.mkDerivation rec {
+11
View File
@@ -0,0 +1,11 @@
{
"auto_orientation": "sha256-0QOEW8+0PpBIELmzilZ8+z7ozNRxKgI0BzuBS8c1Fng=",
"canvas_danmaku": "sha256-3cBsQCvXuc5XvSRNY4QX33+t8aF2AfOQhRt+MCQWdOA=",
"chat_bottom_container": "sha256-um9KwZUDxWBhFsGHfv00TjPzxDHmp43TLRF0GwuV1xs=",
"extended_nested_scroll_view": "sha256-5X8ghUlEO/lvz/3PmYuipCjcs+QrIciaH5wgWp9i+24=",
"floating": "sha256-TJ2i3hTOQ4euHWr+lfQU44L3vVehmWVdZuAzNyVaEfA=",
"flutter_sortable_wrap": "sha256-Qj9Lzh+pJy+vHznGt5M3xwoJtaVtt00fxm4JJXL4bFI=",
"material_design_icons_flutter": "sha256-KMwjnzJJj8nemCqUCSwYafPOwTYbtoHNenxstocJtz4=",
"media_kit_video": "sha256-wtxTbqOkwQvgDX+LBWLZAdgKkTj4LC484if1LOMjbmA=",
"webdav_client": "sha256-euNF7HdDtZ68BqSEq9BvO10BK09MxX2wWGoElFS0yeE="
}
+104
View File
@@ -0,0 +1,104 @@
{
lib,
fetchFromGitHub,
flutter335,
makeShellWrapper,
makeDesktopItem,
copyDesktopItems,
alsa-lib,
mpv-unwrapped,
libplacebo,
}:
let
version = "1.1.4.1";
rev = "288d554de9bd79ed52582d95517a3d2ea59e6e06";
description = "Third-party Bilibili client developed in Flutter";
in
flutter335.buildFlutterApplication.override
{
# makeBinaryWrapper does not support `--run`.
makeWrapper = makeShellWrapper;
}
{
pname = "piliplus";
inherit version;
src = fetchFromGitHub {
owner = "bggRGjQaUbCoE";
repo = "PiliPlus";
inherit rev;
hash = "sha256-ia+qN3Oa8R7ZPN/IETedESv1+cSXKQOo158is0m/JJM=";
};
# Disable update check.
postPatch = ''
substituteInPlace lib/utils/update.dart \
--replace-fail "if (kDebugMode) " ""
'';
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = lib.importJSON ./git-hashes.json;
nativeBuildInputs = [ copyDesktopItems ];
buildInputs = [
alsa-lib
mpv-unwrapped
libplacebo
];
# See lib/scripts/build.sh.
preBuild = ''
cat <<EOL > lib/build_config.dart
class BuildConfig {
static const int buildTime = $SOURCE_DATE_EPOCH;
static const String commitHash = '${rev}';
}
EOL
'';
# The app attempts to get the total size of TMPDIR at startup.
extraWrapProgramArgs = ''
--run 'export TMPDIR="$(mktemp -d)"'
'';
postInstall = ''
declare -A sizes=(
[mdpi]=128
[hdpi]=192
[xhdpi]=256
[xxhdpi]=384
[xxxhdpi]=512
)
for var in "''${!sizes[@]}"; do
width=''${sizes[$var]}
install -Dm644 "android/app/src/main/res/drawable-$var/splash.png" \
"$out/share/icons/hicolor/$widthx$width/apps/piliplus.png"
done
'';
desktopItems = [
(makeDesktopItem {
name = "piliplus";
exec = "piliplus";
icon = "piliplus";
desktopName = "PiliPlus";
categories = [ "Video" ];
comment = description;
})
];
passthru.updateScript = ./update.rb;
meta = {
inherit description;
homepage = "https://github.com/bggRGjQaUbCoE/PiliPlus";
changelog = "https://github.com/bggRGjQaUbCoE/PiliPlus/releases/tag/${version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ ulysseszhan ];
platforms = lib.platforms.linux;
mainProgram = "piliplus";
};
}
File diff suppressed because it is too large Load Diff
+93
View File
@@ -0,0 +1,93 @@
#! /usr/bin/env nix-shell
#! nix-shell -i ruby -p ruby nix-prefetch-git
require 'net/http'
require 'json'
require 'open3'
require 'yaml'
PACKAGE = 'piliplus'
def log(...) = $stderr.puts(...)
def finish(...) = log(...) || exit
def package_attr attr_path
stdout, status = Open3.capture2 'nix-instantiate', '--eval', '--json', '--attr', "#{PACKAGE}.#{attr_path}"
abort "nix-instantiate failed with exit code #{status.exitstatus} when reading attr #{attr_path}" unless status.success?
JSON.parse stdout rescue abort "Failed to parse JSON output from nix-instantiate when reading attr #{attr_path}"
end
def github_api path, token: ENV['GITHUB_TOKEN']
uri = URI.join 'https://api.github.com', path
res = Net::HTTP.start uri.host, uri.port, use_ssl: true do |http|
req = Net::HTTP::Get.new uri
req['Authorization'] = "Bearer #{token}" if token
http.request req
end
abort "Failed to fetch #{path}: #{res.code} #{res.message}" unless res.is_a? Net::HTTPSuccess
JSON.parse res.body rescue abort "Failed to parse JSON response from GitHub"
end
def prefetch_git url, rev
stdout, status = Open3.capture2 'nix-prefetch-git', '--url', url, '--rev', rev
abort "nix-prefetch-git failed with exit code #{status.exitstatus}" unless status.success?
JSON.parse stdout rescue abort "Failed to parse JSON output from nix-prefetch-git"
end
def replace_in_file filename, searches, replacements
contents = File.read filename
searches.zip replacements do |search, replacement|
contents.sub! search, replacement or abort "Failed to replace #{search} -> #{replacement} in #{filename}"
end
File.write filename, contents
end
def json_write filename, object
File.open(filename, 'w') { _1.puts JSON.pretty_generate object }
end
owner = package_attr 'src.owner'
repo = package_attr 'src.repo'
git_url = "https://github.com/#{owner}/#{repo}.git"
old_version = package_attr 'version'
old_rev = package_attr 'src.rev'
old_hash = package_attr 'src.outputHash'
log "Current version: #{old_version} #{old_rev} #{old_hash}"
new_version = github_api("/repos/#{owner}/#{repo}/releases/latest")['tag_name'] or abort "No `tag_name` field in GitHub response"
finish "Already up-to-date" if new_version == old_version
new_rev, new_hash, src_path = prefetch_git(git_url, new_version).values_at 'rev', 'hash', 'path'
log "New version: #{new_version} #{new_rev} #{new_hash}"
nix_filename = package_attr('meta.position')[/([^:]+):\d+/, 1] or abort "Failed to find the Nix file to be updated"
nix_dir = File.dirname nix_filename
replace_in_file nix_filename, [old_version, old_rev, old_hash], [new_version, new_rev, new_hash]
log "Updated #{nix_filename}"
pubspec_lock_path = File.join nix_dir, 'pubspec.lock.json'
old_pubspec_lock = JSON.load_file pubspec_lock_path rescue abort "Failed to read #{pubspec_lock_path}"
new_pubspec_lock = YAML.load_file File.join src_path, 'pubspec.lock' rescue abort "Failed to read pubspec.lock"
json_write pubspec_lock_path, new_pubspec_lock
log "Updated #{pubspec_lock_path}"
git_hashes_path = File.join nix_dir, 'git-hashes.json'
old_git_hashes = JSON.load_file git_hashes_path rescue abort "Failed to read #{git_hashes_path}"
new_git_hashes = {}
new_pubspec_lock['packages'].each do |name, info|
next unless info['source'] == 'git'
old_description = old_pubspec_lock.dig 'packages', name, 'description'
new_description = info['description']
if old_description == new_description
new_git_hashes[name] = old_git_hashes[name]
log "Reused existing git hash for dependency #{name}"
next
end
log "Updating git hash for dependency #{name}..."
url, rev = new_description.values_at 'url', 'resolved-ref'
new_git_hashes[name] = prefetch_git(url, rev)['hash']
end
json_write git_hashes_path, new_git_hashes
log "Updated #{git_hashes_path}"
finish "All done"
+3 -3
View File
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "pocketbase";
version = "0.29.2";
version = "0.29.3";
src = fetchFromGitHub {
owner = "pocketbase";
repo = "pocketbase";
rev = "v${version}";
hash = "sha256-TWizSLWsQEK2BGaYVkqc/rrjiv/MZF0kKZAYGQAItJ4=";
hash = "sha256-BthnDSSWlUSPTou0Vta0OYrjpbbWh/zIb2pnuWaxX5U=";
};
vendorHash = "sha256-MWCx8v1/A0xjm8M9zgPXkMYsQlpAqDaASoqFTr7FG18=";
vendorHash = "sha256-J86NsLM7y87HBfjwuYb/djkSBtySKYatkTDMPI9KLU4=";
# This is the released subpackage from upstream repo
subPackages = [ "examples/base" ];
-1
View File
@@ -4,7 +4,6 @@
fetchzip,
makeWrapper,
perlPackages,
...
}:
stdenv.mkDerivation rec {
-1
View File
@@ -6,7 +6,6 @@
versionCheckHook,
installShellFiles,
nix-update-script,
...
}:
buildGoModule (finalAttrs: {
@@ -2,7 +2,6 @@
fetchFromGitHub,
nix-update-script,
renode,
...
}:
renode.overrideAttrs (old: rec {
pname = "renode-unstable";
-1
View File
@@ -7,7 +7,6 @@
rsync,
which,
installShellFiles,
...
}:
perlPackages.buildPerlPackage rec {
pname = "Rex";
-1
View File
@@ -2,7 +2,6 @@
lib,
buildGoModule,
fetchFromGitHub,
...
}:
buildGoModule {
pname = "rHttp";
-1
View File
@@ -2,7 +2,6 @@
buildNpmPackage,
fetchFromGitHub,
lib,
...
}:
buildNpmPackage rec {
+2 -2
View File
@@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "s-search";
version = "0.7.3";
version = "0.7.4";
src = fetchFromGitHub {
owner = "zquestz";
repo = "s";
tag = "v${finalAttrs.version}";
hash = "sha256-g+Gz16U5rP3v+RbutDUh5+1YdTDe+ROFEnNAlNZX1fw=";
hash = "sha256-bcJeNUGTcXAwB+/xly3AMJE3BTjqiC6QvuqgfDgZZrk=";
};
vendorHash = "sha256-0E/9fONanSxb2Tv5wKIpf1J/A6Hdge23xy3r6pFyV9E=";
+1157
View File
File diff suppressed because it is too large Load Diff
+54
View File
@@ -0,0 +1,54 @@
{
lib,
buildDotnetModule,
fetchFromGitHub,
dotnetCorePackages,
versionCheckHook,
nix-update-script,
}:
buildDotnetModule rec {
pname = "sbom-tool";
version = "4.1.0";
src = fetchFromGitHub {
owner = "microsoft";
repo = "sbom-tool";
tag = "v${version}";
hash = "sha256-U233dQZrIjnriyQiLK/7k14OUvddqX0D6lLox3CO6qg=";
};
projectFile = "src/Microsoft.Sbom.Tool/Microsoft.Sbom.Tool.csproj";
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
dotnetBuildFlags = [
"-p:MinVerVersionOverride=${version}"
];
dotnetInstallFlags = [
"--framework"
"net8.0"
];
executables = [ "Microsoft.Sbom.Tool" ];
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = [ "--version" ];
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Highly scalable and enterprise ready tool to create SPDX 2.2 and SPDX 3.0 compatible SBOMs for any variety of artifacts";
homepage = "https://github.com/microsoft/sbom-tool";
changelog = "https://github.com/microsoft/sbom-tool/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jamiemagee ];
mainProgram = "Microsoft.Sbom.Tool";
};
}
@@ -3,7 +3,6 @@
stdenv,
fetchurl,
unzip,
...
}:
stdenv.mkDerivation rec {

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