Merge c9f97ce391 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-10-25 00:21:42 +00:00
committed by GitHub
432 changed files with 5584 additions and 6484 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ let
(lib.unsafeGetAttrPos "pname" drv)
(lib.unsafeGetAttrPos "version" drv)
]
++ lib.optionals (drv.meta.position or null != null) [
++ lib.optionals (drv ? meta.position) [
# Use ".meta.position" for cases when most of the package is
# defined in a "common" section and the only place where
# reference to the file with a derivation the "pos"
-329
View File
@@ -1,329 +0,0 @@
Setting up a cross compiler with Nix
"Cross compilation" means compiling a program on one machine for another
type of machine. A typical use of cross compilation is to compile programs
for embedded devices. These devices often don't have the computing power
and memory to compile programs natively.
For a fully working cross compiler the following are needed:
* cross binutils: assembler, archiver, linker, etcetera that understand
the format of the target system
* cross compiler: a compiler that can generate binary code and object files
for the target platform
* cross C library: a library to link object files with to create fully
functional programs
Cross compilers are difficult to set up. A lot of people report that they
cannot succeed in building a cross toolchain successfully. The answers
usually consist of "download this pre-built toolchain", which is equally
unhelpful.
A toolchain is set up in five steps:
1. build binutils to that can run on the host platform, but generate code
for the target platform
2. build Linux kernel headers for the target platform
3. build a minimal C only version of GCC, that can run on the host platform
and generate code for the target platform
4. build a C library for the target platform. This includes the dynamic
linker, C library, etc.
5. build a full GCC
****
NB:
Keep in mind that many programs are not very well suited for cross
compilation. Either they are not intended to run on other platforms,
because the code is highly platform specific, or the configuration process
is not written with cross compilation in mind.
Nix will not solve these problems for you!
***
This document describes to set up a cross compiler to generate code for
arm-linux with uClibc and runs on i686-linux. The "stdenv" used is the
default from the standard Nix packages collection.
Step 1: build binutils for arm-linux in the stdenv for i686-linux
---
{stdenv, fetchurl, noSysDirs}:
stdenv.mkDerivation {
name = "binutils-2.16.1-arm";
builder = ./builder.sh;
src = fetchurl {
url = "http://ftp.nluug.nl/gnu/binutils/binutils-2.16.1.tar.bz2";
hash = "sha256-14pv+YKrL3NyFwbnv9MoWsZHgEZk5+pHhuZtAfkcVsU=";
};
inherit noSysDirs;
configureFlags = [ "--target=arm-linux" ];
}
---
This will compile binutils that will run on i686-linux, but knows the
format used by arm-linux.
Step 2: build kernel headers for the target architecture
default.nix for kernel-headers-arm:
---
{stdenv, fetchurl}:
assert stdenv.buildPlatform.system == "i686-linux";
stdenv.mkDerivation {
name = "linux-headers-2.6.13.1-arm";
builder = ./builder.sh;
src = fetchurl {
url = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.13.1.tar.bz2";
hash = "sha256-qtICDjfiA1HxWBrHqtB5DCv9s9/HyznKV1C6IxCrHYs=";
};
}
---
builder.sh for kernel-headers-arm:
---
source $stdenv/setup
buildPhase() {
make include/linux/version.h
}
buildPhase=buildPhase
installPhase() {
mkdir $out
mkdir $out/include
#cd $out/include
#ln -s asm-arm asm
make include/asm ARCH=arm
cp -prvd include/linux include/asm include/asm-arm include/asm-generic $out/include
echo -n > $out/include/linux/autoconf.h
}
installPhase=installPhase
genericBuild
---
Step 3: build a minimal GCC
Extra/different parameters include the target platform and the kernel
headers argument (this needs a major cleanup, as well as the name, it
needs to be different!). Profiled compilers are disabled. The tarball
used here is just gcc-core. For some reason it doesn't install nicely
if the whole tarball is used (or is this some braino on my side? -- AH).
Only C is used, because for other languages (such as C++) extra libraries
need to be compiled, for which libraries compiled for the target system
are needed.
There is a bit of evilness going on. The cross compiled utilities need
to be either copied to or be linked from the output tree of the compiler.
(Is this really true? Back this up with arguments! -- AH)
Symbolic links are not something we want inside the Nix store.
---
{ stdenv, fetchurl, noSysDirs
, langC ? true, langCC ? true, langF77 ? false
, profiledCompiler ? false
, binutilsArm
, kernelHeadersArm
}:
assert langC;
stdenv.mkDerivation {
name = "gcc-4.0.2-arm";
builder = ./builder.sh;
src = fetchurl {
url = "ftp://ftp.nluug.nl/pub/gnu/gcc/gcc-4.0.2/gcc-core-4.0.2.tar.bz2";
hash = "sha256-LANmXRS7/fN2zF5JUJVd8OjNA5aCDsGLQKhSpxWA3Qk=";
};
# !!! apply only if noSysDirs is set
patches = [./no-sys-dirs.patch ./gcc-inhibit.patch];
inherit noSysDirs langC langCC langF77 profiledCompiler;
buildInputs = [binutilsArm];
inherit kernelHeadersArm binutilsArm;
platform = "arm-linux";
}
---
The builder.sh for a cross-compiler. Note that the binutils are prefixed
with the architecture name, so arm-linux-ld instead of ld, etc. This is
necessary because when we cross-compile a lot of programs look for these
tools with these specific names. The standard gcc-wrapper does not take this
into account yet.
---
source $stdenv/setup
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
mkdir $NIX_FIXINC_DUMMY
if test "$noSysDirs" = "1"; then
if test "$noSysDirs" = "1"; then
# Figure out what extra flags to pass to the gcc compilers
# being generated to make sure that they use our glibc.
if test -e $NIX_CC/nix-support/orig-glibc; then
glibc=$(cat $NIX_CC/nix-support/orig-glibc)
# Ugh. Copied from gcc-wrapper/builder.sh. We can't just
# source in $NIX_CC/nix-support/add-flags, since that
# would cause *this* GCC to be linked against the
# *previous* GCC. Need some more modularity there.
extraCFlags="-B$glibc/lib -isystem $glibc/include"
extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \
-Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2"
# Oh, what a hack. I should be shot for this.
# In stage 1, we should link against the previous GCC, but
# not afterwards. Otherwise we retain a dependency.
# However, ld-wrapper, which adds the linker flags for the
# previous GCC, is also used in stage 2/3. We can prevent
# it from adding them by NIX_GLIBC_FLAGS_SET, but then
# gcc-wrapper will also not add them, thereby causing
# stage 1 to fail. So we use a trick to only set the
# flags in gcc-wrapper.
hook=$(pwd)/ld-wrapper-hook
echo "NIX_GLIBC_FLAGS_SET=1" > $hook
export NIX_LD_WRAPPER_START_HOOK=$hook
fi
export NIX_EXTRA_CFLAGS=$extraCFlags
export NIX_EXTRA_LDFLAGS=$extraLDFlags
export CFLAGS=$extraCFlags
export CXXFLAGS=$extraCFlags
export LDFLAGS=$extraLDFlags
fi
else
patches=""
fi
preConfigure=preConfigure
preConfigure() {
# Determine the frontends to build.
langs="c"
if test -n "$langCC"; then
langs="$langs,c++"
fi
if test -n "$langF77"; then
langs="$langs,f77"
fi
# Cross compiler evilness
mkdir -p $out
mkdir -p $out/arm-linux
mkdir -p $out/arm-linux/bin
ln -s $binutilsArm/arm-linux/bin/as $out/arm-linux/bin/as
ln -s $binutilsArm/arm-linux/bin/ld $out/arm-linux/bin/ld
ln -s $binutilsArm/arm-linux/bin/ar $out/arm-linux/bin/ar
ln -s $binutilsArm/arm-linux/bin/ranlib $out/arm-linux/bin/ranlib
# Perform the build in a different directory.
mkdir ../build
cd ../build
configureScript=../$sourceRoot/configure
configureFlags="--enable-languages=$langs --target=$platform --disable-threads --disable-libmudflap --disable-shared --with-headers=$kernelHeadersArm/include --disable-multilib"
}
postInstall=postInstall
postInstall() {
# Remove precompiled headers for now. They are very big and
# probably not very useful yet.
find $out/include -name "*.gch" -exec rm -rf {} \; -prune
# Remove `fixincl' to prevent a retained dependency on the
# previous gcc.
rm -rf $out/libexec/gcc/*/*/install-tools
}
#if test -z "$profiledCompiler"; then
#makeFlags="bootstrap"
#else
#makeFlags="profiledbootstrap"
#fi
genericBuild
---
Step 4: build a C library for the target platform.
The previous steps are enough to compile a C library. In our case we take
uClibc. It's intended to be a small sized replacement for glibc. It is widely
used in embedded environments.
...
Step 5: Build a compiler to link with the newly built C library.
...
If we restrict the compiler to just C programs it is relatively easy,
since we only need to wrap the GCC we built in the previous step with all
the right tools and the right C library. Successfully compiled programs with
this compiler and verified to be working on a HP Jornada 820 running Linux
are "patch", "make" and "wget".
If we want to build C++ programs it gets a lot more difficult. GCC has a
three step compilation process. In the first step a simple compiler, called
xgcc, that can compile only C programs is built. With that compiler it
compiles itself two more times: one time to build a full compiler, and another
time to build a full compiler once again with the freshly built compiler from
step 2. In the second and third step support for C++ is compiled, if this
is configured.
One of the libraries that has to be built for C++ support step is libstdc++.
This library uses xgcc, even when cross compiling, since libstdc++ has to be
compiled for arm-linux.
One of the compiler flags that GCC uses for this compiler is called X_CFLAGS.
This is used by the Nix build process to set the dynamic linker, glibc
in the case of i686-linux using the default Nix packages collection.
Obviously, since we need to compile libstc++ for arm-linux with uClibc linking
will not be done correctly: you can't link object files built for arm-linux
with a glibc built for i686-linux.
Setting X_CFLAGS to use the uClibc libraries and dynamic linker will fail
too. Earlier on in the build process these flags are used to compile important
files like libgcc.a by the host system gcc, which does need to be linked
to glibc. To make this work correctly you will need to carefully juggle
with compilation flags. This is still work in progress for Nix.
---
After successfully completing the whole toolchain you can start building
packages with the newly built tools. To make everything build correctly
you will need a stdenv for your target platform. Setting up this platform
will take some effort. Right now there is a very experimental setup for
arm-linux, which needs to be cleaned up before it is production ready.
Please note that many packages are not well suited for cross-compilation.
Even though the package itself might be very well portable often the
buildscripts are not. One thing that we have seen that causes frequent
build failures is the use of the LD variable. This is often set to 'ld'
and not $(CROSS)-ld.
+18 -14
View File
@@ -30,6 +30,11 @@
- Everything related to `bower` was removed, as it is deprecated and not used by anything in nixpkgs.
- `reaction` has been updated to version 2, which includes some breaking changes.
For more information, [check the release article](https://blog.ppom.me/en-reaction-v2).
- `mealie` has been updated to 3.0.2: This update introduces breaking changes in some API endpoints (see the [release changelog](https://github.com/mealie-recipes/mealie/releases/tag/v3.0.0)).
- The `offrss` package was removed due to lack of upstream maintenance since 2012. It's recommended for users to migrate to another RSS reader
- `installShellFiles`: Allow installManPage to take a piped input, add the `--name` flag for renaming the file when installed. Can also append `--` to opt-out of all subsequent parsing.
@@ -182,6 +187,8 @@
- `proton-caller` has been removed due to lack of upstream maintenance.
- `android-udev-rules` has been removed, as it is effectively superseded by built-in uaccess rules in systemd.
- `lima` package now only includes the guest agent for the host's architecture by default. If your guest VM's architecture differs from your Lima host's, you'll need to enable the `lima-additional-guestagents` package by setting `withAdditionalGuestAgents = true` when overriding lima with this input.
- `mongodb-6_0` was removed as it is end of life as of 2025-07-31.
@@ -265,6 +272,13 @@
- The systemd initrd will now respect `x-systemd.wants` and `x-systemd.requires` for reliably unlocking multi-disk bcachefs volumes.
- `neovim`: Added support for the `vim.o.exrc` option, the `VIMINIT` environment variable, and sourcing of `sysinit.vim`.
See the neovim help page [`:help startup`](https://neovim.io/doc/user/starting.html#startup) for more information, as well as [the nixpkgs neovim wrapper documentation](#neovim-custom-configuration).
- `cloudflare-ddns`: Added package cloudflare-ddns.
- [`homebox` 0.20.0](https://github.com/sysadminsmedia/homebox/releases/tag/v0.20.0) changed how assets are stored and hashed. It is recommended to back up your database before this update. In particular, `--storage-data` was replaced with `--storage-conn-string` and `--storage-prefix-path`. If your configuration set `HBOX_STORAGE_DATA` manually, you must migrate it to `HBOX_STORAGE_CONN_STRING` and `HBOX_STORAGE_PREFIX_PATH`.
- GIMP now defaults to version 3. Use `gimp2` for the old version.
@@ -289,6 +303,10 @@
- `searx` was updated to use `envsubst` instead of `sed` for parsing secrets from environment variables.
If your previous configuration included a secret reference like `server.secret_key = "@SEARX_SECRET_KEY@"`, you must migrate to the new envsubst syntax: `server.secret_key = "$SEARX_SECRET_KEY"`.
- `jellyfin` was updated to `10.11.x`, which includes heavy backend changes.
Make sure to backup your data and configuration directories
and read the [Jellyfin 10.11.0 release announcement](https://jellyfin.org/posts/jellyfin-release-10.11.0/).
- A new hardening flag, `glibcxxassertions` was made available, corresponding to the glibc `_GLIBCXX_ASSERTIONS` option.
- `versionCheckHook`: Packages that previously relied solely on `pname` to locate the program used to version check, but have a differing `meta.mainProgram` entry, might now fail.
@@ -324,13 +342,8 @@
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
- `mealie` has been updated to 3.0.2: This update introduces breaking changes in some API endpoints (see the [release changelog](https://github.com/mealie-recipes/mealie/releases/tag/v3.0.0)).
### Breaking changes {#sec-nixpkgs-release-25.11-lib-breaking}
- `reaction` has been updated to version 2, which includes some breaking changes.
For more information, [check the release article](https://blog.ppom.me/en-reaction-v2).
- `lib.mapAttrsFlatten` has been removed, following its deprecation in NixOS 24.11. Use `lib.attrsets.mapAttrsToList` instead.
- `lib.attrsets.cartesianProductOfSets` has been removed, following its deprecation in NixOS 24.11. Use `lib.attrsets.cartesianProduct` instead.
@@ -346,9 +359,6 @@
and called `setup.py` from the source tree, which is deprecated.
The modern alternative is to configure `pyproject = true` with `build-system = [ setuptools ]`.
- `boot.enableContainers` is only turned on when a declarative NixOS container is defined in `containers`.
If you use the `nixos-container` tool for imperative container management, set `boot.enableContainers = true;` explicitly.
### Deprecations {#sec-nixpkgs-release-25.11-lib-deprecations}
- `lib.options.mkAliasOptionModuleMD` is now obsolete; use the identical [`lib.options.mkAliasOptionModule`] instead.
@@ -365,10 +375,4 @@
### Additions and Improvements {#sec-nixpkgs-release-25.11-lib-additions-improvements}
- `neovim`: Added support for the `vim.o.exrc` option, the `VIMINIT` environment variable, and sourcing of `sysinit.vim`.
See the neovim help page [`:help startup`](https://neovim.io/doc/user/starting.html#startup) for more information, as well as [the nixpkgs neovim wrapper documentation](#neovim-custom-configuration).
- `cloudflare-ddns`: Added package cloudflare-ddns.
- `lib.cli.toCommandLine`, `lib.cli.toCommandLineShell`, `lib.cli.toCommandLineGNU` and `lib.cli.toCommandLineShellGNU` have been added to address multiple issues in `lib.cli.toGNUCommandLine` and `lib.cli.toGNUCommandLineShell`.
-5
View File
@@ -620,11 +620,6 @@ lib.mapAttrs mkLicense (
fullName = "Unspecified free software license";
};
freeimage = {
spdxId = "FreeImage";
fullName = "FreeImage Public License v1.0";
};
fsl11Mit = {
fullName = "Functional Source License, Version 1.1, MIT Future License";
spdxId = "FSL-1.1-MIT";
+29
View File
@@ -10956,6 +10956,12 @@
githubId = 993484;
name = "Greg Hale";
};
imatpot = {
email = "nixpkgs@brnk.vc";
github = "imatpot";
githubId = 39416660;
name = "Mladen Branković";
};
imgabe = {
email = "gabrielpmonte@hotmail.com";
github = "ImGabe";
@@ -13989,6 +13995,12 @@
name = "Tomas Krupka";
matrix = "@krupkat:matrix.org";
};
kruziikrel13 = {
github = "kruziikrel13";
name = "Michael Petersen";
email = "dev@michaelpetersen.io";
githubId = 72793125;
};
krzaczek = {
name = "Pawel Krzaczkowski";
email = "pawel@printu.pl";
@@ -14728,6 +14740,13 @@
githubId = 54189319;
name = "Lilly Cham";
};
lilyball = {
email = "lily@ballards.net";
github = "lilyball";
githubId = 714;
matrix = "@esperlily:matrix.org";
name = "Lily Ballard";
};
limeytexan = {
email = "limeytexan@gmail.com";
github = "limeytexan";
@@ -23072,6 +23091,11 @@
githubId = 99875823;
name = "Michael Savedra";
};
savtrip = {
github = "savtrip";
githubId = 42227195;
name = "Sav Tripodi";
};
savyajha = {
email = "savya.jha@hawkradius.com";
github = "savyajha";
@@ -28959,6 +28983,11 @@
githubId = 1329212;
name = "Andy Zhang";
};
zhaithizaliel = {
name = "Zhaith Izaliel";
github = "Zhaith-Izaliel";
githubId = 39216756;
};
zhaofengli = {
email = "hello@zhaofeng.li";
matrix = "@zhaofeng:zhaofeng.li";
+1
View File
@@ -115,6 +115,7 @@ with lib.maintainers;
happysalada
minijackson
yurrriq
savtrip
];
github = "beam";
scope = "Maintain BEAM-related packages and modules.";
@@ -166,6 +166,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [twingate](https://docs.twingate.com/docs/linux), a high performance, easy to use zero trust solution that enables access to private resources from any device with better security than a VPN.
- [iio-niri](https://github.com/Zhaith-Izaliel/iio-niri), a utils that listens to `iio-sensor-proxy` and updates Niri output orientation depending on the accelerometer orientation.
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix` (`pkgs.testers.nixosTest` since 22.05), now requires detaching commands such as `succeed("foo &")` and `succeed("foo | xclip -i")` to close stdout.
@@ -180,6 +180,9 @@
- The `services.polipo` module has been removed as `polipo` is unmaintained and archived upstream.
- `boot.enableContainers` is only turned on when a declarative NixOS container is defined in `containers`.
If you use the `nixos-container` tool for imperative container management, set `boot.enableContainers = true;` explicitly.
- `virtualisation.lxd` has been removed due to lack of Nixpkgs maintenance. Users can migrate to `virtualisation.incus`, a fork of LXD, as a replacement. See [Incus migration documentation](https://linuxcontainers.org/incus/docs/main/howto/server_migrate_lxd/) for migration information.
- `virtualisation.libvirtd` now uses OVMF images shipped with QEMU for UEFI machines. `virtualisation.libvirtd.qemu.ovmf` has been removed.
@@ -238,6 +241,8 @@
- The `yeahwm` package and `services.xserver.windowManager.yeahwm` module were removed due to the package being broken and unmaintained upstream.
- `services.nixseparatedebuginfod.enable = true;` has been replaced by `services.nixseparatedebuginfod2.enable = true`. If you only use the official binary cache `https://cache.nixos.org` then no further configuration should be needed. If you have other https substituters, you can add them to `services.nixseparatedebuginfod2.subsituters`. SSH substituters are not supported by nixseparatedebuginfod2. Consider running nixseparatedebuginfod2 on the substituter instead, and pointing to it with the new option `environment.debuginfodServers`.
- The `services.snapserver` module has been migrated to use the settings option and render a configuration file instead of passing every option over the command line.
- The `services.meilisearch` module now always defaults to the latest version of meilisearch, as the previous `meilisearch_1_11` package was removed. This is only an issue if you were using the old version.
@@ -335,6 +340,8 @@ and [release notes for v18](https://goteleport.com/docs/changelog/#1800-070325).
- `services.dnscrypt-proxy` gains a `package` option to specify dnscrypt-proxy package to use.
- `boot.plymouth` now has a [`package`](#opt-boot.plymouth.package) option to specify the package used in the module.
- `services.limesurvey` now supports nginx as reverse-proxy. Available through [services.limesurvey.webserver](#opt-services.limesurvey.webserver).
- `services.nextcloud.configureRedis` now defaults to `true` in accordance with upstream recommendations to have caching for file locking. See the [upstream doc](https://docs.nextcloud.com/server/31/admin_manual/configuration_files/files_locking_transactional.html) for further details.
@@ -4,6 +4,10 @@
...
}:
{
imports = [
./system.nix
];
meta.maintainers = with lib.maintainers; [ mic92 ];
options.hardware.facter = with lib; {
+59
View File
@@ -0,0 +1,59 @@
# Internal library functions for hardware.facter modules
# Eventually we can think about moving this under lib/
# These are facter-specific helpers for querying nixos-facter reports
lib:
let
inherit (lib) assertMsg;
# Query if a facter report contains a CPU with the given vendor name
hasCpu =
name:
{
hardware ? { },
...
}:
let
cpus = hardware.cpu or [ ];
in
assert assertMsg (hardware != { }) "no hardware entries found in the report";
assert assertMsg (cpus != [ ]) "no cpu entries found in the report";
builtins.any (
{
vendor_name ? null,
...
}:
assert assertMsg (vendor_name != null) "detail.vendor_name not found in cpu entry";
vendor_name == name
) cpus;
# Extract all driver_modules from a list of hardware entries
collectDrivers = list: lib.catAttrs "driver_modules" list;
# Convert number to zero-padded 4-digit hex string (for USB device IDs)
toZeroPaddedHex =
n:
let
hex = lib.toHexString n;
len = builtins.stringLength hex;
in
if len == 1 then
"000${hex}"
else if len == 2 then
"00${hex}"
else if len == 3 then
"0${hex}"
else
hex;
in
{
inherit
hasCpu
collectDrivers
toZeroPaddedHex
;
hasAmdCpu = hasCpu "AuthenticAMD";
hasIntelCpu = hasCpu "GenuineIntel";
}
+15
View File
@@ -0,0 +1,15 @@
{
config,
options,
lib,
...
}:
{
# Skip setting hostPlatform in test VMs where it's read-only
# Tests have virtualisation.test options and import read-only.nix
config.nixpkgs = lib.optionalAttrs (!(options ? virtualisation.test)) {
hostPlatform = lib.mkIf (
config.hardware.facter.report.system or null != null && !options.nixpkgs.pkgs.isDefined
) (lib.mkDefault config.hardware.facter.report.system);
};
}
+5 -2
View File
@@ -8,15 +8,18 @@
let
cfg = config.hardware.keyboard.qmk;
inherit (lib) mkEnableOption mkIf;
in
{
options.hardware.keyboard.qmk = {
enable = mkEnableOption "non-root access to the firmware of QMK keyboards";
keychronSupport = mkEnableOption "udev rules for keychron QMK based keyboards";
};
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.qmk-udev-rules ];
services.udev.packages = [
pkgs.qmk-udev-rules
]
++ lib.optionals cfg.keychronSupport [ pkgs.keychron-udev-rules ];
users.groups.plugdev = { };
};
}
+1 -1
View File
@@ -240,6 +240,7 @@
./programs/iay.nix
./programs/iftop.nix
./programs/iio-hyprland.nix
./programs/iio-niri.nix
./programs/immersed.nix
./programs/iotop.nix
./programs/java.nix
@@ -599,7 +600,6 @@
./services/development/livebook.nix
./services/development/lorri.nix
./services/development/nixseparatedebuginfod2.nix
./services/development/nixseparatedebuginfod.nix
./services/development/rstudio-server/default.nix
./services/development/vsmartcard-vpcd.nix
./services/development/zammad.nix
-4
View File
@@ -16,8 +16,6 @@
type = lib.types.bool;
description = ''
Whether to configure system to use Android Debug Bridge (adb).
To grant access to a user, it must be part of adbusers group:
`users.users.alice.extraGroups = ["adbusers"];`
'';
};
};
@@ -25,8 +23,6 @@
###### implementation
config = lib.mkIf config.programs.adb.enable {
services.udev.packages = [ pkgs.android-udev-rules ];
environment.systemPackages = [ pkgs.android-tools ];
users.groups.adbusers = { };
};
}
-1
View File
@@ -34,7 +34,6 @@ in
services.udev = {
enable = true;
packages = with pkgs; [
android-udev-rules
xr-hardware
];
};
+59
View File
@@ -0,0 +1,59 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (lib)
mkEnableOption
mkPackageOption
mkOption
types
mkIf
getExe
escapeShellArgs
mkDefault
;
cfg = config.services.iio-niri;
in
{
options.services.iio-niri = {
enable = mkEnableOption "IIO-Niri";
package = mkPackageOption pkgs "iio-niri" { };
niriUnit = mkOption {
type = types.nonEmptyStr;
default = "niri.service";
description = "The Niri **user** service unit to bind IIO-Niri's **user** service unit to.";
};
extraArgs = mkOption {
type = types.listOf types.str;
default = [ ];
description = "Extra arguments to pass to IIO-Niri.";
};
};
config = mkIf cfg.enable {
hardware.sensor.iio.enable = mkDefault true;
environment.systemPackages = [ cfg.package ];
systemd.user.services.iio-niri = {
description = "IIO-Niri";
wantedBy = [ cfg.niriUnit ];
bindsTo = [ cfg.niriUnit ];
partOf = [ cfg.niriUnit ];
after = [ cfg.niriUnit ];
serviceConfig = {
Type = "simple";
ExecStart = "${getExe cfg.package} ${escapeShellArgs cfg.extraArgs}";
Restart = "on-failure";
};
};
};
meta.maintainers = with lib.maintainers; [ zhaithizaliel ];
}
+3
View File
@@ -228,6 +228,9 @@ in
"services.morty has been removed from NixOS. As the morty package was unmaintained and removed and searxng, its main consumer, dropped support for it."
)
(mkRemovedOptionModule [ "services" "mwlib" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "nixseparatedebuginfod" ]
"Use `services.nixseparatedebuginfod2.enable = true;` instead. If you only use the official binary cache, no additional configuration should be needed."
)
(mkRemovedOptionModule [ "services" "pantheon" "files" ] ''
This module was removed, please add pkgs.pantheon.elementary-files to environment.systemPackages directly.
'')
+1 -1
View File
@@ -64,7 +64,7 @@ in
];
# Needs to verify the user of the processes.
PrivateUsers = "full";
PrivateUsers = false;
# Needs to access other processes to modify their scheduling modes.
ProcSubset = "all";
ProtectProc = "default";
@@ -1,106 +0,0 @@
{
pkgs,
lib,
config,
...
}:
let
cfg = config.services.nixseparatedebuginfod;
url = "127.0.0.1:${toString cfg.port}";
in
{
options = {
services.nixseparatedebuginfod = {
enable = lib.mkEnableOption "separatedebuginfod, a debuginfod server providing source and debuginfo for nix packages";
port = lib.mkOption {
description = "port to listen";
default = 1949;
type = lib.types.port;
};
nixPackage = lib.mkOption {
type = lib.types.package;
default = pkgs.nix;
defaultText = lib.literalExpression "pkgs.nix";
description = ''
The version of nix that nixseparatedebuginfod should use as client for the nix daemon. It is strongly advised to use nix version >= 2.18, otherwise some debug info may go missing.
'';
};
allowOldNix = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
Do not fail evaluation when {option}`services.nixseparatedebuginfod.nixPackage` is older than nix 2.18.
'';
};
};
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = cfg.allowOldNix || (lib.versionAtLeast cfg.nixPackage.version "2.18");
message = "nixseparatedebuginfod works better when `services.nixseparatedebuginfod.nixPackage` is set to nix >= 2.18 (instead of ${cfg.nixPackage.name}). Set `services.nixseparatedebuginfod.allowOldNix` to bypass.";
}
];
systemd.services.nixseparatedebuginfod = {
wantedBy = [ "multi-user.target" ];
wants = [ "nix-daemon.service" ];
after = [ "nix-daemon.service" ];
path = [ cfg.nixPackage ];
serviceConfig = {
ExecStart = [ "${pkgs.nixseparatedebuginfod}/bin/nixseparatedebuginfod -l ${url}" ];
Restart = "on-failure";
CacheDirectory = "nixseparatedebuginfod";
# nix does not like DynamicUsers in allowed-users
User = "nixseparatedebuginfod";
Group = "nixseparatedebuginfod";
# hardening
# Filesystem stuff
ProtectSystem = "strict"; # Prevent writing to most of /
ProtectHome = true; # Prevent accessing /home and /root
PrivateTmp = true; # Give an own directory under /tmp
PrivateDevices = true; # Deny access to most of /dev
ProtectKernelTunables = true; # Protect some parts of /sys
ProtectControlGroups = true; # Remount cgroups read-only
RestrictSUIDSGID = true; # Prevent creating SETUID/SETGID files
PrivateMounts = true; # Give an own mount namespace
RemoveIPC = true;
UMask = "0077";
# Capabilities
CapabilityBoundingSet = ""; # Allow no capabilities at all
NoNewPrivileges = true; # Disallow getting more capabilities. This is also implied by other options.
# Kernel stuff
ProtectKernelModules = true; # Prevent loading of kernel modules
SystemCallArchitectures = "native"; # Usually no need to disable this
ProtectKernelLogs = true; # Prevent access to kernel logs
ProtectClock = true; # Prevent setting the RTC
# Networking
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
# Misc
LockPersonality = true; # Prevent change of the personality
ProtectHostname = true; # Give an own UTS namespace
RestrictRealtime = true; # Prevent switching to RT scheduling
MemoryDenyWriteExecute = true; # Maybe disable this for interpreters like python
RestrictNamespaces = true;
};
};
users.users.nixseparatedebuginfod = {
isSystemUser = true;
group = "nixseparatedebuginfod";
};
users.groups.nixseparatedebuginfod = { };
nix.settings = lib.optionalAttrs (lib.versionAtLeast config.nix.package.version "2.4") {
extra-allowed-users = [ "nixseparatedebuginfod" ];
};
environment.debuginfodServers = [ "http://${url}" ];
};
}
@@ -10,20 +10,27 @@ let
url = "127.0.0.1:${toString cfg.port}";
in
{
imports = [
(lib.mkRemovedOptionModule [ "services" "nixseparatedebuginfod2" "substituter" ] ''
Instead of `services.nixseparatedebuginfod2.substituter = "foo"`, set `services.nixseparatedebuginfod2.substituters = [ "foo" ]` (possibly with mkForce to override the default value).
'')
];
options = {
services.nixseparatedebuginfod2 = {
enable = lib.mkEnableOption "nixseparatedebuginfod2, a debuginfod server providing source and debuginfo for nix packages";
port = lib.mkOption {
description = "port to listen";
default = 1950;
default = 1949;
type = lib.types.port;
};
package = lib.mkPackageOption pkgs "nixseparatedebuginfod2" { };
substituter = lib.mkOption {
description = "nix substituter to fetch debuginfo from. Either http/https substituters, or `local:` to use debuginfo present in the local store.";
default = "https://cache.nixos.org";
example = "local:";
type = lib.types.str;
substituters = lib.mkOption {
description = "nix substituter to fetch debuginfo from. Either http/https/file substituters, or `local:` to use debuginfo present in the local store.";
default = [
"local:"
"https://cache.nixos.org"
];
type = lib.types.listOf lib.types.str;
};
cacheExpirationDelay = lib.mkOption {
description = "keep unused cache entries for this long. A number followed by a unit";
@@ -38,15 +45,19 @@ in
path = [ config.nix.package ];
serviceConfig = {
ExecStart = [
(utils.escapeSystemdExecArgs [
(lib.getExe cfg.package)
"--listen-address"
url
"--substituter"
cfg.substituter
"--expiration"
cfg.cacheExpirationDelay
])
(utils.escapeSystemdExecArgs (
[
(lib.getExe cfg.package)
"--listen-address"
url
"--expiration"
cfg.cacheExpirationDelay
]
++ (lib.lists.concatMap (s: [
"--substituter"
s
]) cfg.substituters)
))
];
Restart = "on-failure";
CacheDirectory = "nixseparatedebuginfod2";
@@ -668,6 +668,9 @@ in
${artisanWrapper}/bin/librenms-artisan optimize
echo "${package}" > ${cfg.dataDir}/package
fi
# to make sure to not read an outdated .env file
${artisanWrapper}/bin/librenms-artisan config:cache
'';
};
@@ -134,6 +134,6 @@ with lib;
];
meta = {
inherit (pkgs.zeronet) maintainers;
inherit (pkgs.zeronet.meta) maintainers;
};
}
-1
View File
@@ -217,7 +217,6 @@ in
};
services = {
udev.packages = with pkgs; [ android-udev-rules ];
avahi = {
enable = true;
publish = {
@@ -324,7 +324,7 @@ let
mapAttrsToList (
vhostName: vhost:
let
onlySSL = vhost.onlySSL || vhost.enableSSL;
onlySSL = vhost.onlySSL;
hasSSL = onlySSL || vhost.addSSL || vhost.forceSSL;
# First evaluation of defaultListen based on a set of listen lines.
@@ -1324,18 +1324,6 @@ in
];
config = mkIf cfg.enable {
warnings =
let
deprecatedSSL =
name: config:
optional config.enableSSL ''
config.services.nginx.virtualHosts.<name>.enableSSL is deprecated,
use config.services.nginx.virtualHosts.<name>.onlySSL instead.
'';
in
flatten (mapAttrsToList deprecatedSSL virtualHosts);
assertions =
let
hostOrAliasIsNull = l: l.root == null || l.alias == null;
@@ -1352,7 +1340,7 @@ in
with host;
count id [
addSSL
(onlySSL || enableSSL)
onlySSL
forceSSL
rejectSSL
] <= 1
@@ -170,12 +170,6 @@ with lib;
'';
};
enableSSL = mkOption {
type = types.bool;
visible = false;
default = false;
};
forceSSL = mkOption {
type = types.bool;
default = false;
@@ -145,6 +145,11 @@ let
in
{
meta = {
maintainers = with lib.maintainers; [ armelclo ];
};
options = {
services.xserver.desktopManager.phosh = {
enable = lib.mkOption {
@@ -183,8 +188,11 @@ in
config = lib.mkIf cfg.enable {
# Inspired by https://gitlab.gnome.org/World/Phosh/phosh/-/blob/main/data/phosh.service
# Parts taken from nixos/modules/services/wayland/cage.nix
systemd.services.phosh = {
wantedBy = [ "graphical.target" ];
after = [ "getty@tty1.service" ];
conflicts = [ "getty@tty1.service" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/phosh-session";
User = cfg.user;
@@ -193,7 +201,7 @@ in
WorkingDirectory = "~";
Restart = "always";
TTYPath = "/dev/tty7";
TTYPath = "/dev/tty1";
TTYReset = "yes";
TTYVHangup = "yes";
TTYVTDisallocate = "yes";
@@ -204,7 +212,7 @@ in
StandardError = "journal";
# Log this user with utmp, letting it show up with commands 'w' and 'who'.
UtmpIdentifier = "tty7";
UtmpIdentifier = "tty1";
UtmpMode = "user";
};
environment = {
@@ -224,6 +232,16 @@ in
};
};
xdg.portal = {
enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-phosh
pkgs.xdg-desktop-portal-gnome
pkgs.xdg-desktop-portal-gtk
];
configPackages = lib.mkDefault [ pkgs.phosh ];
};
environment.systemPackages = [
pkgs.phoc
cfg.package
+45 -25
View File
@@ -6,13 +6,20 @@
...
}:
with lib;
let
plymouth = pkgs.plymouth.override {
systemd = config.boot.initrd.systemd.package;
};
inherit (lib)
mkOption
mkEnableOption
optional
mkIf
mkBefore
mkAfter
literalExpression
types
literalMD
getExe'
escapeShellArg
;
cfg = config.boot.plymouth;
opt = options.boot.plymouth;
@@ -53,7 +60,7 @@ let
themesEnv = pkgs.buildEnv {
name = "plymouth-themes";
paths = [
plymouth
cfg.package
plymouthLogos
]
++ cfg.themePackages;
@@ -85,7 +92,7 @@ let
preStartQuitFixup = {
serviceConfig.ExecStartPre = [
""
"${plymouth}/bin/plymouth quit --wait"
"${getExe' cfg.package "plymouth"} quit --wait"
];
};
@@ -99,6 +106,19 @@ in
enable = mkEnableOption "Plymouth boot splash screen";
package = mkOption {
description = "The plymouth package to use.";
type = types.package;
default = pkgs.plymouth.override {
systemd = config.boot.initrd.systemd.package;
};
defaultText = literalExpression ''
pkgs.plymouth.override {
systemd = config.boot.initrd.systemd.package;
}
'';
};
font = mkOption {
default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf";
defaultText = literalExpression ''"''${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf"'';
@@ -109,7 +129,7 @@ in
};
themePackages = mkOption {
default = lib.optional (cfg.theme == "breeze") nixosBreezePlymouth;
default = optional (cfg.theme == "breeze") nixosBreezePlymouth;
defaultText = literalMD ''
A NixOS branded variant of the breeze theme when
`config.${opt.theme} == "breeze"`, otherwise
@@ -164,15 +184,15 @@ in
boot.kernelParams = [ "splash" ];
# To be discoverable by systemd.
environment.systemPackages = [ plymouth ];
environment.systemPackages = [ cfg.package ];
environment.etc."plymouth/plymouthd.conf".source = configFile;
environment.etc."plymouth/plymouthd.defaults".source =
"${plymouth}/share/plymouth/plymouthd.defaults";
"${cfg.package}/share/plymouth/plymouthd.defaults";
environment.etc."plymouth/logo.png".source = cfg.logo;
environment.etc."plymouth/themes".source = "${themesEnv}/share/plymouth/themes";
# XXX: Needed because we supply a different set of plugins in initrd.
environment.etc."plymouth/plugins".source = "${plymouth}/lib/plymouth";
environment.etc."plymouth/plugins".source = "${cfg.package}/lib/plymouth";
systemd.tmpfiles.rules = [
"d /run/plymouth 0755 root root 0 -"
@@ -181,7 +201,7 @@ in
"L+ /run/plymouth/plugins - - - - /etc/plymouth/plugins"
];
systemd.packages = [ plymouth ];
systemd.packages = [ cfg.package ];
systemd.services.plymouth-kexec.wantedBy = [ "kexec.target" ];
systemd.services.plymouth-halt.wantedBy = [ "halt.target" ];
@@ -200,13 +220,13 @@ in
systemd.services.emergency = preStartQuitFixup;
boot.initrd.systemd = {
extraBin.plymouth = "${plymouth}/bin/plymouth"; # for the recovery shell
extraBin.plymouth = getExe' cfg.package "plymouth"; # for the recovery shell
storePaths = [
"${lib.getBin config.boot.initrd.systemd.package}/bin/systemd-tty-ask-password-agent"
"${plymouth}/bin/plymouthd"
"${plymouth}/sbin/plymouthd"
(getExe' config.boot.initrd.systemd.package "systemd-tty-ask-password-agent")
(getExe' cfg.package "plymouthd")
"${cfg.package}/sbin/plymouthd"
];
packages = [ plymouth ]; # systemd units
packages = [ cfg.package ]; # systemd units
services.rescue = preStartQuitFixup;
services.emergency = preStartQuitFixup;
@@ -215,7 +235,7 @@ in
# Files
"/etc/plymouth/plymouthd.conf".source = configFile;
"/etc/plymouth/logo.png".source = cfg.logo;
"/etc/plymouth/plymouthd.defaults".source = "${plymouth}/share/plymouth/plymouthd.defaults";
"/etc/plymouth/plymouthd.defaults".source = "${cfg.package}/share/plymouth/plymouthd.defaults";
# Directories
"/etc/plymouth/plugins".source = pkgs.runCommand "plymouth-initrd-plugins" { } (
checkIfThemeExists
@@ -225,7 +245,7 @@ in
mkdir -p $out/renderers
# module might come from a theme
cp ${themesEnv}/lib/plymouth/*.so $out
cp ${plymouth}/lib/plymouth/renderers/*.so $out/renderers
cp ${cfg.package}/lib/plymouth/renderers/*.so $out/renderers
# useless in the initrd, and adds several megabytes to the closure
rm $out/renderers/x11.so
''
@@ -306,10 +326,10 @@ in
'')
];
boot.initrd.extraUtilsCommands = lib.mkIf (!config.boot.initrd.systemd.enable) (
boot.initrd.extraUtilsCommands = mkIf (!config.boot.initrd.systemd.enable) (
''
copy_bin_and_libs ${plymouth}/bin/plymouth
copy_bin_and_libs ${plymouth}/bin/plymouthd
copy_bin_and_libs ${getExe' cfg.package "plymouth"}
copy_bin_and_libs ${getExe' cfg.package "plymouthd"}
''
+ checkIfThemeExists
@@ -320,12 +340,12 @@ in
mkdir -p $out/lib/plymouth/renderers
# module might come from a theme
cp ${themesEnv}/lib/plymouth/*.so $out/lib/plymouth
cp ${plymouth}/lib/plymouth/renderers/*.so $out/lib/plymouth/renderers
cp ${cfg.package}/lib/plymouth/renderers/*.so $out/lib/plymouth/renderers
# useless in the initrd, and adds several megabytes to the closure
rm $out/lib/plymouth/renderers/x11.so
mkdir -p $out/share/plymouth/themes
cp ${plymouth}/share/plymouth/plymouthd.defaults $out/share/plymouth
cp ${cfg.package}/share/plymouth/plymouthd.defaults $out/share/plymouth
# Copy themes into working directory for patching
mkdir themes
+8 -7
View File
@@ -4,12 +4,12 @@
name = "jellyfin";
meta.maintainers = with lib.maintainers; [ minijackson ];
nodes.machine =
{ ... }:
{
services.jellyfin.enable = true;
environment.systemPackages = with pkgs; [ ffmpeg ];
};
nodes.machine = {
services.jellyfin.enable = true;
environment.systemPackages = with pkgs; [ ffmpeg ];
# Jellyfin fails to start if the data dir doesn't have at least 2GiB of free space
virtualisation.diskSize = 3 * 1024;
};
# Documentation of the Jellyfin API: https://api.jellyfin.org/
# Beware, this link can be resource intensive
@@ -30,6 +30,7 @@
machine.wait_for_unit("jellyfin.service")
machine.wait_for_open_port(8096)
machine.wait_until_succeeds("journalctl --since -1m --unit jellyfin --grep 'Startup complete'")
machine.succeed("curl --fail http://localhost:8096/")
machine.wait_until_succeeds("curl --fail http://localhost:8096/health | grep Healthy")
@@ -105,7 +106,7 @@
folders_str = machine.succeed(api_get("/Library/VirtualFolders"))
folders = json.loads(folders_str)
print(folders)
return all(folder["RefreshStatus"] == "Idle" for folder in folders)
return all(folder.get("RefreshStatus") == "Idle" for folder in folders)
retry(is_refreshed)
+1 -1
View File
@@ -18,7 +18,7 @@ in
virtualHosts.${name} = {
enableACME = false;
forceSSL = false;
enableSSL = false;
onlySSL = false;
locations."/_matrix" = {
proxyPass = "http://[::1]:6167";
-83
View File
@@ -1,83 +0,0 @@
{ pkgs, lib, ... }:
let
secret-key = "key-name:/COlMSRbehSh6YSruJWjL+R0JXQUKuPEn96fIb+pLokEJUjcK/2Gv8Ai96D7JGay5gDeUTx5wdpPgNvum9YtwA==";
public-key = "key-name:BCVI3Cv9hr/AIveg+yRmsuYA3lE8ecHaT4Db7pvWLcA=";
in
{
name = "nixseparatedebuginfod";
# A binary cache with debug info and source for gnumake
nodes.cache =
{ pkgs, ... }:
{
services.nix-serve = {
enable = true;
secretKeyFile = builtins.toFile "secret-key" secret-key;
openFirewall = true;
};
system.extraDependencies = [
pkgs.gnumake.debug
pkgs.gnumake.src
pkgs.sl
];
};
# the machine where we need the debuginfo
nodes.machine = {
imports = [
../modules/installer/cd-dvd/channel.nix
];
services.nixseparatedebuginfod.enable = true;
nix.settings = {
substituters = lib.mkForce [ "http://cache:5000" ];
trusted-public-keys = [ public-key ];
};
environment.systemPackages = [
pkgs.valgrind
pkgs.gdb
pkgs.gnumake
(pkgs.writeShellScriptBin "wait_for_indexation" ''
set -x
while debuginfod-find debuginfo /run/current-system/sw/bin/make |& grep 'File too large'; do
sleep 1;
done
'')
];
};
testScript = ''
start_all()
cache.wait_for_unit("nix-serve.service")
cache.wait_for_open_port(5000)
machine.wait_for_unit("nixseparatedebuginfod.service")
machine.wait_for_open_port(1949)
with subtest("show the config to debug the test"):
machine.succeed("nix --extra-experimental-features nix-command show-config |& logger")
machine.succeed("cat /etc/nix/nix.conf |& logger")
with subtest("check that the binary cache works"):
machine.succeed("nix-store -r ${pkgs.sl}")
# nixseparatedebuginfod needs .drv to associate executable -> source
# on regular systems this would be provided by nixos-rebuild
machine.succeed("nix-instantiate '<nixpkgs>' -A gnumake")
machine.succeed("timeout 600 wait_for_indexation")
# test debuginfod-find
machine.succeed("debuginfod-find debuginfo /run/current-system/sw/bin/make")
# test that gdb can fetch source
out = machine.succeed("gdb /run/current-system/sw/bin/make --batch -x ${builtins.toFile "commands" ''
start
l
''}")
print(out)
assert 'main (int argc, char **argv, char **envp)' in out
# test that valgrind can display location information
# this relies on the fact that valgrind complains about gnumake
# because we also ask valgrind to show leak kinds
# which are usually false positives.
out = machine.succeed("valgrind --leak-check=full --show-leak-kinds=all make --version 2>&1")
print(out)
assert 'main.c' in out
'';
}
+2 -2
View File
@@ -32,7 +32,7 @@
nodes.machine = {
services.nixseparatedebuginfod2 = {
enable = true;
substituter = "http://cache";
substituters = [ "http://cache" ];
};
environment.systemPackages = [
pkgs.valgrind
@@ -45,7 +45,7 @@
cache.wait_for_unit("nginx.service")
cache.wait_for_open_port(80)
machine.wait_for_unit("nixseparatedebuginfod2.service")
machine.wait_for_open_port(1950)
machine.wait_for_open_port(1949)
with subtest("check that the binary cache works"):
machine.succeed("nix-store --extra-substituters http://cache --option require-sigs false -r ${pkgs.sl}")
@@ -60,6 +60,7 @@ melpaBuild (finalAttrs: {
eafPythonDeps =
ps: with ps; [
pysocks
pycookiecheat
];
};
+46 -39
View File
@@ -7,20 +7,25 @@
gettext,
pkg-config,
cscope,
ruby,
ruby_3_4,
tcl,
perl,
luajit,
darwin,
libiconv,
python3,
enablePython ? false,
rcodesign,
}:
let
inherit (lib) optional optionals optionalString;
in
# Try to match MacVim's documented script interface compatibility
let
#perl = perl540;
# Ruby 3.3
#ruby = ruby_3_3;
# Ruby 3.4
ruby = ruby_3_4;
# Building requires a few system tools to be in PATH.
# Some of these we could patch into the relevant source files (such as xcodebuild and
@@ -35,13 +40,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "macvim";
version = "179";
version = "181";
src = fetchFromGitHub {
owner = "macvim-dev";
repo = "macvim";
rev = "release-${finalAttrs.version}";
hash = "sha256-L9LVXyeA09aMtNf+b/Oo+eLpeVEKTD1/oNWCiFn5FbU=";
hash = "sha256-Wdq+eXSaGs+y+75ZbxoNAcyopRkWRHHRm05T0SHBrow=";
};
enableParallelBuilding = true;
@@ -49,7 +54,8 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
pkg-config
buildSymlinks
];
]
++ optional stdenv.isAarch64 rcodesign;
buildInputs = [
gettext
ncurses
@@ -58,8 +64,8 @@ stdenv.mkDerivation (finalAttrs: {
ruby
tcl
perl
python3
];
]
++ optional enablePython python3;
patches = [ ./macvim.patch ];
@@ -71,14 +77,22 @@ stdenv.mkDerivation (finalAttrs: {
"--enable-multibyte"
"--enable-nls"
"--enable-luainterp=dynamic"
]
++ optionals enablePython [
"--enable-python3interp=dynamic"
]
++ [
"--enable-perlinterp=dynamic"
"--enable-rubyinterp=dynamic"
"--enable-tclinterp=yes"
"--without-local-dir"
"--with-luajit"
"--with-lua-prefix=${luajit}"
]
++ optionals enablePython [
"--with-python3-command=${python3}/bin/python3"
]
++ [
"--with-ruby-command=${ruby}/bin/ruby"
"--with-tclsh=${tcl}/bin/tclsh"
"--with-tlib=ncurses"
@@ -92,6 +106,13 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
echo "Patching file src/MacVim/MacVim.xcodeproj/project.pbxproj"
sed -e '/Sparkle\.framework/d' -i src/MacVim/MacVim.xcodeproj/project.pbxproj
''
# Xcode 26.0 sets *_DEPLOYMENT_TARGET env vars for all platforms in shell script build phases.
# This breaks invocations of clang in those phases, as they target the wrong platform.
# Note: The shell script build phase in question uses /bin/zsh.
+ ''
substituteInPlace src/MacVim/MacVim.xcodeproj/project.pbxproj \
--replace-fail 'make \' $'for x in ''${(k)parameters}; do if [[ $x = *_DEPLOYMENT_TARGET ]]; then [[ $x = MACOSX_DEPLOYMENT_TARGET ]] || unset $x; fi; done\nmake \\'
'';
# This is unfortunate, but we need to use the same compiler as Xcode, but Xcode doesn't provide a
@@ -101,7 +122,7 @@ stdenv.mkDerivation (finalAttrs: {
let
# ideally we'd recurse, but we don't need that right now
inputs = [ ncurses ] ++ perl.propagatedBuildInputs;
ldflags = map (drv: "-L${lib.getLib drv}/lib") inputs;
ldflags = map (drv: "-L${lib.getLib drv}/lib") inputs ++ [ "-headerpad_max_install_names" ];
cppflags = map (drv: "-isystem ${lib.getDev drv}/include") inputs;
in
''
@@ -131,7 +152,7 @@ stdenv.mkDerivation (finalAttrs: {
# as the scheme seems to have the wrong default.
+ ''
configureFlagsArray+=(
XCODEFLAGS="-scheme MacVim -derivedDataPath $NIX_BUILD_TOP/derivedData"
XCODEFLAGS="-scheme MacVim -derivedDataPath $NIX_BUILD_TOP/derivedData LDFLAGS='\$(inherited) -headerpad_max_install_names' ENABLE_CODE_COVERAGE=NO"
--with-xcodecfg="Release"
)
'';
@@ -149,9 +170,9 @@ stdenv.mkDerivation (finalAttrs: {
# Xcode project or pass it as a flag to xcodebuild as well.
postConfigure = ''
substituteInPlace src/auto/config.mk \
--replace " -L${stdenv.cc.libc}/lib" "" \
--replace " -L${darwin.libunwind}/lib" "" \
--replace " -L${libiconv}/lib" ""
--replace-warn " -L${stdenv.cc.libc}/lib" "" \
--replace-warn " -L${darwin.libunwind}/lib" "" \
--replace-warn " -L${libiconv}/lib" ""
# All the libraries we stripped have -osx- in their name as of this time.
# Assert now that this pattern no longer appears in config.mk.
@@ -191,12 +212,21 @@ stdenv.mkDerivation (finalAttrs: {
libperl=$(dirname $(find ${perl} -name "libperl.dylib"))
install_name_tool -add_rpath ${luajit}/lib $exe
install_name_tool -add_rpath ${tcl}/lib $exe
''
+ optionalString enablePython ''
install_name_tool -add_rpath ${python3}/lib $exe
''
+ ''
install_name_tool -add_rpath $libperl $exe
install_name_tool -add_rpath ${ruby}/lib $exe
# Remove manpages from tools we aren't providing
find $out/Applications/MacVim.app/Contents/man -name evim.1 -delete
find $out/Applications/MacVim.app/Contents/man \( -name evim.1 -or -name eview.1 \) -delete
rm $out/Applications/MacVim.app/Contents/man/man1/mvim.1
''
+ optionalString stdenv.isAarch64 ''
# Resign the binary and set the linker-signed flag.
rcodesign sign --code-signature-flags linker-signed $exe
'';
# We rely on the user's Xcode install to build. It may be located in an arbitrary place, and
@@ -212,33 +242,10 @@ stdenv.mkDerivation (finalAttrs: {
description = "Vim - the text editor - for macOS";
homepage = "https://macvim.org/";
license = licenses.vim;
maintainers = [ ];
maintainers = with maintainers; [ lilyball ];
platforms = platforms.darwin;
hydraPlatforms = [ ]; # hydra can't build this as long as we rely on Xcode and sandboxProfile
# Needs updating to a newer MacVim for Python and Ruby version support
broken = true;
knownVulnerabilities = [
"CVE-2023-46246"
"CVE-2023-48231"
"CVE-2023-48232"
"CVE-2023-48233"
"CVE-2023-48234"
"CVE-2023-48235"
"CVE-2023-48236"
"CVE-2023-48237"
"CVE-2023-48706"
"CVE-2023-5344"
"CVE-2023-5441"
"CVE-2023-5535"
"CVE-2024-22667"
"CVE-2024-41957"
"CVE-2024-41965"
"CVE-2024-43374"
"CVE-2024-47814"
"CVE-2025-1215"
"CVE-2025-22134"
"CVE-2025-24014"
"CVE-2025-26603"
"CVE-2025-29768"
"CVE-2025-53905"
"CVE-2025-53906"
@@ -199,16 +199,3 @@ index 6e33142..6185f45 100644
#ifdef AMIGA
# include "os_amiga.h"
#endif
diff --git a/src/vimtutor b/src/vimtutor
index 3b154f2..e89f260 100755
--- a/src/vimtutor
+++ b/src/vimtutor
@@ -16,7 +16,7 @@ seq="vim vim81 vim80 vim8 vim74 vim73 vim72 vim71 vim70 vim7 vim6 vi"
if test "$1" = "-g"; then
# Try to use the GUI version of Vim if possible, it will fall back
# on Vim if Gvim is not installed.
- seq="gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
+ seq="mvim gvim gvim81 gvim80 gvim8 gvim74 gvim73 gvim72 gvim71 gvim70 gvim7 gvim6 $seq"
shift
fi
@@ -18552,6 +18552,19 @@ final: prev: {
meta.hydraPlatforms = [ ];
};
vim-hy = buildVimPlugin {
pname = "vim-hy";
version = "2024-10-06";
src = fetchFromGitHub {
owner = "hylang";
repo = "vim-hy";
rev = "ab1699bfa636e7355ac0030189331251c49c7d61";
sha256 = "09v83a6ybj73043acpm2nps5s56sqg2pz456b4qgz2r7zjlgx5r9";
};
meta.homepage = "https://github.com/hylang/vim-hy/";
meta.hydraPlatforms = [ ];
};
vim-hybrid = buildVimPlugin {
pname = "vim-hybrid";
version = "2016-01-05";
@@ -1424,6 +1424,7 @@ https://github.com/ntk148v/vim-horizon/,,
https://github.com/jonsmithers/vim-html-template-literals/,,
https://github.com/humanoid-colors/vim-humanoid-colorscheme/,,
https://github.com/vim-utils/vim-husk/,,
https://github.com/hylang/vim-hy/,HEAD,
https://github.com/w0ng/vim-hybrid/,,
https://github.com/kristijanhusak/vim-hybrid-material/,,
https://github.com/noc7c9/vim-iced-coffee-script/,,
@@ -5,13 +5,13 @@
}:
mkLibretroCore {
core = "mame2003";
version = "0-unstable-2025-08-26";
version = "0-unstable-2025-10-21";
src = fetchFromGitHub {
owner = "libretro";
repo = "mame2003-libretro";
rev = "dfddf4db86a3acd5997ce9419c7afd00ff6587a0";
hash = "sha256-GJRawFdlHCfBRiErJJ3ZvZDF1gvYVkuQvKXV1qUCCRQ=";
rev = "3570605767a447c13b087a5946189bcbafe11e1d";
hash = "sha256-BcPiNYEi6uE8aSpPDNgZ8vmzSnZJUparEM3CEdexbPo=";
};
# Fix build with GCC 14
@@ -13,13 +13,13 @@
}:
mkLibretroCore {
core = "ppsspp";
version = "0-unstable-2025-10-17";
version = "0-unstable-2025-10-22";
src = fetchFromGitHub {
owner = "hrydgard";
repo = "ppsspp";
rev = "4ccf013d3b52314b935d8fc49b70f08d546aa48b";
hash = "sha256-e1iqnhJQKYXddp3VwpAPg6eHBnDHOFvo1b4evp8f8X4=";
rev = "28790c19af7ddfa822c4152a3cae4a7fb6c06bc7";
hash = "sha256-m1qmgr92Ni8wAYer6kIdcu+BUiBSROFcSC/M3v/JOmA=";
fetchSubmodules = true;
};
+12 -2
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
cmake,
ninja,
qtbase,
@@ -19,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "CopyQ";
version = "11.0.0";
version = "13.0.0";
src = fetchFromGitHub {
owner = "hluk";
repo = "CopyQ";
rev = "v${version}";
hash = "sha256-/t+8YsqeX0tlxwQDDNTalttCDIgGhpLbzYe3UqY04xM=";
hash = "sha256-wxjUL5mGXAMNVGP+dAh1NrE9tw71cJW9zmLsaCVphTo=";
};
nativeBuildInputs = [
@@ -48,12 +49,21 @@ stdenv.mkDerivation rec {
kdePackages.kconfig
kdePackages.kstatusnotifieritem
kdePackages.knotifications
kdePackages.kguiaddons
];
cmakeFlags = [
(lib.cmakeBool "WITH_QT6" true)
];
patches = [
# https://github.com/hluk/CopyQ/pull/3268
(fetchpatch2 {
url = "https://github.com/hluk/CopyQ/commit/103903593c37c9db5406d276e0097fbf18d2a8c4.patch?full_index=1";
hash = "sha256-zywE6ntMw+WvTyilXwvd4lfQRAAB9R/AGpwtwwPFZZE=";
})
];
meta = {
homepage = "https://hluk.github.io/CopyQ";
description = "Clipboard Manager with Advanced Features";
+4
View File
@@ -25,6 +25,10 @@ stdenv.mkDerivation rec {
hash = "sha256-B3RcYr/b8pZTJV35BWuqmWbq+C2WkkcwBR0oNaUXPRw=";
};
patches = [
./remove-Werror.patch
];
nativeBuildInputs = [
qmake
pkg-config
@@ -0,0 +1,12 @@
diff --git a/kiwix-desktop.pro b/kiwix-desktop.pro
index c1f4f93..bf10828 100644
--- a/kiwix-desktop.pro
+++ b/kiwix-desktop.pro
@@ -27,7 +27,6 @@ QMAKE_CXXFLAGS += -std=c++17
QMAKE_LFLAGS += -std=c++17
!win32 {
- QMAKE_CXXFLAGS += -Werror
equals(QT_MAJOR_VERSION, 6):equals(QT_MINOR_VERSION, 6) {
# Fail the build on errors, except for 'template-id-cdtor' due to a problem with Qt headers.
# This can be removed when the Ubuntu package is fixed.
@@ -353,6 +353,15 @@
"spdx": "MPL-2.0",
"vendorHash": "sha256-u/ycUCnEYlCBrDcI0VCkob4CGXrXYdGWwiw5EeJyuiw="
},
"e-breuninger_netbox": {
"hash": "sha256-iCaCt8ZbkxCk43QEyj3PeHYuKPCPVU2oQ78aumH/l6k=",
"homepage": "https://registry.terraform.io/providers/e-breuninger/netbox",
"owner": "e-breuninger",
"repo": "terraform-provider-netbox",
"rev": "v5.0.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-Q3H/6mpkWn1Gw0NRMtKtkBRGHjPJZGBFdGwfalyQ4Z0="
},
"equinix_equinix": {
"hash": "sha256-QE8ukiQHZqhSsZyFnInIpnGvsSlFuFMun7paK/Z3HTM=",
"homepage": "https://registry.terraform.io/providers/equinix/equinix",
@@ -0,0 +1,13 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d12bd0db..f904000b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,7 +19,7 @@
## along with this program. If not, see <http://www.gnu.org/licenses/>.
##
-cmake_minimum_required(VERSION 2.8.6)
+cmake_minimum_required(VERSION 3.10)
project(DSView)
@@ -31,6 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# Fix absolute install paths
./install.patch
./cmake4.patch
];
# /build/source/libsigrok4DSL/strutil.c:343:19: error: implicit declaration of function 'strcasecmp'; did you mean 'g_strcasecmp'? []
@@ -37,7 +37,6 @@ let
plugins = lib.mergeAttrsList [
{ hy3 = import ./hy3.nix; }
{ hycov = import ./hycov.nix; }
{ hypr-dynamic-cursors = import ./hypr-dynamic-cursors.nix; }
{ hyprfocus = import ./hyprfocus.nix; }
{ hyprgrass = import ./hyprgrass.nix; }
@@ -45,6 +44,7 @@ let
{ hyprsplit = import ./hyprsplit.nix; }
(import ./hyprland-plugins.nix)
(lib.optionalAttrs config.allowAliases {
hycov = throw "hyprlandPlugins.hycov has been removed because it has been marked as broken since September 2024."; # Added 2025-10-12
hyprscroller = throw "hyprlandPlugins.hyprscroller has been removed as the upstream project is deprecated. Consider using `hyprlandPlugins.hyprscrolling`."; # Added 2025-05-09
})
];
@@ -1,32 +0,0 @@
{
lib,
mkHyprlandPlugin,
cmake,
fetchFromGitHub,
nix-update-script,
}:
mkHyprlandPlugin (finalAttrs: {
pluginName = "hycov";
version = "0.41.2.1";
src = fetchFromGitHub {
owner = "DreamMaoMao";
repo = "hycov";
tag = finalAttrs.version;
hash = "sha256-NRnxbkuiq1rQ+uauo7D+CEe73iGqxsWxTQa+1SEPnXQ=";
};
nativeBuildInputs = [ cmake ];
passthru.updateScript = nix-update-script { };
meta = {
description = "Clients overview for Hyprland plugin";
homepage = "https://github.com/DreamMaoMao/hycov";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ donovanglover ];
platforms = lib.platforms.linux;
broken = true; # Doesn't work after Hyprland v0.41.2 https://gitee.com/DreamMaoMao/hycov/issues/IANYC8#note_31512295_link
};
})
+10 -10
View File
@@ -1,28 +1,28 @@
{
"stable": {
"linux": {
"version": "8.11.12",
"version": "8.11.14",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.12.x64.tar.gz",
"hash": "sha256-znzmaEYOLVw6nUBk20oMdSngkO8iiSTHvM1y/t3Z55Y="
"url": "https://downloads.1password.com/linux/tar/stable/x86_64/1password-8.11.14.x64.tar.gz",
"hash": "sha256-LdGw2AVDiQXwGAz9abEeoCosQUdr5q978OMo+kXATIc="
},
"aarch64": {
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.12.arm64.tar.gz",
"hash": "sha256-ENuvB8GExhHWjJ97JV0qc2cIn9HqXb202dzIxu1fz2A="
"url": "https://downloads.1password.com/linux/tar/stable/aarch64/1password-8.11.14.arm64.tar.gz",
"hash": "sha256-U+wJEH5NwWuPV+Oy6RJ+dki4lJB2A9aOVjvRSkm6zfY="
}
}
},
"darwin": {
"version": "8.11.12",
"version": "8.11.14",
"sources": {
"x86_64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.12-x86_64.zip",
"hash": "sha256-mr7DsYIEh21pHQX0cq9JlTZ4lHhkyYHCmwMaxEiK+5g="
"url": "https://downloads.1password.com/mac/1Password-8.11.14-x86_64.zip",
"hash": "sha256-GXbwYxFNw6R8UdKxPL6k2lQF4uabFRgaEKNaFzecnZ0="
},
"aarch64": {
"url": "https://downloads.1password.com/mac/1Password-8.11.12-aarch64.zip",
"hash": "sha256-34ylS5Xq9By6nuUkEmLoi0wR5hAQx1vBhrYFq4mjSDs="
"url": "https://downloads.1password.com/mac/1Password-8.11.14-aarch64.zip",
"hash": "sha256-rViZC9b6kOaqkNNJibABmWu0Z5PEtBQE0jGtaUdd4LY="
}
}
}
+3 -3
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation {
pname = "airwindows";
version = "0-unstable-2025-10-05";
version = "0-unstable-2025-10-18";
src = fetchFromGitHub {
owner = "airwindows";
repo = "airwindows";
rev = "5889ed48beefd556adca76ed3e4b1b4982531dbd";
hash = "sha256-zpuzKpuYGe0xpUrBeWpaCYEBy9mGOX5R3LAeiWPCQ3s=";
rev = "1b0b4d56623e464db038e88cb87d1703b5aa0c63";
hash = "sha256-u83unbD3qf3OudMeOq20Iw2K3SOsKrGLekYCiVZTzF8=";
};
# we patch helpers because honestly im spooked out by where those variables
+2 -2
View File
@@ -15,13 +15,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "albert";
version = "0.32.1";
version = "33.0.1";
src = fetchFromGitHub {
owner = "albertlauncher";
repo = "albert";
tag = "v${finalAttrs.version}";
hash = "sha256-v2SMY0KGFwwybsiMu1W1wBWdyoDEFF3hWd4LeaT8Nts=";
hash = "sha256-zHLyvFzLR7Ryk6eoD+Lp+w4bIj7MAeREK0YzRXYnx6c=";
fetchSubmodules = true;
};
+2 -2
View File
@@ -7,11 +7,11 @@
let
pname = "altair";
version = "8.2.5";
version = "8.3.0";
src = fetchurl {
url = "https://github.com/imolorhe/altair/releases/download/v${version}/altair_${version}_x86_64_linux.AppImage";
sha256 = "sha256-P0CVJFafrsvWzDWyJZEds812m3yUDpo4eocysEIQqrw=";
sha256 = "sha256-uLqtrF5WWJ5+6bN/h4u/vdvTlbQtZID1osujfuJad4U=";
};
appimageContents = appimageTools.extract { inherit pname version src; };
+3
View File
@@ -79,6 +79,9 @@ stdenv.mkDerivation rec {
postPatch = ''
echo "find_package(Threads)" >> cmake/options.cmake
substituteInPlace src/libs/ec/abstracts/CMakeLists.txt \
--replace-fail "CMAKE_MINIMUM_REQUIRED (VERSION 2.8)" "CMAKE_MINIMUM_REQUIRED (VERSION 3.10)"
'';
# aMule will try to `dlopen' libupnp and libixml, so help it
@@ -1,44 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
udevCheckHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "android-udev-rules";
version = "20250525";
src = fetchFromGitHub {
owner = "M0Rf30";
repo = "android-udev-rules";
rev = finalAttrs.version;
hash = "sha256-4ODU9EoVYV+iSu6+M9ePed45QkOZgWkDUlFTlWJ8ttQ=";
};
installPhase = ''
runHook preInstall
install -D 51-android.rules $out/lib/udev/rules.d/51-android.rules
runHook postInstall
'';
nativeBuildInputs = [
udevCheckHook
];
doInstallCheck = true;
meta = {
homepage = "https://github.com/M0Rf30/android-udev-rules";
description = "Android udev rules list aimed to be the most comprehensive on the net";
longDescription = ''
Android udev rules list aimed to be the most comprehensive on the net.
To use on NixOS, simply add this package to services.udev.packages:
```nix
services.udev.packages = [ pkgs.android-udev-rules ];
```
'';
platforms = lib.platforms.linux;
license = lib.licenses.gpl3Plus;
maintainers = [ ];
teams = [ lib.teams.android ];
};
})
@@ -888,5 +888,183 @@
"hash": "sha256-o4tCuCAIgAYg/Li3wTs12mVWr5C/4vbwu1zi+kJ9d6w=",
"version": "11417.121.6"
}
},
"26.0": {
"CarbonHeaders": {
"hash": "sha256-nIPXnLr21yVnpBhx9K5q3l/nPARA6JL/dED08MeyhP8=",
"version": "18.1"
},
"CommonCrypto": {
"hash": "sha256-+qAwL6+s7di9cX/qXtapLkjCFoDuZaSYltRJEG4qekM=",
"version": "600035"
},
"IOAudioFamily": {
"hash": "sha256-A3iiAjjP29VdjMj40tLS5Q/ni4qeh9bBpnmNzeG2pIY=",
"version": "700.2"
},
"IOBDStorageFamily": {
"hash": "sha256-OcQUJ3nEfrpvWX/npnedJ4PECIGWFSLiM0PKoiH911w=",
"version": "26"
},
"IOCDStorageFamily": {
"hash": "sha256-p/2qM5zjXFDRb/DISpEHxQEdvmuLlRGt/Ygc71Yu2rI=",
"version": "62"
},
"IODVDStorageFamily": {
"hash": "sha256-1Sa8aZBGNtqJBNHva+YXxET6Wcdm2PgVrTzYT/8qrN4=",
"version": "46"
},
"IOFWDVComponents": {
"hash": "sha256-WkfkWnzRupEh20U7vjsTta89clhus6GTkOpXQWXw/bM=",
"version": "208"
},
"IOFireWireAVC": {
"hash": "sha256-qR9lSTa7PN5Z9Nis4tfuXlcZGMIU48dete/NPD0UBbE=",
"version": "436"
},
"IOFireWireFamily": {
"hash": "sha256-hmErAXjLWIelqJaCrB8J4IiIxyB7S6EHFY+AY9YhmKQ=",
"version": "492"
},
"IOFireWireSBP2": {
"hash": "sha256-Xk+PDnUaO9q46nQwHwTKf/QXtGclfs0wTWiUbcV7e4s=",
"version": "454"
},
"IOFireWireSerialBusProtocolTransport": {
"hash": "sha256-cM/VFhVWNVwdJYk+mme0UYttQd7eJwd7Hlo7KNRyHY0=",
"version": "262"
},
"IOGraphics": {
"hash": "sha256-iysZE42mOKZbFxSZBNspaBTCRKEKK38DFGBxZWQxZxI=",
"version": "599"
},
"IOHIDFamily": {
"hash": "sha256-YLnabX90g4Q8LxjwVuJF6KODCDxychWV+VJaNG9d8fI=",
"version": "2222.0.24"
},
"IOKitUser": {
"hash": "sha256-ngwi8YMUqE0q8j7Lr5cqJwi2V+IDu3ie3bduotHIUJU=",
"version": "100222.0.4"
},
"IONetworkingFamily": {
"hash": "sha256-ZF5ML41Y1l1liQn32qTkcl4mMvx9Xdizb9VgvTzVTL4=",
"version": "186"
},
"IOSerialFamily": {
"hash": "sha256-wVS4QTx6MBOS0VrwyCZ3s5Usezwaf8rWzmNnfdDTXTU=",
"version": "93"
},
"IOStorageFamily": {
"hash": "sha256-1FKSF622qeXPGngA3UmQ2M/IU1pdlMoYBPbXytUFDaQ=",
"version": "331"
},
"IOUSBFamily": {
"hash": "sha256-Z0E3TfKP49toYo1Fo9kElRap8CZ+mVDHy5RIexgJTpA=",
"version": "630.4.5"
},
"Libc": {
"hash": "sha256-k+HQ+qgye0ORFm0hU8WzE4ysbbEoFZ7wcbVl5giDH/E=",
"version": "1725.0.11"
},
"Libinfo": {
"hash": "sha256-4InBEPi0n2EMo/8mIBib1Im4iTKRcRJ4IlAcLCigVGk=",
"version": "600"
},
"Libm": {
"hash": "sha256-p4BndAag9d0XSMYWQ+c4myGv5qXbKx5E1VghudSbpTk=",
"version": "2026"
},
"Libnotify": {
"hash": "sha256-p8cJZlBYOFmI1NDHXGYjgcv8z9Ldc1amZuYlxxJfeVY=",
"version": "344.0.1"
},
"Librpcsvc": {
"hash": "sha256-UWYdCQ9QsBqwM01bWr+igINAHSdSluB/FrOclC5AjTI=",
"version": "31"
},
"Libsystem": {
"hash": "sha256-/NlSwPaoTVx+bl9hYsfz3C5MuLdqGv4vdAh0KDbDKmY=",
"version": "1356"
},
"OpenDirectory": {
"hash": "sha256-6fSl8PasCZSBfe0ftaePcBuSEO3syb6kK+mfDI6iR7A=",
"version": "146"
},
"Security": {
"hash": "sha256-oxOvZsDoNYZNiWf+MASHrR4Q2o5oaqvK2We51hH7CO8=",
"version": "61901.0.87.0.1"
},
"architecture": {
"hash": "sha256-PRNUrhzSOrwmxSPkKmV0LV7yEIik65sdkfKdBqcwFhU=",
"version": "282"
},
"configd": {
"hash": "sha256-58or+OQP788UgQKO7Y8k8pY/enaSqH971ks7xCPu8fA=",
"version": "1385.0.7"
},
"copyfile": {
"hash": "sha256-I9uDi5BDQKa7mO3XpHxv0d6PiROW2ueZ3vGfrsG0OJo=",
"version": "230.0.1.0.1"
},
"dtrace": {
"hash": "sha256-5HpH6Cg8vWWzOX5ADD//izKDvqGnzV05Giju8lmGeyA=",
"version": "413"
},
"dyld": {
"hash": "sha256-jzoFLwbms0rUwzyjYif/r6Rmr4kyn+as/bhc4paEPeY=",
"version": "1323.3"
},
"eap8021x": {
"hash": "sha256-17bseWT4OWMA8hF+YSDDjxhVyJpbpP2xwv8dGti1YoM=",
"version": "368.0.3"
},
"hfs": {
"hash": "sha256-OkgqZ03gwn2hTuHxZrPDmQOrY4Dwu7MrX+BfG+PTgvE=",
"version": "704.0.3.0.2"
},
"launchd": {
"hash": "sha256-8mW9bnuHmRXCx9py8Wy28C5b2QPICW0rlAps5njYa00=",
"version": "842.1.4"
},
"libclosure": {
"hash": "sha256-pvwfcbeEJmTEPdt6/lgVswiabLRG+sMN6VT5FwG7C4Q=",
"version": "96"
},
"libdispatch": {
"hash": "sha256-L0+Ho9dAlMXVpqFEGIcIMsJc0gULckRulUImNEZe5MU=",
"version": "1542.0.4"
},
"libmalloc": {
"hash": "sha256-482hgm1ESr3LWC/JhuQNGNu9smsa2Eap49/eH+YNAio=",
"version": "792.1.1"
},
"libplatform": {
"hash": "sha256-wGZ2Im81mRXx6epgj/tbOJpg89CEbAr0Z8oFEpkyNMU=",
"version": "359.1.2"
},
"libpthread": {
"hash": "sha256-VuMpQjxuMsdHsFq0q6QIWSWi88gVF2jNzIfti20Gkbw=",
"version": "539"
},
"mDNSResponder": {
"hash": "sha256-iRqCpPAQDRjgRbRz3s6q2oyzq6xo+w4FTBai79104Zo=",
"version": "2881.0.25"
},
"objc4": {
"hash": "sha256-Nlgr36yLvGkUJIEFQ5w8FAB0r2syEsRTw0KuUShNT8E=",
"version": "950"
},
"ppp": {
"hash": "sha256-FzHZ05o7JxwgTqz0e3D68b/DiLu2x2ErzGMh0U78fLo=",
"version": "1020.1.1"
},
"removefile": {
"hash": "sha256-Z5UD0mk/s80CQB0PZWDzSl2JWXmnVmwUvlNb28+hR3k=",
"version": "84"
},
"xnu": {
"hash": "sha256-Cuf7kPtsn4CPXqyZmxVsJlA5i+Ikryp8ezJyGrvT63c=",
"version": "12377.1.9"
}
}
}
@@ -38,5 +38,13 @@
],
"version": "15.5",
"hash": "sha256-HBiSJuw1XBUK5R/8Sj65c3rftSEvQl/O9ZZVp/g1Amo="
},
"26": {
"urls": [
"https://swcdn.apple.com/content/downloads/27/62/093-35114-A_AAH24ZZQB5/yn87ru9qe9225m8hwq2ic3hjy5yc5vw7h9/CLTools_macOSNMOS_SDK.pkg",
"https://web.archive.org/web/20250915230423/https://swcdn.apple.com/content/downloads/27/62/093-35114-A_AAH24ZZQB5/yn87ru9qe9225m8hwq2ic3hjy5yc5vw7h9/CLTools_macOSNMOS_SDK.pkg"
],
"version": "26.0",
"hash": "sha256-54UtisDXHCxs7vO4fZSWOYwxLbdouLxWwGisez+tlAc="
}
}
+5
View File
@@ -38,6 +38,11 @@ stdenv.mkDerivation (finalAttrs: {
louvain-community
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required(VERSION 3.3 FATAL_ERROR)" "cmake_minimum_required(VERSION 3.10)"
'';
meta = with lib; {
description = "CNF minimizer and minimal independent set calculator";
homepage = "https://github.com/meelgroup/arjun";
-35
View File
@@ -1,35 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 12d6e557c..cc004555d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -321,11 +321,6 @@ if(NOT TARGET nonstd::span-lite)
endif()
-af_dep_check_and_populate(${assets_prefix}
- URI https://github.com/arrayfire/assets.git
- REF master
-)
-set(ASSETS_DIR ${${assets_prefix}_SOURCE_DIR})
# when crosscompiling use the bin2cpp file from the native bin directory
if(CMAKE_CROSSCOMPILING)
@@ -473,18 +468,6 @@ install(FILES ${ArrayFire_BINARY_DIR}/include/af/version.h
DESTINATION "${AF_INSTALL_INC_DIR}/af/"
COMPONENT headers)
-# install the examples irrespective of the AF_BUILD_EXAMPLES value
-# only the examples source files are installed, so the installation of these
-# source files does not depend on AF_BUILD_EXAMPLES
-# when AF_BUILD_EXAMPLES is OFF, the examples source is installed without
-# building the example executables
-install(DIRECTORY examples/ #NOTE The slash at the end is important
- DESTINATION ${AF_INSTALL_EXAMPLE_DIR}
- COMPONENT examples)
-
-install(DIRECTORY ${ASSETS_DIR}/examples/ #NOTE The slash at the end is important
- DESTINATION ${AF_INSTALL_EXAMPLE_DIR}
- COMPONENT examples)
install(DIRECTORY "${ArrayFire_SOURCE_DIR}/LICENSES/"
DESTINATION LICENSES
@@ -1,31 +0,0 @@
diff --git a/CMakeModules/AFconfigure_deps_vars.cmake b/CMakeModules/AFconfigure_deps_vars.cmake
index aac332f5a..e9e711159 100644
--- a/CMakeModules/AFconfigure_deps_vars.cmake
+++ b/CMakeModules/AFconfigure_deps_vars.cmake
@@ -94,7 +94,7 @@ macro(af_dep_check_and_populate dep_prefix)
URL ${adcp_args_URI}
URL_HASH ${adcp_args_REF}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${ArrayFire_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-subbuild"
@@ -104,7 +104,7 @@ macro(af_dep_check_and_populate dep_prefix)
QUIET
URL ${adcp_args_URI}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${ArrayFire_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-subbuild"
@@ -116,7 +116,7 @@ macro(af_dep_check_and_populate dep_prefix)
GIT_REPOSITORY ${adcp_args_URI}
GIT_TAG ${adcp_args_REF}
DOWNLOAD_COMMAND \"\"
- UPDATE_DISCONNECTED ON
+ UPDATE_COMMAND \"\"
SOURCE_DIR "${ArrayFire_SOURCE_DIR}/extern/${dep_prefix}-src"
BINARY_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-build"
SUBBUILD_DIR "${ArrayFire_BINARY_DIR}/extern/${dep_prefix}-subbuild"
-248
View File
@@ -1,248 +0,0 @@
{
blas,
boost,
clblast,
cmake,
config,
cudaPackages,
fetchFromGitHub,
fftw,
fftwFloat,
fmt_9,
forge,
freeimage,
gtest,
lapack,
lib,
libGL,
mesa,
ocl-icd,
opencl-clhpp,
pkg-config,
python3,
span-lite,
stdenv,
# NOTE: We disable tests by default, because they cannot be run easily on
# non-NixOS systems when either CUDA or OpenCL support is enabled (CUDA and
# OpenCL need access to drivers that are installed outside of Nix on
# non-NixOS systems).
doCheck ? false,
cpuSupport ? true,
cudaSupport ? config.cudaSupport,
# OpenCL needs mesa which is broken on Darwin
openclSupport ? !stdenv.hostPlatform.isDarwin,
# This argument lets one run CUDA & OpenCL tests on non-NixOS systems by
# telling Nix where to find the drivers. If you know the version of the
# Nvidia driver that is installed on your system, you can do:
#
# arrayfire.override {
# nvidiaComputeDrivers =
# callPackage
# (prev.linuxPackages.nvidiaPackages.mkDriver {
# version = cudaVersion; # our driver version
# sha256_64bit = cudaHash; # sha256 of the .run binary
# useGLVND = false;
# useProfiles = false;
# useSettings = false;
# usePersistenced = false;
# ...
# })
# { libsOnly = true; };
# }
nvidiaComputeDrivers ? null,
fetchpatch,
}:
# ArrayFire compiles with 64-bit BLAS, but some tests segfault or throw
# exceptions, which means that it isn't really supported yet...
assert blas.isILP64 == false;
stdenv.mkDerivation rec {
pname = "arrayfire";
version = "3.9.0";
src = fetchFromGitHub {
owner = "arrayfire";
repo = "arrayfire";
rev = "v3.9.0";
hash = "sha256-80fxdkaeAQ5u0X/UGPaI/900cdkZ/vXNcOn5tkZ+C3Y=";
};
# We cannot use the clfft from Nixpkgs because ArrayFire maintain a fork
# of clfft where they've modified the CMake build system, and the
# CMakeLists.txt of ArrayFire assumes that we're using that fork.
#
# This can be removed once ArrayFire upstream their changes.
clfft = fetchFromGitHub {
owner = "arrayfire";
repo = "clfft";
rev = "760096b37dcc4f18ccd1aac53f3501a83b83449c";
sha256 = "sha256-vJo1YfC2AJIbbRj/zTfcOUmi0Oj9v64NfA9MfK8ecoY=";
};
glad = fetchFromGitHub {
owner = "arrayfire";
repo = "glad";
rev = "ef8c5508e72456b714820c98e034d9a55b970650";
sha256 = "sha256-u9Vec7XLhE3xW9vzM7uuf+b18wZsh/VMtGbB6nMVlno=";
};
threads = fetchFromGitHub {
owner = "arrayfire";
repo = "threads";
rev = "4d4a4f0384d1ac2f25b2c4fc1d57b9e25f4d6818";
sha256 = "sha256-qqsT9woJDtQvzuV323OYXm68pExygYs/+zZNmg2sN34=";
};
test-data = fetchFromGitHub {
owner = "arrayfire";
repo = "arrayfire-data";
rev = "a5f533d7b864a4d8f0dd7c9aaad5ff06018c4867";
sha256 = "sha256-AWzhsrDXyZrQN2bd0Ng/XlE8v02x7QWTiFTyaAuRXSw=";
};
# ArrayFire fails to compile with newer versions of spdlog, so we can't use
# the one in Nixpkgs. Once they upgrade, we can switch to using spdlog from
# Nixpkgs.
spdlog = fetchFromGitHub {
owner = "gabime";
repo = "spdlog";
rev = "v1.9.2";
hash = "sha256-GSUdHtvV/97RyDKy8i+ticnSlQCubGGWHg4Oo+YAr8Y=";
};
cmakeFlags = [
"-DBUILD_TESTING=ON"
# We do not build examples, because building tests already takes long enough...
"-DAF_BUILD_EXAMPLES=OFF"
# No need to build forge, because it's a separate package
"-DAF_BUILD_FORGE=OFF"
"-DAF_COMPUTE_LIBRARY='FFTW/LAPACK/BLAS'"
# Prevent ArrayFire from trying to download some matrices from the Internet
"-DAF_TEST_WITH_MTX_FILES=OFF"
# Have to use the header-only version, because we're not using the version
# from Nixpkgs. Otherwise, libaf.so won't be able to find the shared
# library, because ArrayFire's CMake files do not run the install step of
# spdlog.
"-DAF_WITH_SPDLOG_HEADER_ONLY=ON"
(if cpuSupport then "-DAF_BUILD_CPU=ON" else "-DAF_BUILD_CPU=OFF")
(if openclSupport then "-DAF_BUILD_OPENCL=ON" else "-DAF_BUILD_OPENCL=OFF")
(if cudaSupport then "-DAF_BUILD_CUDA=ON" else "-DAF_BUILD_CUDA=OFF")
]
++ lib.optionals cudaSupport [
# ArrayFire use deprecated FindCUDA in their CMake files, so we help CMake
# locate cudatoolkit.
"-DCUDA_LIBRARIES_PATH=${cudaPackages.cudatoolkit}/lib"
];
# ArrayFire have a repo with assets for the examples. Since we don't build
# the examples anyway, remove the dependency on assets.
patches = [
./no-assets.patch
./no-download.patch
# Fix for newer opencl-clhpp. Remove with the next release.
(fetchpatch {
url = "https://github.com/arrayfire/arrayfire/pull/3562.patch";
hash = "sha256-AdWlpcRTn9waNAaVpZfK6sJ/xBQLiBC4nBeEYiGNN50";
})
];
postPatch = ''
mkdir -p ./extern/af_glad-src
mkdir -p ./extern/af_threads-src
mkdir -p ./extern/af_test_data-src
mkdir -p ./extern/ocl_clfft-src
mkdir -p ./extern/spdlog-src
cp -R --no-preserve=mode,ownership ${glad}/* ./extern/af_glad-src/
cp -R --no-preserve=mode,ownership ${threads}/* ./extern/af_threads-src/
cp -R --no-preserve=mode,ownership ${test-data}/* ./extern/af_test_data-src/
cp -R --no-preserve=mode,ownership ${clfft}/* ./extern/ocl_clfft-src/
cp -R --no-preserve=mode,ownership ${spdlog}/* ./extern/spdlog-src/
# libaf.so (the unified backend) tries to load the right shared library at
# runtime, and the search paths are hard-coded... We tweak them to point to
# the installation directory in the Nix store.
substituteInPlace src/api/unified/symbol_manager.cpp \
--replace '"/opt/arrayfire-3/lib/",' \
"\"$out/lib/\", \"/opt/arrayfire-3/lib/\","
'';
inherit doCheck;
checkPhase =
let
LD_LIBRARY_PATH = builtins.concatStringsSep ":" (
[
"${forge}/lib"
"${freeimage}/lib"
]
++ lib.optional cudaSupport "${cudaPackages.cudatoolkit}/lib64"
# On non-NixOS systems, help the tests find Nvidia drivers
++ lib.optional (nvidiaComputeDrivers != null) "${nvidiaComputeDrivers}/lib"
);
ctestFlags = builtins.concatStringsSep " " (
# We have to run with "-j1" otherwise various segfaults occur on non-NixOS systems.
[
"--output-on-errors"
"-j1"
]
# See https://github.com/arrayfire/arrayfire/issues/3484
++ lib.optional openclSupport "-E '(inverse_dense|cholesky_dense)'"
);
in
''
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
''
+
# On non-NixOS systems, help the tests find Nvidia drivers
lib.optionalString (openclSupport && nvidiaComputeDrivers != null) ''
export OCL_ICD_VENDORS=${nvidiaComputeDrivers}/etc/OpenCL/vendors
''
+ ''
# Note: for debugging, enable AF_TRACE=all
AF_PRINT_ERRORS=1 ctest ${ctestFlags}
'';
buildInputs = [
blas
boost.dev
boost.out
clblast
fftw
fftwFloat
# We need fmt_9 because ArrayFire fails to compile with newer versions.
fmt_9
forge
freeimage
gtest
lapack
libGL
ocl-icd
opencl-clhpp
span-lite
]
++ lib.optionals cudaSupport [
cudaPackages.cudatoolkit
cudaPackages.cudnn
cudaPackages.cuda_cccl
]
++ lib.optionals openclSupport [
mesa
];
nativeBuildInputs = [
cmake
pkg-config
python3
];
meta = with lib; {
description = "General-purpose library for parallel and massively-parallel computations";
longDescription = ''
A general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures including CPUs, GPUs, and other hardware acceleration devices.";
'';
license = licenses.bsd3;
homepage = "https://arrayfire.com/";
platforms = platforms.linux;
maintainers = with maintainers; [
chessai
twesterhout
];
broken = true;
};
}
+2 -2
View File
@@ -40,13 +40,13 @@
stdenv.mkDerivation rec {
pname = "art";
version = "1.25.9";
version = "1.25.10";
src = fetchFromGitHub {
owner = "artpixls";
repo = "ART";
tag = version;
hash = "sha256-dg0msZ0aeyl4L7RqqGur9Lalu1QtE0igEc54WT5F+SQ=";
hash = "sha256-qGrkRsdQppfIolxAhxWnJrbYotELKga6X7CFY55xCKk=";
};
# Fix the build with CMake 4.
+6
View File
@@ -20,6 +20,12 @@ stdenv.mkDerivation (finalAttrs: {
sha256 = "0ipqna7a9mxqm0fl9ggwhbc7i9yxz3jfyi0w3dymjp40v7jw1n20";
};
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required(VERSION 2.8)' \
'cmake_minimum_required(VERSION 3.5)'
'';
nativeBuildInputs = [
cmake
pkg-config
-52
View File
@@ -1,52 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
gtk2,
gtk3,
pkg-config,
wrapGAppsHook3,
}:
stdenv.mkDerivation rec {
pname = "awf";
version = "1.4.0";
src = fetchFromGitHub {
owner = "valr";
repo = "awf";
rev = "v${version}";
sha256 = "0jl2kxwpvf2n8974zzyp69mqhsbjnjcqm39y0jvijvjb1iy8iman";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
wrapGAppsHook3
];
buildInputs = [
gtk2
gtk3
];
autoreconfPhase = ''
patchShebangs ./autogen.sh
./autogen.sh
'';
meta = with lib; {
description = "Widget Factory";
longDescription = ''
A widget factory is a theme preview application for gtk2 and
gtk3. It displays the various widget types provided by gtk2/gtk3
in a single window allowing to see the visual effect of the
applied theme.
'';
homepage = "https://github.com/valr/awf";
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ michalrus ];
};
}
@@ -7,13 +7,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "bash-pinyin-completion-rs";
version = "0.3.2";
version = "1.0.0";
src = fetchFromGitHub {
owner = "AOSC-Dev";
repo = "bash-pinyin-completion-rs";
tag = "v${finalAttrs.version}";
hash = "sha256-r+B11TgMOhwslqygv72S9uhF7v79MAzUu5XHlD/P3HY=";
hash = "sha256-VXIIG+ZGb4fS3LSIkGW744ui4AKTdQCjrNlObH/YZVY=";
};
strictDeps = true;
+4 -4
View File
@@ -108,23 +108,23 @@ let
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel_nojdk-${version}-linux-x86_64";
hash = "sha256-CYL1paAtzTbfl7TfsqwJry/dkoTO/yZdHrX0NSA1+Ig=";
hash = "sha256-94KFvsS7fInXFTQZPzMq6DxnHQrRktljwACyAz8adSw=";
}
else if stdenv.hostPlatform.system == "aarch64-linux" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel_nojdk-${version}-linux-arm64";
hash = "sha256-6DzTEx218/Qq38eMWvXOX/t9VJDyPczz6Edh4eHdOfg=";
hash = "sha256-wfuZLSHa77wr0A4ZLF5DqH7qyOljYNXM2a5imoS+nGQ";
}
else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchurl {
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-darwin-x86_64";
hash = "sha256-Ut00wXzJezqlvf49RcTjk4Im8j3Qv7R77t1iWpU/HwU=";
hash = "sha256-qAb9s6R5+EbqVfWHUT7sk1sOrbDEPv4EhgXH7nC46Zw=";
}
else
fetchurl {
# stdenv.hostPlatform.system == "aarch64-darwin"
url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-darwin-arm64";
hash = "sha256-ArEXuX0JIa5NT04R0n4sCTA4HfQW43NDXV0EGcaibyQ=";
hash = "sha256-4bRp4OvkRIvhpZ2r/eFJdwrByECHy3rncDEM1tClFYo=";
};
nativeBuildInputs = defaultShellUtils;
+7 -4
View File
@@ -8,13 +8,13 @@
}:
buildGoModule rec {
pname = "beszel";
version = "0.13.2";
version = "0.14.1";
src = fetchFromGitHub {
owner = "henrygd";
repo = "beszel";
tag = "v${version}";
hash = "sha256-5akfgX3533NkeszP/by9ZfwTmMPdG5/JKFjswP1FRp8=";
hash = "sha256-IQ39OtYG2VDyHIPFRR0VNK56czGlJly66Bwb/NYIBxY=";
};
webui = buildNpmPackage {
@@ -48,7 +48,7 @@ buildGoModule rec {
sourceRoot = "${src.name}/internal/site";
npmDepsHash = "sha256-7+3K8MhA+FXWRXQR5edUYbL/XcxPmUqWQPxl5k8u1xs=";
npmDepsHash = "sha256-Wtq/pesnovOyAnFta/wI+j8rml8XWORvOLz/Q82sy8g=";
};
vendorHash = "sha256-IfwgL4Ms5Uho1l0yGCyumbr1N/SN+j5HaFl4hACkTsQ=";
@@ -77,7 +77,10 @@ buildGoModule rec {
homepage = "https://github.com/henrygd/beszel";
changelog = "https://github.com/henrygd/beszel/releases/tag/v${version}";
description = "Lightweight server monitoring hub with historical data, docker stats, and alerts";
maintainers = with lib.maintainers; [ bot-wxt1221 ];
maintainers = with lib.maintainers; [
bot-wxt1221
arunoruto
];
license = lib.licenses.mit;
};
}
@@ -1,31 +1,32 @@
{
mkDerivation,
stdenv,
lib,
fetchFromGitHub,
cmake,
pkg-config,
qtbase,
qttools,
qtx11extras,
libsForQt5,
nix-update-script,
}:
mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "birdtray";
version = "1.11.4";
src = fetchFromGitHub {
owner = "gyunaev";
repo = "birdtray";
rev = "v${version}";
sha256 = "sha256-rj8tPzZzgW0hXmq8c1LiunIX1tO/tGAaqDGJgCQda5M=";
tag = "v${finalAttrs.version}";
hash = "sha256-rj8tPzZzgW0hXmq8c1LiunIX1tO/tGAaqDGJgCQda5M=";
};
nativeBuildInputs = [
cmake
pkg-config
libsForQt5.wrapQtAppsHook
];
buildInputs = [
buildInputs = with libsForQt5; [
qtbase
qttools
qtx11extras
@@ -41,12 +42,14 @@ mkDerivation rec {
# https://github.com/gyunaev/birdtray/issues/113#issuecomment-621742315
qtWrapperArgs = [ "--set QT_QPA_PLATFORM xcb" ];
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Mail system tray notification icon for Thunderbird";
mainProgram = "birdtray";
homepage = "https://github.com/gyunaev/birdtray";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ Flakebi ];
platforms = platforms.linux;
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ Flakebi ];
platforms = lib.platforms.linux;
};
}
})
@@ -1,62 +0,0 @@
{
lib,
stdenv,
fetchurl,
cmake,
gfortran,
# Whether to build with ILP64 interface
blas64 ? false,
}:
stdenv.mkDerivation rec {
pname = "blas";
version = "3.12.0";
src = fetchurl {
url = "http://www.netlib.org/blas/${pname}-${version}.tgz";
sha256 = "sha256-zMQbXQiOUNsAMDF66bDJrzdXEME5KsrR/iCWAtpaWq0=";
};
passthru = { inherit blas64; };
nativeBuildInputs = [
cmake
gfortran
];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ] ++ lib.optional blas64 "-DBUILD_INDEX64=ON";
# CMake 4 is no longer retro compatible with versions < 3.5
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 3.2)" \
"cmake_minimum_required(VERSION 3.5)"
'';
postInstall =
let
canonicalExtension =
if stdenv.hostPlatform.isLinux then
"${stdenv.hostPlatform.extensions.sharedLibrary}.${lib.versions.major version}"
else
stdenv.hostPlatform.extensions.sharedLibrary;
in
lib.optionalString blas64 ''
ln -s $out/lib/libblas64${canonicalExtension} $out/lib/libblas${canonicalExtension}
'';
preFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
for fn in $(find $out/lib -name "*.so*"); do
if [ -L "$fn" ]; then continue; fi
install_name_tool -id "$fn" "$fn"
done
'';
meta = with lib; {
description = "Basic Linear Algebra Subprograms";
license = licenses.publicDomain;
maintainers = [ maintainers.markuskowa ];
homepage = "http://www.netlib.org/blas/";
platforms = platforms.unix;
};
}
+8
View File
@@ -44,6 +44,14 @@ stdenv.mkDerivation rec {
})
];
# CMake 4 is no longer retro compatible with versions < 3.5
# cmake_minimum_required was already to an upper version, but not cmake_policy
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_policy(VERSION 3.1)" \
""
'';
nativeBuildInputs = [
cmake
pkg-config
+2 -2
View File
@@ -8,11 +8,11 @@
stdenvNoCC.mkDerivation rec {
pname = "bluemap";
version = "5.12";
version = "5.13";
src = fetchurl {
url = "https://github.com/BlueMap-Minecraft/BlueMap/releases/download/v${version}/BlueMap-${version}-cli.jar";
hash = "sha256-k+tSIlgOj7o7aHPdJzXSW1zxx2pZ67TB3aJ4Fv7U0pM=";
hash = "sha256-NDnslNJ3B6Cjxr6qem9xRX71ddHP014cGynJZdiFDpE=";
};
dontUnpack = true;
+3 -1
View File
@@ -28,7 +28,9 @@ stdenv.mkDerivation (finalAttrs: {
# TODO: check with other distros and report upstream
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "-m64" ""
--replace-fail "-m64" "" \
--replace-fail 'cmake_minimum_required(VERSION 3.1 FATAL_ERROR)' \
'cmake_minimum_required(VERSION 3.5 FATAL_ERROR)'
'';
nativeBuildInputs = [ cmake ];
+6
View File
@@ -23,6 +23,12 @@ stdenv.mkDerivation rec {
buildInputs = [ zlib ];
postPatch = ''
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required(VERSION 2.8.12)' \
'cmake_minimum_required(VERSION 3.5)'
'';
passthru.tests.version = testers.testVersion {
package = bustools;
command = "bustools version";
+3 -3
View File
@@ -10,16 +10,16 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-binstall";
version = "1.15.6";
version = "1.15.7";
src = fetchFromGitHub {
owner = "cargo-bins";
repo = "cargo-binstall";
rev = "v${version}";
hash = "sha256-TzO7xz58nvuT6r8SN0cUKdW0x1yR1FlpsnGhU67SNOA=";
hash = "sha256-EQhEI4MqYNwjqb8awROTLfxjGsoPKeT7VHt642uSgCc=";
};
cargoHash = "sha256-cYjsSPHcWYobosSlB2tLda3NSGUTxE5DyA4AxAF8C/8=";
cargoHash = "sha256-a9X8L4AZWhlcQ5lVo0I1GL2wpCjOClNuZLy+GwHJDcA=";
nativeBuildInputs = [
pkg-config
+3 -3
View File
@@ -14,16 +14,16 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tauri";
version = "2.8.4";
version = "2.9.1";
src = fetchFromGitHub {
owner = "tauri-apps";
repo = "tauri";
tag = "tauri-cli-v${finalAttrs.version}";
hash = "sha256-fp/ODsbZTQdMkkRu9QqTQfavq0RPfSzZm1l4sE1hacc=";
hash = "sha256-MOhcTG8r7kDVTg5PY1rmrkd8U94CqT7RdPSfaakqf2M=";
};
cargoHash = "sha256-l1IF9R+KeXAjs8Dy59mZNOCX0eoskotBPbltKU3nHQ8=";
cargoHash = "sha256-lWBCMS7xFEqXPpMpBzfZmdwQOq8Yaux83FGFaRyaBNg=";
nativeBuildInputs = lib.optionals (stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isLinux) [
pkg-config
+1 -1
View File
@@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
;
fetcherVersion = 1;
hash = "sha256-7F2vk6WUeXunTuXX9J0rVhl2I0ENYagRdqTy+WAXBB8=";
hash = "sha256-gHniZv847JFrmKnTUZcgyWhFl/ovJ5IfKbbM5I21tZc=";
};
nativeBuildInputs = [
+3 -3
View File
@@ -8,13 +8,13 @@
rustPlatform.buildRustPackage (finalAttrs: {
pname = "chhoto-url";
version = "6.3.2";
version = "6.4.0";
src = fetchFromGitHub {
owner = "SinTan1729";
repo = "chhoto-url";
tag = finalAttrs.version;
hash = "sha256-k5fxU3HWhlYlBjmHNsj4lin7LHdwswbwm5bCVmCMjg8=";
hash = "sha256-IghMhr1ksoTWPvuQ66XfXWrNgPAmS39OqjdhwpElD3U=";
};
sourceRoot = "${finalAttrs.src.name}/actix";
@@ -24,7 +24,7 @@ rustPlatform.buildRustPackage (finalAttrs: {
--replace-fail "./resources/" "${placeholder "out"}/share/chhoto-url/resources/"
'';
cargoHash = "sha256-oR1SCEbMMDfQyvhoUJzBiK4VHCZwx+o/PaZBfxPB2K8=";
cargoHash = "sha256-cxw0Gg80UHvkjBXGt7tKMEinfhS2aT4fZ7oDzNNHnX8=";
postInstall = ''
mkdir -p $out/share/chhoto-url
+3
View File
@@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -i '/-m64/d;/-m32/d' CMakeLists.txt
substituteInPlace CMakeLists.txt --replace-fail \
'cmake_minimum_required( VERSION 2.6 )' \
'cmake_minimum_required( VERSION 3.5 ) '
'';
nativeBuildInputs = [ cmake ];
+2 -2
View File
@@ -1,6 +1,6 @@
import ./generic.nix {
version = "25.9.2.1-stable";
hash = "sha256-BygRxiDhhs91/UPWY7f3jAGyTtyAj98RdDXLwjs8Abo=";
version = "25.9.4.58-stable";
hash = "sha256-HRbqVSyDuvhkv0+PSgps9AXKdLlukrLA65OLx5gZ3c0=";
lts = false;
nixUpdateExtraArgs = [
"--version-regex"
+2 -2
View File
@@ -9,13 +9,13 @@
stdenvNoCC.mkDerivation rec {
pname = "cloudlog";
version = "2.7.1";
version = "2.7.5";
src = fetchFromGitHub {
owner = "magicbug";
repo = "Cloudlog";
rev = version;
hash = "sha256-My0z4MW/9O0+ErIh7SEWU3KGJ4UQDmhwJICtBgQ4+q8=";
hash = "sha256-Lb20SrwFQybMNmxgmztAm2/9PBcukgt03W93C743oM8=";
};
postPatch = ''
+3 -3
View File
@@ -6,18 +6,18 @@
buildGoModule rec {
pname = "cnquery";
version = "12.5.1";
version = "12.6.0";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnquery";
tag = "v${version}";
hash = "sha256-f7P7m+RBrWxvdBMtPXZLNB4/Alr0ByiEhh9mIcVPfLk=";
hash = "sha256-f+2E3pG5c/3yrsvBPJp9QUHcDRY4vmmxeosw/jfQ+mY=";
};
subPackages = [ "apps/cnquery" ];
vendorHash = "sha256-i0atpv6vtbbpTKuh9aJU6oPILCqdshB0MVbgOn6fppw=";
vendorHash = "sha256-NI6x1MIdIHK4OfoqRvnyGxJZaCxLclaU4/rNvDx/Fhc=";
ldflags = [
"-w"
+4 -4
View File
@@ -5,7 +5,7 @@
"packages": {
"": {
"dependencies": {
"codebuff": "^1.0.501"
"codebuff": "^1.0.502"
}
},
"node_modules/chownr": {
@@ -18,9 +18,9 @@
}
},
"node_modules/codebuff": {
"version": "1.0.501",
"resolved": "https://registry.npmjs.org/codebuff/-/codebuff-1.0.501.tgz",
"integrity": "sha512-ZTvQce7Qj5tjWt63AJujjGkCDLLWAXm3vrKOKlfUKXPXJQfbM8TYljB2+fnMEkjgShZ3Fg+nSEIb1q7hcuBTbQ==",
"version": "1.0.502",
"resolved": "https://registry.npmjs.org/codebuff/-/codebuff-1.0.502.tgz",
"integrity": "sha512-gI1e7Hf+gnZux9O+NjhkGrR9kXltycLEvwMmULJ+2t72mk1bvDrCjRuzIZ5AFWxUeZsCj/rVtBpoJail9Qz7Og==",
"cpu": [
"x64",
"arm64"
+3 -3
View File
@@ -6,14 +6,14 @@
buildNpmPackage rec {
pname = "codebuff";
version = "1.0.501";
version = "1.0.502";
src = fetchzip {
url = "https://registry.npmjs.org/codebuff/-/codebuff-${version}.tgz";
hash = "sha256-WW599dxu7LdL2pU0nb4zZb3ek67MlTpJ/H9aa7SWhi8=";
hash = "sha256-2bskaDG7T/27Re1X4ZXsUrcu1WBb1+iuVcAOqWBRw8w=";
};
npmDepsHash = "sha256-M8BD9XMnn6ETifLl0j4fe2+UDaAGOA9mN2SsmXSfMPM=";
npmDepsHash = "sha256-zqtV6AB2N8M9WqVc1JpfEOIoAyxoVEY3zO7WQiwwpQc=";
postPatch = ''
cp ${./package-lock.json} package-lock.json
+3 -3
View File
@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "comrak";
version = "0.44.0";
version = "0.45.0";
src = fetchFromGitHub {
owner = "kivikakk";
repo = "comrak";
rev = "v${version}";
sha256 = "sha256-qwwROwIFG9/pX8t92EHriaN3O4Z2IpQGylVKhbp/0IU=";
sha256 = "sha256-+87K5ITDrF/nH1H4z8zyqQlJnviOlRdNnV8v6xsS0uM=";
};
cargoHash = "sha256-Ybyrk+I0nzHFkEaWDovTOGPC26i7BXcNtFgFjmCHIwM=";
cargoHash = "sha256-efUiKSEsD+GguhriTpLmsyUxpQYzwr4rHJAC9FHMzdU=";
meta = {
description = "CommonMark-compatible GitHub Flavored Markdown parser and formatter";
@@ -9,16 +9,16 @@
}:
rustPlatform.buildRustPackage {
pname = "cosmic-ext-applet-caffeine";
version = "0-unstable-2025-10-16";
version = "0-unstable-2025-10-22";
src = fetchFromGitHub {
owner = "tropicbliss";
repo = "cosmic-ext-applet-caffeine";
rev = "0b50a109495d02ab8c99a501d2dd7575c6fabc1b";
hash = "sha256-Z84LqsPVGd7PfOUmC1iJWgTGrl6FicaxZHwTZmgmAyk=";
rev = "2d27a3dec13ca455975f39927bad040f36576d03";
hash = "sha256-4MP1H3U1sr7+h5Psf6wTiQuJJgEtlRrgQKdF7COkosI=";
};
cargoHash = "sha256-TC7WNJUxGZpfDbDgnifBSZM7SvN2/Iw0HRXWPDXnDBM=";
cargoHash = "sha256-89/0XEdQ7MCycAkHhTkA5FCj/eKVLgWDhljKB/Lo4+4=";
nativeBuildInputs = [
libcosmicAppHook
+6
View File
@@ -21,6 +21,12 @@ stdenv.mkDerivation rec {
postPatch = ''
sed -i -e '/add_subdirectory(tests)/d' lib/CMakeLists.txt
# CMake 3.2.2 is deprecated and no longer supported by CMake > 4
# https://github.com/NixOS/nixpkgs/issues/445447
substituteInPlace CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 3.2.2)" \
"cmake_minimum_required(VERSION 3.10)"
'';
env.NIX_CFLAGS_COMPILE = "-Wno-error";
+8
View File
@@ -27,6 +27,14 @@ stdenv.mkDerivation rec {
./01-fix-sleep_for.patch
];
# CMake 2.8.7 is deprecated and is no longer supported by CMake > 4
# https://github.com/NixOS/nixpkgs/issues/445447
postPatch = ''
substituteInPlace CMakeLists.txt tacopie/CMakeLists.txt --replace-fail \
"cmake_minimum_required(VERSION 2.8.7)" \
"cmake_minimum_required(VERSION 3.10)"
'';
meta = with lib; {
description = "C++11 Lightweight Redis client: async, thread-safe, no dependency, pipelining, multi-platform";
homepage = "https://github.com/cpp-redis/cpp_redis";
+3 -3
View File
@@ -9,16 +9,16 @@
buildGo125Module (finalAttrs: {
pname = "crush";
version = "0.9.2";
version = "0.12.1";
src = fetchFromGitHub {
owner = "charmbracelet";
repo = "crush";
tag = "v${finalAttrs.version}";
hash = "sha256-VFAGjNtXKNjkv8Ryi28oFN/uLomXXdw6NFtyjT3pMEY=";
hash = "sha256-uESS76cPJ/sYGbsTpaUKlF8g0y2+LYbF4zd7dAoKWWU=";
};
vendorHash = "sha256-ktF3kIr143uPwiEbgafladZRqIsmG6jI2BeumGSu82U=";
vendorHash = "sha256-lqoAPp8EW2tW+QjwCuBgxZDbKT3XMvP3qwx/yES1mx4=";
# rename TestMain to prevent it from running, as it panics in the sandbox.
postPatch = ''
+2 -2
View File
@@ -8,13 +8,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "crystal-dock";
version = "2.14";
version = "2.15";
src = fetchFromGitHub {
owner = "dangvd";
repo = "crystal-dock";
rev = "v${finalAttrs.version}";
hash = "sha256-szW3zIgwy0a9NmEax6xemeCdjs3//r7BRfUDeLv+VxE=";
hash = "sha256-XFq4T39El5MjaWRSnaimonjdj+HGOAydNmEOehgGWX4=";
};
nativeBuildInputs = [
+5
View File
@@ -55,6 +55,11 @@ stdenv.mkDerivation rec {
cmakeFlags = [ "-DUSE_HAMLIB=ON" ] ++ lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON";
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace-fail "cmake_minimum_required (VERSION 2.8)" "cmake_minimum_required (VERSION 3.10)"
'';
postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
install_name_tool -change libliquid.dylib ${lib.getLib liquid-dsp}/lib/libliquid.dylib ''${out}/bin/CubicSDR
'';
@@ -2,20 +2,19 @@
stdenv,
lib,
fetchFromGitLab,
qtserialport,
qt6,
cmake,
wrapQtAppsHook,
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
pname = "cutecom";
version = "0.51.0+patch";
version = "0.60.0-RC1";
src = fetchFromGitLab {
owner = "cutecom";
repo = "cutecom";
rev = "70d0c497acf8f298374052b2956bcf142ed5f6ca";
sha256 = "X8jeESt+x5PxK3rTNC1h1Tpvue2WH09QRnG2g1eMoEE=";
tag = "v${finalAttrs.version}";
sha256 = "sha256-Co0bUW7klSPf1VfBt7oT2DlQmf6CLELS0oapIyjpx8w=";
};
postPatch = ''
@@ -23,10 +22,11 @@ stdenv.mkDerivation {
--replace "/Applications" "$out/Applications"
'';
buildInputs = [ qtserialport ];
buildInputs = [ qt6.qtserialport ];
nativeBuildInputs = [
cmake
wrapQtAppsHook
qt6.wrapQtAppsHook
];
postInstall =
@@ -43,12 +43,12 @@ stdenv.mkDerivation {
cp cutecom.1 "$out/share/man/man1"
'';
meta = with lib; {
meta = {
description = "Graphical serial terminal";
homepage = "https://gitlab.com/cutecom/cutecom/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ bennofs ];
platforms = platforms.unix;
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ bennofs ];
platforms = lib.platforms.unix;
mainProgram = "cutecom";
};
}
})
+2 -2
View File
@@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "cytoscape";
version = "3.10.3";
version = "3.10.4";
src = fetchurl {
url = "https://github.com/cytoscape/cytoscape/releases/download/${version}/${pname}-unix-${version}.tar.gz";
sha256 = "sha256-62i3F6uGNoC8z55iUIYQDAimWcQocsZ52USdpruZRLQ=";
sha256 = "sha256-gHCU97AfBzo4r+F+Fc5lHd+kQtj/NsoCNipAhv5O7sE=";
};
patches = [
+2 -2
View File
@@ -62,14 +62,14 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "digikam";
version = "8.7.0";
version = "8.8.0";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "graphics";
repo = "digikam";
tag = "v${finalAttrs.version}";
hash = "sha256-9t6tXrege3A5x5caUEfho23Pin7dON+e6x94rXC8XYE=";
hash = "sha256-yUrB0FXUcm+6QtlB7HMqdPpdhrV2iAo1oRkjgsHJiCU=";
};
patches = [
+8
View File
@@ -2,6 +2,7 @@
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
# nativeBuildInputs
cmake,
@@ -71,6 +72,13 @@ stdenv.mkDerivation (finalAttrs: {
'';
};
patches = [
(fetchpatch2 {
url = "https://github.com/dolphin-emu/dolphin/commit/8edef722ce1aae65d5a39faf58753044de48b6e0.patch?full_index=1";
hash = "sha256-QEG0p+AzrExWrOxL0qRPa+60GlL0DlLyVBrbG6pGuog=";
})
];
strictDeps = true;
nativeBuildInputs = [
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Biome (JS/TS) wrapper plugin";
hash = "sha256-GHl8Uo2U6K1yirfjwuD43ixkVtGdbZ2qxk0cySRLXys=";
hash = "sha256-Ht63tW4FqykpuNlWtyw3cHD2HXs0b6U6Zo9Rd9AXqD8=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "biome";
@@ -16,6 +16,6 @@ mkDprintPlugin {
};
pname = "dprint-plugin-biome";
updateUrl = "https://plugins.dprint.dev/dprint/biome/latest.json";
url = "https://plugins.dprint.dev/biome-0.10.5.wasm";
version = "0.10.5";
url = "https://plugins.dprint.dev/biome-0.10.6.wasm";
version = "0.10.6";
}
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Dockerfile code formatter";
hash = "sha256-gsfMLa4zw8AblOS459ZS9OZrkGCQi5gBN+a3hvOsspk=";
hash = "sha256-GaK1sYdZPwQWJmz2ULcsGpWDiKjgPhqNRoGgQfGOkqc=";
initConfig = {
configExcludes = [ ];
configKey = "dockerfile";
@@ -9,6 +9,6 @@ mkDprintPlugin {
};
pname = "dprint-plugin-dockerfile";
updateUrl = "https://plugins.dprint.dev/dprint/dockerfile/latest.json";
url = "https://plugins.dprint.dev/dockerfile-0.3.2.wasm";
version = "0.3.2";
url = "https://plugins.dprint.dev/dockerfile-0.3.3.wasm";
version = "0.3.3";
}
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "Ruff (Python) wrapper plugin";
hash = "sha256-15InHQgF9c0Js4yUJxmZ1oNj1O16FBU12u/GOoaSAJ8=";
hash = "sha256-qT+6zPbX3KrONXshwzLoGTWRXM93VKO0lN9ycJujEDM=";
initConfig = {
configExcludes = [ ];
configKey = "ruff";
@@ -12,6 +12,6 @@ mkDprintPlugin {
};
pname = "dprint-plugin-ruff";
updateUrl = "https://plugins.dprint.dev/dprint/ruff/latest.json";
url = "https://plugins.dprint.dev/ruff-0.3.9.wasm";
version = "0.3.9";
url = "https://plugins.dprint.dev/ruff-0.6.1.wasm";
version = "0.6.1";
}
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "CSS, SCSS, Sass and Less formatter";
hash = "sha256-mFlhfqtglKtKNls96PO/2AWLL1fNC5msQCd9EgdKauE=";
hash = "sha256-IAIix6c9/GNDZsRk95T/rpvMh7HqFgBoq5KDVYHHOjU=";
initConfig = {
configExcludes = [ "**/node_modules" ];
configKey = "malva";
@@ -14,6 +14,6 @@ mkDprintPlugin {
};
pname = "g-plane-malva";
updateUrl = "https://plugins.dprint.dev/g-plane/malva/latest.json";
url = "https://plugins.dprint.dev/g-plane/malva-v0.11.2.wasm";
version = "0.11.2";
url = "https://plugins.dprint.dev/g-plane/malva-v0.14.3.wasm";
version = "0.14.3";
}
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "HTML, Vue, Svelte, Astro, Angular, Jinja, Twig, Nunjucks, and Vento formatter";
hash = "sha256-fCvurr8f79io/jIjwCfwr/WGjvcKZtptRrx9GFfytSI=";
hash = "sha256-TQxHIw5IXZwFA/WzIJ33ZckJNkHwW67lnh0cCGkgmrs=";
initConfig = {
configExcludes = [ ];
configKey = "markup";
@@ -19,6 +19,6 @@ mkDprintPlugin {
};
pname = "g-plane-markup_fmt";
updateUrl = "https://plugins.dprint.dev/g-plane/markup_fmt/latest.json";
url = "https://plugins.dprint.dev/g-plane/markup_fmt-v0.19.0.wasm";
version = "0.19.0";
url = "https://plugins.dprint.dev/g-plane/markup_fmt-v0.24.0.wasm";
version = "0.24.0";
}
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "GraphQL formatter";
hash = "sha256-PlQwpR0tMsghMrOX7is+anN57t9xa9weNtoWpc0E9ec=";
hash = "sha256-xEEBnmxxiIPNOePBDS2HG6lfAhR4l53w+QDF2mXdyzg=";
initConfig = {
configExcludes = [ ];
configKey = "graphql";
@@ -12,6 +12,6 @@ mkDprintPlugin {
};
pname = "g-plane-pretty_graphql";
updateUrl = "https://plugins.dprint.dev/g-plane/pretty_graphql/latest.json";
url = "https://plugins.dprint.dev/g-plane/pretty_graphql-v0.2.1.wasm";
version = "0.2.1";
url = "https://plugins.dprint.dev/g-plane/pretty_graphql-v0.2.3.wasm";
version = "0.2.3";
}
@@ -1,7 +1,7 @@
{ mkDprintPlugin }:
mkDprintPlugin {
description = "YAML formatter";
hash = "sha256-6ua021G7ZW7Ciwy/OHXTA1Joj9PGEx3SZGtvaA//gzo=";
hash = "sha256-iSh5SRrjQB1hJoKkkup7R+Durcu+cxePa7GDVjwnexU=";
initConfig = {
configExcludes = [ ];
configKey = "yaml";
@@ -12,6 +12,6 @@ mkDprintPlugin {
};
pname = "g-plane-pretty_yaml";
updateUrl = "https://plugins.dprint.dev/g-plane/pretty_yaml/latest.json";
url = "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.0.wasm";
version = "0.5.0";
url = "https://plugins.dprint.dev/g-plane/pretty_yaml-v0.5.1.wasm";
version = "0.5.1";
}
@@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -i python -p nix 'python3.withPackages (pp: [ pp.requests ])'
#!nix-shell -i python3 -p nix 'python3.withPackages (ps: [ ps.requests ])'
import json
import os
@@ -138,7 +138,7 @@ def update_plugins():
"updateUrl": update_url,
"pname": pname,
"version": e["version"],
"description": e["description"],
"description": e["description"].rstrip("."),
"initConfig": {
"configKey": e["configKey"],
"configExcludes": e["configExcludes"],

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