Merge 33de6dfc31 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-08-28 00:20:54 +00:00
committed by GitHub
300 changed files with 10087 additions and 2567 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.)
+6
View File
@@ -20,6 +20,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.
@@ -72,6 +74,8 @@
The binary name remains `webfontkitgenerator`.
The `webfontkitgenerator` package is an alias to `webfont-bundler`.
- `python3Packages.triton` no longer takes an `enableRocm` argument and supports ROCm in all build configurations via runtime binding. In most cases no action will be needed. If triton is unable to find the HIP SDK add `rocmPackages.clr` as a build input or set the environment variable `HIP_PATH="${rocmPackages.clr}"`.
- `inspircd` has been updated to the v4 release series. Please refer to the upstream documentation for [general information](https://docs.inspircd.org/4/overview/#v4-overview) and a list of [breaking changes](https://docs.inspircd.org/4/breaking-changes/).
- `lima` package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable the `lima-additional-guestagents` package by setting `withAdditionalGuestAgents = true` when overriding lima with this input.
@@ -95,6 +99,8 @@
- `privatebin` has been updated to `2.0.0`. This release changes configuration defaults including switching the template and removing legacy features. See the [v2.0.0 changelog entry](https://github.com/PrivateBin/PrivateBin/releases/tag/2.0.0) for details on how to upgrade.
- `rocmPackages.triton` has been removed in favor of `python3Packages.triton`.
- `go-mockery` has been updated to v3. For migration instructions see the [upstream documentation](https://vektra.github.io/mockery/latest/v3/). If v2 is still required `go-mockery_v2` has been added but will be removed on or before 2029-12-31 in-line with it's [upstream support lifecycle](https://vektra.github.io/mockery/
- [private-gpt](https://github.com/zylon-ai/private-gpt) service has been removed by lack of maintenance upstream.
+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
+1 -1
View File
@@ -829,7 +829,7 @@ rec {
toList [ 1 2 ]
=> [ 1 2 ]
toList "hi"
=> [ "hi "]
=> [ "hi" ]
```
:::
+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";
+5 -1
View File
@@ -51,6 +51,10 @@ A [`_class`](https://nixos.org/manual/nixpkgs/unstable/#module-system-lib-evalMo
Provide it as the first attribute in the module:
```nix
# Non-module dependencies (`importApply`)
{ writeScript, runtimeShell }:
# Service module
{ lib, config, ... }:
{
_class = "service";
@@ -87,7 +91,7 @@ stdenv.mkDerivation (finalAttrs: {
passthru = {
services = {
default = {
imports = [ ./service.nix ];
imports = [ (lib.modules.importApply ./service.nix { inherit pkgs; }) ];
example.package = finalAttrs.finalPackage;
# ...
};
+11 -1
View File
@@ -25,6 +25,7 @@ let
escapeShellArg
concatMapStringsSep
sourceFilesBySuffices
modules
;
common = import ./common.nix;
@@ -129,7 +130,16 @@ let
'';
portableServiceOptions = buildPackages.nixosOptionsDoc {
inherit (evalModules { modules = [ ../../modules/system/service/portable/service.nix ]; }) options;
inherit
(evalModules {
modules = [
(modules.importApply ../../modules/system/service/portable/service.nix {
pkgs = throw "nixos docs / portableServiceOptions: Do not reference pkgs in docs";
})
];
})
options
;
inherit revision warningsAreErrors;
transformOptions =
opt:
@@ -85,7 +85,9 @@ Moving their logic into separate Nix files may still be beneficial for the effic
## Writing and Reviewing a Modular Service {#modular-service-review}
Refer to the contributor documentation in [`nixos/README-modular-services.md`](https://github.com/NixOS/nixpkgs/blob/master/nixos/README-modular-services.md).
A typical service module consists of the following:
For more details, refer to the contributor documentation in [`nixos/README-modular-services.md`](https://github.com/NixOS/nixpkgs/blob/master/nixos/README-modular-services.md).
## Portable Service Options {#modular-service-options-portable}
+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";
};
};
};
}
+5 -2
View File
@@ -115,7 +115,7 @@ in
autoStart = mkOption {
type = types.bool;
default = false;
description = "Automatically start chromium when Gotenberg starts. If false, Chromium will start on the first conversion request that uses it.";
description = "Automatically start Chromium when Gotenberg starts. If false, Chromium will start on the first conversion request that uses it.";
};
disableJavascript = mkOption {
@@ -172,7 +172,7 @@ in
autoStart = mkOption {
type = types.bool;
default = false;
description = "Automatically start LibreOffice when Gotenberg starts. If false, Chromium will start on the first conversion request that uses it.";
description = "Automatically start LibreOffice when Gotenberg starts. If false, LibreOffice will start on the first conversion request that uses it.";
};
disableRoutes = mkOption {
@@ -303,6 +303,7 @@ in
};
serviceConfig = {
Type = "simple";
# NOTE: disable to debug chromium crashes or otherwise no coredump is created and forbidden syscalls are not being logged
DynamicUser = true;
ExecStart = "${lib.getExe cfg.package} ${lib.escapeShellArgs args}";
@@ -340,6 +341,8 @@ in
"@sandbox"
"@system-service"
"@chown"
"@pkey" # required by chromium or it crashes
"mincore"
];
SystemCallArchitectures = "native";
+1 -1
View File
@@ -598,7 +598,7 @@ in
services.gotenberg = lib.mkIf cfg.configureTika {
enable = true;
# https://github.com/paperless-ngx/paperless-ngx/blob/v2.15.3/docker/compose/docker-compose.sqlite-tika.yml#L64-L69
# https://github.com/paperless-ngx/paperless-ngx/blob/v2.18.2/docker/compose/docker-compose.sqlite-tika.yml#L60-L65
chromium.disableJavascript = true;
extraArgs = [ "--chromium-allow-list=file:///tmp/.*" ];
};
+90
View File
@@ -53,3 +53,93 @@ Many services implement automatic reloading or reloading on e.g. `SIGUSR1`, but
- **Simple attribute structure**: Unlike `environment.etc`, `configData` uses a simpler structure with just `enable`, `name`, `text`, `source`, and `path` attributes. Complex ownership options were omitted for simplicity and portability.
Per-service user creation is still TBD.
## No `pkgs` module argument
The modular service infrastructure avoids exposing `pkgs` as a module argument to service modules. Instead, derivations and builder functions are provided through lexical closure, making dependency relationships explicit and avoiding uncertainty about where dependencies come from.
### Benefits
- **Explicit dependencies**: Services declare what they need rather than implicitly depending on `pkgs`
- **No interference**: Service modules can be reused in different contexts without assuming a specific `pkgs` instance. An unexpected `pkgs` version is not a failure mode anymore.
- **Clarity**: With fewer ways to do things, there's no ambiguity about where dependencies come from (from the module, not the OS or service manager)
### Implementation
- **Portable layer**: Service modules in `portable/` do not receive `pkgs` as a module argument. Any required derivations must be provided by the caller.
- **Systemd integration**: The `systemd/system.nix` module imports `config-data.nix` as a function, providing `pkgs` in lexical closure:
```nix
(import ../portable/config-data.nix { inherit pkgs; })
```
- **Service modules**:
1. Should explicitly declare their package dependencies as options rather than using `pkgs` defaults:
```nix
{
# Bad: uses pkgs module argument
foo.package = mkOption {
default = pkgs.python3;
# ...
};
}
```
```nix
{
# Good: caller provides the package
foo.package = mkOption {
type = types.package;
description = "Python package to use";
defaultText = lib.literalMD "The package that provided this module.";
};
}
```
2. `passthru.services` can still provide a complete module using the package's lexical scope, making the module truly self-contained:
**Package (`package.nix`):**
```nix
{
lib,
writeScript,
runtimeShell,
# ... other dependencies
}:
stdenv.mkDerivation (finalAttrs: {
# ... package definition
passthru.services.default = {
imports = [
(lib.modules.importApply ./service.nix {
inherit writeScript runtimeShell;
})
];
someService.package = finalAttrs.finalPackage;
};
})
```
**Service module (`service.nix`):**
```nix
# Non-module dependencies (importApply)
{ writeScript, runtimeShell }:
# Service module
{
lib,
config,
options,
...
}:
{
# Service definition using writeScript, runtimeShell from lexical scope
process.argv = [
(writeScript "wrapper" ''
#!${runtimeShell}
# ... wrapper logic
'')
# ... other args
];
}
```
@@ -1,10 +1,13 @@
# Tests in: ../../../../tests/modular-service-etc/test.nix
# Non-modular context provided by the modular services integration.
{ pkgs }:
# Configuration data support for portable services
# This module provides configData for services, enabling configuration reloading
# without terminating and restarting the service process.
{
lib,
pkgs,
...
}:
let
+45 -1
View File
@@ -1,6 +1,11 @@
{ lib, ... }:
let
inherit (lib) concatLists mapAttrsToList showOption;
inherit (lib)
concatLists
mapAttrsToList
showOption
types
;
in
rec {
flattenMapServicesConfigToList =
@@ -30,4 +35,43 @@ rec {
assertion = ass.assertion;
}) config.assertions
);
/**
This is the entrypoint for the portable part of modular services.
It provides the various options that are consumed by service manager implementations.
# Inputs
`serviceManagerPkgs`: A Nixpkgs instance which will be used for built-in logic such as converting `configData.<path>.text` to a store path.
`extraRootModules`: Modules to be loaded into the "root" service submodule, but not into its sub-`services`. That's the modules' own responsibility.
`extraRootSpecialArgs`: Fixed module arguments that are provided in a similar manner to `extraRootModules`.
# Output
An attribute set.
`serviceSubmodule`: a Module System option type which is a `submodule` with the portable modules and this function's inputs loaded into it.
*/
configure =
{
serviceManagerPkgs,
extraRootModules ? [ ],
extraRootSpecialArgs ? { },
}:
let
modules = [
(lib.modules.importApply ./service.nix { pkgs = serviceManagerPkgs; })
];
serviceSubmodule = types.submoduleWith {
class = "service";
modules = modules ++ extraRootModules;
specialArgs = extraRootSpecialArgs;
};
in
{
inherit serviceSubmodule;
};
}
@@ -1,3 +1,9 @@
# Non-module arguments
# These are separate from the module arguments to avoid implicit dependencies.
# This makes service modules self-contains, allowing mixing of Nixpkgs versions.
{ pkgs }:
# The module
{
lib,
...
@@ -12,14 +18,14 @@ in
imports = [
../../../../../modules/generic/meta-maintainers.nix
../../../misc/assertions.nix
./config-data.nix
(lib.modules.importApply ./config-data.nix { inherit pkgs; })
];
options = {
services = mkOption {
type = types.attrsOf (
types.submoduleWith {
modules = [
./service.nix
(lib.modules.importApply ./service.nix { inherit pkgs; })
];
}
);
+17 -9
View File
@@ -7,6 +7,12 @@ let
portable-lib = import ./lib.nix { inherit lib; };
configured = portable-lib.configure {
serviceManagerPkgs = throw "do not use pkgs in this test";
extraRootModules = [ ];
extraRootSpecialArgs = { };
};
dummyPkg =
name:
derivation {
@@ -79,23 +85,25 @@ let
modules = [
{
options.services = mkOption {
type = types.attrsOf (
types.submoduleWith {
class = "service";
modules = [
./service.nix
];
}
);
type = types.attrsOf configured.serviceSubmodule;
};
}
exampleConfig
];
};
filterEval =
config:
lib.optionalAttrs (config ? process) {
inherit (config) assertions warnings process;
}
// {
services = lib.mapAttrs (k: filterEval) config.services;
};
test =
assert
exampleEval.config == {
filterEval exampleEval.config == {
services = {
service1 = {
process = {
@@ -52,8 +52,8 @@ let
in
{
_class = "service";
imports = [
../portable/service.nix
(lib.mkAliasOptionModule [ "systemd" "service" ] [ "systemd" "services" "" ])
(lib.mkAliasOptionModule [ "systemd" "socket" ] [ "systemd" "sockets" "" ])
];
@@ -101,6 +101,8 @@ in
};
}
);
# Rendered by the portable docs instead.
visible = false;
};
};
config = {
+14 -30
View File
@@ -59,44 +59,28 @@ let
// concatMapAttrs (
subServiceName: subService: makeUnits unitType (dash prefix subServiceName) subService
) service.services;
modularServiceConfiguration = portable-lib.configure {
serviceManagerPkgs = pkgs;
extraRootModules = [
./service.nix
./config-data-path.nix
];
extraRootSpecialArgs = {
systemdPackage = config.systemd.package;
};
};
in
{
_class = "nixos";
# First half of the magic: mix systemd logic into the otherwise abstract services
options = {
system.services = mkOption {
description = ''
A collection of NixOS [modular services](https://nixos.org/manual/nixos/unstable/#modular-services) that are configured as systemd services.
'';
type = types.attrsOf (
types.submoduleWith {
class = "service";
modules = [
./service.nix
./config-data-path.nix
# TODO: Consider removing pkgs. Service modules can provide their own
# dependencies.
{
# Extend portable services option
options.services = lib.mkOption {
type = types.attrsOf (
types.submoduleWith {
specialArgs.pkgs = pkgs;
modules = [ ];
}
);
};
}
];
specialArgs = {
# perhaps: features."systemd" = { };
# TODO: Consider removing pkgs. Service modules can provide their own
# dependencies.
inherit pkgs;
systemdPackage = config.systemd.package;
};
}
);
type = types.attrsOf modularServiceConfiguration.serviceSubmodule;
default = { };
visible = "shallow";
};
+3
View File
@@ -7,6 +7,9 @@
nodes.machine = {
services.gotenberg = {
enable = true;
# fail the service if any of those does not come up
chromium.autoStart = true;
libreoffice.autoStart = true;
};
};
@@ -3,7 +3,6 @@
{
config,
lib,
pkgs,
...
}:
let
@@ -16,7 +15,6 @@ in
python-http-server = {
package = mkOption {
type = types.package;
default = pkgs.python3;
description = "Python package to use for the web server";
};
@@ -46,21 +44,9 @@ in
];
configData = {
# This should probably just be {} if we were to put this module in production.
"webroot" = lib.mkDefault {
source = pkgs.runCommand "default-webroot" { } ''
mkdir -p $out
cat > $out/index.html << 'EOF'
<!DOCTYPE html>
<html>
<head><title>Python Web Server</title></head>
<body>
<h1>Welcome to the Python Web Server</h1>
<p>Serving from port ${toString config.python-http-server.port}</p>
</body>
</html>
EOF
'';
"webroot" = {
# Enable only if directory is set to use this path
enable = lib.mkDefault (config.python-http-server.directory == config.configData."webroot".path);
};
};
};
+31 -4
View File
@@ -12,18 +12,44 @@
nodes = {
server =
{ pkgs, ... }:
let
# Normally the package services.default attribute combines this, but we
# don't have that, because this is not a production service. Should it be?
python-http-server = {
imports = [ ./python-http-server.nix ];
python-http-server.package = pkgs.python3;
};
in
{
system.services.webserver = {
# The python web server is simple enough that it doesn't need a reload signal.
# Other services may need to receive a signal in order to re-read what's in `configData`.
imports = [ ./python-http-server.nix ];
imports = [ python-http-server ];
python-http-server = {
port = 8080;
};
configData = {
"webroot" = {
source = pkgs.runCommand "webroot" { } ''
mkdir -p $out
cat > $out/index.html << 'EOF'
<!DOCTYPE html>
<html>
<head><title>Python Web Server</title></head>
<body>
<h1>Welcome to the Python Web Server</h1>
<p>Serving from port 8080</p>
</body>
</html>
EOF
'';
};
};
# Add a sub-service
services.api = {
imports = [ ./python-http-server.nix ];
imports = [ python-http-server ];
python-http-server = {
port = 8081;
};
@@ -147,8 +173,9 @@
print(f"Before switch - webserver PID: {webserver_pid}, api PID: {api_pid}")
# Switch to the specialisation with updated content
switch_output = server.succeed("/run/current-system/specialisation/updated/bin/switch-to-configuration test")
print(f"Switch output: {switch_output}")
# Capture both stdout and stderr, and show stderr in real-time for debugging
switch_output = server.succeed("/run/current-system/specialisation/updated/bin/switch-to-configuration test 2>&1 | tee /dev/stderr")
print(f"Switch output (stdout+stderr): {switch_output}")
# Verify services are not mentioned in the switch output (indicating they weren't touched)
assert "webserver.service" not in switch_output, f"webserver.service was mentioned in switch output: {switch_output}"
+2
View File
@@ -1,3 +1,5 @@
# Run with:
# nix-build -A nixosTests.php.fpm-modular
{ lib, php, ... }:
{
name = "php-${php.version}-fpm-modular-nginx-test";
+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;
};
}
@@ -7496,6 +7496,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
live-preview-nvim = buildVimPlugin {
pname = "live-preview.nvim";
version = "2025-08-17";
src = fetchFromGitHub {
owner = "brianhuster";
repo = "live-preview.nvim";
rev = "5890c4f7cb81a432fd5f3b960167757f1b4d4702";
sha256 = "0gr68xmx9ph74pqnlpbfx9kj5bh7yg3qh0jni98z2nmkzfvg4qcx";
};
meta.homepage = "https://github.com/brianhuster/live-preview.nvim/";
meta.hydraPlatforms = [ ];
};
live-rename-nvim = buildVimPlugin {
pname = "live-rename.nvim";
version = "2025-06-23";
@@ -1794,6 +1794,22 @@ in
dependencies = [ self.litee-nvim ];
};
live-preview-nvim = super.live-preview-nvim.overrideAttrs {
checkInputs = with self; [
fzf-lua
mini-pick
snacks-nvim
telescope-nvim
];
nvimSkipModules = [
# Ignore livepreview._spec as it fails nvimRequireCheck.
# This file runs tests on require which unfortunately fails as it attempts to require the base plugin. See https://github.com/brianhuster/live-preview.nvim/blob/5890c4f7cb81a432fd5f3b960167757f1b4d4702/lua/livepreview/_spec.lua#L25
"livepreview._spec"
];
meta.license = lib.licenses.gpl3Only;
};
lspcontainers-nvim = super.lspcontainers-nvim.overrideAttrs {
dependencies = [ self.nvim-lspconfig ];
};
@@ -575,6 +575,7 @@ https://github.com/ldelossa/litee-filetree.nvim/,,
https://github.com/ldelossa/litee-symboltree.nvim/,,
https://github.com/ldelossa/litee.nvim/,,
https://github.com/smjonas/live-command.nvim/,HEAD,
https://github.com/brianhuster/live-preview.nvim/,HEAD,
https://github.com/saecki/live-rename.nvim/,HEAD,
https://github.com/azratul/live-share.nvim/,HEAD,
https://github.com/ggml-org/llama.vim/,HEAD,
@@ -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 = [
@@ -12,13 +12,13 @@
}:
mkLibretroCore {
core = "mupen64plus-next";
version = "0-unstable-2025-07-29";
version = "0-unstable-2025-08-20";
src = fetchFromGitHub {
owner = "libretro";
repo = "mupen64plus-libretro-nx";
rev = "2d923939db32aad01e633010fac71f860c943a6d";
hash = "sha256-HNhGVXTeCECqOdyluPq6aYWuA612H+PCJ65XoN9WJXU=";
rev = "222acbd3f98391458a047874d0372fe78e14fe94";
hash = "sha256-esssh/0nxNUDW/eMDQbWEdcSPuqLjnKLkK4mKN17HjQ=";
};
# Fix for GCC 14
+2 -2
View File
@@ -82,14 +82,14 @@ let
];
in
mkDerivation rec {
version = "3.44.1";
version = "3.44.2";
pname = "qgis-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-WUXYjMCq95S5GHcn3pR45kpP3Us1HG4sS+EmjCBYOrM=";
hash = "sha256-ERaox5jqB7E/W0W6NnipHx1qfY2+FTHYf3r2l1KRkC0=";
};
passthru = {
-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="
}
}
}
@@ -866,6 +866,15 @@
"spdx": "Apache-2.0",
"vendorHash": null
},
"neon": {
"hash": "sha256-D1KWC2D4OLMUSWKzQmiZaDrATCv4SEUWwk6SK/o1U5M=",
"homepage": "https://registry.terraform.io/providers/kislerdm/neon",
"owner": "kislerdm",
"repo": "terraform-provider-neon",
"rev": "v0.9.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-8WY2iEOFOwx7zDMps5cctxzv1stRseS/OUaHkMDuBYs="
},
"netlify": {
"hash": "sha256-7U+hHN/6GqcbI1gX7L01YqVjlUgvdfhgpXvLF2lwbkA=",
"homepage": "https://registry.terraform.io/providers/AegirHealth/netlify",
@@ -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 = [ ];
};
}
@@ -21,13 +21,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "obs-vkcapture";
version = "1.5.2";
version = "1.5.3";
src = fetchFromGitHub {
owner = "nowrep";
repo = "obs-vkcapture";
rev = "v${finalAttrs.version}";
hash = "sha256-ghfRST7J3bipQnOZnYMtmDggET+Etq/ngHs+zQ0bm1w=";
hash = "sha256-zra7fwYnUfPKS4AA6Z9FIPP3p/uR5O1wB6Z76aivtZI=";
};
cmakeFlags = lib.optionals stdenv.hostPlatform.isi686 [
@@ -6,13 +6,13 @@
buildGoModule rec {
pname = "docker-buildx";
version = "0.26.1";
version = "0.27.0";
src = fetchFromGitHub {
owner = "docker";
repo = "buildx";
rev = "v${version}";
hash = "sha256-+ubv/8UdejxY7u3RdgS7L18hZHohlqGu9E3L0bTAmLY=";
hash = "sha256-SY7pf6bHvX6tezTYpOu/pqda3IsIqaR5g7JZS+eEEZw=";
};
doCheck = false;
-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;
};
}
+15 -15
View File
@@ -1,43 +1,43 @@
{
"stable": {
"linux": {
"version": "8.11.6",
"version": "8.11.8",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.6.x64.tar.gz",
"hash": "sha256-OjyJDesweUhLHuBeLCEvNOloDZO8/D6Z1FquLyapQ4Q="
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.8.x64.tar.gz",
"hash": "sha256-gidi2lnKFxcSxi6lekWODp9TJNGofWFp72Bp30KoRfY="
},
"aarch64": {
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.6.arm64.tar.gz",
"hash": "sha256-sspmxX6xeVHvEww4D41PZTM2YftbILx06aMuDbAay74="
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.8.arm64.tar.gz",
"hash": "sha256-pZqhWd2K+5+B3eK52OZNSPh3Jx4MKBy+hAnC5tihzhM="
}
}
},
"darwin": {
"version": "8.11.6",
"version": "8.11.8",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.6-x86_64.zip",
"hash": "sha256-HMwb22/4Dw3M3B1nrdURSQzMGAZxsVG6t8E+MUmRmjg="
"url": "https://downloads.1password.com/mac/1Password-8.11.8-x86_64.zip",
"hash": "sha256-MYyWof17KLVRtnPqSICnny24f8YoXJWeGwErWFrb6C4="
},
"aarch64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.6-aarch64.zip",
"hash": "sha256-SrB4tUk2GroUOptdQlJsC9tFssYXduyLR1TqH7aU2N4="
"url": "https://downloads.1password.com/mac/1Password-8.11.8-aarch64.zip",
"hash": "sha256-wii983COooBCXyiV2a2MC7SKnFJLp1JashsOzT3+ZRA="
}
}
}
},
"beta": {
"linux": {
"version": "8.11.8-32.BETA",
"version": "8.11.8-39.BETA",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.11.8-32.BETA.x64.tar.gz",
"hash": "sha256-FlJ7uXtqavcOUs/DRGCMR0ImX9mlQBYGxFzM45DByBg="
"url": "https://downloads.1password.com/linux/tar/beta/x86_64/1password-8.11.8-39.BETA.x64.tar.gz",
"hash": "sha256-8KokDe9Vnr2lL5NileTcs+ncpqOcoRs5/N8hmrVv33U="
},
"aarch64": {
"url": "https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.11.8-32.BETA.arm64.tar.gz",
"hash": "sha256-Dqy9keq6aRrFp2zKGOpV9kmI4CZQFZpf8ey9n9OKy8A="
"url": "https://downloads.1password.com/linux/tar/beta/aarch64/1password-8.11.8-39.BETA.arm64.tar.gz",
"hash": "sha256-fWLFshduzdbYgoSIeMKPd3SsbLh62O2lPFXqwqk/DTQ="
}
}
},
+5 -1
View File
@@ -28,6 +28,7 @@
libvorbis,
libopus,
libmpg123,
libgcrypt,
enableDynarec ? with stdenv.hostPlatform; isx86 || isAarch,
enableNewDynarec ? enableDynarec && stdenv.hostPlatform.isAarch,
@@ -87,7 +88,10 @@ stdenv.mkDerivation (finalAttrs: {
]
++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
++ lib.optional enableWayland wayland
++ lib.optional enableVncRenderer libvncserver;
++ lib.optionals enableVncRenderer [
libvncserver
libgcrypt
];
cmakeFlags =
lib.optional stdenv.hostPlatform.isDarwin "-DCMAKE_MACOSX_BUNDLE=OFF"
-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: {
+2 -2
View File
@@ -8,13 +8,13 @@
python3Packages.buildPythonApplication rec {
pname = "ansible-lint";
version = "25.8.1";
version = "25.8.2";
pyproject = true;
src = fetchPypi {
inherit version;
pname = "ansible_lint";
hash = "sha256-BAWePPW2ROeW4h1EUARiHR4kVOOuto0e6gpJ9lDvMhk=";
hash = "sha256-Nd093RLYBjh2kVvy8GuaG4D9J6fLHKTOUcjOu4RpCSI=";
};
postPatch = ''
+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 (
+2 -2
View File
@@ -115,12 +115,12 @@ in
stdenv'.mkDerivation (finalAttrs: {
pname = "blender";
version = "4.5.1";
version = "4.5.2";
src = fetchzip {
name = "source";
url = "https://download.blender.org/source/blender-${finalAttrs.version}.tar.xz";
hash = "sha256-x1zeBQ0aTBFUpB7c4XfP6b2p+ENRFEnTGa4m/7Pl24k=";
hash = "sha256-6blXwp3DeWNM5Q6M5gWj4O+K/gFxEOj41lzlc5biEYQ=";
};
postPatch =
-1
View File
@@ -3,7 +3,6 @@
lib,
libusb-compat-0_1,
stdenv,
...
}:
stdenv.mkDerivation {
+6 -3
View File
@@ -2,19 +2,22 @@
lib,
rustPlatform,
fetchFromGitHub,
nix-update-script,
}:
rustPlatform.buildRustPackage rec {
pname = "bootspec";
version = "1.0.1";
version = "1.1.0";
src = fetchFromGitHub {
owner = "DeterminateSystems";
repo = "bootspec";
rev = "v${version}";
hash = "sha256-0MO+SqG7Gjq+fmMJkIFvaKsfTmC7z3lGfi7bbBv7iBE=";
hash = "sha256-WDEaTxj5iT8tvasd6gnMhRgNoEdDi9Wi4ke8sVtNpt8=";
};
cargoHash = "sha256-fKbF5SyI0UlZTWsygdE8BGWuOoNSU4jx+CGdJoJFhZs=";
cargoHash = "sha256-ZJKoL1vYfAG1rpCcE1jRm7Yj2dhooJ6iQ91c6EGF83E=";
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Implementation of RFC-0125's datatype and synthesis tooling";
+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 = [
-2
View File
@@ -33,7 +33,6 @@
sqlite,
stdenv,
util-linuxMinimal,
webkitgtk_4_0,
}:
stdenv.mkDerivation (finalAttrs: {
@@ -82,7 +81,6 @@ stdenv.mkDerivation (finalAttrs: {
python3
sqlite
util-linuxMinimal
webkitgtk_4_0
];
cmakeFlags = [
@@ -33,7 +33,6 @@
python3,
sqlite,
stdenv,
webkitgtk_4_0,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "chow-tape-model";
@@ -87,7 +86,6 @@ stdenv.mkDerivation (finalAttrs: {
pcre2
python3
sqlite
webkitgtk_4_0
];
# Link-time-optimization fails without these
-1
View File
@@ -5,7 +5,6 @@
ninja,
sphinx,
python3Packages,
...
}:
pkgs.stdenv.mkDerivation {
+4 -4
View File
@@ -6,13 +6,13 @@
"packages": {
"": {
"dependencies": {
"@anthropic-ai/claude-code": "^1.0.92"
"@anthropic-ai/claude-code": "^1.0.93"
}
},
"node_modules/@anthropic-ai/claude-code": {
"version": "1.0.92",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.92.tgz",
"integrity": "sha512-/XuwJqAvXwIGf9WeZOxHI6qQsAGzxhrRc3hyQdvwW6cU5iviTmrxWasksPbJMvFt6KQoAUU6XHs78XyYmBpOXQ==",
"version": "1.0.93",
"resolved": "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-1.0.93.tgz",
"integrity": "sha512-HSrbuYVu4k1dwoj/IYsXEVSoMWDPujy2D4zl9BMt4Zt0kwUwZch0nHpTyQ0C+YeHMN7hHbViz0bw6spg0a5GgQ==",
"license": "SEE LICENSE IN README.md",
"bin": {
"claude": "cli.js"
+3 -3
View File
@@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "claude-code";
version = "1.0.92";
version = "1.0.93";
nodejs = nodejs_20; # required for sandboxed Nix builds on Darwin
src = fetchzip {
url = "https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-${version}.tgz";
hash = "sha256-xW+oI91wL+DFaOHw5M84QJktuE9HXb031pGbrNcrpPQ=";
hash = "sha256-vEUty4HRPSkFpT94bxMWcLj0nFe34AeQEZ0WsCXuy10=";
};
npmDepsHash = "sha256-rrMskQkWKz+B5dqJ8gHgBxO20OdgE3d53TJWDxeJGbo=";
npmDepsHash = "sha256-JL0GPIhpyTQonKsyMR5zN8LaPfX3KkEfQbMR1Z7gTFE=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+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
];
};
}
})
+2 -2
View File
@@ -21,7 +21,7 @@
stdenv.mkDerivation (finalAttrs: {
pname = "cppcheck";
version = "2.18.0";
version = "2.18.1";
outputs = [
"out"
@@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "danmar";
repo = "cppcheck";
tag = finalAttrs.version;
hash = "sha256-trbL2Me1VWmVMfL45H50xbR36izifFmoLHKQvte6oZQ=";
hash = "sha256-SWMjxMtdISAOxMWteouOzr8DeRpqn16OlPDhR0Yb3QQ=";
};
nativeBuildInputs = [
-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;
};
+2 -2
View File
@@ -28,13 +28,13 @@ in
buildNpmPackage (finalAttrs: {
pname = "pangolin";
version = "1.9.0";
version = "1.9.1";
src = fetchFromGitHub {
owner = "fosrl";
repo = "pangolin";
tag = finalAttrs.version;
hash = "sha256-X8Jvk/1gDj4cqXP3vlsrhWEM5lR42FsQ0HaSNeNxTXg=";
hash = "sha256-r0/HtRWdlDV749yT2pMnKqQKKYm6FPpcy3eul6M8iDQ=";
};
npmDepsHash = "sha256-OygskQhveT9CiymOOd5gx+aR9v3nMUZj72k/om3IF/c=";
+2 -2
View File
@@ -63,13 +63,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "freerdp";
version = "3.16.0";
version = "3.17.0";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = finalAttrs.version;
hash = "sha256-HF4Is3ak2nYD2Fq6HGHwyM5OTBVqYqbB22otOprzfiQ=";
hash = "sha256-86RbzRgC93ZOt3MHRKJIRklEuyCQs6tHff5jk++yFok=";
};
postPatch = ''
-1
View File
@@ -2,7 +2,6 @@
lib,
stdenv,
callPackage,
...
}:
let
version = "5.5.239";
+7 -1
View File
@@ -7,6 +7,8 @@
ghostunnel,
apple-sdk_12,
darwinMinVersionHook,
writeScript,
runtimeShell,
}:
buildGoModule rec {
@@ -41,7 +43,11 @@ buildGoModule rec {
};
passthru.services.default = {
imports = [ ./service.nix ];
imports = [
(lib.modules.importApply ./service.nix {
inherit writeScript runtimeShell;
})
];
ghostunnel.package = ghostunnel; # FIXME: finalAttrs.finalPackage
};
+7 -3
View File
@@ -1,8 +1,11 @@
# Non-module dependencies (`importApply`)
{ writeScript, runtimeShell }:
# Service module
{
lib,
config,
options,
pkgs,
...
}:
let
@@ -25,6 +28,7 @@ in
ghostunnel = {
package = mkOption {
description = "Package to use for ghostunnel";
defaultText = "The ghostunnel package that provided this module.";
type = types.package;
};
@@ -191,8 +195,8 @@ in
cfg.cacert
])
(
pkgs.writeScript "load-credentials" ''
#!${pkgs.runtimeShell}
writeScript "load-credentials" ''
#!${runtimeShell}
exec $@ ${
concatStringsSep " " (
optional (cfg.keystore != null) "--keystore=$CREDENTIALS_DIRECTORY/keystore"
+11
View File
@@ -9,6 +9,7 @@
cmake,
xclip,
nix-update-script,
fetchpatch,
}:
let
pname = "gitui";
@@ -39,6 +40,16 @@ rustPlatform.buildRustPackage {
libiconv
];
patches = [
# Fixes the build for rust 1.89
# Upstream PR: https://github.com/gitui-org/gitui/pull/2663
# TOREMOVE for gitui > 0.27.0
(fetchpatch {
url = "https://github.com/gitui-org/gitui/commit/950e703cab1dd37e3d02e7316ec99cc0dc70513c.patch";
sha256 = "sha256-KDgOPLKGuJaF0Nc6rw9FPFmcI07I8Gyp/KNX8x6+2xw=";
})
];
postPatch = ''
# The cargo config overrides linkers for some targets, breaking the build
# on e.g. `aarch64-linux`. These overrides are not required in the Nix
+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" ];
+20 -9
View File
@@ -1,6 +1,6 @@
{
lib,
buildGoModule,
buildGo125Module,
chromium,
fetchFromGitHub,
libreoffice,
@@ -22,18 +22,23 @@ let
libreoffice' = "${libreoffice}/lib/libreoffice/program/soffice.bin";
inherit (lib) getExe;
in
buildGoModule rec {
buildGo125Module rec {
pname = "gotenberg";
version = "8.21.1";
version = "8.22.0";
outputs = [
"out"
"hyphen"
];
src = fetchFromGitHub {
owner = "gotenberg";
repo = "gotenberg";
tag = "v${version}";
hash = "sha256-2uILOK5u+HrdjqN+ZQjGv48QxSCrzSvnF+Ae6iCKCbU=";
hash = "sha256-LrkJlUkcvW8ky9e2Ltj13wxcL0rvaE4NfVJrcrgPHL4=";
};
vendorHash = "sha256-sTcP/tyrCtvgYeOnsbqRFdBC1bbMAbA978t6LOTKFio=";
vendorHash = "sha256-JHsuCYx9Ec/w8LBT2R4LxlrfjYyYve0+4/Xq0U1sq5I=";
postPatch = ''
find ./pkg -name '*_test.go' -exec sed -i -e 's#/tests#${src}#g' {} \;
@@ -82,14 +87,20 @@ buildGoModule rec {
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
postInstall = ''
mkdir $hyphen
cp -r build/chromium-hyphen-data/*/* $hyphen/
'';
preFixup = ''
wrapProgram $out/bin/gotenberg \
--set CHROMIUM_HYPHEN_DATA_DIR_PATH "$hyphen" \
--set EXIFTOOL_BIN_PATH "${getExe exiftool}" \
--set JAVA_HOME "${jre'}" \
--set PDFCPU_BIN_PATH "${getExe pdfcpu}" \
--set PDFTK_BIN_PATH "${getExe pdftk}" \
--set QPDF_BIN_PATH "${getExe qpdf}" \
--set UNOCONVERTER_BIN_PATH "${getExe unoconv}" \
--set EXIFTOOL_BIN_PATH "${getExe exiftool}" \
--set PDFCPU_BIN_PATH "${getExe pdfcpu}" \
--set JAVA_HOME "${jre'}"
--set UNOCONVERTER_BIN_PATH "${getExe unoconv}"
'';
passthru.updateScript = nix-update-script { };
-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

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