Merge 501880c9da into haskell-updates

This commit is contained in:
nixpkgs-ci[bot] 2026-06-01 00:54:54 +00:00 committed by GitHub
commit 5aafdde3a0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
454 changed files with 7193 additions and 4640 deletions

View file

@ -56,6 +56,12 @@
/pkgs/top-level/splice.nix @Ericson2314
/pkgs/top-level/release-cross.nix @Ericson2314
/pkgs/top-level/by-name-overlay.nix @infinisil @philiptaron
/pkgs/top-level/config.nix @jopejoe1
/pkgs/top-level/make-tarball.nix @jopejoe1
/pkgs/top-level/packages-config.nix @jopejoe1
/pkgs/top-level/packages-info.nix @jopejoe1
/pkgs/top-level/release-lib.nix @jopejoe1
/pkgs/top-level/release.nix @jopejoe1
/pkgs/stdenv @philiptaron @NixOS/stdenv
/pkgs/stdenv/generic @Ericson2314 @NixOS/stdenv
/pkgs/stdenv/generic/problems.nix @infinisil
@ -271,15 +277,15 @@ pkgs/development/python-modules/buildcatrust/ @ajs124 @lukegb @mweinelt
/lib/licenses @alyssais @emilazy @jopejoe1
# Qt
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/qt-5 @K900 @NickCao @SuperSandro2000
/pkgs/development/libraries/qt-6 @K900 @NickCao @SuperSandro2000
# KDE Frameworks 5
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/development/libraries/kde-frameworks @K900 @NickCao @SuperSandro2000
# KDE / Plasma 6
/pkgs/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000 @ttuegel
/pkgs/kde @K900 @NickCao @SuperSandro2000
/maintainers/scripts/kde @K900 @NickCao @SuperSandro2000
# PostgreSQL and related stuff
/pkgs/by-name/po/postgresqlTestHook @NixOS/postgres

View file

@ -48,7 +48,6 @@ Based on the packages defined in `pkgs/top-level/python-packages.nix` an
attribute set is created for each available Python interpreter. The available
sets are
* `pkgs.python27Packages`
* `pkgs.python3Packages`
* `pkgs.python311Packages`
* `pkgs.python312Packages`
@ -60,9 +59,7 @@ sets are
and the aliases
* `pkgs.python2Packages` pointing to `pkgs.python27Packages`
* `pkgs.python3Packages` pointing to `pkgs.python313Packages`
* `pkgs.pythonPackages` pointing to `pkgs.python2Packages`
* `pkgs.pypy2Packages` pointing to `pkgs.pypy27Packages`
* `pkgs.pypy3Packages` pointing to `pkgs.pypy310Packages`
* `pkgs.pypyPackages` pointing to `pkgs.pypy2Packages`
@ -287,29 +284,27 @@ because their behaviour is different:
The `buildPythonPackage` function has a `overridePythonAttrs` method that can be
used to override the package. In the following example we create an environment
where we have the `blaze` package using an older version of `pandas`. We
override first the Python interpreter and pass `packageOverrides` which contains
the overrides for packages in the package set.
first override the Python package set, then instantiate an interpreter with
that package set.
```nix
with import <nixpkgs> { };
let
python = pkgs.python3.override {
packageOverrides = self: super: {
pandas = super.pandas.overridePythonAttrs (
finalAttrs: prevAttrs: {
version = "0.19.1";
src = fetchPypi {
pname = "pandas";
inherit (finalAttrs) version;
hash = "sha256-JQn+rtpy/OA2deLszSKEuxyttqBzcAil50H+JDHUdCE=";
};
}
);
};
};
pythonPackages = python3Packages.overrideScope (
final: prev: {
pandas = prev.pandas.overridePythonAttrs (old: rec {
version = "0.19.1";
src = fetchPypi {
pname = "pandas";
inherit version;
hash = "sha256-JQn+rtpy/OA2deLszSKEuxyttqBzcAil50H+JDHUdCE=";
};
});
}
);
in
(python.withPackages (ps: [ ps.blaze ])).env
(pythonPackages.python.withPackages (ps: [ ps.blaze ])).env
```
The next example shows a non trivial overriding of the `blas` implementation to
@ -317,15 +312,16 @@ be used through out all of the Python package set:
```nix
{
python3MyBlas = pkgs.python3.override {
packageOverrides = self: super: {
python3PackagesWithBlas = python3Packages.overrideScope (
final: prev: {
# We need toPythonModule for the package set to evaluate this
blas = super.toPythonModule (super.pkgs.blas.override { blasProvider = super.pkgs.mkl; });
lapack = super.toPythonModule (super.pkgs.lapack.override { lapackProvider = super.pkgs.mkl; });
};
};
blas = final.toPythonModule (prev.blas.override { blasProvider = final.mkl; });
lapack = final.toPythonModule (prev.lapack.override { lapackProvider = final.mkl; });
}
);
}
```
This will create a new Python package set with the blas and lapack implementation set to Intel MKL.
This is particularly useful for numpy and scipy users who want to gain speed with other blas implementations.
Note that using `scipy = super.scipy.override { blas = super.pkgs.mkl; };` will likely result in
@ -457,11 +453,10 @@ Note that overriding packages deeper in the dependency graph _can_ work, but it'
let
pyproject = pkgs.lib.importTOML ./pyproject.toml;
myPython = pkgs.python.override {
self = myPython;
packageOverrides = pyfinal: pyprev: {
myPython3Packages = pkgs.python3Packages.overrideScope (
final: _: {
# An editable package with a script that loads our mutable location
my-editable = pyfinal.mkPythonEditablePackage {
my-editable = final.mkPythonEditablePackage {
# Inherit project metadata from pyproject.toml
pname = pyproject.project.name;
inherit (pyproject.project) version;
@ -472,10 +467,10 @@ let
# Inject a script (other PEP-621 entrypoints are also accepted)
inherit (pyproject.project) scripts;
};
};
};
}
);
pythonEnv = myPython.withPackages (ps: [ ps.my-editable ]);
pythonEnv = myPython3Packages.python.withPackages (ps: [ ps.my-editable ]);
in
pkgs.mkShell { packages = [ pythonEnv ]; }
@ -575,9 +570,6 @@ In contrast to [`python.buildEnv`](#python.buildenv-function), [`python.withPack
more advanced options such as `ignoreCollisions = true` or `postBuild`. If you
need them, you have to use [`python.buildEnv`](#python.buildenv-function).
Python 2 namespace packages may provide `__init__.py` that collide. In that case
[`python.buildEnv`](#python.buildenv-function) should be used with `ignoreCollisions = true`.
#### Setup hooks {#setup-hooks}
The following are setup hooks specifically for Python packages. Most of these
@ -629,10 +621,9 @@ buildPythonPackage.override { stdenv = customStdenv; } {
Several versions of the Python interpreter are available on Nix, as well as a
high amount of packages. The attribute `python3` refers to the default
interpreter, which is currently CPython 3.13. The attribute `python` refers to
CPython 2.7 for backwards compatibility. It is also possible to refer to
specific versions, e.g., `python313` refers to CPython 3.13, and `pypy` refers to
the default PyPy interpreter.
interpreter, which is currently CPython 3.13. It is also possible to refer to
specific versions, e.g., `python313` refers to CPython 3.13, and `pypy` refers
to the default PyPy interpreter.
Python is used a lot, and in different ways. This affects also how it is
packaged. In the case of Python on Nix, an important distinction is made between
@ -644,14 +635,6 @@ In the Nixpkgs tree Python applications can be found throughout, depending on
what they do, and are called from the main package set. Python libraries,
however, are in separate sets, with one set per interpreter version.
The interpreters have several common attributes. One of these attributes is
`pkgs`, which is a package set of Python libraries for this specific
interpreter. E.g., the `toolz` package corresponding to the default interpreter
is `python3.pkgs.toolz`, and the CPython 3.13 version is `python313.pkgs.toolz`.
The main package set contains aliases to these package sets, e.g.
`pythonPackages` refers to `python.pkgs` and `python313Packages` to
`python313.pkgs`.
#### Installing Python and packages {#installing-python-and-packages}
The Nix and NixOS manuals explain how packages are generally installed. In the
@ -1021,7 +1004,7 @@ information. The output of the function is a derivation.
An expression for `toolz` can be found in the Nixpkgs repository. As explained
in the introduction of this Python section, a derivation of `toolz` is available
for each interpreter version, e.g. `python313.pkgs.toolz` refers to the `toolz`
for each interpreter version, e.g. `python313Packages.toolz` refers to the `toolz`
derivation corresponding to the CPython 3.13 interpreter.
The above example works when you're directly working on
@ -1036,7 +1019,7 @@ with import <nixpkgs> { };
(
let
my_toolz = python313.pkgs.buildPythonPackage (finalAttrs: {
my_toolz = python313Packages.buildPythonPackage (finalAttrs: {
pname = "toolz";
version = "0.10.0";
pyproject = true;
@ -1046,7 +1029,7 @@ with import <nixpkgs> { };
hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
};
build-system = [ python313.pkgs.setuptools ];
build-system = [ python313Packages.setuptools ];
# has no tests
doCheck = false;
@ -1059,7 +1042,7 @@ with import <nixpkgs> { };
});
in
python313.withPackages (
python313Packages.python.withPackages (
ps: with ps; [
numpy
my_toolz
@ -1080,6 +1063,11 @@ of [`withPackages`](#python.withpackages-function) we used a `let` expression. Y
`toolz` from the Nixpkgs package set this time, but instead took our own version
that we introduced with the `let` expression.
There is also a legacy API that can be accessed via `python3.pkgs`, which will also give access to
the Python package set for a given interpreter. This API is not recommended to be used anymore
because the package set at `python3.pkgs` is not spliced, while the package set at `python3Packages`
is. This can lead to strange errors during cross-compilation, or if Python is used at build time.
#### Handling dependencies {#handling-dependencies}
Our example, `toolz`, does not have any dependencies on other Python packages or system libraries.
@ -1717,27 +1705,22 @@ should also be done when packaging `A`.
### How to override a Python package? {#how-to-override-a-python-package}
We can override the interpreter and pass `packageOverrides`. In the following
example we rename the `pandas` package and build it.
We can override the Python package set, then instantiate an interpreter with it.
In the following example we rename the `pandas` package and build it.
```nix
with import <nixpkgs> { };
(
let
python =
let
packageOverrides = self: super: {
pandas = super.pandas.overridePythonAttrs (old: {
name = "foo";
});
};
in
pkgs.python313.override { inherit packageOverrides; };
in
python.withPackages (ps: [ ps.pandas ])
).env
let
pythonPackages = python3Packages.overrideScope (
final: prev: {
pandas = prev.pandas.overridePythonAttrs {
name = "foo";
};
}
);
in
(pythonPackages.python.withPackages (ps: [ ps.pandas ])).env
```
Using `nix-build` on this expression will build an environment that contains the
@ -1753,12 +1736,10 @@ the updated `scipy` version.
```nix
with import <nixpkgs> { };
(
let
packageOverrides = self: super: { scipy = super.scipy_0_17; };
in
(pkgs.python313.override { inherit packageOverrides; }).withPackages (ps: [ ps.blaze ])
).env
let
pythonPackages = python313Packages.overrideScope (_: prev: { scipy = prev.scipy_0_17; });
in
(pythonPackages.python.withPackages (ps: [ ps.blaze ])).env
```
The requested package `blaze` depends on `pandas` which itself depends on `scipy`.
@ -1772,14 +1753,16 @@ let
pkgs = import <nixpkgs> { };
newpkgs = import pkgs.path {
overlays = [
(self: super: {
(_: prev: {
python313 =
let
packageOverrides = python-self: python-super: {
numpy = python-super.numpy_1_18;
};
pythonPackages = prev.python313Packages.overrideScope (
_: prev: {
numpy = prev.numpy_1_18;
}
);
in
super.python313.override { inherit packageOverrides; };
pythonPackages.python3;
})
];
};
@ -1920,9 +1903,8 @@ pkgs.mkShell rec {
}
```
In case the supplied venvShellHook is insufficient, or when Python 2 support is
needed, you can define your own shell hook and adapt to your needs like in the
following example:
In case the supplied venvShellHook is insufficient, you can define your own
shell hook and adapt to your needs like in the following example:
```nix
with import <nixpkgs> { };
@ -1935,8 +1917,6 @@ pkgs.mkShell rec {
name = "impurePythonEnv";
buildInputs = [
pythonPackages.python
# Needed when using python 2.7
# pythonPackages.virtualenv
# ...
];
@ -1949,8 +1929,6 @@ pkgs.mkShell rec {
echo "Skipping venv creation, '${venvDir}' already exists"
else
echo "Creating new venv environment in path: '${venvDir}'"
# Note that the module venv was only introduced in python 3, so for 2.7
# this needs to be replaced with a call to virtualenv
${pythonPackages.python.interpreter} -m venv "${venvDir}"
fi
@ -1977,19 +1955,17 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
```nix
{
nixpkgs.config.packageOverrides = super: {
python3 = super.python3.override {
packageOverrides = python-self: python-super: {
twisted = python-super.twisted.overridePythonAttrs (oldAttrs: {
src = super.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
});
nixpkgs.config.packageOverrides = final: _: {
python3Packages = super.python3Packages.overrideScope (pySuper: {
twisted = pySuper.twisted.overridePythonAttrs {
src = final.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
};
};
});
};
}
```
@ -2005,7 +1981,7 @@ this snippet:
```nix
{
myPythonPackages = python3Packages.override { overrides = self: super: { twisted = <...>; }; };
myPythonPackages = python3Packages.overrideScope (final: super: { twisted = <...>; });
}
```
@ -2014,19 +1990,17 @@ this snippet:
Use the following overlay template:
```nix
self: super: {
python = super.python.override {
packageOverrides = python-self: python-super: {
twisted = python-super.twisted.overrideAttrs (oldAttrs: {
src = super.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
});
self: _: {
python3Packages = super.python3Packages.overrideScope (pySuper: {
twisted = pySuper.twisted.overrideAttrs {
src = final.fetchPypi {
pname = "Twisted";
version = "19.10.0";
hash = "sha256-c5S6fycq5yKnTz2Wnc9Zm8TvCTvDkgOHSKSQ8XJKUV0=";
extension = "tar.bz2";
};
};
};
});
}
```

View file

@ -10,6 +10,8 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `databricks-cli` has been updated from `0.290.2` to `1.x.x`, the first major release. OAuth tokens for interactive logins (`auth_type = databricks-cli`) are now stored in the OS-native secure store by default (Secret Service on Linux) instead of `~/.databricks/token-cache.json`; cached tokens from older versions are not migrated, so run `databricks auth login` once per profile after upgrading. To keep the previous file-backed storage, set `DATABRICKS_AUTH_STORAGE=plaintext` or add `auth_storage = plaintext` under `[__settings__]` in `~/.databrickscfg`. Additionally, the `vector_search_endpoints` DABs resource renamed `min_qps` to `target_qps` (and the `vector-search-endpoints` command renamed `--min-qps` to `--target-qps`). See the [upstream changelog](https://github.com/databricks/cli/blob/main/CHANGELOG.md) for details.
- `hurl` has been updated to `8.x.x` which has some breaking changes. See [upstream changelog](https://github.com/Orange-OpenSource/hurl/releases/tag/8.0.0) for details.
- `python3Packages.django-health-check` has been updated to major version 4. See its [migration guide](https://codingjoe.dev/django-health-check/migrate-to-v4/) and [changelog](https://github.com/codingjoe/django-health-check/releases/tag/4.0.0) for breaking changes.

View file

@ -155,7 +155,6 @@ rec {
gnu64 = {
config = "x86_64-unknown-linux-gnu";
};
gnu64_simplekernel = gnu64 // platforms.pc_simplekernel; # see test/cross/default.nix
gnu32 = {
config = "i686-unknown-linux-gnu";
};

View file

@ -18,10 +18,6 @@ rec {
};
};
pc_simplekernel = lib.recursiveUpdate pc {
linux-kernel.autoModules = false;
};
##
## POWER
##

View file

@ -309,8 +309,7 @@
"members": {
"AndersonTorres": 5954806,
"adisbladis": 63286,
"panchoh": 471059,
"ttuegel": 563054
"panchoh": 471059
},
"name": "emacs"
},
@ -407,12 +406,13 @@
"gnome": {
"description": "Maintain GNOME desktop environment and platform.",
"id": 3806133,
"maintainers": {},
"maintainers": {
"jtojnar": 705123
},
"members": {
"bobby285271": 20080233,
"dasj19": 7589338,
"hedning": 71978,
"jtojnar": 705123
"hedning": 71978
},
"name": "GNOME"
},
@ -702,6 +702,7 @@
"Mic92": 96200,
"Radvendii": 1239929,
"edolstra": 1148549,
"lisanna-dettwyler": 72424138,
"lovesegfault": 7243783,
"xokdvium": 145775305
},
@ -819,14 +820,13 @@
"description": "Maintain the Qt framework, KDE application suite, Plasma desktop environment and related projects",
"id": 4341481,
"maintainers": {
"ttuegel": 563054
"K900": 386765,
"NickCao": 15247171,
"SuperSandro2000": 7258858
},
"members": {
"FRidh": 2129135,
"K900": 386765,
"LunNova": 782440,
"NickCao": 15247171,
"SuperSandro2000": 7258858,
"bkchr": 5718007,
"ilya-fedin": 17829319,
"mjm": 1181,
@ -896,8 +896,7 @@
"id": 7304571,
"maintainers": {
"Mic92": 96200,
"winterqt": 78392041,
"zowoq": 59103226
"winterqt": 78392041
},
"members": {},
"name": "rust"

View file

@ -4567,6 +4567,12 @@
githubId = 53847249;
name = "Casey Avila";
};
castorNova2 = {
email = "solemnsquire@gmail.com";
github = "castorNova2";
githubId = 84083897;
name = "Nidhish Chauhan";
};
catap = {
email = "kirill@korins.ky";
github = "catap";
@ -16477,6 +16483,12 @@
githubId = 8094643;
keys = [ { fingerprint = "BAA9 7711 58CA D457 B4AE 8B06 8188 423D 2FA2 0A65"; } ];
};
m4r1vs = {
email = "marius.niveri@gmail.com";
name = "Marius Niveri";
github = "m4r1vs";
githubId = 26097311;
};
m7medvision = {
name = "Mohammed";
github = "m7medVision";
@ -22141,6 +22153,12 @@
githubId = 246631;
keys = [ { fingerprint = "3E46 7EF1 54AA A1D0 C7DF A694 E45C B17F 1940 CA52"; } ];
};
pretentiousUsername = {
name = "Ian Mitchell";
email = "mitchell.ian.2001@gmail.com";
github = "pretentiousUsername";
githubId = 94192644;
};
priegger = {
email = "philipp@riegger.name";
github = "priegger";
@ -23410,6 +23428,13 @@
githubId = 61013287;
name = "Ricardo Steijn";
};
ricardomaps = {
email = "ricardomapurungajunior@gmail.com";
github = "ricardomaps";
githubId = 49507078;
name = "Ricardo Mapurunga Junior";
matrix = "@ricmaps:matrix.org";
};
richar = {
github = "ri-char";
githubId = 17962023;
@ -26118,6 +26143,12 @@
name = "sportshead";
keys = [ { fingerprint = "A6B6 D031 782E BDF7 631A 8E7E A874 DB2C BFD3 CFD0"; } ];
};
spotdemo4 = {
email = "me@trev.xyz";
github = "spotdemo4";
githubId = 3732640;
name = "spotdemo4";
};
spreetin = {
email = "spreetin@protonmail.com";
name = "David Falk";
@ -28363,12 +28394,6 @@
githubId = 77488956;
name = "Timothy Tschnitzel";
};
ttuegel = {
email = "ttuegel@mailbox.org";
github = "ttuegel";
githubId = 563054;
name = "Thomas Tuegel";
};
tu-maurice = {
email = "valentin.gehrke+nixpkgs@zom.bi";
github = "tu-maurice";
@ -29652,6 +29677,11 @@
}
];
};
wilaz = {
name = "Wilaz";
github = "Wilaz";
githubId = 98198668;
};
wildsebastian = {
name = "Sebastian Wild";
email = "sebastian@wild-siena.com";

View file

@ -176,6 +176,7 @@ tree-sitter-norg-meta,,,,,,
tree-sitter-orgmode,,,,,5.1,
utf8,,,,,,
tree-sitter-teal,,,,,,
vicious,,,,,,
vstruct,,,,,,
vusted,,,,,,
xml2lua,,,,,,teto

1 name rockspec ref server version luaversion maintainers
176 tree-sitter-orgmode 5.1
177 utf8
178 tree-sitter-teal
179 vicious
180 vstruct
181 vusted
182 xml2lua teto

View file

@ -18,6 +18,8 @@
- `boot.vesa` has been removed. It was deprecated in 2020 because Xorg now works better with kernel modesetting. If you still need the legacy VESA 800x600 fallback, set `boot.kernelParams = [ "vga=0x317" "nomodeset" ];` directly.
- Python 2 has been removed from the top-level package set, as it is long past end-of-life. The `python2`, `python27`, `python2Full`, `python27Full`, `python2Packages`, and `python27Packages` attributes, along with the legacy `python`, `pythonFull`, and `pythonPackages` aliases, now throw an error directing you to `python3`. The `isPy2` and `isPy27` package flags have been removed accordingly. The only remaining Python 2 interpreter is vendored inside the `resholve` package for its `oil` dependency and is not exposed for general use.
## Other Notable Changes {#sec-release-26.11-notable-changes}
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View file

@ -394,7 +394,6 @@
./security/ca.nix
./security/chromium-suid-sandbox.nix
./security/default.nix
./security/dhparams.nix
./security/doas.nix
./security/duosec.nix
./security/google_oslogin.nix

View file

@ -125,6 +125,9 @@ in
(mkRemovedOptionModule [ "programs" "yabar" ]
"programs.yabar has been removed from NixOS. This is because the yabar repository has been archived upstream."
)
(mkRemovedOptionModule [ "security" "dhparams" ] ''
The security.dhparams module has been removed as RFC 7919 has shown that generating your own params is problematic.
'')
(mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
The hidepid module was removed, since the underlying machinery
is broken when using cgroups-v2.

View file

@ -1,223 +0,0 @@
{
config,
lib,
options,
pkgs,
...
}:
let
inherit (lib) literalExpression mkOption types;
cfg = config.security.dhparams;
opt = options.security.dhparams;
bitType = types.addCheck types.int (b: b >= 16) // {
name = "bits";
description = "integer of at least 16 bits";
};
paramsSubmodule =
{ name, config, ... }:
{
options.bits = mkOption {
type = bitType;
default = cfg.defaultBitSize;
defaultText = literalExpression "config.${opt.defaultBitSize}";
description = ''
The bit size for the prime that is used during a Diffie-Hellman
key exchange.
'';
};
options.path = mkOption {
type = types.path;
readOnly = true;
description = ''
The resulting path of the generated Diffie-Hellman parameters
file for other services to reference. This could be either a
store path or a file inside the directory specified by
{option}`security.dhparams.path`.
'';
};
config.path =
let
generated = pkgs.runCommand "dhparams-${name}.pem" {
nativeBuildInputs = [ pkgs.openssl ];
} "openssl dhparam -out \"$out\" ${toString config.bits}";
in
if cfg.stateful then "${cfg.path}/${name}.pem" else generated;
};
in
{
options = {
security.dhparams = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Whether to generate new DH params and clean up old DH params.
'';
};
params = mkOption {
type =
with types;
let
coerce = bits: { inherit bits; };
in
attrsOf (coercedTo int coerce (submodule paramsSubmodule));
default = { };
example = lib.literalExpression "{ nginx.bits = 3072; }";
description = ''
Diffie-Hellman parameters to generate.
The value is the size (in bits) of the DH params to generate. The
generated DH params path can be found in
`config.security.dhparams.params.«name».path`.
::: {.note}
The name of the DH params is taken as being the name of
the service it serves and the params will be generated before the
said service is started.
:::
::: {.warning}
If you are removing all dhparams from this list, you
have to leave {option}`security.dhparams.enable` for at
least one activation in order to have them be cleaned up. This also
means if you rollback to a version without any dhparams the
existing ones won't be cleaned up. Of course this only applies if
{option}`security.dhparams.stateful` is
`true`.
:::
::: {.note}
**For module implementers:** It's recommended
to not set a specific bit size here, so that users can easily
override this by setting
{option}`security.dhparams.defaultBitSize`.
:::
'';
};
stateful = mkOption {
type = types.bool;
default = true;
description = ''
Whether generation of Diffie-Hellman parameters should be stateful or
not. If this is enabled, PEM-encoded files for Diffie-Hellman
parameters are placed in the directory specified by
{option}`security.dhparams.path`. Otherwise the files are
created within the Nix store.
::: {.note}
If this is `false` the resulting store
path will be non-deterministic and will be rebuilt every time the
`openssl` package changes.
:::
'';
};
defaultBitSize = mkOption {
type = bitType;
default = 2048;
description = ''
This allows to override the default bit size for all of the
Diffie-Hellman parameters set in
{option}`security.dhparams.params`.
'';
};
path = mkOption {
type = types.str;
default = "/var/lib/dhparams";
description = ''
Path to the directory in which Diffie-Hellman parameters will be
stored. This only is relevant if
{option}`security.dhparams.stateful` is
`true`.
'';
};
};
};
config = lib.mkMerge [
(lib.mkIf cfg.enable {
warnings = [
''
The `security.dhparams` module is deprecated and scheduled for removal in NixOS 26.11.
Generating your own params has been shown to be problematic in RFC 7919 (2016).
Remove any uses of DHE and migrate to ECDHE (RFC 8422, 2018) and
Hybrid PQ (draft-ietf-tls-ecdhe-mlkem, 2026) key exchange algorithms.
''
];
})
(lib.mkIf (cfg.enable && cfg.stateful) {
systemd.services = {
dhparams-init = {
description = "Clean Up Old Diffie-Hellman Parameters";
# Clean up even when no DH params is set
wantedBy = [ "multi-user.target" ];
serviceConfig.RemainAfterExit = true;
serviceConfig.Type = "oneshot";
script = ''
if [ ! -d ${cfg.path} ]; then
mkdir -p ${cfg.path}
fi
# Remove old dhparams
for file in ${cfg.path}/*; do
if [ ! -f "$file" ]; then
continue
fi
${lib.concatStrings (
lib.mapAttrsToList (
name:
{ bits, path, ... }:
''
if [ "$file" = ${lib.escapeShellArg path} ] && \
${pkgs.openssl}/bin/openssl dhparam -in "$file" -text \
| head -n 1 | grep "(${toString bits} bit)" > /dev/null; then
continue
fi
''
) cfg.params
)}
rm "$file"
done
# TODO: Ideally this would be removing the *former* cfg.path, though
# this does not seem really important as changes to it are quite
# unlikely
rmdir --ignore-fail-on-non-empty ${cfg.path}
'';
};
}
// lib.mapAttrs' (
name:
{ bits, path, ... }:
lib.nameValuePair "dhparams-gen-${name}" {
description = "Generate Diffie-Hellman Parameters for ${name}";
after = [ "dhparams-init.service" ];
before = [ "${name}.service" ];
requiredBy = [ "${name}.service" ];
wantedBy = [ "multi-user.target" ];
unitConfig.ConditionPathExists = "!${path}";
serviceConfig.Type = "oneshot";
script = ''
mkdir -p ${lib.escapeShellArg cfg.path}
${pkgs.openssl}/bin/openssl dhparam -out ${lib.escapeShellArg path} \
${toString bits}
'';
}
) cfg.params;
})
];
}

View file

@ -36,6 +36,8 @@ in
'';
};
package = lib.mkPackageOption pkgs "gemstash" { };
settings = lib.mkOption {
default = { };
description = ''
@ -96,7 +98,7 @@ in
after = [ "network.target" ];
serviceConfig = lib.mkMerge [
{
ExecStart = "${pkgs.gemstash}/bin/gemstash start --no-daemonize --config-file ${settingsFormat.generate "gemstash.yaml" (prefixColon cfg.settings)}";
ExecStart = "${lib.getExe cfg.package} start --no-daemonize --config-file ${settingsFormat.generate "gemstash.yaml" (prefixColon cfg.settings)}";
NoNewPrivileges = true;
User = "gemstash";
Group = "gemstash";

View file

@ -30,7 +30,6 @@ let
mapAttrsToList
mergeAttrsList
mkEnableOption
mkDefault
mkIf
mkMerge
mkOption

View file

@ -91,9 +91,9 @@ let
# files required to exist also won't be present, so missingok is forced.
user=$(${pkgs.buildPackages.coreutils}/bin/id -un)
group=$(${pkgs.buildPackages.coreutils}/bin/id -gn)
sed -e "s/\bsu\s.*/su $user $group/" \
-e "s/\b\(create\s\+[0-9]*\s*\|createolddir\s\+[0-9]*\s\+\).*/\1$user $group/" \
-e "1imissingok" -e "s/\bnomissingok\b//" \
sed -E -e "s/\bsu\s.*/su $user $group/" \
-e "s/\b((create|createolddir)\b(\s+[0-9]+)?).*/\1 $user $group/" \
-e "1imissingok" -e "s/\bnomissingok\b//" \
$out > logrotate.conf
# Since this makes for very verbose builds only show real error.
# There is no way to control log level, but logrotate hardcodes

View file

@ -2,6 +2,7 @@
config,
pkgs,
lib,
utils,
...
}:
let
@ -10,8 +11,6 @@ let
mkEnableOption
mkOption
mkPackageOption
optional
optionals
types
;
@ -22,7 +21,12 @@ let
configDir = pkgs.writeTextFile {
name = "kmscon-config";
destination = "/kmscon.conf";
text = cfg.extraConfig;
text =
let
mkKeyValue =
k: v: if lib.isBool v then (lib.optionalString (!v) "no-") + k else "${k}=${toString v}";
in
lib.generators.toKeyValue { inherit mkKeyValue; } (lib.filterAttrs (_: v: v != null) cfg.config);
};
baseLoginOptions = "-p";
@ -55,58 +59,68 @@ in
Check `services.getty.autologinUser` instead.
'')
(lib.mkRemovedOptionModule [ "services" "kmscon" "fonts" ] ''
`services.kmscon.fonts` is removed.
Add your font to `fonts.packages` and configure it with
`services.kmscon.config.font-name` instead.
'')
(lib.mkRemovedOptionModule [ "services" "kmscon" "extraConfig" ] ''
`services.kmscon.extraConfig` is removed.
Add your configurations to the new `services.kmscon.config` instead.
'')
(lib.mkRenamedOptionModule [ "services" "kmscon" "term" ] [ "services" "kmscon" "config" "term" ])
(lib.mkRenamedOptionModule
[ "services" "kmscon" "hwRender" ]
[ "services" "kmscon" "config" "hwaccel" ]
)
];
options = {
services.kmscon = {
enable = mkEnableOption ''
Use kmscon instead of autovt.
use kmscon instead of autovt.
Kmscon is a simple terminal emulator based on linux kernel mode setting (KMS).
It is an attempt to replace the in-kernel VT implementation with a userspace console.
It is an attempt to replace the in-kernel VT implementation with a userspace console
'';
package = mkPackageOption pkgs "kmscon" { };
hwRender = mkEnableOption "3D hardware acceleration to render the console";
useXkbConfig = mkEnableOption ''
configure keymap from xserver keyboard settings.
fonts = mkOption {
description = "Fonts used by kmscon, in order of priority.";
default = null;
example = lib.literalExpression ''[ { name = "Source Code Pro"; package = pkgs.source-code-pro; } ]'';
type =
with types;
let
fontType = submodule {
options = {
name = mkOption {
type = str;
description = "Font name, as used by fontconfig.";
};
package = mkOption {
type = package;
description = "Package providing the font.";
};
};
If enabled, configurations under `services.xserver.xkb` will be injected into kmscon's configuration
'';
config = mkOption {
description = ''
Configuration for kmscon. See {manpage}`kmscon.conf(5)`
for available options.
'';
default = { };
type = types.submodule {
freeformType =
with types;
attrsOf (oneOf [
bool
int
str
]);
options = {
hwaccel = mkEnableOption "use hardware acceleration for rendering";
libseat = mkOption {
type = types.bool;
default = true;
description = ''
Whether to use libseat for session management.
This is the default for kmscon newer than 10.0.0 and prevents
launching another GUI from kmscon by `kmscon-launch-gui`.
'';
};
in
nullOr (nonEmptyListOf fontType);
};
useXkbConfig = mkEnableOption "configure keymap from xserver keyboard settings.";
term = mkOption {
description = "Value for the TERM environment variable.";
type = types.nullOr types.str;
default = null;
example = "xterm-256color";
};
extraConfig = mkOption {
description = "Extra contents of the kmscon.conf file.";
type = types.lines;
default = "";
example = "font-size=14";
};
};
};
extraOptions = mkOption {
@ -124,30 +138,54 @@ in
assertion = gettyCfg.loginOptions == null;
message = "services.getty.loginOptions is not supported when services.kmscon is enabled.";
}
{
assertion = (cfg.config ? font-name) -> config.fonts.fontconfig.enable;
message = "Font configuration for kmscon requires fontconfig to be enabled.";
}
{
assertion = cfg.config.hwaccel -> config.hardware.graphics.enable;
message = "Hardware acceleration for kmscon requires `hardware.graphics.enable` to be true.";
}
];
services.kmscon.config = lib.mkIf cfg.useXkbConfig (
lib.mapAttrs (_: lib.mkDefault) (
lib.filterAttrs (_: v: v != "") {
xkb-layout = config.services.xserver.xkb.layout;
xkb-model = config.services.xserver.xkb.model;
xkb-options = config.services.xserver.xkb.options;
xkb-variant = config.services.xserver.xkb.variant;
}
)
);
environment.systemPackages = [ cfg.package ];
systemd.packages = [ cfg.package ];
systemd.services."kmsconvt@" = {
serviceConfig.ExecStart = [
"" # override upstream default with an empty ExecStart
(builtins.concatStringsSep " " (
[
"${cfg.package}/bin/kmscon"
"--configdir"
configDir
"--vt=%I"
"--no-switchvt"
"--login"
]
++ lib.optional (cfg.extraOptions != "") cfg.extraOptions
++ [
"--"
loginScript
]
))
];
serviceConfig = {
User = lib.mkIf (!cfg.config.libseat) "";
PAMName = lib.mkIf (!cfg.config.libseat) "";
Environment = [ "XKB_CONFIG_ROOT=${config.services.xserver.xkb.dir}" ];
ExecStart = [
"" # override upstream default with an empty ExecStart
(builtins.concatStringsSep " " (
[
"${cfg.package}/bin/kmscon"
"--configdir"
configDir
"--vt=%I"
"--no-switchvt"
"--login"
]
++ lib.optional (cfg.extraOptions != "") cfg.extraOptions
++ [
"--"
loginScript
]
))
];
};
restartIfChanged = false;
# logind spawns autovt@ttyN.service on VT switch; point it at kmscon
@ -156,40 +194,55 @@ in
# tty1 is special: logind does not spawn autovt@tty1, it expects a static
# pull-in via getty.target. With getty@ suppressed, we must replace it.
systemd.services."getty.target".wants = lib.mkIf (!config.services.displayManager.enable) [
systemd.targets.getty.wants = lib.mkIf (!config.services.displayManager.enable) [
"kmsconvt@tty1.service"
];
systemd.suppressedSystemUnits = [ "getty@.service" ];
services.kmscon.extraConfig = lib.concatLines (
optionals cfg.useXkbConfig (
lib.mapAttrsToList (n: v: "xkb-${n}=${v}") (
lib.filterAttrs (
n: v:
builtins.elem n [
"layout"
"model"
"options"
"variant"
]
&& v != ""
) config.services.xserver.xkb
)
)
++ optionals cfg.hwRender [
"drm"
"hwaccel"
]
++ optional (cfg.fonts != null) "font-name=${lib.concatMapStringsSep ", " (f: f.name) cfg.fonts}"
++ optional (cfg.term != null) "term=${cfg.term}"
);
hardware.graphics.enable = mkIf cfg.hwRender true;
fonts = mkIf (cfg.fonts != null) {
fontconfig.enable = true;
packages = map (f: f.package) cfg.fonts;
security.pam.services.kmscon = lib.mkIf cfg.config.libseat {
useDefaultRules = false;
rules = {
auth = utils.pam.autoOrderRules [
{
name = "permit";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_permit.so";
}
];
account = utils.pam.autoOrderRules [
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
}
];
session = utils.pam.autoOrderRules [
{
name = "env";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_env.so";
settings = {
conffile = "/etc/pam/environment";
readenv = 0;
};
}
{
name = "unix";
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_unix.so";
}
{
name = "systemd";
control = "optional";
modulePath = "${config.systemd.package}/lib/security/pam_systemd.so";
settings = {
type = "tty";
class = "greeter";
};
}
];
};
};
};

View file

@ -56,6 +56,8 @@ in
default = { };
description = ''
Extra environment variables to pass to DocuSeal services.
Refer to <https://www.docuseal.com/docs/configuring-docuseal-via-environment-variables>.
'';
};

View file

@ -380,8 +380,6 @@ in
MACHINE_LEARNING_WORKERS = "1";
MACHINE_LEARNING_WORKER_TIMEOUT = "120";
MACHINE_LEARNING_CACHE_FOLDER = "/var/cache/immich";
# TODO: drop when insightface no longer unconditionally imports matplotlib
MPLCONFIGDIR = "/var/cache/immich";
XDG_CACHE_HOME = "/var/cache/immich";
IMMICH_HOST = "localhost";
IMMICH_PORT = "3003";

View file

@ -21,20 +21,9 @@ let
# Varnish has very strong opinions and very complicated code around handling
# the stateDir. After a lot of back and forth, we decided that we a)
# do not want a configurable option here, as most of the handling depends
# on the version and the compile time options. Putting everything into
# /var/run (RAM backed) is absolutely recommended by Varnish anyways.
# We do need to pay attention to the version-dependend variations, though!
stateDir =
if
(lib.versionOlder cfg.package.version "7")
# Remove after Varnish 6.0 is gone. In 6.0 varnishadm always appends the
# hostname (by default) and can't be nudged to not use any name. This has
# long changed by 7.5 and can be used without the host name.
then
"/var/run/varnish/${config.networking.hostName}"
# Newer varnish uses this:
else
"/var/run/varnishd";
# on the compile time options. Putting everything into /var/run (RAM backed)
# is absolutely recommended by Varnish anyways.
stateDir = "/var/run/varnishd";
# from --help:
# -a [<name>=]address[:port][,proto] # HTTP listen address and port

View file

@ -455,7 +455,6 @@ in
dependency-track = runTest ./dependency-track.nix;
devpi-server = runTest ./devpi-server.nix;
dex-oidc = runTest ./dex-oidc.nix;
dhparams = runTest ./dhparams.nix;
dictd = runTest ./dictd.nix;
disable-installer-tools = runTest ./disable-installer-tools.nix;
discourse = runTest {
@ -495,6 +494,7 @@ in
drupal = runTest ./drupal.nix;
dublin-traceroute = runTest ./dublin-traceroute.nix;
dwl = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./dwl.nix;
e57inspector = runTest ./e57inspector.nix;
early-mount-options = runTest ./early-mount-options.nix;
earlyoom = runTestOn [ "x86_64-linux" ] ./earlyoom.nix;
easytier = runTest ./easytier.nix;
@ -1759,10 +1759,6 @@ in
utils = import ./utils { inherit runTest; };
uwsgi = runTest ./uwsgi.nix;
v2ray = runTest ./v2ray.nix;
varnish60 = runTest {
imports = [ ./varnish.nix ];
_module.args.package = pkgs.varnish60;
};
varnish80 = runTest {
imports = [ ./varnish.nix ];
_module.args.package = pkgs.varnish80;

View file

@ -1,143 +0,0 @@
{
name = "dhparams";
nodes.machine =
{ pkgs, ... }:
{
security.dhparams.enable = true;
environment.systemPackages = [ pkgs.openssl ];
specialisation = {
gen1.configuration =
{ config, ... }:
{
security.dhparams.params = {
# Use low values here because we don't want the test to run for ages.
foo.bits = 1024;
# Also use the old format to make sure the type is coerced in the right
# way.
bar = 1025;
};
systemd.services.foo = {
description = "Check systemd Ordering";
wantedBy = [ "multi-user.target" ];
before = [ "shutdown.target" ];
conflicts = [ "shutdown.target" ];
unitConfig = {
# This is to make sure that the dhparams generation of foo occurs
# before this service so we need this service to start as early as
# possible to provoke a race condition.
DefaultDependencies = false;
# We check later whether the service has been started or not.
ConditionPathExists = config.security.dhparams.params.foo.path;
};
serviceConfig.Type = "oneshot";
serviceConfig.RemainAfterExit = true;
# The reason we only provide an ExecStop here is to ensure that we don't
# accidentally trigger an error because a file system is not yet ready
# during very early startup (we might not even have the Nix store
# available, for example if future changes in NixOS use systemd mount
# units to do early file system initialisation).
serviceConfig.ExecStop = "${pkgs.coreutils}/bin/true";
};
};
gen2.configuration = {
security.dhparams.params.foo.bits = 1026;
};
gen3.configuration = { };
gen4.configuration = {
security.dhparams.stateful = false;
security.dhparams.params.foo2.bits = 1027;
security.dhparams.params.bar2.bits = 1028;
};
gen5.configuration = {
security.dhparams.defaultBitSize = 1029;
security.dhparams.params.foo3 = { };
security.dhparams.params.bar3 = { };
};
};
};
testScript =
{ nodes, ... }:
let
getParamPath =
gen: name:
let
node = "gen${toString gen}";
in
nodes.machine.config.specialisation.${node}.configuration.security.dhparams.params.${name}.path;
switchToGeneration =
gen:
let
switchCmd = "${nodes.machine.config.system.build.toplevel}/specialisation/gen${toString gen}/bin/switch-to-configuration test";
in
''
with machine.nested("switch to generation ${toString gen}"):
machine.succeed("${switchCmd}")
'';
in
''
import re
def assert_param_bits(path, bits):
with machine.nested(f"check bit size of {path}"):
output = machine.succeed(f"openssl dhparam -in {path} -text")
pattern = re.compile(r"^\s*DH Parameters:\s+\((\d+)\s+bit\)\s*$", re.M)
match = pattern.match(output)
if match is None:
raise Exception("bla")
if match[1] != str(bits):
raise Exception(f"bit size should be {bits} but it is {match[1]} instead.")
machine.wait_for_unit("multi-user.target")
${switchToGeneration 1}
with subtest("verify startup order"):
machine.succeed("systemctl is-active foo.service")
with subtest("check bit sizes of dhparam files"):
assert_param_bits("${getParamPath 1 "foo"}", 1024)
assert_param_bits("${getParamPath 1 "bar"}", 1025)
${switchToGeneration 2}
with subtest("check whether bit size has changed"):
assert_param_bits("${getParamPath 2 "foo"}", 1026)
with subtest("ensure that dhparams file for 'bar' was deleted"):
machine.fail("test -e ${getParamPath 1 "bar"}")
${switchToGeneration 3}
with subtest("ensure that 'security.dhparams.path' has been deleted"):
machine.fail("test -e ${nodes.machine.config.specialisation.gen3.configuration.security.dhparams.path}")
${switchToGeneration 4}
with subtest("check bit sizes dhparam files"):
assert_param_bits(
"${getParamPath 4 "foo2"}", 1027
)
assert_param_bits(
"${getParamPath 4 "bar2"}", 1028
)
with subtest("check whether dhparam files are in the Nix store"):
machine.succeed(
"expr match ${getParamPath 4 "foo2"} ${builtins.storeDir}",
"expr match ${getParamPath 4 "bar2"} ${builtins.storeDir}",
)
${switchToGeneration 5}
with subtest("check whether defaultBitSize works as intended"):
assert_param_bits("${getParamPath 5 "foo3"}", 1029)
assert_param_bits("${getParamPath 5 "bar3"}", 1029)
'';
}

View file

@ -0,0 +1,38 @@
{ pkgs, ... }:
{
name = "e57inspector";
meta.maintainers = with pkgs.lib.maintainers; [
nh2
chpatrick
];
nodes.machine =
{ ... }:
{
imports = [
./common/x11.nix
];
services.xserver.enable = true;
environment.systemPackages = [
pkgs.e57inspector
pkgs.xdotool
];
};
testScript =
let
testFile = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/asmaloney/libE57Format-test-data/bbcacec05d60f923869545c5eab33d94c390d50e/self/ColouredCubeFloat.e57";
hash = "sha256-bb95crNYvX3Qhkx4k6Sqe2GjOf1u4nxxswMfdjyXfTM=";
};
in
''
start_all()
machine.wait_for_x()
machine.execute("e57inspector ${testFile} >&2 &")
machine.wait_until_succeeds("xdotool search --pid $(pidof .e57inspector-wrapped)")
machine.screenshot("screen")
'';
}

View file

@ -1118,6 +1118,7 @@ let
enableOCR = fallback;
extraInstallerConfig = {
boot.supportedFilesystems = [ "zfs" ];
networking.hostId = "00000000";
environment.systemPackages = with pkgs; [ clevis ];
};
createPartitions = ''

View file

@ -14,17 +14,21 @@
services.getty.autologinUser = "alice";
hardware.graphics.enable = true;
fonts = {
fontconfig.enable = true;
packages = [ pkgs.nerd-fonts.jetbrains-mono ];
};
services.kmscon = {
enable = true;
hwRender = true;
fonts = [
{
name = "JetBrainsMono Nerd Font";
package = pkgs.nerd-fonts.jetbrains-mono;
}
];
term = "xterm-256color";
package = pkgs.kmscon;
config = {
font-name = "JetBrainsMono Nerd Font";
hwaccel = true;
term = "kmscon";
};
};
};
@ -39,7 +43,7 @@
machine.send_chars("echo $TERM | tee /tmp/term.txt\n")
machine.wait_until_succeeds("test -s /tmp/term.txt")
term = machine.succeed("cat /tmp/term.txt").strip()
assert term == "xterm-256color", f"Unexpected TERM value: {term!r}"
assert term == "kmscon", f"Unexpected TERM value: {term!r}"
machine.screenshot("tty.png")
'';

View file

@ -66,8 +66,10 @@ in
checkConf = {
su = "root utmp";
createolddir = "0750 root utmp";
"createolddir " = "0750";
create = "root utmp";
"create " = "0750 root utmp";
"create " = "0750";
};
# multiple paths should be aggregated
multipath = {

View file

@ -34,8 +34,8 @@
{ lib, ... }:
{
name = "sddm-autologin";
meta = with lib.maintainers; {
maintainers = [ ttuegel ];
meta = {
maintainers = [ ];
};
nodes.machine = {

View file

@ -3,12 +3,7 @@ let
testPath = pkgs.hello;
# Same stateDir logic as in nixos/modules/services/web-servers/varnish/default.nix
stateDir =
hostName:
if (pkgs.lib.versionOlder package.version "7") then
"/var/run/varnish/${hostName}"
else
"/var/run/varnishd";
stateDir = "/var/run/varnishd";
in
{
name = "varnish";
@ -46,14 +41,11 @@ in
proto = "PROXY";
}
{
address = "${stateDir config.networking.hostName}/client.http.sock";
address = "/var/run/varnishd/client.http.sock";
user = "varnish";
group = "varnish";
mode = "660";
}
]
++ lib.optionals (lib.versionAtLeast package.version "7.3") [
# Support added in 7.3.0
{ address = "@asdf"; }
];
config = ''
@ -78,17 +70,13 @@ in
assertion = lib.hasInfix pattern cmdline;
message = "Address argument `${pattern}` missing in commandline `${cmdline}`.";
})
(
[
" -a 0.0.0.0:80,HTTP "
" -a proxyport=0.0.0.0:8080,PROXY "
" -a ${stateDir config.networking.hostName}/client.http.sock,HTTP,user=varnish,group=varnish,mode=660 "
" -a 0.0.0.0:81 "
]
++ lib.optionals (lib.versionAtLeast package.version "7.3") [
" -a @asdf,HTTP "
]
);
[
" -a 0.0.0.0:80,HTTP "
" -a proxyport=0.0.0.0:8080,PROXY "
" -a /var/run/varnishd/client.http.sock,HTTP,user=varnish,group=varnish,mode=660 "
" -a 0.0.0.0:81 "
" -a @asdf,HTTP "
];
};
client =

View file

@ -112,7 +112,6 @@ stdenv.mkDerivation (finalAttrs: {
description = "QML based X11 display manager";
homepage = "https://github.com/sddm/sddm";
maintainers = with lib.maintainers; [
ttuegel
k900
];
platforms = lib.platforms.linux;

View file

@ -13,18 +13,18 @@
writableTmpDirAsHomeHook,
}:
let
version = "0.8.0";
version = "0.8.4";
src = fetchFromGitHub {
owner = "dmtrKovalenko";
repo = "fff.nvim";
tag = "v${version}";
hash = "sha256-JbV2dTQhTyZgDZYvFoR1mz9CeM2IPv59Qmp2iiJC8a0=";
hash = "sha256-w88NovzYVTiUVZmgvvmRvRq1didlbxMJYtKj1A3VB/Y=";
};
fff-nvim-lib = rustPlatform.buildRustPackage {
pname = "fff-nvim-lib";
inherit version src;
cargoHash = "sha256-L/Ens/wzw/jKaa1T3A2pLIBKs09saPEk/0bRhgRezPQ=";
cargoHash = "sha256-2LGrohseOYdroUFY3cHy57HzgfS34CBuIbN1AFuYTUg=";
cargoBuildFlags = [
"-p"
@ -65,9 +65,12 @@ let
openssl
];
# This test requires curl and GitHub access
checkFlags = [
# This test requires curl and GitHub access
"--skip=update_check::tests::test_update_check_end_to_end"
# This test depends on catching a race window and is not deterministic
"--skip=drop_during_post_scan_does_not_crash"
];
env = {

View file

@ -6,13 +6,13 @@
}:
mkLibretroCore {
core = "opera";
version = "0-unstable-2026-04-10";
version = "0-unstable-2026-05-30";
src = fetchFromGitHub {
owner = "libretro";
repo = "opera-libretro";
rev = "4c4ca6bf741c40715723a8b8dae4b6187ff6ac30";
hash = "sha256-AcuqEuK3bz+WJ0r723+w6Y9WGuNs04zUOWlQ3aMXk/U=";
rev = "d0a3b910f8bef6b8d48fb5eec4ad72ea5f022394";
hash = "sha256-OH9gkbMC4PJnpboiYrKV+XkQqq5ldq5tneyVJHfDzsM=";
};
makefile = "Makefile";

View file

@ -28,12 +28,16 @@
librsvg,
gtk-mac-integration,
webp-pixbuf-loader,
versionCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "zathura";
version = "2026.05.20";
strictDeps = true;
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "pwmt";
repo = "zathura";
@ -102,6 +106,9 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = !stdenv.hostPlatform.isDarwin;
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru.updateScript = gitUpdater { };
meta = {
@ -110,5 +117,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.zlib;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ mithicspirit ];
mainProgram = "zathura";
};
})

View file

@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.11%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "234a24f45c7d767cd850a7265257d4d2d7c2cc5ac3ca8e67a94f359766ec547d"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.12%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "6a29f795a718e0b7a11b81b4f8a342764a90b78a83a57ad6e1b90d81c3718290"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.11%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "71cd029a49fae4893970132b0136b217b133de4dbb4ba0107f3b82ec4867734d"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.12%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1ec9755fbe791b710b176c12f66160e19b31605345c92f3b5916176976f813a8"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.11%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "41ceeb0249f8d53cbf3ead7ff70374c292c121f991af0e3a491ff66d48a99d41"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.12%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "893e395bbee35745e32aaa4e421aaf0c88e685739edc5658f9bf573a95a86782"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.11%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "4d826c3f62a3d58f6da34e4369c4a64f0997b2c963423e1890e5bda70e55dc6b"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.12%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "1613727aaa8ae55a1a597a2914faf9ab909a710e175a26b4652754b25ab01337"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.11%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "5c5f6d62105b620cda23099b63146d3cb8698e437a2c0c8e770a17578b174eeb"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.12%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "5fa48235a216c9dfcaefcd344597d221adf16aa583a0ca9d9b4094e4c9c1ef5f"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.11%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "e4ca9bf05aab34f10fa792f894ab214aeaac30be31b6d91918b036216d753efa"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.33.12%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "ec56b324e405a3990b9ee16b5aa39bfb636ce88a127869685c042944caf38835"
}
}

View file

@ -1,8 +1,8 @@
{
k3sVersion = "1.33.11+k3s1";
k3sCommit = "c532325bce6b1fa03be983cca3a8b4b84eea72a6";
k3sRepoSha256 = "1gzpazgi0bhqp4bqlp1s7gxqlh2wq2s8n31khy83kdhz22i6dipb";
k3sVendorHash = "sha256-rFH0Z66J6NHP+iscHDsr5rDkVLLkXeVuXTlT9hEhubw=";
k3sVersion = "1.33.12+k3s1";
k3sCommit = "35e4874312bcfd643320c7f7cb225f7063cb9e4e";
k3sRepoSha256 = "1md7w6n9iz3nk63rnf4ahs66d2vg3gfc5frksar2iw3kcv99bhmc";
k3sVendorHash = "sha256-O0HIcCzrKGR8NkMoDfaD1wPbAttHt0kEpVjr/kOLMu8=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@ -17,5 +17,5 @@
flannelPluginVersion = "v1.9.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s2";
helmJobVersion = "v0.9.17-build20260422";
helmJobVersion = "v0.10.0-build20260513";
}

View file

@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.7%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "4c81d96db507206816c341e79c113692d9f6c1515d0f2cd82f3c95376f09e7f3"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.8%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "2a5f910bb31b8674dff61f55a242b8dacb553894a50d66ea3c2dbf4ec8931345"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.7%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1d98b5f32c85ae41371851e6c14b81bdb8960177b28ccd1deda55c1a05586704"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.8%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "c1a261f664a58664aab975ba5c861d872c825d4f8ccc391c649283bf2c1663cf"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.7%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "da9fb4db5e14d8ebaf173718f1df8ed68c80f56ea725e5c7b19c0c2b216f538a"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.8%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "a14b0421af4e4afe70010886cf66eb99b2cb48e1f810269bae47dad5c8bbc2c7"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.7%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "9880d9f56c5ec9b61714aa27caab365b237f51ec272e27cfc3bfead5ae60eeee"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.8%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "b6dba85a8470f95ab2a57658bb5ac2adfcf3e3c0634501e7b87d6904f32308d6"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.7%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "7702e62ebf167bdc9d8f4b3eda18544339c839f456746389d8fceea8be379d3e"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.8%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "dbb6f771024fbf07a85d57fb77d43a59a4cd712684e819dd31f9633088c3f99e"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.7%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "4c9514a2874c592813285fac36ff6a9f7e65febc426af73a7ac3ececa1804d6d"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.34.8%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "984dc4a2050e1bde1b57ac8a07ce6639a56151a3b57cee0616220bc680c65041"
}
}

View file

@ -1,8 +1,8 @@
{
k3sVersion = "1.34.7+k3s1";
k3sCommit = "757f14939dd335fb5d7a839a9980382da9cdedf7";
k3sRepoSha256 = "0f4mp23hnn5w5km0ymj66vpjjdh6m0xkrs87lfpm0gf2j9ba1vn5";
k3sVendorHash = "sha256-MrWZp43SVKWboUs3RasZXBmZD3dDYWWZewKbXkJvsiA=";
k3sVersion = "1.34.8+k3s1";
k3sCommit = "fb21251ee14ffbec9a2ba5d8ff25a7aa1221fbe3";
k3sRepoSha256 = "18f2mhhn7nz8lri1qbjja5nfjncsadra9wrqxxgprfg5lx7fi3a2";
k3sVendorHash = "sha256-jikPQgyQ4ApWPF+iHYjL7H6ccWcC1x/JEABluJyzmfs=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@ -17,5 +17,5 @@
flannelPluginVersion = "v1.9.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s3";
helmJobVersion = "v0.9.17-build20260422";
helmJobVersion = "v0.10.0-build20260513";
}

View file

@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.4%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "cb7609c41885b65452fd8e4b5ad4621e39ef31a1894c9b416e2ca369aea673bd"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.5%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "b25863ba596e81ee773b462edc1b7ee26e80ff8e675c983115464372713237ac"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.4%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "2740585f773e1461b2a5b9976a1291a7a554b85f4538228e34cc67b03f690ca5"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.5%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "c1a261f664a58664aab975ba5c861d872c825d4f8ccc391c649283bf2c1663cf"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.4%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "ef1366c55b9ee109a8452d9fdeb3d5cfc00927e0f24f227ff57ec0e54b34f7ae"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.5%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "5b9fc436d67f0ca941084c512715f2ea21e6c66732144145788f1403ffd6c082"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.4%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "b09ebf9407e9c2901f13d4921304d83abf9bbd4e1222fb5a2a6d91ac9622a2e3"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.5%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "1613727aaa8ae55a1a597a2914faf9ab909a710e175a26b4652754b25ab01337"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.4%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "6bba0489d0b1ac542a9fcca64a6cf367ae6423f6e17478cca40f0ea4cfd01d31"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.5%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "bc085e02004382b15413e98457079e2a0a3d8f18b3c9a4a58917f1bc6064ea29"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.4%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "3ddac18185a554b42d53e79d80954ca7841ce48f511afe75fdf8485e0d88efe7"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.35.5%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "0bf33db3b0595166f1c36a6780ebd789343f50f23a4d61157519ada4d002919d"
}
}

View file

@ -1,8 +1,8 @@
{
k3sVersion = "1.35.4+k3s1";
k3sCommit = "5dc8fe6894219e2156c2ba82b1bee84cad674694";
k3sRepoSha256 = "0ilsxhfnn30h0lfajn6awz396g7ygm9n2syzsf09k0g1mv741gib";
k3sVendorHash = "sha256-PzRBM5cSCF3cGIEdvUrQ4x4PyV7rBpMZVP+tYJDH6oo=";
k3sVersion = "1.35.5+k3s1";
k3sCommit = "6a4781ad53ee5cad273bedcd9462ae36ac97d798";
k3sRepoSha256 = "1m6sy7p5v3kkg66mzsna9c4d1f7ly843ii42zmb2a26vxa0dicx3";
k3sVendorHash = "sha256-czE0ZJ9yWc3VSuPqjy4V+ViBGPriluMPmUK5aTk4DmY=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@ -17,5 +17,5 @@
flannelPluginVersion = "v1.9.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s3";
helmJobVersion = "v0.9.17-build20260422";
helmJobVersion = "v0.10.0-build20260513";
}

View file

@ -1,26 +1,26 @@
{
"airgap-images-amd64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.0%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "1b6dbb5cebc30c3218a5910a6c0503d2cd9a92a8c494d323c12c181d8d90e525"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.1%2Bk3s1/k3s-airgap-images-amd64.tar.gz",
"sha256": "8aad05e71764f08eae8d4db9e5d42d892dce39c9eb79206514c4ee03f4293db1"
},
"airgap-images-amd64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.0%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "1d98b5f32c85ae41371851e6c14b81bdb8960177b28ccd1deda55c1a05586704"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst",
"sha256": "72cf836bfcf8f9af2de88102b69129d297b77a60243895a7ac4bc47d77a65079"
},
"airgap-images-arm-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.0%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "d7ad1e1cb378e4638a92cee9358390b047adfc4c2d5f8fcb1247903c900255e2"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.1%2Bk3s1/k3s-airgap-images-arm.tar.gz",
"sha256": "639f155016f956764b212a1671a6e090100016505b34d3f45e76513fdd93cb5f"
},
"airgap-images-arm-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.0%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "9880d9f56c5ec9b61714aa27caab365b237f51ec272e27cfc3bfead5ae60eeee"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.1%2Bk3s1/k3s-airgap-images-arm.tar.zst",
"sha256": "4b16cc7a17bac0957db9df4ad937ce52792a696b0eb60944b52eb65447a0d1fa"
},
"airgap-images-arm64-tar-gz": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.0%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "2807168a82c3f9657540ac272afa186e6cf360cb068c35e5cad2e9447a8947a1"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.1%2Bk3s1/k3s-airgap-images-arm64.tar.gz",
"sha256": "bc84f7965ef5f3a7e45e9f79f1090ef066fdd9bdb96d476c5d37cb13d0c2935b"
},
"airgap-images-arm64-tar-zst": {
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.0%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "65959cea20b4448096f6cd36e84b567dace2bf14f54c577de90c0b93ca559d2a"
"url": "https://github.com/k3s-io/k3s/releases/download/v1.36.1%2Bk3s1/k3s-airgap-images-arm64.tar.zst",
"sha256": "174e1e7cf8493ea8fb2550231de3e93fc2f3cec27f977236fd7ab90a18680eed"
}
}

View file

@ -1,8 +1,8 @@
{
k3sVersion = "1.36.0+k3s1";
k3sCommit = "09347304fd829ba8e9378bb16fe20bacba939e27";
k3sRepoSha256 = "1qdwqbfngxxzfjcq263lfhrp8khv6mi2a9yw06v0jswh41r42m3c";
k3sVendorHash = "sha256-Qli3CgKlUBhc8fwIJVB/89QH/jYXHn2K7y491BEj0Sk=";
k3sVersion = "1.36.1+k3s1";
k3sCommit = "a9663261a7ff40522542485a6b2f81916b6d72f9";
k3sRepoSha256 = "0788034bw5pl8ikfb16fvdhl8a3dhhfasrbafir6s9fb8q9h3z4z";
k3sVendorHash = "sha256-jX/qoRhVLZy/25fdhp5NOiRSGEatV/acBbSpjhutAzU=";
chartVersions = import ./chart-versions.nix;
imagesVersions = builtins.fromJSON (builtins.readFile ./images-versions.json);
k3sRootVersion = "0.15.0";
@ -17,5 +17,5 @@
flannelPluginVersion = "v1.9.0-flannel1";
kubeRouterVersion = "v2.6.3-k3s1";
criDockerdVersion = "v0.3.19-k3s5";
helmJobVersion = "v0.9.17-build20260422";
helmJobVersion = "v0.10.0-build20260513";
}

View file

@ -292,11 +292,11 @@
"vendorHash": "sha256-tgo9FxqMZOZw4ZKULOz6CbZ8oJfEFfjdFffiWjjkc0Y="
},
"datadrivers_nexus": {
"hash": "sha256-yfxlDln4brI8QTFnhVsNOO3vRiqft3YWytvy2GMNBdY=",
"hash": "sha256-gwExaFhOoJFrAhH91oZEp1AFvI7kgWekp655zd4tyd8=",
"homepage": "https://registry.terraform.io/providers/datadrivers/nexus",
"owner": "datadrivers",
"repo": "terraform-provider-nexus",
"rev": "v2.7.1",
"rev": "v2.8.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-2nNvLu2jicDUxiIi53qxtc6rvZQ+IEtW+LbRPYChfQE="
},
@ -905,13 +905,13 @@
"vendorHash": "sha256-t4dbDJNjEQ6/u+/6zqk2Sdd3LVn/L2BCJujpiLdGc58="
},
"metio_migadu": {
"hash": "sha256-WpJj2k+ZUjImbvLwXExaUO0Q1wn/QioTERzf5eQZqrU=",
"hash": "sha256-q+7tTBMxqGlN6GyosnL70/qGtnwueWr1n+WI5BhnV4E=",
"homepage": "https://registry.terraform.io/providers/metio/migadu",
"owner": "metio",
"repo": "terraform-provider-migadu",
"rev": "2026.5.14",
"rev": "2026.5.28",
"spdx": "0BSD",
"vendorHash": "sha256-wpQ+2hV6lEKAJByJCh6SZSDF9CQ46IjiC7JRz0+NvwI="
"vendorHash": "sha256-ap1+0luy/9OQYNkYh1Aj+2LPMt7JdhKNn0ENrQMz3Uk="
},
"mongey_kafka": {
"hash": "sha256-rTa6c7jAMH027V7h/yUGVGz6TS0PDdObilxU0Vpr6FI=",
@ -1013,13 +1013,13 @@
"vendorHash": "sha256-/4mktOn7qjWIkpyqeEW4vzY0w0pG+0qx7KRYBkE1IkQ="
},
"okta_okta": {
"hash": "sha256-Skp7GSfQSTBLOFoGlU3/TmzMqyZ8j7qYzlyuBYzBiB4=",
"hash": "sha256-3zuD+R1fUAFJ3pvzzHmN92RGGiWLYpnGOJXSsv89Les=",
"homepage": "https://registry.terraform.io/providers/okta/okta",
"owner": "okta",
"repo": "terraform-provider-okta",
"rev": "v6.10.0",
"rev": "v6.11.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-0NaqVCibwiK7WY6hIFGd2kB/okyh6ZsZ+BAe5mGP38A="
"vendorHash": "sha256-/IbzilmyVTZh7qWogtXd+/Y7UJdjsQaf7Yjhi1fU1Vc="
},
"oktadeveloper_oktaasa": {
"hash": "sha256-2LhxgowqKvDDDOwdznusL52p2DKP+UiXALHcs9ZQd0U=",
@ -1139,13 +1139,13 @@
"vendorHash": "sha256-WpI4OZ7BUVgHwQY+7ct+K6CnwXFFuiRbI+iTFSJ8a5A="
},
"rootlyhq_rootly": {
"hash": "sha256-LHj+dwiGGycdKff1M8cGxJIG56yBj2EgcUIW4bLUuFc=",
"hash": "sha256-lGd864ugC5hfgN86ByEIJhjkMJVCPDNCKzoXx6pKjS0=",
"homepage": "https://registry.terraform.io/providers/rootlyhq/rootly",
"owner": "rootlyhq",
"repo": "terraform-provider-rootly",
"rev": "v5.15.1",
"rev": "v5.16.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-CMJKYzvOrWhsidv83KbYtKcKE6D170MR86JnzWpR0/c="
"vendorHash": "sha256-QVZBQ7Ir8iEUaJo0yXFNp8rInIcbp9qw70UDJ3NAgRM="
},
"rundeck_rundeck": {
"hash": "sha256-g8unbz8+UGLiAOJju6E2bLkygvZgHkv173PdMDefmrc=",
@ -1445,13 +1445,13 @@
"vendorHash": "sha256-chDZVBd7tb1VsfTXcWz7j29LzHpUnJpXKRFAyqxnR8s="
},
"vinyldns_vinyldns": {
"hash": "sha256-ow+o9fRw/t2i4N65zuVFbfPb68ZUcJfNB5ARYqRTsIs=",
"hash": "sha256-/M+HFMDeKpIzzdn04TkMxriVeE6vvORRiqonxF38B9Q=",
"homepage": "https://registry.terraform.io/providers/vinyldns/vinyldns",
"owner": "vinyldns",
"repo": "terraform-provider-vinyldns",
"rev": "v0.10.3",
"rev": "v0.11.0",
"spdx": "Apache-2.0",
"vendorHash": "sha256-B4W8rzWHucYqA0HXrMrtKQ91ZfFAgcxHqFMvMnVuGfk="
"vendorHash": "sha256-G3OCHFeCUCN5YUusxGNx+xnbpYoA2F+uGdpEn70ExN8="
},
"vmware_avi": {
"hash": "sha256-OPmsbEI9NgzolQSLH/OKJq8a7gvYfWNk1VVz+J9F0JA=",

View file

@ -114,7 +114,7 @@ buildFHSEnv {
description = "Online stored folders (daemon version)";
homepage = "https://www.dropbox.com/";
license = lib.licenses.unfree;
maintainers = with lib.maintainers; [ ttuegel ];
maintainers = [ ];
platforms = [ "x86_64-linux" ];
mainProgram = "dropbox";
};

View file

@ -66,6 +66,7 @@
libjpeg,
useUnfreeCodecs ? false,
buildPackages,
versionCheckHook,
}:
assert xineramaSupport -> x11Support;
@ -117,7 +118,7 @@ let
in
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "mplayer";
version = "1.5-unstable-2024-12-21";
@ -128,6 +129,7 @@ stdenv.mkDerivation {
};
prePatch = ''
echo "${finalAttrs.version}" > VERSION
sed -i /^_install_strip/d configure
rm -rf ffmpeg
@ -137,6 +139,9 @@ stdenv.mkDerivation {
nativeBuildInputs = [
pkg-config
yasm
]
++ lib.optionals cacaSupport [
libcaca # caca-config
];
buildInputs = [
freetype
@ -176,46 +181,46 @@ stdenv.mkDerivation {
++ lib.optional bs2bSupport libbs2b
++ lib.optional v4lSupport libv4l;
strictDeps = true;
configurePlatforms = [ ];
configureFlags = [
"--enable-freetype"
(if fontconfigSupport then "--enable-fontconfig" else "--disable-fontconfig")
(if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl")
(if xineramaSupport then "--enable-xinerama" else "--disable-xinerama")
(if xvSupport then "--enable-xv" else "--disable-xv")
(if alsaSupport then "--enable-alsa" else "--disable-alsa")
(if screenSaverSupport then "--enable-xss" else "--disable-xss")
(if vdpauSupport then "--enable-vdpau" else "--disable-vdpau")
(if cddaSupport then "--enable-cdparanoia" else "--disable-cdparanoia")
(if dvdnavSupport then "--enable-dvdnav" else "--disable-dvdnav")
(if bluraySupport then "--enable-bluray" else "--disable-bluray")
(if amrSupport then "--enable-libopencore_amrnb" else "--disable-libopencore_amrnb")
(if cacaSupport then "--enable-caca" else "--disable-caca")
(
if lameSupport then
"--enable-mp3lame --disable-mp3lame-lavc"
else
"--disable-mp3lame --enable-mp3lame-lavc"
)
(if speexSupport then "--enable-speex" else "--disable-speex")
(if theoraSupport then "--enable-theora" else "--disable-theora")
(if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc")
(if jackaudioSupport then "" else "--disable-jack")
(if pulseSupport then "--enable-pulse" else "--disable-pulse")
(
if v4lSupport then
"--enable-v4l2 --enable-tv-v4l2 --enable-radio --enable-radio-v4l2 --enable-radio-capture"
else
"--disable-v4l2 --disable-tv-v4l2 --disable-radio --disable-radio-v4l2 --disable-radio-capture"
)
"--disable-xanim"
"--disable-xvid --disable-xvid-lavc"
"--disable-ossaudio"
"--disable-ffmpeg_a"
(lib.enableFeature true "freetype")
(lib.enableFeature fontconfigSupport "fontconfig")
(lib.enableFeature x11Support "x11")
(lib.enableFeature x11Support "gl")
(lib.enableFeature xineramaSupport "xinerama")
(lib.enableFeature xvSupport "xv")
(lib.enableFeature alsaSupport "alsa")
(lib.enableFeature screenSaverSupport "xss")
(lib.enableFeature vdpauSupport "vdpau")
(lib.enableFeature cddaSupport "cdparanoia")
(lib.enableFeature dvdnavSupport "dvdnav")
(lib.enableFeature bluraySupport "bluray")
(lib.enableFeature amrSupport "libopencore_amrnb")
(lib.enableFeature cacaSupport "caca")
(lib.enableFeature lameSupport "mp3lame")
(lib.enableFeature (!lameSupport) "mp3lame-lavc")
(lib.enableFeature speexSupport "speex")
(lib.enableFeature theoraSupport "theora")
(lib.enableFeature x264Support "x264")
(lib.enableFeature (!x264Support) "x264-lavc")
(lib.enableFeature pulseSupport "pulse")
(lib.enableFeature v4lSupport "v4l2")
(lib.enableFeature v4lSupport "tv-v4l2")
(lib.enableFeature v4lSupport "radio")
(lib.enableFeature v4lSupport "radio-v4l2")
(lib.enableFeature v4lSupport "radio-capture")
(lib.enableFeature false "xanim")
(lib.enableFeature false "xvid")
(lib.enableFeature false "xvid-lavc")
(lib.enableFeature false "ossaudio")
(lib.enableFeature false "ffmpeg_a")
"--yasm=${buildPackages.yasm}/bin/yasm"
# Note, the `target` vs `host` confusion is intentional.
"--target=${stdenv.hostPlatform.config}"
]
++ lib.optional (!jackaudioSupport) "--disable-jack"
++ lib.optional (useUnfreeCodecs && codecs != null && !crossBuild) "--codecsdir=${codecs}"
++ lib.optional (stdenv.hostPlatform.isx86 && !crossBuild) "--enable-runtime-cpudetection"
++ lib.optional fribidiSupport "--enable-fribidi"
@ -280,6 +285,12 @@ stdenv.mkDerivation {
fi
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--help";
doInstallCheck = true;
__structuredAttrs = true;
meta = {
description = "Movie player that supports many video formats";
homepage = "http://mplayerhq.hu";
@ -294,4 +305,4 @@ stdenv.mkDerivation {
"aarch64-linux"
];
};
}
})

View file

@ -6,16 +6,17 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "adguardian";
version = "1.6.0";
version = "1.7.0";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "Lissy93";
repo = "AdGuardian-Term";
tag = finalAttrs.version;
hash = "sha256-WxrSmCwLnXXs5g/hN3xWE66P5n0RD/L9MJpf5N2iNtY=";
hash = "sha256-GXGABTBX4Cot558ML0quD8GDU3RWj0BoZ8Ib/SbuWmg=";
};
cargoHash = "sha256-yPDysaslL/7N60eZ/hqZl5ZXIsof/pvlgHYfW1mIWtI=";
cargoHash = "sha256-JJDMrRJVs67EMcGTK75tdU+FhdkiF3RswrZ0fOWrG/U=";
meta = {
description = "Terminal-based, real-time traffic monitoring and statistics for your AdGuard Home instance";

View file

@ -1,75 +0,0 @@
From 5fbcd63a4fb8baca13184a2cc718ebf3ebbef245 Mon Sep 17 00:00:00 2001
From: Moraxyc <i@qaq.li>
Date: Sun, 28 Dec 2025 00:24:11 +0800
Subject: [PATCH] fix build with c23
---
emxdoc/input.c | 10 +++++-----
system/types.h | 5 +----
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/emxdoc/input.c b/emxdoc/input.c
index 50fd7a0..7d9ad4a 100644
--- a/emxdoc/input.c
+++ b/emxdoc/input.c
@@ -31,7 +31,7 @@ Boston, MA 02111-1307, USA. */
struct cond
{
int start_line;
- int true;
+ int is_true;
int else_seen;
};
@@ -225,7 +225,7 @@ redo:
if (cond_sp + 1 >= COND_STACK_SIZE)
fatal ("%s:%d: Conditional stack overflow", input_fname, line_no);
++cond_sp;
- cond_stack[cond_sp].true = c1;
+ cond_stack[cond_sp].is_true = c1;
cond_stack[cond_sp].start_line = line_no;
cond_stack[cond_sp].else_seen = FALSE;
goto redo;
@@ -240,7 +240,7 @@ redo:
input_fname, line_no, escape, escape,
cond_stack[cond_sp].start_line);
cond_stack[cond_sp].else_seen = TRUE;
- cond_stack[cond_sp].true = !cond_stack[cond_sp].true;
+ cond_stack[cond_sp].is_true = !cond_stack[cond_sp].is_true;
goto redo;
}
else if (strcmp (p, "endif") == 0)
@@ -254,12 +254,12 @@ redo:
else if (p[0] == 'h' && p[1] >= '1' && p[1] <= '0' + SECTION_LEVELS)
{
/* Support h1 inside if */
- if (cond_sp >= 0 && !cond_stack[cond_sp].true)
+ if (cond_sp >= 0 && !cond_stack[cond_sp].is_true)
++ref_no;
}
}
- if (cond_sp >= 0 && !cond_stack[cond_sp].true)
+ if (cond_sp >= 0 && !cond_stack[cond_sp].is_true)
goto redo;
p = input;
diff --git a/system/types.h b/system/types.h
index 48b8013..327833f 100644
--- a/system/types.h
+++ b/system/types.h
@@ -21,10 +21,7 @@
#define _TYPES_H
#include "config.h"
-
-
-/* Booleans (C++/C99) style. */
-typedef int bool;
+#include <stdbool.h>
#ifndef true
#define true 1
--
2.51.2

View file

@ -1,56 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
unstableGitUpdater,
autoreconfHook,
fuse,
git,
}:
stdenv.mkDerivation {
pname = "aefs";
version = "0-unstable-2015-05-06";
src = fetchFromGitHub {
owner = "edolstra";
repo = "aefs";
rev = "e7a9bf8cfa9166668fe1514cc1afd31fc4e10e9a";
hash = "sha256-a3YQWxJ7+bYhf1W1kdIykV8U1R4dcDZJ7K3NvNxbF0s=";
};
# fix build with c23
# ../system/types.h:27:13: error: 'bool' cannot be defined via 'typedef'
# input.c:228:31: error: expected identifier before 'true'
patches = [ ./fix-build-with-c23.patch ];
# autoconf's AC_CHECK_HEADERS and AC_CHECK_LIBS fail to detect libfuse on
# Darwin if FUSE_USE_VERSION isn't set at configure time.
#
# NOTE: Make sure the value of FUSE_USE_VERSION specified here matches the
# actual version used in the source code:
#
# $ tar xf "$(nix-build -A aefs.src)"
# $ grep -R FUSE_USE_VERSION
configureFlags = lib.optional stdenv.hostPlatform.isDarwin "CPPFLAGS=-DFUSE_USE_VERSION=26";
nativeBuildInputs = [
autoreconfHook
git
];
buildInputs = [ fuse ];
passthru.updateScript = unstableGitUpdater {
hardcodeZeroVersion = true;
};
meta = {
homepage = "https://github.com/edolstra/aefs";
description = "Cryptographic filesystem implemented in userspace using FUSE";
maintainers = [ ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
broken = stdenv.hostPlatform.isDarwin;
};
}

View file

@ -17,7 +17,12 @@ stdenv.mkDerivation rec {
owner = "RJVB";
repo = "afsctool";
tag = "v${version}";
hash = "sha256-cZ0P9cygj+5GgkDRpQk7P9z8zh087fpVfrYXMRRVUAI=";
fetchSubmodules = true;
gitConfigFile = builtins.toFile "gitconfig" ''
[url "https://github.com/"]
insteadOf = "git://github.com/"
'';
hash = "sha256-irWPQnnV5mHZS7pw9PAWp6MO/3MahKaOIZCr6awcwEg=";
};
cmakeFlags = [

View file

@ -7,16 +7,16 @@
buildNpmPackage rec {
pname = "all-the-package-names";
version = "2.0.2452";
version = "2.0.2460";
src = fetchFromGitHub {
owner = "nice-registry";
repo = "all-the-package-names";
tag = "v${version}";
hash = "sha256-LNBEp1jGUxJ2cuIeXIx7+FMPkeLZP2XcTOkP0I3o5zw=";
hash = "sha256-Sp2I3rukIzvXibd00TqlvuqlZnRGdQNsCiDSv+e38Xc=";
};
npmDepsHash = "sha256-ZOtL9GDQASZhNGQdhdJv+rGLscidzfCdmwVkDfyHmGo=";
npmDepsHash = "sha256-IHpFhf09+477yvfvoSpzs9WAY8djEXThrM3yUhhNrBQ=";
passthru.updateScript = nix-update-script { };

View file

@ -11,16 +11,16 @@
buildGoModule (finalAttrs: {
pname = "amazon-cloudwatch-agent";
version = "1.300066.0";
version = "1.300069.0";
src = fetchFromGitHub {
owner = "aws";
repo = "amazon-cloudwatch-agent";
tag = "v${finalAttrs.version}";
hash = "sha256-cN1wxJKijx5P3JvtH+WX+3SYfar7xmM6XK2JABg+3lo=";
hash = "sha256-A9UASdKERo/vg3K8EDu//r6SqQjskhmVKeBlbqqpdDM=";
};
vendorHash = "sha256-W+DEQAX6BP6xwucE0mciQ4wzsIlF1b7d2Y+dyN43Lnw=";
vendorHash = "sha256-Qlwy0wz79TgYlBcsdHLzZA3OWbSIg6reK6KGSKsMlzI=";
# See the list in https://github.com/aws/amazon-cloudwatch-agent/blob/v1.300049.1/Makefile#L68-L77.
subPackages = [

View file

@ -43,13 +43,13 @@ let
in
buildGoModule (finalAttrs: {
pname = "amazon-ssm-agent";
version = "3.3.3598.0";
version = "3.3.4515.0";
src = fetchFromGitHub {
owner = "aws";
repo = "amazon-ssm-agent";
tag = finalAttrs.version;
hash = "sha256-keagFjifd3Ok3mgheDAb9OSGHmd3HBOo5I0WaBHWJzE=";
hash = "sha256-FEYziTgYIzX8tm/zgVDi2Tvbxn+lBnXAAqqO+LhlQYM=";
};
vendorHash = null;

View file

@ -40,7 +40,7 @@ python3.pkgs.buildPythonApplication (finalAttrs: {
asl20
llvm-exception
];
maintainers = with lib.maintainers; [ RossSmyth ];
maintainers = [ ];
platforms = lib.intersectLists python3.meta.platforms clang-unwrapped.meta.platforms;
};
})

View file

@ -5,7 +5,7 @@
cmake,
doxygen,
fetchurl,
fuse,
fuse3,
libevent,
xz,
openssl,
@ -32,7 +32,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
bzip2
fuse
fuse3
libevent
xz
openssl

View file

@ -3,7 +3,7 @@
stdenv,
fetchFromSourcehut,
pkg-config,
fuse,
fuse3,
libarchive,
}:
@ -20,7 +20,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
fuse
fuse3
libarchive
];

View file

@ -93,7 +93,6 @@ stdenv.mkDerivation (finalAttrs: {
description = "Collection of Fortran77 subroutines to solve large scale eigenvalue problems";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
ttuegel
dotlambda
];
platforms = lib.platforms.unix;

View file

@ -77,7 +77,6 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [
thoughtpolice
ttuegel
bbarker
];
};

View file

@ -51,7 +51,6 @@ stdenv.mkDerivation rec {
mainProgram = "audacious";
maintainers = with lib.maintainers; [
ramkromberg
ttuegel
thiagokokada
];
platforms = lib.platforms.linux;

View file

@ -2,27 +2,27 @@
"depends": [
{
"method": "fetchzip",
"path": "/nix/store/w556rbsnv2fxb229av2iq180ri9x0d9j-source",
"rev": "77469f58916369bc3863194cabb05238577fb257",
"sha256": "18wjz5yqzr1dz6286p2w02fk2xjr54l477g90bz4pskjcqrqnjbv",
"url": "https://github.com/khchen/tinyre/archive/77469f58916369bc3863194cabb05238577fb257.tar.gz",
"ref": "1.6.0",
"path": "/nix/store/63sp165yl6is029c8g5cn3550vq8pp1x-source",
"rev": "e9f0c49b234fd4a2038b752ab02703288346ce98",
"sha256": "1rwr4d150l0v14ccmwr13zi6fr8din1h8spivmxwkcfa66jm73j1",
"url": "https://github.com/WyattBlue/csort/archive/e9f0c49b234fd4a2038b752ab02703288346ce98.tar.gz",
"ref": "1.0.0",
"packages": [
"tinyre"
"csort"
],
"srcDir": ""
"srcDir": "src"
},
{
"method": "fetchzip",
"path": "/nix/store/6aph9sfwcws7pd2725fwjnibdfrv7qmw-source",
"rev": "f8f6bd34bfa3fe12c64b919059ad856a96efcba0",
"sha256": "11m1rb6rzk70kvskppf97ddzgf5fnh9crjziqc6hib0jgsm5d615",
"url": "https://github.com/nim-lang/checksums/archive/f8f6bd34bfa3fe12c64b919059ad856a96efcba0.tar.gz",
"ref": "v0.2.1",
"path": "/nix/store/f2xp1v0vnplwfjnk8nqsi7gd9pnb9gcv-source",
"rev": "b3dbc9c4d08e58c5b7bfad6dc7ef2ee52f2f4c08",
"sha256": "1v4rz42lwcazs6isi3kmjylkisr84mh0kgmlqycx4i885dn3g0l4",
"url": "https://github.com/cheatfate/nimcrypto/archive/b3dbc9c4d08e58c5b7bfad6dc7ef2ee52f2f4c08.tar.gz",
"ref": "v0.7.3^{}",
"packages": [
"checksums"
"nimcrypto"
],
"srcDir": "src"
"srcDir": ""
}
]
}

View file

@ -5,24 +5,13 @@
buildNimPackage,
fetchFromGitHub,
withHEVC ? true,
withWhisper ? false, # TODO: Investigate linker failure. See PR 476678
withVpx ? true,
withSvtAv1 ? true,
withCuda ? false,
withVpl ? stdenv.hostPlatform.isLinux,
ffmpeg-full,
yt-dlp,
lame,
libopus,
libvpx,
x264,
x265,
dav1d,
svt-av1,
libvpl,
whisper-cpp,
python3,
python3Packages,
@ -30,13 +19,13 @@
buildNimPackage rec {
pname = "auto-editor";
version = "29.7.0";
version = "30.3.0";
src = fetchFromGitHub {
owner = "WyattBlue";
repo = "auto-editor";
tag = version;
hash = "sha256-R1GnvFjC/nq/gIiX6rUxP7qR3IfpGfc4Ci28AIk4CfQ=";
hash = "sha256-1DFTT6dyIYlB3EMPf5eleXvRr1d29jmtt7GQfRpOkUE=";
};
lockFile = ./lock.json;
@ -47,20 +36,16 @@ buildNimPackage rec {
libopus
x264
dav1d
]
++ lib.optionals withHEVC [ x265 ]
++ lib.optionals withWhisper [ whisper-cpp ]
++ lib.optionals withVpx [ libvpx ]
++ lib.optionals withSvtAv1 [ svt-av1 ]
++ lib.optionals withVpl [ libvpl ];
];
nimFlags =
lib.optionals withHEVC [ "-d:enable_hevc" ]
++ lib.optionals withWhisper [ "-d:enable_whisper" ]
++ lib.optionals withVpx [ "-d:enable_vpx" ]
++ lib.optionals withSvtAv1 [ "-d:enable_svtav1" ]
++ lib.optionals withCuda [ "-d:enable_cuda" ]
++ lib.optionals withVpl [ "-d:enable_vpl" ];
env = {
# Nothing should be dynamically linked, as ffmpeg should already link it.
DISABLE_HEVC = "1";
DISABLE_WHISPER = "1";
DISABLE_VPX = "1";
DISABLE_SVTAV1 = "1";
DISABLE_VPL = "1";
};
postPatch = ''
substituteInPlace src/log.nim \

View file

@ -3,7 +3,7 @@
stdenv,
fetchurl,
pkg-config,
fuse,
fuse3,
xz,
zlib,
}:
@ -19,11 +19,15 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
fuse
fuse3
xz
zlib
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-function-pointer-types";
};
configureFlags = [
"--enable-library"
"--enable-fuse"

View file

@ -31,6 +31,10 @@ stdenv.mkDerivation (finalAttrs: {
./dev-prefix.patch
];
depsBuildBuild = [
pkg-config
];
nativeBuildInputs = [
meson
ninja
@ -44,11 +48,10 @@ stdenv.mkDerivation (finalAttrs: {
lcms2
];
strictDeps = true;
mesonFlags = [
"-Dprefix-dev=${placeholder "dev"}"
# On Linux, this would be disabled by default but we have -Dauto_features=enabled.
# Disable it on other platforms too, since I cannot test it there.
"-Drelocatable-bundle=no"
]
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
# Docs are opt-out in native but opt-in in cross builds.
@ -61,6 +64,8 @@ stdenv.mkDerivation (finalAttrs: {
moveToOutput "share/doc" "$devdoc"
'';
__structuredAttrs = true;
meta = {
description = "Image pixel format conversion library";
mainProgram = "babl";

View file

@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
ncurses,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "berk76-tetris";
version = "1.1.0-unstable-2024-11-24";
src = fetchFromGitHub {
owner = "oldcompcz";
repo = "tetris";
rev = "31d441a840dff7ad3839087b9a5a594250841342";
hash = "sha256-B5IYXT6Z3zbeG9lG7rflQvFnvOI/vse6L2Orv5dWlHg=";
};
strictDeps = true;
__structuredAttrs = true;
buildInputs = [ ncurses ];
buildPhase = ''
runHook preBuild
make -f Makefile.con
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -Dm755 Tetris $out/bin/tetris
runHook postInstall
'';
meta = {
description = "ASCII Art Tetris";
homepage = "https://github.com/oldcompcz/tetris";
mainProgram = "tetris";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ castorNova2 ];
};
})

View file

@ -73,7 +73,7 @@ perlPackages.buildPerlModule {
description = "Backend for BibLaTeX";
license = biberSource.meta.license;
platforms = lib.platforms.unix;
maintainers = [ lib.maintainers.ttuegel ];
maintainers = [ ];
mainProgram = "biber";
};
}

View file

@ -14,13 +14,13 @@
buildNpmPackage (finalAttrs: {
pname = "bitwarden-cli";
version = "2026.4.2";
version = "2026.5.0";
src = fetchFromGitHub {
owner = "bitwarden";
repo = "clients";
tag = "cli-v${finalAttrs.version}";
hash = "sha256-8UDzW93O+AvMGXcVHe1PTvYvmXewl/bXsxIdjoGRtcQ=";
hash = "sha256-R00wt5W4kKmFIODEaGoUqDwfGyHH/2PpiRaC8Gq3d88=";
};
postPatch = ''
@ -38,7 +38,7 @@ buildNpmPackage (finalAttrs: {
nodejs = nodejs_22;
npmDepsFetcherVersion = 2;
npmDepsHash = "sha256-3RQ0HRsLQlXMeJIHAPKbZsGi6I/70pSIg8NM/3uJvUo=";
npmDepsHash = "sha256-SU4HjfNshjRwa8mXPnmG2xVIwYkbQ7g8j3NZ43Ap76k=";
nativeBuildInputs = lib.optionals stdenv.hostPlatform.isDarwin [
perl

View file

@ -11,7 +11,7 @@
stdenv.mkDerivation rec {
pname = "bloop";
version = "2.0.19";
version = "2.1.0";
platform =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
@ -42,11 +42,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-${platform}";
sha256 =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64 then
"sha256-HyjsBpSoek56no+19rZtjih+/Deu1NO9bwjMBz44B2U="
"sha256-yZEN3w2pvCmDRcvwE3KjUaJOVbUSDvVthMmlRSY2cSY="
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64 then
"sha256-mYPqqyO3wXKUVYSueHYteJd3z/nNCfP0LxvEQdg+oT8="
"sha256-U1rPA1h0xVjAsuDFfaFvy7n6L+yRNKgqS9OQYvZH8MM="
else if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
"sha256-Yf/oECDSR9FN/rxz2hkBlvMCK0BtLFRBR0VagLaqivc="
"sha256-1MO14ChMnn/cDSEl1qiwDhzgX3pQjsSN8ksp4WkPDMk="
else
throw "unsupported platform";
};

View file

@ -0,0 +1,40 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "bobgen";
version = "0.42.0";
src = fetchFromGitHub {
owner = "stephenafamo";
repo = "bob";
tag = "v${finalAttrs.version}";
hash = "sha256-reTvQDUqsRmdl0RyCWoUoF8dc/ZrSZxR8x8++VC4H3A=";
};
vendorHash = "sha256-Jqlah37+tfNqsgeL/MnbVUmSfU2JWMJDb9AQrEqXnXU=";
subPackages = [
"gen/bobgen-sql"
"gen/bobgen-psql"
"gen/bobgen-mysql"
"gen/bobgen-sqlite"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "SQL query builder and ORM/Factory generator for Go";
homepage = "https://github.com/stephenafamo/bob";
changelog = "https://github.com/stephenafamo/bob/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
spotdemo4
];
platforms = lib.platforms.all;
};
})

View file

@ -1,11 +0,0 @@
diff --git a/libapp/libapp/app.c b/libapp/libapp/app.c
index 0188795..f9f1cfa 100644
--- a/libapp/libapp/app.c
+++ b/libapp/libapp/app.c
@@ -1,5 +1,6 @@
#include "app.h"
+#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <libgen.h>

View file

@ -1,81 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
curl,
fuse,
libxml2,
pkg-config,
}:
let
srcs = {
boxfs2 = fetchFromGitHub {
sha256 = "10af1l3sjnh25shmq5gdnpyqk4vrq7i1zklv4csf1n2nrahln8j8";
rev = "d7018b0546d2dae956ae3da3fb95d2f63fa6d3ff";
repo = "boxfs2";
owner = "drotiro";
};
libapp = fetchFromGitHub {
sha256 = "1p2sbxiranan2n2xsfjkp3c6r2vcs57ds6qvjv4crs1yhxr7cp00";
rev = "febebe2bc0fb88d57bdf4eb4a2a54c9eeda3f3d8";
repo = "libapp";
owner = "drotiro";
};
libjson = fetchFromGitHub {
sha256 = "1vhss3gq44nl61fbnh1l3qzwvz623gwhfgykf1lf1p31rjr7273w";
rev = "75a7f50fca2c667bc5f32cdd6dd98f2b673f6657";
repo = "libjson";
owner = "vincenthz";
};
};
in
stdenv.mkDerivation {
pname = "boxfs";
version = "2-20150109";
src = srcs.boxfs2;
prePatch = with srcs; ''
substituteInPlace Makefile --replace "git pull" "true"
cp -a --no-preserve=mode ${libapp} libapp
cp -a --no-preserve=mode ${libjson} libjson
'';
patches = [
./work-around-API-borkage.patch
./libapp-include-ctype.diff
./use-stdbool.patch
];
buildInputs = [
curl
fuse
libxml2
];
nativeBuildInputs = [ pkg-config ];
buildFlags = [
"static"
"CC=${stdenv.cc.targetPrefix}cc"
]
++ lib.optional stdenv.hostPlatform.isDarwin "CFLAGS=-D_BSD_SOURCE";
installPhase = ''
mkdir -p $out/bin
install boxfs boxfs-init $out/bin
'';
meta = {
description = "FUSE file system for box.com accounts";
longDescription = ''
Store files on box.com (an account is required). The first time you run
boxfs, you will need to complete the authentication (oauth2) process and
grant access to your box.com account. Just follow the instructions on
the terminal and in your browser. When you've done using your files,
unmount the file system with `fusermount -u mountpoint`.
'';
homepage = "https://github.com/drotiro/boxfs2";
license = lib.licenses.gpl3;
platforms = lib.platforms.unix;
};
}

View file

@ -1,18 +0,0 @@
diff --git a/tmp/orig_base.h b/libapp/libapp/base.h
index 7d8abdb..2f42b03 100644
--- a/tmp/orig_base.h
+++ b/libapp/libapp/base.h
@@ -1,12 +1,7 @@
#ifndef APP_BASE_H
#define APP_BASE_H
-#ifndef __cplusplus
-typedef enum {
- false = 0,
- true = 1
-} bool;
-#endif
+#include <stdbool.h>
#define ASSERT(clause) if( !clause) { fprintf(stderr, "Assertion '%s' failed at %s:%d\n", #clause, __FILE__, __LINE__ ); exit(-1); }

View file

@ -1,23 +0,0 @@
diff --git a/boxapi.c b/boxapi.c
index 4964273..e4b7404 100644
--- a/boxapi.c
+++ b/boxapi.c
@@ -29,6 +29,7 @@
#include <curl/curl.h>
#include <libxml/hash.h>
+#include <libxml/parser.h>
#include <libapp/app.h>
/* Building blocks for OpenBox api endpoints
@@ -38,8 +39,8 @@
// AUTH
#define API_KEY_VAL "f9ss11y2w0hg5r04jsidxlhk4pil28cf"
#define API_SECRET "r3ZHAIhsOL2FoHjgERI9xf74W5skIM0w"
-#define API_OAUTH_URL "https://app.box.com/api/oauth2/" //"https://www.box.com/api/oauth2/"
-#define API_OAUTH_AUTHORIZE API_OAUTH_URL "authorize?response_type=code&client_id=" API_KEY_VAL /*"&redirect_uri=http%3A//localhost"*/
+#define API_OAUTH_URL "https://api.box.com/oauth2/" //"https://www.box.com/api/oauth2/"
+#define API_OAUTH_AUTHORIZE "https://app.box.com/api/oauth2/authorize?response_type=code&client_id=" API_KEY_VAL /*"&redirect_uri=http%3A//localhost"*/
#define API_OAUTH_TOKEN API_OAUTH_URL "token"
// CALLS
#define API_ENDPOINT "https://api.box.com/2.0/"

View file

@ -9,16 +9,16 @@ rustPlatform.buildRustPackage (finalAttrs: {
__structuredAttrs = true;
pname = "cargo-feature-combinations";
version = "0.0.52";
version = "0.0.53";
src = fetchFromGitHub {
owner = "romnn";
repo = "cargo-feature-combinations";
tag = "v${finalAttrs.version}";
hash = "sha256-e012XP2LsbcYC5oQYebvLzQvRzfjTSgIyngd/EpIYKY=";
hash = "sha256-t6WSqE3h62liesjH8UAcTeY/X61gQt+TO0eYmxjBtKc=";
};
cargoHash = "sha256-JcqVGS5EFED66e8BDXLqDz8OAjW3+/H4XkLb5mYV1Dc=";
cargoHash = "sha256-e4w98y3t+b1PZsbGuygzwNQIBRTUviEJke6MS0b/uMA=";
passthru.updateScript = nix-update-script { };

View file

@ -1,42 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
fuse,
pkg-config,
}:
rustPlatform.buildRustPackage {
pname = "catfs";
version = "0.9.0-unstable-2023-10-09";
src = fetchFromGitHub {
owner = "kahing";
repo = "catfs";
rev = "35430f800e68da18fb6bbd25a8f15bf32fa1f166";
hash = "sha256-hbv4SNe0yqjO6Oomev9uKqG29TiJeI8G7LH+Wxn7hnQ=";
};
cargoHash = "sha256-7MrjyIwXiHy6+rrGGpnfKF1+h1dEgUmo+IlwJlDwWbQ=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ fuse ];
# require fuse module to be active to run tests
# instead, run command
doCheck = false;
doInstallCheck = true;
installCheckPhase = ''
$out/bin/catfs --help > /dev/null
'';
meta = {
description = "Caching filesystem written in Rust";
mainProgram = "catfs";
homepage = "https://github.com/kahing/catfs";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = [ ];
};
}

View file

@ -36,7 +36,7 @@ python3Packages.buildPythonApplication (finalAttrs: {
homepage = "https://github.com/skorokithakis/catt";
changelog = "https://github.com/skorokithakis/catt/releases/tag/v${finalAttrs.version}";
license = lib.licenses.bsd2;
maintainers = [ lib.maintainers.RossSmyth ];
maintainers = [ ];
mainProgram = "catt";
};
})

View file

@ -0,0 +1,5 @@
{
"file_saver": "sha256-3T4UVDkhjTmLakQqJ0/WCP9NOQlONHAzeK+y5gY7qa8=",
"flutter_libserialport": "sha256-Ksj5U94kCoe5FQ85m4Ui0t+Z4ME94E6TcDq45Xms0dE=",
"usb_serial": "sha256-sqGd5ECWVkqsW5ZGlnCV1veHsp0p7inBX2240Xe6NiU="
}

View file

@ -0,0 +1,56 @@
{
lib,
flutter335,
fetchFromGitHub,
autoPatchelfHook,
zenity,
ninja,
}:
flutter335.buildFlutterApplication rec {
pname = "chameleonultragui";
version = "1.3";
src = fetchFromGitHub {
owner = "GameTec-live";
repo = "ChameleonUltraGUI";
tag = version;
hash = "sha256-9Hwjx1nt/QD520eLMAB5xyFjOGfjZSwS83ARNn8GsFo=";
};
sourceRoot = "${src.name}/chameleonultragui";
# curl https://raw.githubusercontent.com/GameTec-live/ChameleonUltraGUI/main/chameleonultragui/pubspec.lock | yq > pubspec.lock.json
pubspecLock = lib.importJSON ./pubspec.lock.json;
gitHashes = lib.importJSON ./git_hashes.json;
nativeBuildInputs = [
autoPatchelfHook
];
buildInputs = [
zenity
ninja
];
postPatch = ''
substituteInPlace linux/main.cc \
--replace-fail '"../shared", "librecovery.so"' '"lib", "librecovery.so"'
'';
postInstall = ''
install -Dm0644 aur/chameleonultragui.desktop $out/share/applications/chameleonultragui.desktop
install -Dm0644 aur/chameleonultragui.png $out/share/pixmaps/chameleonultragui.png
install -Dm0644 build/linux/*/release/shared/librecovery.so $out/app/chameleonultragui/lib
'';
meta = {
description = "Cross platform GUI for the Chameleon Ultra written in flutter";
homepage = "https://github.com/GameTec-live/ChameleonUltraGUI";
changelog = "https://github.com/GameTec-live/ChameleonUltraGUI/releases/${version}";
license = lib.licenses.gpl3Only;
platforms = lib.platforms.linux;
mainProgram = "chameleonultragui";
maintainers = with lib.maintainers; [ wilaz ];
};
}

File diff suppressed because it is too large Load diff

View file

@ -14,6 +14,8 @@ stdenv.mkDerivation {
requiredSystemFeatures = [ "big-parallel" ];
__structuredAttrs = true;
nativeBuildInputs = [
cmake
ninja
@ -33,7 +35,7 @@ stdenv.mkDerivation {
# Based on utils/build-llvm.sh
(lib.cmakeBool "BUILD_SHARED_LIBS" true)
(lib.cmakeBool "LLVM_BUILD_EXAMPLES" false)
(lib.cmakeBool "LLVM_ENABLE_ASSERTIONS" true)
(lib.cmakeBool "LLVM_ENABLE_ASSERTIONS" false) # Conflicts with nixpkgs hardening options
(lib.cmakeBool "LLVM_ENABLE_BINDINGS" false)
(lib.cmakeBool "LLVM_ENABLE_OCAMLDOC" false)
(lib.cmakeFeature "LLVM_ENABLE_PROJECTS" "mlir")

View file

@ -9,7 +9,7 @@
ninja,
lit,
z3,
sv-lang,
sv-lang_10, # update sv-lang version here according to upstream requirements
fmt,
boost,
mimalloc,
@ -27,17 +27,19 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "circt";
version = "1.140.0";
version = "1.147.0";
src = fetchFromGitHub {
owner = "llvm";
repo = "circt";
tag = "firtool-${finalAttrs.version}";
hash = "sha256-oitdYNGsEyraQqouOt9srfbDgVGFOAGZMdcf/rjnx5Q=";
hash = "sha256-rtnvahI7EzUJXE80X3XPWjjDD/6f9BPmZ7S97Lstuhw=";
fetchSubmodules = true;
};
requiredSystemFeatures = [ "big-parallel" ];
__structuredAttrs = true;
nativeBuildInputs = [
cmake
ninja
@ -53,7 +55,7 @@ stdenv.mkDerivation (finalAttrs: {
boost
fmt
mimalloc
sv-lang
sv-lang_10
];
cmakeFlags = [
@ -110,18 +112,21 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
patchShebangs tools/circt-test
# Replace slang references to match the package in nixpkgs
substituteInPlace \
lib/Tools/circt-verilog-lsp-server/VerilogServerImpl/CMakeLists.txt \
lib/Conversion/ImportVerilog/CMakeLists.txt \
unittests/Conversion/ImportVerilog/CMakeLists.txt \
--replace-fail "slang_slang" "slang::slang"
'';
preConfigure = ''
# Patch shebang in test mlir files
find ./test -name '*.mlir' -exec sed -i 's|/usr/bin/env|${coreutils}/bin/env|g' {} \;
# circt uses git to check its version, but when cloned on nix it can't access git.
# So this hard codes the version.
substituteInPlace cmake/modules/GenVersionFile.cmake \
--replace-fail "unknown git version" "${finalAttrs.src.rev}"
# Increase timeout on tests because some were failing on hydra.
# Using `replace-warn` so it doesn't break when upstream changes the timeout.
substituteInPlace integration_test/CMakeLists.txt \

View file

@ -6,14 +6,14 @@
python3.pkgs.buildPythonApplication (finalAttrs: {
pname = "circup";
version = "3.0.1";
version = "3.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "adafruit";
repo = "circup";
tag = finalAttrs.version;
hash = "sha256-vxgMdH9Tz1VOA3ccey5/arw3zeqvgCJJu7IlVoi1OIQ=";
hash = "sha256-ycQdeAw/7R+yNn+2IMHprNI9JTml/uT6tEPk5R2Bl38=";
};
pythonRelaxDeps = [ "semver" ];

View file

@ -151,6 +151,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
mainProgram = "clementine";
maintainers = with lib.maintainers; [ ttuegel ];
maintainers = [ ];
};
})

View file

@ -0,0 +1,49 @@
{
lib,
buildGoModule,
fetchFromGitHub,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "clippy-copy";
version = "1.6.9";
src = fetchFromGitHub {
owner = "neilberkman";
repo = "clippy";
tag = "v${finalAttrs.version}";
hash = "sha256-8OdT+R4dvJCLhelIAsAgVoWGGwmWueTsiJFpCm1uQEc=";
};
vendorHash = "sha256-7do+KgoiIocS+mq2hsgv3NOd+TjMl2I9ew2Emx3/Bbg=";
ldflags = [
"-s"
"-X=github.com/neilberkman/clippy/cmd/internal/common.Version=${finalAttrs.version}"
"-X=github.com/neilberkman/clippy/cmd/internal/common.Commit=${finalAttrs.src.tag}"
"-X=github.com/neilberkman/clippy/cmd/internal/common.Date=1970-01-01T00:00:00Z"
];
# Tests require access to the system clipboard (unavailable in sandbox)
doCheck = false;
doInstallCheck = true;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
passthru.updateScript = nix-update-script { };
__structuredAttrs = true;
meta = {
description = "Clipboard tool supporting both text and binary files";
homepage = "https://github.com/neilberkman/clippy";
changelog = "https://github.com/neilberkman/clippy/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ m4r1vs ];
mainProgram = "clippy";
platforms = lib.platforms.darwin;
};
})

View file

@ -205,9 +205,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
changelog = "https://cmake.org/cmake/help/v${lib.versions.majorMinor finalAttrs.version}/release/${lib.versions.majorMinor finalAttrs.version}.html";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
ttuegel
];
maintainers = [ ];
platforms = lib.platforms.all;
mainProgram = "cmake";
broken = (qt5UI && stdenv.hostPlatform.isDarwin);

View file

@ -10,11 +10,11 @@
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "copilot-language-server";
version = "1.495.0";
version = "1.498.0";
src = fetchzip {
url = "https://github.com/github/copilot-language-server-release/releases/download/${finalAttrs.version}/copilot-language-server-js-${finalAttrs.version}.zip";
hash = "sha256-6ld4pAyC0zS0T1kLNKtEywFrVMTUOdN3edbtjVhjlpY=";
hash = "sha256-WpZKsi8OgF72cuAxSD4AHJBZkvRsPtveiG5AmaQH320=";
stripRoot = false;
};

View file

@ -11,16 +11,16 @@
buildGo126Module (finalAttrs: {
pname = "crush";
version = "0.70.0";
version = "0.74.1";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "crush";
tag = "v${finalAttrs.version}";
hash = "sha256-rLLgGes902mZvya2rcTCNji0FR2AlMzA4vdYieHZIoc=";
hash = "sha256-JnELv8Q2GlOKhYbBRUDY8m8XuyyoD71Tw5qbnpbNxVY=";
};
vendorHash = "sha256-3fYDFzBN5lDDnc2rziHOc7SMvesdAevsxIY2xUU3hms=";
vendorHash = "sha256-D2GJ3ORyJy5Dn0MZJWgB3Wv1FyDoAWqLI3W0yU1q5Lw=";
ldflags = [
"-s"

View file

@ -18,6 +18,9 @@ stdenv.mkDerivation (finalAttrs: {
pname = "ctx7";
version = "0.4.4";
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "upstash";
repo = "context7";
@ -61,6 +64,8 @@ stdenv.mkDerivation (finalAttrs: {
makeWrapper ${nodejs}/bin/node $out/bin/ctx7 \
--add-flags "$out/lib/ctx7/dist/index.js"
cp -R $src/{plugins,rules,skills} $out
runHook postInstall
'';

View file

@ -10,13 +10,13 @@
buildGoModule (finalAttrs: {
pname = "databricks-cli";
version = "0.290.2";
version = "1.1.0";
src = fetchFromGitHub {
owner = "databricks";
repo = "cli";
rev = "v${finalAttrs.version}";
hash = "sha256-kIliLlOd6/1lddWK3VtxoXvP30SajDWB6zVO4gKe9Fo=";
hash = "sha256-MMVwypMxnFBYVlBmuJ2KWwfL1hXuro5BH7V5wrgl3lc=";
};
# Otherwise these tests fail asserting that the version is 0.0.0-dev
@ -25,7 +25,7 @@ buildGoModule (finalAttrs: {
--replace-fail "cli/0.0.0-dev" "cli/${finalAttrs.version}"
'';
vendorHash = "sha256-8PJ2M5L8DkL4ydtUQbw0wKvt+5rVYbOAAGvURkSMm/o=";
vendorHash = "sha256-OK7P+0pBaL/sn+iTrVr0m3EuqA/Pssp19JRKo6nGipk=";
excludedPackages = [
"bundle/internal"
@ -33,6 +33,12 @@ buildGoModule (finalAttrs: {
"integration"
"tools/testrunner"
"tools/testmask"
"cmd/auth"
"cmd/root"
"cmd/labs/project"
"libs/auth"
"libs/databrickscfg"
"libs/hostmetadata"
];
ldflags = [
@ -49,14 +55,17 @@ buildGoModule (finalAttrs: {
# Need network
"TestConsistentDatabricksSdkVersion"
"TestTerraformArchiveChecksums"
"TestExpandPipelineGlobPaths"
"TestExpandGlobPathsInPipelines"
"TestRelativePathTranslationDefault"
"TestRelativePathTranslationOverride"
"TestWorkspaceVerifyProfileForHost"
"TestWorkspaceVerifyProfileForHost/default_config_file_with_match"
"TestWorkspaceResolveProfileFromHost"
"TestWorkspaceResolveProfileFromHost/no_config_file"
"TestBundleConfigureDefault"
"TestWorkspaceClientNormalizesHostBeforeProfileResolution"
"TestClearWorkspaceClient"
"TestValidateFolderPermissions"
"TestFilesToSync"
# Use uv venv which doesn't work with nix
# https://github.com/astral-sh/uv/issues/4450
"TestVenvSuccess"

View file

@ -7,16 +7,16 @@
buildGoModule (finalAttrs: {
pname = "dblab";
version = "0.39.0";
version = "0.40.1";
src = fetchFromGitHub {
owner = "danvergara";
repo = "dblab";
tag = "v${finalAttrs.version}";
hash = "sha256-tiB1nX3sm/pZpOFgNyhgxDsEzk0QcJQjwTLYx17LQMI=";
hash = "sha256-pDtiLKsAvV3k7sN5dnO0g03gxbs4WeCseadWKXh9DHM=";
};
vendorHash = "sha256-UGnbXjXnZ3EVcAk0ZTaV2wWWXv5nsbyNlTv8PMl2rP4=";
vendorHash = "sha256-T1y0ALF4s3T8ZaTqj2jUdnezVRmpegKnabahiQ3CgzA=";
# Fix case-insensitive conflicts producing platform-dependent checksums
# https://github.com/microsoft/go-mssqldb/issues/234
proxyVendor = true;

View file

@ -7,13 +7,13 @@
}:
buildGoModule (finalAttrs: {
pname = "deja";
version = "0.2.6";
version = "0.2.7";
__structuredAttrs = true;
src = fetchFromGitHub {
owner = "Giammarco-Ferranti";
repo = "deja";
tag = "v${finalAttrs.version}";
hash = "sha256-xxbClKhhSwo+jUjAZ2gS4yOS5sSI76dfPpDzA3qdV18=";
hash = "sha256-HHD9x7oM9b0Bt9QhtMhirwobW/o/zjiCVPCFKTn838g=";
};
vendorHash = "sha256-KmLdMK94cGOXMPJwWS6NgLB5OiNmJbszHdnLzauqJm8=";

View file

@ -7,29 +7,29 @@
}:
let
version = "2026.5.6-10";
version = "2026.5.26-2";
throwSystem = throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}";
srcs = {
x86_64-linux = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-x86_64-unknown-linux.tar.gz";
hash = "sha256-X3Pua8lBRojFgB5uAQ4Px/cVq79saQV7b2JN8NBvXLE=";
hash = "sha256-5647gIz60Dj/mZ4bALJsWnAyWfXQO33vG6kqy2hHp84=";
};
aarch64-linux = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-aarch64-unknown-linux.tar.gz";
hash = "sha256-wWY07anOf1e64XyxuPxWO1Qf6sVW7JHDIeJw/o59GSE=";
hash = "sha256-8D61SCYC3VMbSwgRpWm8IKD1PQwbKT/EMejSFq5qsds=";
};
aarch64-darwin = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-aarch64-apple-darwin.tar.gz";
hash = "sha256-5vlVs1AQ/ZbhF25hkKqBSTjAwYA/uOJY+S+jyMEgjRk=";
hash = "sha256-1MRFAWZKPCMfEm1zPGDHBoq4zAYXsIGTlrXwTkZH9c0=";
};
x86_64-darwin = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-x86_64-apple-darwin.tar.gz";
hash = "sha256-T/0apTBEdpOnT/W13zB1Nis1kRghODHiR5yOj8gQuuY=";
hash = "sha256-B3LsnLXyExTagVC7UibsQTxk5u6KmYzgr2LtAJemSyo=";
};
};

View file

@ -9,13 +9,13 @@
buildGoModule (finalAttrs: {
pname = "doggo";
version = "1.1.6";
version = "1.1.7";
src = fetchFromGitHub {
owner = "mr-karan";
repo = "doggo";
rev = "v${finalAttrs.version}";
hash = "sha256-NPbBQ11QuNKDtNnh8OoVpSsnC62078HYtE4E6esf6Hs=";
hash = "sha256-Q4a859MoVSZ4hjXwaIekL1En6xpd4bZPQ9NGAkxSPto=";
};
vendorHash = "sha256-JMyGYG3cLOZmH9EcLPe+5+ViHv7Z7brLj5uqJrPYm7A=";

View file

@ -0,0 +1,47 @@
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
dbus,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "dssd";
version = "0.3.3";
src = fetchFromGitHub {
owner = "ylxdzsw";
repo = "dssd";
tag = "v${finalAttrs.version}";
hash = "sha256-gAV4gwrfvYfc2f1tDY/cNOFMrQzrzHSmEFsKg7ke/6c=";
};
cargoHash = "sha256-yX2/2TW3FNbqwzR6+5yP26E2Eps0bTJgJJrDIQG2KQU=";
postPatch = ''
substituteInPlace dssd.service org.freedesktop.secrets.service \
--replace-fail /usr/bin/dssd $out/bin/dssd
'';
nativeBuildInputs = [ pkg-config ];
buildInputs = [ dbus ];
postInstall = ''
install dssd.service -Dt $out/lib/systemd/user/
install org.freedesktop.secrets.service -Dt $out/share/dbus-1/system-services/
'';
__structuredAttrs = true;
strictDeps = true;
meta = {
description = "Dead Simple Secret Daemon";
homepage = "https://github.com/ylxdzsw/dssd";
license = lib.licenses.mit;
mainProgram = "dssd";
maintainers = with lib.maintainers; [ phanirithvij ];
platforms = lib.platforms.linux;
};
})

View file

@ -0,0 +1,62 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
# tests
callPackage,
}:
buildGoModule (finalAttrs: {
pname = "dutctl";
version = "0-unstable-2026-05-21";
src = fetchFromGitHub {
owner = "BlindspotSoftware";
repo = "dutctl";
rev = "710bbcd16264e62af932698a229f9be2f83f6286";
hash = "sha256-SJfnUUo5vmmwa8qFLY4KaVyjyVnlEcVqLU1Yo3PjWug=";
};
vendorHash = "sha256-vOBz9gi/cnUJ04ns1ZOgfNqzbVBE3Fd3oOfV04VSmFQ=";
ldflags = [
"-s"
];
passthru = {
updateScript = nix-update-script {
extraArgs = [ "--version=branch" ];
};
tests = callPackage ./test.nix {
dutctl = finalAttrs.finalPackage;
};
};
__structuredAttrs = true;
meta = {
description = "Unified device management for open firmware development";
longDescription = ''
dutctl stands for "Device-under-Test Control" and is an open-source
command-line utility and service ecosystem for managing development and
test devices in firmware environments.
By providing a unified interface to interact with boards and test
fixtures across platforms, dutctl eliminates the fragmentation of device
management tools that has long plagued firmware workflows.
The project features remote device control, command streaming,
multi-architecture testing, and a flexible plugin architecture for
extensibility.
'';
homepage = "https://github.com/BlindspotSoftware/dutctl";
changelog = "https://github.com/BlindspotSoftware/dutctl/blob/${finalAttrs.src.rev}/CHANGELOG.md";
mainProgram = "dutctl";
license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ eljamm ];
teams = with lib.teams; [ ngi ];
};
})

View file

@ -0,0 +1,78 @@
{
runCommand,
writeScriptBin,
expect,
dutctl,
}:
let
dutctl-test =
runCommand "test-dutctl-basic"
{
nativeBuildInputs = [
dutctl
interactive-repeat-test
];
}
''
cfg="${dutctl.src}/contrib/dutagent-cfg-example.yaml"
# start agent
dutagent -a localhost:1024 -c "$cfg" &
agent_pid=$!
trap 'kill "$agent_pid" 2>/dev/null || true' EXIT
# wait for agent to become ready
for i in $(seq 1 10); do
dutctl list 2>/dev/null | grep -q device1 && break
[ "$i" -eq 10 ] && { echo "FAIL: agent timed out"; exit 1; }
sleep 1
done
echo "PASS: agent ready"
# verify device status
dutctl device1 status > status.out
grep -q "Hello from dummy status module" status.out
echo "PASS: device1 status"
# run interactive repeat test
repeat-test
touch $out
'';
interactive-repeat-test = writeScriptBin "repeat-test" ''
#!${expect}/bin/expect -f
spawn dutctl device2 repeat
expect {
"Hello from dummy repeat module!" {}
timeout { puts "FAIL: no greeting"; exit 1 }
}
send "hello\r"
expect {
"hello" {}
timeout { puts "FAIL: no echo"; exit 1 }
}
send "stop now\r"
expect {
"Oh no! Can only handle one word per line." {}
timeout { puts "FAIL: no termination msg"; exit 1 }
}
# wait for the process to finish and collect its exit code
expect eof
lassign [wait] pid spawnid os_error exit_code
if {$exit_code != 0} {
puts "FAIL: exit $exit_code"
exit 1
}
puts "PASS: interactive repeat"
'';
in
dutctl-test

View file

@ -11,11 +11,11 @@ proton-ge-bin.overrideAttrs (
inherit steamDisplayName;
pname = "dwproton-bin";
version = "dwproton-11.0-2";
version = "dwproton-11.0-3";
src = fetchzip {
url = "https://dawn.wine/dawn-winery/dwproton/releases/download/${finalAttrs.version}/${finalAttrs.version}-x86_64.tar.xz";
hash = "sha256-3AxBr8fQh4bbAsdSSZuyQR2GOz78vdhC6jJbLmiYEXY=";
hash = "sha256-e/YzKvwe30KveLHRUsntKDwzdEbr7a3Wfkqe/pu93WE=";
};
preFixup = ''

View file

@ -0,0 +1,81 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch,
cmake,
qt6,
xercesc,
nixosTests,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "e57inspector";
version = "0.3.1";
src = fetchFromGitHub {
owner = "sisakat";
repo = "e57inspector";
tag = "v${finalAttrs.version}";
hash = "sha256-McLPbvS7j+6UVEcQ34/ngGiCxsdF/Whs5wZt5cP2UkI=";
fetchSubmodules = true;
};
strictDeps = true;
__structuredAttrs = true;
patches = [
# Support loading E57 files from CLI arguments,
# so we can use that in the NixOS VM test to load a sample file.
# Remove with next release (see https://github.com/sisakat/e57inspector/pull/8)
(fetchpatch {
name = "e57inspector-Allow-loading-file-from-CLI.patch";
url = "https://github.com/nh2/e57inspector/commit/a5a899ee58952ffc2971d18b3734ea405e0020f3.patch";
hash = "sha256-QRUv0CvX+OdH88CzI/6XjPXnAVIsf6N/Ix/qqCsSaRw=";
})
];
postPatch = ''
# Fix cmake_minimum_required version compatibility with CMake >= 4.0
substituteInPlace app/cmake/gitversion.cmake \
--replace-fail "cmake_minimum_required(VERSION 3.0.0)" "cmake_minimum_required(VERSION 3.5)"
'';
nativeBuildInputs = [
cmake
qt6.wrapQtAppsHook
];
buildInputs = [
qt6.qtbase
qt6.qttools
xercesc
];
# Upstream CMakeLists.txt has no install() rules.
installPhase = ''
runHook preInstall
install -Dm755 app/e57inspector -t $out/bin
install -Dm755 panorama/e57inspector_panorama -t $out/bin
runHook postInstall
'';
passthru.tests = {
e57inspector = nixosTests.e57inspector;
};
meta = {
description = "Cross-platform E57 file viewer to list and view stored point clouds, images and metadata";
homepage = "https://github.com/sisakat/e57inspector";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [
nh2
chpatrick
];
teams = [ lib.teams.geospatial ];
platforms = lib.platforms.linux;
mainProgram = "e57inspector";
};
})

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "elastix";
version = "5.2.0";
version = "5.3.1";
src = fetchFromGitHub {
owner = "SuperElastix";
repo = "elastix";
tag = finalAttrs.version;
hash = "sha256-edUMj8sjku8EVYaktteIDS+ouaN3kg+CXQCeSWKlLDI=";
hash = "sha256-WV3iIqYJ7c5tl4LopnEVEOG//JoxVW0tW90K6MNhcAA=";
};
nativeBuildInputs = [ cmake ];
@ -22,6 +22,18 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = !stdenv.hostPlatform.isDarwin; # usual dynamic linker issues
# Fails due to numerical tolerance issues
# 24/94 Test #24: elastix_run_example_COMPARE_IM ...................................***Failed 0.16 sec
# There are 9210 pixels with difference larger than 5, while 50 are allowed!
# 39/94 Test #39: elastix_run_3DCT_lung.MI.bspline.ASGD.001_COMPARE_TP .............***Failed 0.29 sec
# Computed difference: 2.86242 / 824.534 = 0.00347156
# Allowed difference: 0.001
checkPhase = ''
runHook preCheck
ctest -E "(COMPARE_IM|COMPARE_TP)"
runHook postCheck
'';
meta = {
homepage = "https://elastix.dev";
description = "Image registration toolkit based on ITK";

View file

@ -39,9 +39,7 @@ stdenv.mkDerivation (finalAttrs: {
'';
homepage = "http://wryun.github.io/es-shell/";
license = lib.licenses.publicDomain;
maintainers = with lib.maintainers; [
ttuegel
];
maintainers = [ ];
platforms = lib.platforms.all;
};

File diff suppressed because it is too large Load diff

View file

@ -6,13 +6,13 @@
}:
buildNpmPackage (finalAttrs: {
pname = "eslint";
version = "10.3.0";
version = "10.4.0";
src = fetchFromGitHub {
owner = "eslint";
repo = "eslint";
tag = "v${finalAttrs.version}";
hash = "sha256-b0Gv7soMPTsbMOZLqMe5vMCPwInk9AFusepf2jJH/Ng=";
hash = "sha256-8CG4oeqZPhVoG/Q8jTA5GBSzOwrQoBSNIYHnGcqbjsc=";
};
# NOTE: Generating lock-file
@ -24,7 +24,7 @@ buildNpmPackage (finalAttrs: {
cp ${./package-lock.json} package-lock.json
'';
npmDepsHash = "sha256-gi/aiWEzbf91LNTB2kMx9Iq4PoVORLs3mBjSSt2mFiQ=";
npmDepsHash = "sha256-UGx3wR+PUxUvabGLxf5Phg+RzETZnbcO0IXLr+jHzUI=";
npmInstallFlags = [ "--omit=dev" ];
dontNpmBuild = true;

View file

@ -6,7 +6,7 @@
openssl,
re2,
libevent,
git,
gitMinimal,
versionCheckHook,
zlib,
expat,
@ -16,30 +16,32 @@
}:
let
pname = "fah-client";
version = "8.5.3";
version = "8.5.6";
cbangSrc = fetchFromGitHub {
owner = "cauldrondevelopmentllc";
repo = "cbang";
tag = "bastet-v${version}";
hash = "sha256-RU13qT9UQ1uNsRNBaEGSWTgNmE3f72veabl2OmKK6Z0=";
hash = "sha256-oh3q/gmAKx8BHoaw6Dxkd0GoxYyJ6is8uCKcivQVv2g=";
};
fah-client = stdenv.mkDerivation {
inherit pname version;
__structuredAttrs = true;
strictDeps = true;
src = fetchFromGitHub {
owner = "FoldingAtHome";
repo = "fah-client-bastet";
tag = "v${version}";
hash = "sha256-PBguylWnYU5iTzrjWA1B5Iwb57JpoWGPSpjgNJP3aoI=";
hash = "sha256-B5h2eXSCvYG5juNkBRBh+KUsm26O9JTI1S7yKkHgZ7c=";
};
nativeBuildInputs = [
scons
re2
gitMinimal
libevent
git
re2
scons
];
buildInputs = [ openssl ];

View file

@ -6,11 +6,11 @@
stdenv.mkDerivation (finalAttrs: {
pname = "findent";
version = "4.3.6";
version = "4.3.7";
src = fetchurl {
url = "mirror://sourceforge/findent/findent-${finalAttrs.version}.tar.gz";
hash = "sha256-ctg02P8P3R27lCpv3tILSZ5ikn2Va25jHOWIuRfIONQ=";
hash = "sha256-4tqLjAwZYbK8nc5MbKp5ytCSRdNjiL6h/ALE7B/YuZg=";
};
enableParallelBuilding = true;

View file

@ -7,13 +7,13 @@
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "firefox-gnome-theme";
version = "149.1";
version = "150";
src = fetchFromGitHub {
owner = "rafaelmardojai";
repo = "firefox-gnome-theme";
tag = "v${finalAttrs.version}";
hash = "sha256-QFY6Eu0kmaWl8W76bXs5K2BVtTh+Md+1rGba1WiTYxU=";
hash = "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=";
};
dontConfigure = true;

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