Merge 4a3faa5e86 into haskell-updates

This commit is contained in:
nixpkgs-ci[bot]
2025-01-29 00:17:24 +00:00
committed by GitHub
208 changed files with 3398 additions and 2783 deletions

View File

@@ -26,6 +26,7 @@ In Nixpkgs, `cargo-tauri.hook` overrides the default build and install phases.
rustPlatform.buildRustPackage rec {
# . . .
useFetchCargoVendor = true;
cargoHash = "...";
# Assuming our app's frontend uses `npm` as a package manager

View File

@@ -26,16 +26,17 @@ Rust applications are packaged by using the `buildRustPackage` helper from `rust
rustPlatform.buildRustPackage rec {
pname = "ripgrep";
version = "12.1.1";
version = "14.1.1";
src = fetchFromGitHub {
owner = "BurntSushi";
repo = pname;
rev = version;
hash = "sha256-+s5RBC3XSgb8omTbUNLywZnP6jSxZBKSS1BmXOjRF8M=";
hash = "sha256-gyWnahj1A+iXUQlQ1O1H1u7K5euYQOld9qWm99Vjaeg=";
};
cargoHash = "sha256-jtBw4ahSl88L0iuCXxQgZVm1EcboWRJMNtjxLVTtzts=";
useFetchCargoVendor = true;
cargoHash = "sha256-9atn5qyBDy4P6iUoHFhg+TV6Ur71fiah4oTJbBMeEy4=";
meta = {
description = "Fast line-oriented regex search tool, similar to ag and ack";
@@ -63,18 +64,7 @@ hash using `nix-hash --to-sri --type sha256 "<original sha256>"`.
}
```
Exception: If the application has cargo `git` dependencies, the `cargoHash`
approach will not work by default. In this case, you can set `useFetchCargoVendor = true`
to use an improved fetcher that supports handling `git` dependencies.
```nix
{
useFetchCargoVendor = true;
cargoHash = "sha256-RqPVFovDaD2rW31HyETJfQ0qVwFxoGEvqkIgag3H6KU=";
}
```
If this method still does not work, you can resort to copying the `Cargo.lock` file into nixpkgs
If this method does not work, you can resort to copying the `Cargo.lock` file into nixpkgs
and importing it as described in the [next section](#importing-a-cargo.lock-file).
Both types of hashes are permitted when contributing to nixpkgs. The
@@ -119,7 +109,8 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-aDQA4A5mScX9or3Lyiv/5GyAehidnpKKE0grhbP1Ctc=";
};
cargoHash = "sha256-tbrTbutUs5aPSV+yE0IBUZAAytgmZV7Eqxia7g+9zRs=";
useFetchCargoVendor = true;
cargoHash = "sha256-iDYh52rj1M5Uupvbx2WeDd/jvQZ+2A50V5rp5e2t7q4=";
cargoDepsName = pname;
# ...
@@ -443,14 +434,14 @@ hooks that can be used to integrate Cargo in non-Rust packages.
Since network access is not allowed in sandboxed builds, Rust crate
dependencies need to be retrieved using a fetcher. `rustPlatform`
provides the `fetchCargoTarball` fetcher, which vendors all
provides the `fetchCargoVendor` fetcher, which vendors all
dependencies of a crate. For example, given a source path `src`
containing `Cargo.toml` and `Cargo.lock`, `fetchCargoTarball`
containing `Cargo.toml` and `Cargo.lock`, `fetchCargoVendor`
can be used as follows:
```nix
{
cargoDeps = rustPlatform.fetchCargoTarball {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit src;
hash = "sha256-BoHIN/519Top1NUBjpB/oEMqi86Omt3zTQcXFWqrek0=";
};
@@ -482,7 +473,7 @@ In case the lockfile contains cargo `git` dependencies, you can use
```
If a `Cargo.lock` file is available, you can alternatively use the
`importCargoLock` function. In contrast to `fetchCargoTarball`, this
`importCargoLock` function. In contrast to `fetchCargoVendor`, this
function does not require a hash (unless git dependencies are used)
and fetches every dependency as a separate fixed-output derivation.
`importCargoLock` can be used as follows:
@@ -521,12 +512,13 @@ you of the correct hash.
`rustPlatform` provides the following hooks to automate Cargo builds:
* `cargoSetupHook`: configure Cargo to use dependencies vendored
through `fetchCargoTarball`. This hook uses the `cargoDeps`
environment variable to find the vendored dependencies. If a project
already vendors its dependencies, the variable `cargoVendorDir` can
be used instead. When the `Cargo.toml`/`Cargo.lock` files are not in
`sourceRoot`, then the optional `cargoRoot` is used to specify the
Cargo root directory relative to `sourceRoot`.
through `fetchCargoVendor` or `importCargoLock`. This hook uses the
`cargoDeps` environment variable to find the vendored
dependencies. If a project already vendors its dependencies, the
variable `cargoVendorDir` can be used instead. When the
`Cargo.toml`/`Cargo.lock` files are not in `sourceRoot`, then the
optional `cargoRoot` is used to specify the Cargo root directory
relative to `sourceRoot`.
* `cargoBuildHook`: use Cargo to build a crate. If the crate to be
built is a crate in e.g. a Cargo workspace, the relative path to the
crate to build can be set through the optional `buildAndTestSubdir`
@@ -557,7 +549,7 @@ you of the correct hash.
#### Python package using `setuptools-rust` {#python-package-using-setuptools-rust}
For Python packages using `setuptools-rust`, you can use
`fetchCargoTarball` and `cargoSetupHook` to retrieve and set up Cargo
`fetchCargoVendor` and `cargoSetupHook` to retrieve and set up Cargo
dependencies. The build itself is then performed by
`buildPythonPackage`.
@@ -586,9 +578,9 @@ buildPythonPackage rec {
hash = "sha256-rQ2hRV52naEf6PvRsWVCTN7B1oXAQGmnpJw4iIdhamw=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src sourceRoot;
hash = "sha256-miW//pnOmww2i6SOGbkrAIdc/JMDT4FJLqdMFojZeoY=";
hash = "sha256-RO1m8wEd5Ic2M9q+zFHeCJWhCr4Sv3CEWd08mkxsBec=";
};
sourceRoot = "${src.name}/bindings/python";
@@ -609,7 +601,7 @@ directory. In such cases, the `cargoRoot` attribute can be used to
specify the crate's directory relative to `sourceRoot`. In the
following example, the crate is in `src/rust`, as specified in the
`cargoRoot` attribute. Note that we also need to specify the correct
path for `fetchCargoTarball`.
path for `fetchCargoVendor`.
```nix
@@ -629,10 +621,10 @@ buildPythonPackage rec {
hash = "sha256-xGDilsjLOnls3MfVbGKnj80KCUCczZxlis5PmHzpNcQ=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
sourceRoot = "${pname}-${version}/${cargoRoot}";
hash = "sha256-PS562W4L1NimqDV2H0jl5vYhL08H9est/pbIxSdYVfo=";
hash = "sha256-ctUt8maCjnGddKPf+Ii++wKsAXA1h+JM6zKQNXXwJqQ=";
};
cargoRoot = "src/rust";
@@ -644,9 +636,9 @@ buildPythonPackage rec {
#### Python package using `maturin` {#python-package-using-maturin}
Python packages that use [Maturin](https://github.com/PyO3/maturin)
can be built with `fetchCargoTarball`, `cargoSetupHook`, and
can be built with `fetchCargoVendor`, `cargoSetupHook`, and
`maturinBuildHook`. For example, the following (partial) derivation
builds the `retworkx` Python package. `fetchCargoTarball` and
builds the `retworkx` Python package. `fetchCargoVendor` and
`cargoSetupHook` are used to fetch and set up the crate dependencies.
`maturinBuildHook` is used to perform the build.
@@ -669,9 +661,9 @@ buildPythonPackage rec {
hash = "sha256-11n30ldg3y3y6qxg3hbj837pnbwjkqw3nxq6frds647mmmprrd20=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-heOBK8qi2nuc/Ib+I/vLzZ1fUUD/G/KTw9d7M4Hz5O0=";
hash = "sha256-QsPCQhNZKYCAogQriQX6pBYQUDAIUsEdRX/63dAqTzg=";
};
nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
@@ -682,7 +674,7 @@ buildPythonPackage rec {
#### Rust package built with `meson` {#rust-package-built-with-meson}
Some projects, especially GNOME applications, are built with the Meson Build System instead of calling Cargo directly. Using `rustPlatform.buildRustPackage` may successfully build the main program, but related files will be missing. Instead, you need to set up Cargo dependencies with `fetchCargoTarball` and `cargoSetupHook` and leave the rest to Meson. `rust` and `cargo` are still needed in `nativeBuildInputs` for Meson to use.
Some projects, especially GNOME applications, are built with the Meson Build System instead of calling Cargo directly. Using `rustPlatform.buildRustPackage` may successfully build the main program, but related files will be missing. Instead, you need to set up Cargo dependencies with `fetchCargoVendor` and `cargoSetupHook` and leave the rest to Meson. `rust` and `cargo` are still needed in `nativeBuildInputs` for Meson to use.
```nix
{ lib
@@ -713,9 +705,9 @@ stdenv.mkDerivation rec {
hash = "sha256-PrNPprSS98yN8b8yw2G6hzTSaoE65VbsM3q7FVB4mds=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
hash = "sha256-8fa3fa+sFi5H+49B5sr2vYPkp9C9s6CcE0zv4xB8gww=";
hash = "sha256-eR1ZGtTZQNhofFUEjI7IX16sMKPJmAl7aIFfPJukecg=";
};
nativeBuildInputs = [
@@ -998,16 +990,17 @@ in
rustPlatform.buildRustPackage rec {
pname = "ripgrep";
version = "12.1.1";
version = "14.1.1";
src = fetchFromGitHub {
owner = "BurntSushi";
repo = "ripgrep";
rev = version;
hash = "sha256-+s5RBC3XSgb8omTbUNLywZnP6jSxZBKSS1BmXOjRF8M=";
hash = "sha256-gyWnahj1A+iXUQlQ1O1H1u7K5euYQOld9qWm99Vjaeg=";
};
cargoHash = "sha256-l1vL2ZdtDRxSGvP0X/l3nMw8+6WF67KPutJEzUROjg8=";
useFetchCargoVendor = true;
cargoHash = "sha256-9atn5qyBDy4P6iUoHFhg+TV6Ur71fiah4oTJbBMeEy4=";
doCheck = false;

View File

@@ -7810,6 +7810,12 @@
githubId = 24463229;
name = "Forden";
};
ForgottenBeast = {
email = "forgottenbeast@riseup.net";
github = "ForgottenBeast";
githubId = 5754552;
name = "ForgottenBeast";
};
forkk = {
email = "forkk@forkk.net";
github = "Forkk";
@@ -16459,6 +16465,12 @@
github = "NiklasVousten";
githubId = 24965952;
};
nikolaizombie1 = {
name = "Fabio J. Matos Nieves";
email = "fabio.matos999@gmail.com";
githubId = 70602908;
github = "nikolaizombie1";
};
nikstur = {
email = "nikstur@outlook.com";
name = "nikstur";

View File

@@ -521,6 +521,20 @@ with lib.maintainers;
shortName = "Home Assistant";
};
hyprland = {
members = [
donovanglover
fufexan
johnrtitor
khaneliman
NotAShelf
];
githubTeams = [ "hyprland" ];
scope = "Maintain Hyprland compositor and ecosystem";
shortName = "Hyprland";
enableFeatureFreezePing = true;
};
infisical = {
members = [ akhilmhdh ];
scope = "Maintain Infisical";

View File

@@ -836,6 +836,12 @@
"module-services-netbird-multiple-connections": [
"index.html#module-services-netbird-multiple-connections"
],
"module-services-netbird-firewall": [
"index.html#module-services-netbird-firewall"
],
"module-services-netbird-customization": [
"index.html#module-services-netbird-customization"
],
"module-services-mosquitto": [
"index.html#module-services-mosquitto"
],

View File

@@ -379,6 +379,9 @@
as before, you can use plugins like `python3Packages.jax-cuda12-plugin`.
- `services.netbird.tunnels` was renamed to [`services.netbird.clients`](#opt-services.netbird.clients),
hardened (using dedicated less-privileged users) and significantly extended.
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
## Other Notable Changes {#sec-release-25.05-notable-changes}

View File

@@ -139,5 +139,5 @@ in
] "Nvidia patches are no longer needed")
];
meta.maintainers = with lib.maintainers; [ fufexan ];
meta.maintainers = lib.teams.hyprland.members;
}

View File

@@ -26,5 +26,5 @@ in
security.pam.services.hyprlock = { };
};
meta.maintainers = with lib.maintainers; [ johnrtitor ];
meta.maintainers = lib.teams.hyprland.members;
}

View File

@@ -2,7 +2,7 @@
## Quickstart {#module-services-netbird-quickstart}
The absolute minimal configuration for the netbird daemon looks like this:
The absolute minimal configuration for the Netbird client daemon looks like this:
```nix
{
@@ -13,52 +13,76 @@ The absolute minimal configuration for the netbird daemon looks like this:
This will set up a netbird service listening on the port `51820` associated to the
`wt0` interface.
It is strictly equivalent to setting:
Which is equivalent to:
```nix
{
services.netbird.tunnels.wt0.stateDir = "netbird";
services.netbird.clients.wt0 = {
port = 51820;
name = "netbird";
interface = "wt0";
hardened = false;
};
}
```
The `enable` option is mainly kept for backward compatibility, as defining netbird
tunnels through the `tunnels` option is more expressive.
This will set up a `netbird.service` listening on the port `51820` associated to the
`wt0` interface. There will also be `netbird-wt0` binary installed in addition to `netbird`.
see [clients](#opt-services.netbird.clients) option documentation for more details.
## Multiple connections setup {#module-services-netbird-multiple-connections}
Using the `services.netbird.tunnels` option, it is also possible to define more than
Using the `services.netbird.clients` option, it is possible to define more than
one netbird service running at the same time.
The following configuration will start a netbird daemon using the interface `wt1` and
the port 51830. Its configuration file will then be located at `/var/lib/netbird-wt1/config.json`.
You must at least define a `port` for the service to listen on, the rest is optional:
```nix
{
services.netbird.tunnels = {
wt1 = {
port = 51830;
services.netbird.clients.wt1.port = 51830;
services.netbird.clients.wt2.port = 51831;
}
```
see [clients](#opt-services.netbird.clients) option documentation for more details.
## Exposing services internally on the Netbird network {#module-services-netbird-firewall}
You can easily expose services exclusively to Netbird network by combining
[`networking.firewall.interfaces`](#opt-networking.firewall.interfaces) rules
with [`interface`](#opt-services.netbird.clients._name_.interface) names:
```nix
{
services.netbird.clients.priv.port = 51819;
services.netbird.clients.work.port = 51818;
networking.firewall.interfaces = {
"${config.services.netbird.clients.priv.interface}" = {
allowedUDPPorts = [ 1234 ];
};
"${config.services.netbird.clients.work.interface}" = {
allowedTCPPorts = [ 8080 ];
};
};
}
```
To interact with it, you will need to specify the correct daemon address:
### Additional customizations {#module-services-netbird-customization}
```bash
netbird --daemon-addr unix:///var/run/netbird-wt1/sock ...
```
Each Netbird client service by default:
The address will by default be `unix:///var/run/netbird-<name>`.
- runs in a [hardened](#opt-services.netbird.clients._name_.hardened) mode,
- starts with the system,
- [opens up a firewall](#opt-services.netbird.clients._name_.openFirewall) for direct (without TURN servers)
peer-to-peer communication,
- can be additionally configured with environment variables,
- automatically determines whether `netbird-ui-<name>` should be available,
It is also possible to overwrite default options passed to the service, for
example:
[autoStart](#opt-services.netbird.clients._name_.autoStart) allows you to start the client (an actual systemd service)
on demand, for example to connect to work-related or otherwise conflicting network only when required.
See the option description for more information.
```nix
{
services.netbird.tunnels.wt1.environment = {
NB_DAEMON_ADDR = "unix:///var/run/toto.sock";
};
}
```
This will set the socket to interact with the netbird service to `/var/run/toto.sock`.
[environment](#opt-services.netbird.clients._name_.environment) allows you to pass additional configurations
through environment variables, but special care needs to be taken for overriding config location and
daemon address due [hardened](#opt-services.netbird.clients._name_.hardened) option.

View File

@@ -4,67 +4,187 @@
pkgs,
...
}:
let
inherit (lib)
attrNames
attrValues
concatLists
concatStringsSep
escapeShellArgs
filterAttrs
getExe
literalExpression
maintainers
makeBinPath
mapAttrs'
mapAttrsToList
mkAliasOptionModule
mkDefault
mkEnableOption
mkIf
mkMerge
mkOption
mkOptionDefault
mkPackageOption
nameValuePair
optional
optionalAttrs
optionalString
toShellVars
versionAtLeast
versionOlder
;
inherit (lib.types)
attrsOf
bool
enum
nullOr
package
path
port
str
submodule
;
kernel = config.boot.kernelPackages;
inherit (config.boot) kernelPackages;
inherit (config.boot.kernelPackages) kernel;
cfg = config.services.netbird;
toClientList = fn: map fn (attrValues cfg.clients);
toClientAttrs = fn: mapAttrs' (_: fn) cfg.clients;
hardenedClients = filterAttrs (_: client: client.hardened) cfg.clients;
toHardenedClientList = fn: map fn (attrValues hardenedClients);
toHardenedClientAttrs = fn: mapAttrs' (_: fn) hardenedClients;
mkBinName =
client: name:
if client.bin.suffix == "" || client.bin.suffix == "netbird" then
name
else
"${name}-${client.bin.suffix}";
nixosConfig = config;
in
{
meta.maintainers = with maintainers; [ ];
meta.maintainers = with maintainers; [
nazarewk
];
meta.doc = ./netbird.md;
imports = [
(mkAliasOptionModule [ "services" "netbird" "tunnels" ] [ "services" "netbird" "clients" ])
];
options.services.netbird = {
enable = mkEnableOption "Netbird daemon";
enable = mkOption {
type = bool;
default = false;
description = ''
Enables backwards compatible Netbird client service.
This is strictly equivalent to:
```nix
services.netbird.clients.default = {
port = 51820;
name = "netbird";
systemd.name = "netbird";
interface = "wt0";
hardened = false;
};
```
'';
};
package = mkPackageOption pkgs "netbird" { };
tunnels = mkOption {
ui.enable = mkOption {
type = bool;
default = config.services.displayManager.sessionPackages != [ ] || config.services.xserver.enable;
defaultText = literalExpression ''
config.services.displayManager.sessionPackages != [ ] || config.services.xserver.enable
'';
description = ''
Controls presence `netbird-ui` wrappers, defaults to presence of graphical sessions.
'';
};
ui.package = mkPackageOption pkgs "netbird-ui" { };
clients = mkOption {
type = attrsOf (
submodule (
{ name, config, ... }:
let
client = config;
in
{
options = {
port = mkOption {
type = port;
default = 51820;
example = literalExpression "51820";
description = ''
Port for the ${name} netbird interface.
Port the Netbird client listens on.
'';
};
name = mkOption {
type = str;
default = name;
description = ''
Primary name for use (as a suffix) in:
- systemd service name,
- hardened user name and group,
- [systemd `*Directory=`](https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#RuntimeDirectory=) names,
- desktop application identification,
'';
};
dns-resolver.address = mkOption {
type = nullOr str;
default = null;
example = "127.0.0.123";
description = ''
An explicit address that Netbird will serve `*.netbird.cloud.` (usually) entries on.
Netbird serves DNS on it's own (dynamic) client address by default.
'';
};
dns-resolver.port = mkOption {
type = port;
default = 53;
description = ''
A port to serve DNS entries on when `dns-resolver.address` is enabled.
'';
};
interface = mkOption {
type = str;
default = "nb-${client.name}";
description = ''
Name of the network interface managed by this client.
'';
apply =
iface:
lib.throwIfNot (
builtins.stringLength iface <= 15
) "Network interface name must be 15 characters or less" iface;
};
environment = mkOption {
type = attrsOf str;
defaultText = literalExpression ''
{
NB_CONFIG = "/var/lib/''${stateDir}/config.json";
NB_LOG_FILE = "console";
NB_WIREGUARD_PORT = builtins.toString port;
NB_INTERFACE_NAME = name;
NB_DAMEON_ADDR = "/var/run/''${stateDir}"
NB_STATE_DIR = client.dir.state;
NB_CONFIG = "''${client.dir.state}/config.json";
NB_DAEMON_ADDR = "unix://''${client.dir.runtime}/sock";
NB_INTERFACE_NAME = client.interface;
NB_LOG_FILE = mkOptionDefault "console";
NB_LOG_LEVEL = client.logLevel;
NB_SERVICE = client.service.name;
NB_WIREGUARD_PORT = toString client.port;
} // optionalAttrs (client.dns-resolver.address != null) {
NB_DNS_RESOLVER_ADDRESS = "''${client.dns-resolver.address}:''${builtins.toString client.dns-resolver.port}";
}
'';
description = ''
@@ -72,64 +192,311 @@ in
'';
};
stateDir = mkOption {
type = str;
default = "netbird-${name}";
autoStart = mkOption {
type = bool;
default = true;
description = ''
Directory storing the netbird configuration.
Start the service with the system.
As of 2024-02-13 it is not possible to start a Netbird client daemon without immediately
connecting to the network, but it is [planned for a near future](https://github.com/netbirdio/netbird/projects/2#card-91718018).
'';
};
openFirewall = mkOption {
type = bool;
default = true;
description = ''
Opens up firewall `port` for communication between Netbird peers directly over LAN or public IP,
without using (internet-hosted) TURN servers as intermediaries.
'';
};
hardened = mkOption {
type = bool;
default = true;
description = ''
Hardened service:
- runs as a dedicated user with minimal set of permissions (see caveats),
- restricts daemon configuration socket access to dedicated user group
(you can grant access to it with `users.users."<user>".extraGroups = [ ${client.user.group} ]`),
Even though the local system resources access is restricted:
- `CAP_NET_RAW`, `CAP_NET_ADMIN` and `CAP_BPF` still give unlimited network manipulation possibilites,
- older kernels don't have `CAP_BPF` and use `CAP_SYS_ADMIN` instead,
Known security features that are not (yet) integrated into the module:
- 2024-02-14: `rosenpass` is an experimental feature configurable solely
through `--enable-rosenpass` flag on the `netbird up` command,
see [the docs](https://docs.netbird.io/how-to/enable-post-quantum-cryptography)
'';
};
logLevel = mkOption {
type = enum [
# logrus loglevels
"panic"
"fatal"
"error"
"warn"
"warning"
"info"
"debug"
"trace"
];
default = "info";
description = "Log level of the Netbird daemon.";
};
ui.enable = mkOption {
type = bool;
default = nixosConfig.services.netbird.ui.enable;
defaultText = literalExpression ''client.ui.enable'';
description = ''
Controls presence of `netbird-ui` wrapper for this Netbird client.
'';
};
wrapper = mkOption {
type = package;
internal = true;
default =
let
makeWrapperArgs = concatLists (
mapAttrsToList (key: value: [
"--set-default"
key
value
]) client.environment
);
mkBin = mkBinName client;
in
pkgs.stdenv.mkDerivation {
name = "${cfg.package.name}-wrapper-${client.name}";
meta.mainProgram = mkBin "netbird";
nativeBuildInputs = with pkgs; [ makeWrapper ];
phases = [ "installPhase" ];
installPhase = concatStringsSep "\n" [
''
mkdir -p "$out/bin"
makeWrapper ${lib.getExe cfg.package} "$out/bin/${mkBin "netbird"}" \
${escapeShellArgs makeWrapperArgs}
''
(optionalString cfg.ui.enable ''
# netbird-ui doesn't support envvars
makeWrapper ${lib.getExe cfg.ui.package} "$out/bin/${mkBin "netbird-ui"}" \
--add-flags '--daemon-addr=${client.environment.NB_DAEMON_ADDR}'
mkdir -p "$out/share/applications"
substitute ${cfg.ui.package}/share/applications/netbird.desktop \
"$out/share/applications/${mkBin "netbird"}.desktop" \
--replace-fail 'Name=Netbird' "Name=Netbird @ ${client.service.name}" \
--replace-fail '${lib.getExe cfg.ui.package}' "$out/bin/${mkBin "netbird-ui"}"
'')
];
};
};
# see https://github.com/netbirdio/netbird/blob/88747e3e0191abc64f1e8c7ecc65e5e50a1527fd/client/internal/config.go#L49-L82
config = mkOption {
type = (pkgs.formats.json { }).type;
defaultText = literalExpression ''
{
DisableAutoConnect = !client.autoStart;
WgIface = client.interface;
WgPort = client.port;
} // optionalAttrs (client.dns-resolver.address != null) {
CustomDNSAddress = "''${client.dns-resolver.address}:''${builtins.toString client.dns-resolver.port}";
}
'';
description = ''
Additional configuration that exists before the first start and
later overrides the existing values in `config.json`.
It is mostly helpful to manage configuration ignored/not yet implemented
outside of `netbird up` invocation.
WARNING: this is not an upstream feature, it could break in the future
(by having lower priority) after upstream implements an equivalent.
It is implemented as a `preStart` script which overrides `config.json`
with content of `/etc/${client.dir.baseName}/config.d/*.json` files.
This option manages specifically `50-nixos.json` file.
Consult [the source code](https://github.com/netbirdio/netbird/blob/88747e3e0191abc64f1e8c7ecc65e5e50a1527fd/client/internal/config.go#L49-L82)
or inspect existing file for a complete list of available configurations.
'';
};
suffixedName = mkOption {
type = str;
default = if client.name != "netbird" then "netbird-${client.name}" else client.name;
description = ''
A systemd service name to use (without `.service` suffix).
'';
};
dir.baseName = mkOption {
type = str;
default = client.suffixedName;
description = ''
A systemd service name to use (without `.service` suffix).
'';
};
dir.state = mkOption {
type = path;
default = "/var/lib/${client.dir.baseName}";
description = ''
A state directory used by Netbird client to store `config.json`, `state.json` & `resolv.conf`.
'';
};
dir.runtime = mkOption {
type = path;
default = "/var/run/${client.dir.baseName}";
description = ''
A runtime directory used by Netbird client.
'';
};
service.name = mkOption {
type = str;
default = client.suffixedName;
description = ''
A systemd service name to use (without `.service` suffix).
'';
};
user.name = mkOption {
type = str;
default = client.suffixedName;
description = ''
A system user name for this client instance.
'';
};
user.group = mkOption {
type = str;
default = client.suffixedName;
description = ''
A system group name for this client instance.
'';
};
bin.suffix = mkOption {
type = str;
default = if client.name != "netbird" then client.name else "";
description = ''
A system group name for this client instance.
'';
};
};
config.environment = builtins.mapAttrs (_: mkDefault) {
NB_CONFIG = "/var/lib/${config.stateDir}/config.json";
NB_LOG_FILE = "console";
NB_WIREGUARD_PORT = builtins.toString config.port;
NB_INTERFACE_NAME = name;
NB_DAEMON_ADDR = "unix:///var/run/${config.stateDir}/sock";
};
config.environment =
{
NB_STATE_DIR = client.dir.state;
NB_CONFIG = "${client.dir.state}/config.json";
NB_DAEMON_ADDR = "unix://${client.dir.runtime}/sock";
NB_INTERFACE_NAME = client.interface;
NB_LOG_FILE = mkOptionDefault "console";
NB_LOG_LEVEL = client.logLevel;
NB_SERVICE = client.service.name;
NB_WIREGUARD_PORT = toString client.port;
}
// optionalAttrs (client.dns-resolver.address != null) {
NB_DNS_RESOLVER_ADDRESS = "${client.dns-resolver.address}:${builtins.toString client.dns-resolver.port}";
};
config.config =
{
DisableAutoConnect = !client.autoStart;
WgIface = client.interface;
WgPort = client.port;
}
// optionalAttrs (client.dns-resolver.address != null) {
CustomDNSAddress = "${client.dns-resolver.address}:${builtins.toString client.dns-resolver.port}";
};
}
)
);
default = { };
description = ''
Attribute set of Netbird tunnels, each one will spawn a daemon listening on ...
Attribute set of Netbird client daemons, by default each one will:
1. be manageable using dedicated tooling:
- `netbird-<name>` script,
- `Netbird - netbird-<name>` graphical interface when appropriate (see `ui.enable`),
2. run as a `netbird-<name>.service`,
3. listen for incoming remote connections on the port `51820` (`openFirewall` by default),
4. manage the `netbird-<name>` wireguard interface,
5. use the `/var/lib/netbird-<name>/config.json` configuration file,
6. override `/var/lib/netbird-<name>/config.json` with values from `/etc/netbird-<name>/config.d/*.json`,
7. (`hardened`) be locally manageable by `netbird-<name>` system group,
With following caveats:
- multiple daemons will interfere with each other's DNS resolution of `netbird.cloud`, but
should remain fully operational otherwise.
Setting up custom (non-conflicting) DNS zone is currently possible only when self-hosting.
'';
example = lib.literalExpression ''
{
services.netbird.clients.wt0.port = 51820;
services.netbird.clients.personal.port = 51821;
services.netbird.clients.work1.port = 51822;
}
'';
};
};
config = mkMerge [
(mkIf cfg.enable {
# For backwards compatibility
services.netbird.tunnels.wt0.stateDir = "netbird";
services.netbird.clients.default = {
port = mkDefault 51820;
interface = mkDefault "wt0";
name = mkDefault "netbird";
hardened = mkDefault false;
};
})
{
boot.extraModulePackages = optional (
cfg.clients != { } && (versionOlder kernel.version "5.6")
) kernelPackages.wireguard;
(mkIf (cfg.tunnels != { }) {
boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard;
environment.systemPackages = toClientList (client: client.wrapper)
# omitted due to https://github.com/netbirdio/netbird/issues/1562
#++ optional (cfg.clients != { }) cfg.package
# omitted due to https://github.com/netbirdio/netbird/issues/1581
#++ optional (cfg.clients != { } && cfg.ui.enable) cfg.ui.package
;
environment.systemPackages = [ cfg.package ];
networking.dhcpcd.denyInterfaces = toClientList (client: client.interface);
networking.networkmanager.unmanaged = toClientList (client: "interface-name:${client.interface}");
networking.dhcpcd.denyInterfaces = attrNames cfg.tunnels;
networking.firewall.allowedUDPPorts = concatLists (
toClientList (client: optional client.openFirewall client.port)
);
systemd.network.networks = mkIf config.networking.useNetworkd (
mapAttrs' (
name: _:
nameValuePair "50-netbird-${name}" {
toClientAttrs (
client:
nameValuePair "50-netbird-${client.interface}" {
matchConfig = {
Name = name;
Name = client.interface;
};
linkConfig = {
Unmanaged = true;
ActivationPolicy = "manual";
};
}
) cfg.tunnels
)
);
systemd.services = mapAttrs' (
name:
{ environment, stateDir, ... }:
nameValuePair "netbird-${name}" {
environment.etc = toClientAttrs (
client:
nameValuePair "${client.dir.baseName}/config.d/50-nixos.json" {
text = builtins.toJSON client.config;
mode = "0444";
}
);
systemd.services = toClientAttrs (
client:
nameValuePair client.service.name {
description = "A WireGuard-based mesh network that connects your devices into a single private network";
documentation = [ "https://netbird.io/docs/" ];
@@ -137,17 +504,19 @@ in
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = with pkgs; [ openresolv ];
inherit environment;
path = optional (!config.services.resolved.enable) pkgs.openresolv;
serviceConfig = {
ExecStart = "${getExe cfg.package} service run";
ExecStart = "${getExe client.wrapper} service run";
Restart = "always";
RuntimeDirectory = stateDir;
StateDirectory = stateDir;
RuntimeDirectory = client.dir.baseName;
RuntimeDirectoryMode = mkDefault "0755";
ConfigurationDirectory = client.dir.baseName;
StateDirectory = client.dir.baseName;
StateDirectoryMode = "0700";
WorkingDirectory = "/var/lib/${stateDir}";
WorkingDirectory = client.dir.state;
};
unitConfig = {
@@ -157,7 +526,124 @@ in
stopIfChanged = false;
}
) cfg.tunnels;
);
}
# Hardening section
(mkIf (hardenedClients != { }) {
users.groups = toHardenedClientAttrs (client: nameValuePair client.user.group { });
users.users = toHardenedClientAttrs (
client:
nameValuePair client.user.name {
isSystemUser = true;
home = client.dir.state;
group = client.user.group;
}
);
systemd.services = toHardenedClientAttrs (
client:
nameValuePair client.service.name (
mkIf client.hardened {
serviceConfig = {
RuntimeDirectoryMode = "0750";
User = client.user.name;
Group = client.user.group;
# settings implied by DynamicUser=true, without actully using it,
# see https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#DynamicUser=
RemoveIPC = true;
PrivateTmp = true;
ProtectSystem = "strict";
ProtectHome = "yes";
AmbientCapabilities =
[
# see https://man7.org/linux/man-pages/man7/capabilities.7.html
# see https://docs.netbird.io/how-to/installation#running-net-bird-in-docker
#
# seems to work fine without CAP_SYS_ADMIN and CAP_SYS_RESOURCE
# CAP_NET_BIND_SERVICE could be added to allow binding on low ports, but is not required,
# see https://github.com/netbirdio/netbird/pull/1513
# failed creating tunnel interface wt-priv: [operation not permitted
"CAP_NET_ADMIN"
# failed to pull up wgInterface [wt-priv]: failed to create ipv4 raw socket: socket: operation not permitted
"CAP_NET_RAW"
]
# required for eBPF filter, used to be subset of CAP_SYS_ADMIN
++ optional (versionAtLeast kernel.version "5.8") "CAP_BPF"
++ optional (versionOlder kernel.version "5.8") "CAP_SYS_ADMIN"
++ optional (
client.dns-resolver.address != null && client.dns-resolver.port < 1024
) "CAP_NET_BIND_SERVICE";
};
}
)
);
# see https://github.com/systemd/systemd/blob/17f3e91e8107b2b29fe25755651b230bbc81a514/src/resolve/org.freedesktop.resolve1.policy#L43-L43
# see all actions used at https://github.com/netbirdio/netbird/blob/13e7198046a0d73a9cd91bf8e063fafb3d41885c/client/internal/dns/systemd_linux.go#L29-L32
security.polkit.extraConfig = mkIf config.services.resolved.enable ''
// systemd-resolved access for Netbird clients
polkit.addRule(function(action, subject) {
var actions = [
"org.freedesktop.resolve1.revert",
"org.freedesktop.resolve1.set-default-route",
"org.freedesktop.resolve1.set-dns-servers",
"org.freedesktop.resolve1.set-domains",
];
var users = ${builtins.toJSON (toHardenedClientList (client: client.user.name))};
if (actions.indexOf(action.id) >= 0 && users.indexOf(subject.user) >= 0 ) {
return polkit.Result.YES;
}
});
'';
})
# migration & temporary fixups section
{
systemd.services = toClientAttrs (
client:
nameValuePair client.service.name {
preStart = ''
set -eEuo pipefail
${optionalString (client.logLevel == "trace" || client.logLevel == "debug") "set -x"}
PATH="${
makeBinPath (
with pkgs;
[
coreutils
jq
diffutils
]
)
}:$PATH"
export ${toShellVars client.environment}
# merge /etc/${client.dir.baseName}/config.d' into "$NB_CONFIG"
{
test -e "$NB_CONFIG" || echo -n '{}' > "$NB_CONFIG"
# merge config.d with "$NB_CONFIG" into "$NB_CONFIG.new"
jq -sS 'reduce .[] as $i ({}; . * $i)' \
"$NB_CONFIG" \
/etc/${client.dir.baseName}/config.d/*.json \
> "$NB_CONFIG.new"
echo "Comparing $NB_CONFIG with $NB_CONFIG.new ..."
if ! diff <(jq -S <"$NB_CONFIG") "$NB_CONFIG.new" ; then
echo "Updating $NB_CONFIG ..."
mv "$NB_CONFIG.new" "$NB_CONFIG"
else
echo "Files are the same, not doing anything."
rm "$NB_CONFIG.new"
fi
}
'';
}
);
}
];
}

View File

@@ -28,5 +28,5 @@ in
};
};
meta.maintainers = with lib.maintainers; [ johnrtitor ];
meta.maintainers = lib.teams.hyprland.members;
}

View File

@@ -2,6 +2,7 @@
let
cfg = config.services.calibre-web;
dataDir = if lib.hasPrefix "/" cfg.dataDir then cfg.dataDir else "/var/lib/${cfg.dataDir}";
inherit (lib) concatStringsSep mkEnableOption mkIf mkOption optional optionalString types;
in
@@ -32,9 +33,10 @@ in
dataDir = mkOption {
type = types.str;
default = "/var/lib/calibre-web";
default = "calibre-web";
description = ''
The directory where Calibre-Web stores its data.
Where Calibre-Web stores its data.
Either an absolute path, or the directory name below {file}`/var/lib`.
'';
};
@@ -107,14 +109,16 @@ in
};
config = mkIf cfg.enable {
systemd.tmpfiles.settings."10-calibre-web".${cfg.dataDir}.d = {
inherit (cfg) user group;
mode = "0700";
systemd.tmpfiles.settings = lib.optionalAttrs (lib.hasPrefix "/" cfg.dataDir) {
"10-calibre-web".${dataDir}.d = {
inherit (cfg) user group;
mode = "0700";
};
};
systemd.services.calibre-web = let
appDb = "${cfg.dataDir}/app.db";
gdriveDb = "${cfg.dataDir}/gdrive.db";
appDb = "${dataDir}/app.db";
gdriveDb = "${dataDir}/gdrive.db";
calibreWebCmd = "${cfg.package}/bin/calibre-web -p ${appDb} -g ${gdriveDb}";
settings = concatStringsSep ", " (
@@ -151,6 +155,8 @@ in
ExecStart = "${calibreWebCmd} -i ${cfg.listen.ip}";
Restart = "on-failure";
} // lib.optionalAttrs (!(lib.hasPrefix "/" cfg.dataDir)) {
StateDirectory = cfg.dataDir;
};
};

View File

@@ -1,19 +1,59 @@
import ./make-test-python.nix ({ pkgs, lib, ... }:
{
name = "netbird";
import ./make-test-python.nix (
{ pkgs, lib, ... }:
{
name = "netbird";
meta.maintainers = with pkgs.lib.maintainers; [ ];
meta.maintainers = with pkgs.lib.maintainers; [
nazarewk
];
nodes = {
node = { ... }: {
services.netbird.enable = true;
nodes = {
clients =
{ ... }:
{
services.netbird.enable = true;
services.netbird.clients.custom.port = 51819;
};
};
};
testScript = ''
start_all()
node.wait_for_unit("netbird-wt0.service")
node.wait_for_file("/var/run/netbird/sock")
node.succeed("netbird status | grep -q 'Daemon status: NeedsLogin'")
'';
})
# TODO: confirm the whole solution is working end-to-end when netbird server is implemented
testScript = ''
start_all()
def did_start(node, name):
node.wait_for_unit(f"{name}.service")
node.wait_for_file(f"/var/run/{name}/sock")
output = node.succeed(f"{name} status")
# not sure why, but it can print either of:
# - Daemon status: NeedsLogin
# - Management: Disconnected
expected = [
"Disconnected",
"NeedsLogin",
]
assert any(msg in output for msg in expected)
did_start(clients, "netbird")
did_start(clients, "netbird-custom")
'';
/*
`netbird status` used to print `Daemon status: NeedsLogin`
https://github.com/netbirdio/netbird/blob/23a14737974e3849fa86408d136cc46db8a885d0/client/cmd/status.go#L154-L164
as the first line, but now it is just:
Daemon version: 0.26.3
CLI version: 0.26.3
Management: Disconnected
Signal: Disconnected
Relays: 0/0 Available
Nameservers: 0/0 Available
FQDN:
NetBird IP: N/A
Interface type: N/A
Quantum resistance: false
Routes: -
Peers count: 0/0 Connected
*/
}
)

View File

@@ -9,17 +9,19 @@
SDL2,
libXext,
Cocoa,
utf8proc,
nix-update-script,
}:
stdenv.mkDerivation rec {
pname = "schismtracker";
version = "20240809";
version = "20241226";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "sha256-J4al7XU+vvehDnp2fRrVesWyUN4i63g5btUkjarpXbk=";
owner = "schismtracker";
repo = "schismtracker";
tag = version;
hash = "sha256-CZc5rIAgEydb8JhtkRSqEB9PI7TC58oJZg939GIEiMs=";
};
# If we let it try to get the version from git, it will fail and fall back
@@ -30,9 +32,21 @@ stdenv.mkDerivation rec {
--replace-fail 'git log' 'echo ${version} #'
'';
configureFlags = [
"--enable-dependency-tracking"
] ++ lib.optional stdenv.hostPlatform.isDarwin "--disable-sdltest";
configureFlags =
[
(lib.enableFeature true "dependency-tracking")
(lib.withFeature true "sdl2")
(lib.enableFeature true "sdl2-linking")
]
++ lib.optionals stdenv.hostPlatform.isLinux [
(lib.enableFeature true "alsa")
(lib.enableFeature true "alsa-linking")
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
(lib.enableFeature false "sdltest")
];
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
@@ -41,7 +55,10 @@ stdenv.mkDerivation rec {
];
buildInputs =
[ SDL2 ]
[
SDL2
utf8proc
]
++ lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
libXext
@@ -56,12 +73,14 @@ stdenv.mkDerivation rec {
--replace '-lSDL2main' '-lSDL2'
'';
meta = with lib; {
passthru.updateScript = nix-update-script { };
meta = {
description = "Music tracker application, free reimplementation of Impulse Tracker";
homepage = "https://schismtracker.org/";
license = licenses.gpl2Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ ftrvxmtrx ];
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ ftrvxmtrx ];
mainProgram = "schismtracker";
};
}

View File

@@ -40,13 +40,13 @@ let
in
stdenv.mkDerivation rec {
pname = "strawberry";
version = "1.2.4";
version = "1.2.6";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
hash = "sha256-acTFJS8E0hQNbiiOi8DfPyTiUcKjXwg5trk3Q2mYYmQ=";
hash = "sha256-FfyvSNaO8dE6zz/PNKp/2kJHbauJjmQAhTriRE5lXEk=";
};
# the big strawberry shown in the context menu is *very* much in your face, so use the grey version instead

View File

@@ -8,13 +8,13 @@
melpaBuild {
pname = "edraw";
version = "1.2.0-unstable-2025-01-06";
version = "1.2.0-unstable-2025-01-16";
src = fetchFromGitHub {
owner = "misohena";
repo = "el-easydraw";
rev = "9a5b5e2b071be99350bfc8db6fbc2c9c667f3725";
hash = "sha256-lQYSUQFAv6rqvZySsFbe8B7ZqEaa2L+L3HXB231D4OQ=";
rev = "449c1226f7108e1cf8b4b447a65fa053b6bd782f";
hash = "sha256-u6lc2s4fqNWNCuICu832vAbMmV5X6FB8fIkJwgdBKfg=";
};
propagatedUserEnvPkgs = [ gzip ];

View File

@@ -15,7 +15,7 @@ in
zlib,
python3,
lldb,
dotnet-sdk_8,
dotnetCorePackages,
maven,
openssl,
expat,
@@ -44,6 +44,8 @@ let
products = versions.${system} or (throw "Unsupported system: ${system}");
dotnet-sdk = dotnetCorePackages.sdk_8_0-source;
package = if stdenv.hostPlatform.isDarwin then ./bin/darwin.nix else ./bin/linux.nix;
mkJetBrainsProductCore = callPackage package { inherit vmopts; };
mkMeta = meta: fromSource: {
@@ -188,7 +190,7 @@ rec {
for dir in plugins/clion-radler/DotFiles/linux-*; do
rm -rf $dir/dotnet
ln -s ${dotnet-sdk_8.unwrapped}/share/dotnet $dir/dotnet
ln -s ${dotnet-sdk}/share/dotnet $dir/dotnet
done
)
'';
@@ -352,7 +354,7 @@ rec {
for dir in lib/ReSharperHost/linux-*; do
rm -rf $dir/dotnet
ln -s ${dotnet-sdk_8.unwrapped}/share/dotnet $dir/dotnet
ln -s ${dotnet-sdk}/share/dotnet $dir/dotnet
done
)
'';

File diff suppressed because it is too large Load Diff

View File

@@ -105,12 +105,12 @@
};
bash = buildGrammar {
language = "bash";
version = "0.0.0+rev=49c3100";
version = "0.0.0+rev=a985bd2";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-bash";
rev = "49c31006d8307dcb12bc5770f35b6d5b9e2be68e";
hash = "sha256-JW+30zIyq8Xc7NG9V+YoFqC+57BjZXIbAvWPD2lqvIE=";
rev = "a985bd2d14d249b8f583343ad21aeb13c50c85e8";
hash = "sha256-5uI2DOLGLN0zD2VbCPB7sdLQFTL5kQtNZpGh7VC25wg=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-bash";
};
@@ -193,23 +193,23 @@
};
c = buildGrammar {
language = "c";
version = "0.0.0+rev=3aa2995";
version = "0.0.0+rev=492f7aa";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c";
rev = "3aa2995549d5d8b26928e8d3fa2770fd4327414e";
hash = "sha256-iT0sjwtrDtCduxCU3wVB1AP6gzxW3DpmqNQaP3LUBiA=";
rev = "492f7aaa37560204856a2b3f775398b66ba09f31";
hash = "sha256-4Ha5coP621qncxS6IE+KvNuhJlj5qI4ZveBwe/1cq9k=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c";
};
c_sharp = buildGrammar {
language = "c_sharp";
version = "0.0.0+rev=acff8cb";
version = "0.0.0+rev=2c31cc8";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-c-sharp";
rev = "acff8cbb53a1d7b9cd07b209c9933a0e2da9ef35";
hash = "sha256-Mdcr4UuoKiNodrNV7/NRfQkmgynPa798Rv9f6Qm3cFw=";
rev = "2c31cc87640ab6ad74fb408c0cf1262ce54da5bb";
hash = "sha256-pr9JxTc7o5q82CaYVtSSNlp3BQS4+CGblfmtXQoj9os=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-c-sharp";
};
@@ -336,23 +336,23 @@
};
cpp = buildGrammar {
language = "cpp";
version = "0.0.0+rev=f41b4f6";
version = "0.0.0+rev=a352ed8";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-cpp";
rev = "f41b4f66a42100be405f96bdc4ebc4a61095d3e8";
hash = "sha256-NRcyXjijLdoa5fdA+MKZyt7mnM5B37zCsqZh4QvuOtA=";
rev = "a352ed85f733f9c6cc458fe5a82bcd4c00f70eab";
hash = "sha256-s/JJD2gfs2Kepj89N7ZCstdfZ1baONZmTxFy2D0KQ2M=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-cpp";
};
css = buildGrammar {
language = "css";
version = "0.0.0+rev=5c89b88";
version = "0.0.0+rev=6731f03";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-css";
rev = "5c89b88a37a2e1e36c031469462d6ee85ff2c13c";
hash = "sha256-R5820/4sIQIfCMg3D/LF1Kk5Mf46YLokS8tBAcGL4Eo=";
rev = "6731f030693d3698ad94865ed0228fe45df07e30";
hash = "sha256-+TGRtlFDCfQYRC2dp+xyMZL/EpBnEjdq8vDeF1ib6Y0=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-css";
};
@@ -370,12 +370,12 @@
};
cuda = buildGrammar {
language = "cuda";
version = "0.0.0+rev=635e8aa";
version = "0.0.0+rev=757e0a6";
src = fetchFromGitHub {
owner = "theHamsta";
repo = "tree-sitter-cuda";
rev = "635e8aa3747823a0c4e9660c07cef76fe8d3ef93";
hash = "sha256-+KHenEgo9wMncjEIJZoqS0x089hjdR3J1t+x663qy1M=";
rev = "757e0a61f9d38b3d9eaa299e8d866e8283ffc284";
hash = "sha256-66tJ1GVAWKqXBCzBXUGdzG/Rl2vw/eJ6mQnWnnnpBcU=";
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-cuda";
};
@@ -592,12 +592,12 @@
};
elixir = buildGrammar {
language = "elixir";
version = "0.0.0+rev=02a6f7f";
version = "0.0.0+rev=0e8eb7f";
src = fetchFromGitHub {
owner = "elixir-lang";
repo = "tree-sitter-elixir";
rev = "02a6f7fd4be28dd94ee4dd2ca19cb777053ea74e";
hash = "sha256-OM2RWQNdYMltYwmbU5f4ZK5a8Wx4JxBMYx9R5n2B4jg=";
rev = "0e8eb7fc1dfb3d855398870827a9866a1529a5e4";
hash = "sha256-rgmwf4ndSFtrdAz+w0QtIcZNgYfaLoCkqytnioXT/Pk=";
};
meta.homepage = "https://github.com/elixir-lang/tree-sitter-elixir";
};
@@ -636,23 +636,23 @@
};
embedded_template = buildGrammar {
language = "embedded_template";
version = "0.0.0+rev=3322625";
version = "0.0.0+rev=8495d10";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-embedded-template";
rev = "332262529bc51abf5746317b2255ccc2fff778f8";
hash = "sha256-C2Lo3tT2363O++ycXiR6x0y+jy2zlmhcKp7t1LhvCe8=";
rev = "8495d106154741e6d35d37064f864758ece75de6";
hash = "sha256-DCEno1QzPcM9853hldrm4IAqKsTNALe//laDn+Hcr8Q=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-embedded-template";
};
erlang = buildGrammar {
language = "erlang";
version = "0.0.0+rev=d2281ab";
version = "0.0.0+rev=981fda0";
src = fetchFromGitHub {
owner = "WhatsApp";
repo = "tree-sitter-erlang";
rev = "d2281ab060093290045941a865a3834eec862a3f";
hash = "sha256-tiZY1CXwKBwkXRrl1uJACOoXIlC9AmqDQ9bxWuq9ejw=";
rev = "981fda038d2eb182a88a9374ccb1c14b840cba0b";
hash = "sha256-uvVnWbkiwsqNq0hPikEwLLq1MDVohJlgK/L6zAUC+rU=";
};
meta.homepage = "https://github.com/WhatsApp/tree-sitter-erlang";
};
@@ -746,12 +746,12 @@
};
fortran = buildGrammar {
language = "fortran";
version = "0.0.0+rev=5fc069e";
version = "0.0.0+rev=022b032";
src = fetchFromGitHub {
owner = "stadelmanma";
repo = "tree-sitter-fortran";
rev = "5fc069e4f05810ec6f8e399cd522e4eba864181c";
hash = "sha256-dcpGhtUbaw4lBrwL01nzokWF2BQLsER5S7zEH6xOzso=";
rev = "022b032d31299c5d8336cdfd0ece97de20a609c0";
hash = "sha256-STRbEv7kBtkrokXgaN9g1JNwWmSV+7gkyklhYKJszNY=";
};
meta.homepage = "https://github.com/stadelmanma/tree-sitter-fortran";
};
@@ -978,12 +978,12 @@
};
go = buildGrammar {
language = "go";
version = "0.0.0+rev=12fe553";
version = "0.0.0+rev=7cb21a6";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-go";
rev = "12fe553fdaaa7449f764bc876fd777704d4fb752";
hash = "sha256-E8ieOSkpmdsMrj1m0op0WA5ki4VkodHBMtJRCmYtmGY=";
rev = "7cb21a65af6cc8e5c6742b9dba42881ea1158475";
hash = "sha256-BOq/HH6r+6dbdUa/0rlQioXG3Dgm60gBNSc1SLfE2fI=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-go";
};
@@ -1088,12 +1088,12 @@
};
groovy = buildGrammar {
language = "groovy";
version = "0.0.0+rev=d1556e7";
version = "0.0.0+rev=8691159";
src = fetchFromGitHub {
owner = "murtaza64";
repo = "tree-sitter-groovy";
rev = "d1556e77d49df1a28cd564af5766fdaea8ab7063";
hash = "sha256-oEdO9P1akGzOmZvAUrO608yptgkMsJL5YAhPwBvarPI=";
rev = "86911590a8e46d71301c66468e5620d9faa5b6af";
hash = "sha256-652wluH2C3pYmhthaj4eWDVLtEvvVIuu70bJNnt5em0=";
};
meta.homepage = "https://github.com/murtaza64/tree-sitter-groovy";
};
@@ -1110,12 +1110,12 @@
};
hack = buildGrammar {
language = "hack";
version = "0.0.0+rev=fca1e29";
version = "0.0.0+rev=bc5b3a1";
src = fetchFromGitHub {
owner = "slackhq";
repo = "tree-sitter-hack";
rev = "fca1e294f6dce8ec5659233a6a21f5bd0ed5b4f2";
hash = "sha256-XTcsqCvlwbAAi7/TXrYX8wT56Ie+0OW5+eNRMH7XNyk=";
rev = "bc5b3a10d6d27e8220a113a9a7fe9bec0a1574b0";
hash = "sha256-dVDJRRn5pT7FPQN+RIUi/mFG6uS8rAzWJy2dBfuiNSM=";
};
meta.homepage = "https://github.com/slackhq/tree-sitter-hack";
};
@@ -1243,12 +1243,12 @@
};
html = buildGrammar {
language = "html";
version = "0.0.0+rev=d9219ad";
version = "0.0.0+rev=d18f83f";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-html";
rev = "d9219ada6e1a2c8f0ab0304a8bd9ca4285ae0468";
hash = "sha256-0aLNG4eB2I0Qn0r1oF4YwUDLek78S5fbklFI/bMmxOQ=";
rev = "d18f83f8bed0be99796c4eacafe9b295ab2ee144";
hash = "sha256-FbyIgMEheIMAvllWtizuhj39G60IYX6YPY0BIz9O2/4=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-html";
};
@@ -1287,12 +1287,12 @@
};
hyprlang = buildGrammar {
language = "hyprlang";
version = "0.0.0+rev=6858695";
version = "0.0.0+rev=d719158";
src = fetchFromGitHub {
owner = "luckasRanarison";
repo = "tree-sitter-hyprlang";
rev = "6858695eba0e63b9e0fceef081d291eb352abce8";
hash = "sha256-5csAj7k03QEEfkZE/EBmGjqUHPlFss3EWvExT4kaiQg=";
rev = "d719158abe537b1916daaea6fa03287089f0b601";
hash = "sha256-5iflQ4FDEvVRuaytPl08Q9CYXm2dfZ49qJyvcsOrzuI=";
};
meta.homepage = "https://github.com/luckasRanarison/tree-sitter-hyprlang";
};
@@ -1364,34 +1364,34 @@
};
janet_simple = buildGrammar {
language = "janet_simple";
version = "0.0.0+rev=b4aa56f";
version = "0.0.0+rev=ca4785b";
src = fetchFromGitHub {
owner = "sogaiu";
repo = "tree-sitter-janet-simple";
rev = "b4aa56fd0a2ea2708fc93062683ae5eaa4e973e6";
hash = "sha256-2Yo1ZGNZbe6TtfaSIykkG10L58Z6lk5hMr30K5zGuYI=";
rev = "ca4785b47a4ff15653f0408a49c764dec533e0d3";
hash = "sha256-pRB5G4lR0t2E9MQN/a2AC8OQppwD6gZ1AfCNPon6TIE=";
};
meta.homepage = "https://github.com/sogaiu/tree-sitter-janet-simple";
};
java = buildGrammar {
language = "java";
version = "0.0.0+rev=94703d5";
version = "0.0.0+rev=677da92";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-java";
rev = "94703d5a6bed02b98e438d7cad1136c01a60ba2c";
hash = "sha256-OvEO1BLZLjP3jt4gar18kiXderksFKO0WFXDQqGLRIY=";
rev = "677da92875756e31b3a42505d822cc8be7c5ab5e";
hash = "sha256-6eJI+6bMdMb/9q9rXFF66JeuC8TaRKKzAnkfMZ8tojU=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-java";
};
javascript = buildGrammar {
language = "javascript";
version = "0.0.0+rev=108b2d4";
version = "0.0.0+rev=3f1c835";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-javascript";
rev = "108b2d4d17a04356a340aea809e4dd5b801eb40d";
hash = "sha256-0x6DbmRTlxUP4vbWVsLoj+k1YOk2Dr+LAPClFsWi7r8=";
rev = "3f1c835d05165050834da0e3cbc23a75e94aaa64";
hash = "sha256-+lC8zuuNlMIiEDqtuMdJwKXqG9udGOREq0ufasSbIJY=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-javascript";
};
@@ -1408,23 +1408,23 @@
};
jsdoc = buildGrammar {
language = "jsdoc";
version = "0.0.0+rev=b253abf";
version = "0.0.0+rev=a417db5";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-jsdoc";
rev = "b253abf68a73217b7a52c0ec254f4b6a7bb86665";
hash = "sha256-Azzb2zBjAfwbEmAEO1YqhpaxtzbXmRjfIzRla2Hx+24=";
rev = "a417db5dbdd869fccb6a8b75ec04459e1d4ccd2c";
hash = "sha256-MMLgza5H9NWYn9jtOumwg3cz3hqb8GQGFc/yRSvUIVI=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-jsdoc";
};
json = buildGrammar {
language = "json";
version = "0.0.0+rev=4d770d3";
version = "0.0.0+rev=54ccd94";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-json";
rev = "4d770d31f732d50d3ec373865822fbe659e47c75";
hash = "sha256-hmcwRbTn0xPrV1OufXXq6VNhCopa1NQJhDsY3VSPovw=";
rev = "54ccd9485e0122a5e9faf5d8aaed7294c308e894";
hash = "sha256-tltnBQNEFZeN0jIxG0eHofyMLR0CTrQos1fh02Xexas=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-json";
};
@@ -1507,12 +1507,12 @@
};
kotlin = buildGrammar {
language = "kotlin";
version = "0.0.0+rev=0662afb";
version = "0.0.0+rev=c4ddea3";
src = fetchFromGitHub {
owner = "fwcd";
repo = "tree-sitter-kotlin";
rev = "0662afbd2ce19b17c603acf67ae707b4d69ab8f4";
hash = "sha256-r3emNyglirgxb1ktR46EgsECv6ueHUpo6wI2ULyUBtU=";
rev = "c4ddea359a7ff4d92360b2efcd6cfce5dc25afe6";
hash = "sha256-7REd272fpCP/ggzg7wLf5DS6QX9SIO9YGPdvj2c2w58=";
};
meta.homepage = "https://github.com/fwcd/tree-sitter-kotlin";
};
@@ -1797,12 +1797,12 @@
};
nginx = buildGrammar {
language = "nginx";
version = "0.0.0+rev=281d184";
version = "0.0.0+rev=989da76";
src = fetchFromGitHub {
owner = "opa-oz";
repo = "tree-sitter-nginx";
rev = "281d184b8240b2b22670b8907b57b6d6842db6f3";
hash = "sha256-OsUCCtkaCwiKWKBduk9Ktc65LP1udKcKRmU4TAy8ayE=";
rev = "989da760be05a3334af3ec88705cbf57e6a9c41d";
hash = "sha256-tIbwsh7cnpm1jkIKaXQ7NI/LXWzEOsZyNLfe/qTNkkM=";
};
meta.homepage = "https://github.com/opa-oz/tree-sitter-nginx";
};
@@ -2009,35 +2009,35 @@
};
perl = buildGrammar {
language = "perl";
version = "0.0.0+rev=7120632";
version = "0.0.0+rev=6f280c5";
src = fetchFromGitHub {
owner = "tree-sitter-perl";
repo = "tree-sitter-perl";
rev = "71206326a8bcbdc2032f852bab8698e315bf5910";
hash = "sha256-EySvg8EcCrRS7QfiainRgsCYg8Kvn5DROLxrnyD3rkU=";
rev = "6f280c52662dc254eb7a5abc0889f7a9e1154ffd";
hash = "sha256-wyIUdf0v/acVptAe3Z3tL9QvbdZYoxpeaS1a7oygyiU=";
};
meta.homepage = "https://github.com/tree-sitter-perl/tree-sitter-perl";
};
php = buildGrammar {
language = "php";
version = "0.0.0+rev=43aad2b";
version = "0.0.0+rev=5021edd";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "43aad2b9a98aa8e603ea0cf5bb630728a5591ad8";
hash = "sha256-+CnUnrNRaD+CejyYjqelMYA1K3GN/WPeZBJoP2y5cmI=";
rev = "5021edde6d0ea75aedc313e75cca2ac5aa064d41";
hash = "sha256-DeqHoBlx9UCq7e06W6MnAVtoG7h7qrT1PNGsWTRN2f0=";
};
location = "php";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
};
php_only = buildGrammar {
language = "php_only";
version = "0.0.0+rev=43aad2b";
version = "0.0.0+rev=5021edd";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-php";
rev = "43aad2b9a98aa8e603ea0cf5bb630728a5591ad8";
hash = "sha256-+CnUnrNRaD+CejyYjqelMYA1K3GN/WPeZBJoP2y5cmI=";
rev = "5021edde6d0ea75aedc313e75cca2ac5aa064d41";
hash = "sha256-DeqHoBlx9UCq7e06W6MnAVtoG7h7qrT1PNGsWTRN2f0=";
};
location = "php_only";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-php";
@@ -2132,12 +2132,12 @@
};
prisma = buildGrammar {
language = "prisma";
version = "0.0.0+rev=eca2596";
version = "0.0.0+rev=73f39a6";
src = fetchFromGitHub {
owner = "victorhqc";
repo = "tree-sitter-prisma";
rev = "eca2596a355b1a9952b4f80f8f9caed300a272b5";
hash = "sha256-MOqkM7DCQl1L8Jn9nyw89EoAr0ez4+d39HeKy2cb66c=";
rev = "73f39a6d5401cfdcd143951e499336cf5ab2ffaa";
hash = "sha256-0wHh+Gf2wer/35NdEWOCQFNdRH/wVWnRx9HnlX7vZho=";
};
meta.homepage = "https://github.com/victorhqc/tree-sitter-prisma";
};
@@ -2267,12 +2267,12 @@
};
python = buildGrammar {
language = "python";
version = "0.0.0+rev=409b5d6";
version = "0.0.0+rev=44c2f7a";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-python";
rev = "409b5d671eb0ea4972eeacaaca24bbec1acf79b1";
hash = "sha256-IIAL2qteFPBCPmDK1N2EdDgpI4CwfMuuVL8t5tYueLU=";
rev = "44c2f7aebce0efac5867cdc5f2ea03c1d43a0305";
hash = "sha256-B/c4QW3LIMQPmiRyvQe7SrQNUoIqW8U9FEnP54+XT/4=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-python";
};
@@ -2311,12 +2311,12 @@
};
query = buildGrammar {
language = "query";
version = "0.0.0+rev=a6674e2";
version = "0.0.0+rev=5c2d027";
src = fetchFromGitHub {
owner = "nvim-treesitter";
repo = "tree-sitter-query";
rev = "a6674e279b14958625d7a530cabe06119c7a1532";
hash = "sha256-xtr2IVI+3h/u9f84ye7szHR/U2E8Bm5NN7vhqaCkiyI=";
rev = "5c2d02747250bc326bc33687b3319b7db8554e24";
hash = "sha256-bZ8bIrr3vclu7AklGyVIxkR3TF9JDrGJui6i71swqhM=";
};
meta.homepage = "https://github.com/nvim-treesitter/tree-sitter-query";
};
@@ -2399,12 +2399,12 @@
};
regex = buildGrammar {
language = "regex";
version = "0.0.0+rev=d329907";
version = "0.0.0+rev=b638d29";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-regex";
rev = "d329907611abe46d26ab5908e5922e7400212cb9";
hash = "sha256-XNoklzboR0NzFu2Ke7HT6TitROFhEM6S993INA1atfM=";
rev = "b638d29335ef41215b86732dd51be34c701ef683";
hash = "sha256-KHPwvjqvgqLKGL/OeotF1djSSSrAsb2H3CNUmgiva18=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-regex";
};
@@ -2498,12 +2498,12 @@
};
rst = buildGrammar {
language = "rst";
version = "0.0.0+rev=5120f6e";
version = "0.0.0+rev=dd5971e";
src = fetchFromGitHub {
owner = "stsewd";
repo = "tree-sitter-rst";
rev = "5120f6e59284cb8b85b450bd2db0bd352635ba9f";
hash = "sha256-PI1C0W8fiuIQ2fgHXDelkCa0ng1a32x/9hrA33KoefM=";
rev = "dd5971ef7759583aadd5aa5e3a3a0905eb5734d5";
hash = "sha256-gW/d49PsRm/FgTS4khJ681GDjf1aAgTSXvUv/8bP0ek=";
};
meta.homepage = "https://github.com/stsewd/tree-sitter-rst";
};
@@ -2531,12 +2531,12 @@
};
rust = buildGrammar {
language = "rust";
version = "0.0.0+rev=1f63b33";
version = "0.0.0+rev=2eaf126";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-rust";
rev = "1f63b33efee17e833e0ea29266dd3d713e27e321";
hash = "sha256-HV7zMwO3ZMaHqX5cV43iwuC+QM7ecApZ2U/hbXuM34c=";
rev = "2eaf126458a4d6a69401089b6ba78c5e5d6c1ced";
hash = "sha256-u3mJghmVHYPjow1QWRoT/Ip7DZwli4EzmioZQOzqTjs=";
};
meta.homepage = "https://github.com/tree-sitter/tree-sitter-rust";
};
@@ -2553,12 +2553,12 @@
};
scfg = buildGrammar {
language = "scfg";
version = "0.0.0+rev=a551280";
version = "0.0.0+rev=2f3709e";
src = fetchFromGitHub {
owner = "rockorager";
repo = "tree-sitter-scfg";
rev = "a5512800ea0220da4abbae61b8aea8423d1549aa";
hash = "sha256-Je6taNzniyd1c+2NRCF7TOvnpeW4qhYYhdAEcgpDOAA=";
rev = "2f3709e7656fa2c443f92041c91a9f843f8cd625";
hash = "sha256-2/n+pSR6Ojahm8iBnpNsQscrXQqzZflKBA42gX29u50=";
};
generate = true;
meta.homepage = "https://github.com/rockorager/tree-sitter-scfg";
@@ -2608,6 +2608,17 @@
};
meta.homepage = "https://github.com/theHamsta/tree-sitter-slang";
};
slim = buildGrammar {
language = "slim";
version = "0.0.0+rev=a0f08e8";
src = fetchFromGitHub {
owner = "theoo";
repo = "tree-sitter-slim";
rev = "a0f08e85b787248219ea645423c5916c8d620ef6";
hash = "sha256-b+V56Csa+byGvTieN+cAvoVy8UpFzS8/SSdYeW3cjts=";
};
meta.homepage = "https://github.com/theoo/tree-sitter-slim";
};
slint = buildGrammar {
language = "slint";
version = "0.0.0+rev=f11da7e";
@@ -2654,12 +2665,12 @@
};
solidity = buildGrammar {
language = "solidity";
version = "0.0.0+rev=f7f5251";
version = "0.0.0+rev=7270875";
src = fetchFromGitHub {
owner = "JoranHonig";
repo = "tree-sitter-solidity";
rev = "f7f5251a3f5b1d04f0799b3571b12918af177fc8";
hash = "sha256-Tt8lXaHrRFbbATUoWK+Y9FZohY1IeDTCXaaom4yZYb4=";
rev = "727087514eff57d92e273a24303142308bce3381";
hash = "sha256-k5YExvQmDXk+k9afiq6VizFdsvSH9u8Y1u3xB9i96mw=";
};
meta.homepage = "https://github.com/JoranHonig/tree-sitter-solidity";
};
@@ -2689,12 +2700,12 @@
};
sourcepawn = buildGrammar {
language = "sourcepawn";
version = "0.0.0+rev=6b9bf9c";
version = "0.0.0+rev=f2af8d0";
src = fetchFromGitHub {
owner = "nilshelmig";
repo = "tree-sitter-sourcepawn";
rev = "6b9bf9cbab91443380d2ca8a2f6c491cc7fac5bf";
hash = "sha256-2DjGCZ701c2rMxQZM4YF61rZokZUov4ECb0gwAmyuVk=";
rev = "f2af8d0dc14c6790130cceb2a20027eb41a8297c";
hash = "sha256-u8/wM2Dj+uO3g24MsGZfH9zkABCEaWWFI8EX3fxuljk=";
};
meta.homepage = "https://github.com/nilshelmig/tree-sitter-sourcepawn";
};
@@ -2788,12 +2799,12 @@
};
superhtml = buildGrammar {
language = "superhtml";
version = "0.0.0+rev=1fda813";
version = "0.0.0+rev=e6eba40";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "superhtml";
rev = "1fda813bd9dc108e962e018e6a327434767ad616";
hash = "sha256-+32toY540h92Xk5xoYvZaMYNDxXWI4pRbkrBnU4xRjM=";
rev = "e6eba40bf54dd94d842154be0389c53a37be8dc8";
hash = "sha256-v1K4yuAeFxu8K/Wt2gv2Onwfa4AB4Wt1p76d2koLAYw=";
};
location = "tree-sitter-superhtml";
meta.homepage = "https://github.com/kristoff-it/superhtml";
@@ -2867,12 +2878,12 @@
};
t32 = buildGrammar {
language = "t32";
version = "0.0.0+rev=ad23ed0";
version = "0.0.0+rev=e5a12f7";
src = fetchFromGitLab {
owner = "xasc";
repo = "tree-sitter-t32";
rev = "ad23ed0325658adbb1dfb397d4dfbea8872585c6";
hash = "sha256-dcz2b0NiaJEQUN6kOk+FVfxqD3wSzolH+NXkPpzrQj4=";
rev = "e5a12f798f056049642aa03fbb83786e3a5b95d4";
hash = "sha256-oOykmtAFPQiqK02nia8/m8pg2fi5yKt7dzZOGr9f3dQ=";
};
meta.homepage = "https://gitlab.com/xasc/tree-sitter-t32.git";
};
@@ -2923,12 +2934,12 @@
};
templ = buildGrammar {
language = "templ";
version = "0.0.0+rev=60310af";
version = "0.0.0+rev=a9178bf";
src = fetchFromGitHub {
owner = "vrischmann";
repo = "tree-sitter-templ";
rev = "60310af0d788a0160d719d4aff8f146b6e6c55bd";
hash = "sha256-M0+Yw2Ld9qT9Ag9OaMpmls8LO4+IK0xtAZ8X5oZ2c78=";
rev = "a9178bfc9cc8040c08f39b47bae5400a2bf06e50";
hash = "sha256-QMOPxbNzLcUfhEuD635M/n3WrADryjZVKXlNMF6QezQ=";
};
meta.homepage = "https://github.com/vrischmann/tree-sitter-templ";
};
@@ -3035,12 +3046,12 @@
};
tsx = buildGrammar {
language = "tsx";
version = "0.0.0+rev=8e13e1d";
version = "0.0.0+rev=410947e";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-typescript";
rev = "8e13e1db35b941fc57f2bd2dd4628180448c17d5";
hash = "sha256-Z68ERsfHxDubDJb7nQKSH0YoBmIReUGXNF0LJAQTXEs=";
rev = "410947e9d2ca8e032cd2419bf1241406c7e6f9bb";
hash = "sha256-iRIRIighYwVB5Pze5nhdZ9gFiELiqVBYrSyKLzaXI/8=";
};
location = "tsx";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -3069,12 +3080,12 @@
};
typescript = buildGrammar {
language = "typescript";
version = "0.0.0+rev=8e13e1d";
version = "0.0.0+rev=410947e";
src = fetchFromGitHub {
owner = "tree-sitter";
repo = "tree-sitter-typescript";
rev = "8e13e1db35b941fc57f2bd2dd4628180448c17d5";
hash = "sha256-Z68ERsfHxDubDJb7nQKSH0YoBmIReUGXNF0LJAQTXEs=";
rev = "410947e9d2ca8e032cd2419bf1241406c7e6f9bb";
hash = "sha256-iRIRIighYwVB5Pze5nhdZ9gFiELiqVBYrSyKLzaXI/8=";
};
location = "typescript";
meta.homepage = "https://github.com/tree-sitter/tree-sitter-typescript";
@@ -3170,12 +3181,12 @@
};
v = buildGrammar {
language = "v";
version = "0.0.0+rev=5351039";
version = "0.0.0+rev=0461bf8";
src = fetchFromGitHub {
owner = "vlang";
repo = "v-analyzer";
rev = "535103910159887a41d019635c1cdbec910d1a31";
hash = "sha256-4VxvK9KzJlN0AsXz0XL5FIs3H65vPgyj/YqTc138zC4=";
rev = "0461bf8addccb4df566827f1601f415d07b1ffbc";
hash = "sha256-flnEty9x1wDDtSgQk9cRXYKfWFjvqxRXsLl5ev3rGXk=";
};
location = "tree_sitter_v";
meta.homepage = "https://github.com/vlang/v-analyzer";
@@ -3215,12 +3226,12 @@
};
vhdl = buildGrammar {
language = "vhdl";
version = "0.0.0+rev=63d0360";
version = "0.0.0+rev=da8ea8a";
src = fetchFromGitHub {
owner = "jpt13653903";
repo = "tree-sitter-vhdl";
rev = "63d0360d42c43b4902b8470c7ddcf323432e2dde";
hash = "sha256-D85VFM82lU4GDpIWZmY+j6134DHp0pGbqg8Haj2mgiw=";
rev = "da8ea8afa7899a99e43a7d61afef9f77b7a675eb";
hash = "sha256-yLoIKO1ObSe7rQOBjd1cF0U8/x622tYWwasiCHx+aYE=";
};
meta.homepage = "https://github.com/jpt13653903/tree-sitter-vhdl";
};
@@ -3348,23 +3359,23 @@
};
xresources = buildGrammar {
language = "xresources";
version = "0.0.0+rev=983f13a";
version = "0.0.0+rev=d0f9dc7";
src = fetchFromGitHub {
owner = "ValdezFOmar";
repo = "tree-sitter-xresources";
rev = "983f13acef542aef431a845fef084ddda8d9d666";
hash = "sha256-s/wuzVzF8TzySZ0OFNCFpbvjminQzbb3icZc+DnChjc=";
rev = "d0f9dc7cec4dc15fc6f9d556bb4e9dd5050328a6";
hash = "sha256-3TBpNdIsmOutazBlMKAsQaq7RPu4vUeZMFuZ2/2HDKo=";
};
meta.homepage = "https://github.com/ValdezFOmar/tree-sitter-xresources";
};
yaml = buildGrammar {
language = "yaml";
version = "0.0.0+rev=b733d3f";
version = "0.0.0+rev=1805917";
src = fetchFromGitHub {
owner = "tree-sitter-grammars";
repo = "tree-sitter-yaml";
rev = "b733d3f5f5005890f324333dd57e1f0badec5c87";
hash = "sha256-23/zcjnQUQt32N2EdQMzWM9srkXfQxlBvOo7FWH6rnw=";
rev = "1805917414a9a8ba2473717fd69447277a175fae";
hash = "sha256-lcdlvzDhl0mDCe4olMoEynxFFLfn3w4p24C1k/7DItA=";
};
meta.homepage = "https://github.com/tree-sitter-grammars/tree-sitter-yaml";
};
@@ -3414,24 +3425,24 @@
};
ziggy = buildGrammar {
language = "ziggy";
version = "0.0.0+rev=fe73bee";
version = "0.0.0+rev=3518133";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "ziggy";
rev = "fe73beef9f52f04048d8b19016fc4fbc66b4596f";
hash = "sha256-GSiVrl3GMp5Y8DF/gxdl1ToUoN5s3RQxNKxmab5tSHs=";
rev = "3518133e9ebea7c372eff4def368eda8488fad18";
hash = "sha256-U3MUFYsWiM5RK3lFXyo3VaTlxqkh3b0HzQsRiegIHU8=";
};
location = "tree-sitter-ziggy";
meta.homepage = "https://github.com/kristoff-it/ziggy";
};
ziggy_schema = buildGrammar {
language = "ziggy_schema";
version = "0.0.0+rev=fe73bee";
version = "0.0.0+rev=3518133";
src = fetchFromGitHub {
owner = "kristoff-it";
repo = "ziggy";
rev = "fe73beef9f52f04048d8b19016fc4fbc66b4596f";
hash = "sha256-GSiVrl3GMp5Y8DF/gxdl1ToUoN5s3RQxNKxmab5tSHs=";
rev = "3518133e9ebea7c372eff4def368eda8488fad18";
hash = "sha256-U3MUFYsWiM5RK3lFXyo3VaTlxqkh3b0HzQsRiegIHU8=";
};
location = "tree-sitter-ziggy-schema";
meta.homepage = "https://github.com/kristoff-it/ziggy";

View File

@@ -760,6 +760,7 @@ in
# Optional integrations
fzf-lua
telescope-nvim
snacks-nvim
];
dependencies = with self; [
copilot-lua
@@ -1615,6 +1616,10 @@ in
];
};
LuaSnip-snippets-nvim = super.LuaSnip-snippets-nvim.overrideAttrs {
checkInputs = [ self.luasnip ];
};
lz-n = neovimUtils.buildNeovimPlugin {
luaAttr = luaPackages.lz-n;
};
@@ -2763,6 +2768,10 @@ in
dependencies = [ self.plenary-nvim ];
};
repolink-nvim = super.repolink-nvim.overrideAttrs {
dependencies = [ self.plenary-nvim ];
};
# needs "http" and "json" treesitter grammars too
rest-nvim = super.rest-nvim.overrideAttrs {
dependencies = with self; [
@@ -3358,6 +3367,15 @@ in
};
};
vimade = super.vimade.overrideAttrs {
checkInputs = with self; [
# Optional providers
hlchunk-nvim
mini-nvim
snacks-nvim
];
};
vim-addon-actions = super.vim-addon-actions.overrideAttrs {
dependencies = with self; [
vim-addon-mw-utils

View File

@@ -15,6 +15,7 @@ https://github.com/martinda/Jenkinsfile-vim-syntax/,,
https://github.com/vigoux/LanguageTool.nvim/,,
https://github.com/LazyVim/LazyVim/,,
https://github.com/Yggdroot/LeaderF/,,
https://github.com/molleweide/LuaSnip-snippets.nvim/,HEAD,
https://github.com/Valloric/MatchTagAlways/,,
https://github.com/numToStr/Navigator.nvim/,,
https://github.com/overcache/NeoSolarized/,,
@@ -938,6 +939,7 @@ https://github.com/amitds1997/remote-nvim.nvim/,HEAD,
https://github.com/filipdutescu/renamer.nvim/,,
https://github.com/MeanderingProgrammer/render-markdown.nvim/,,
https://github.com/gabrielpoca/replacer.nvim/,HEAD,
https://github.com/9seconds/repolink.nvim/,HEAD,
https://github.com/stevearc/resession.nvim/,HEAD,
https://github.com/rest-nvim/rest.nvim/,,
https://github.com/vim-scripts/restore_view.vim/,HEAD,restore-view-vim

View File

@@ -18,8 +18,6 @@ let
nativeBuildInputs = [ makeWrapper ];
phases = [ "buildPhase" "fixupPhase" ];
buildPhase = ''
makeWrapper {$tesseractBase,$out}/bin/tesseract --set-default TESSDATA_PREFIX $out/share/tessdata

View File

@@ -45,8 +45,8 @@ let
}
else
{
version = "2024.4";
hash = "sha256-rGGOzi5Yr6hrU2xaLE/Lk38HYDGPEtGPEDRra969hqg=";
version = "2024.5";
hash = "sha256-/s8GsYbN25Qs+0LujaXz6yuZk+aswKLxjRSsCwFEJPM=";
};
in stdenv.mkDerivation rec {

View File

@@ -7,16 +7,16 @@
rustPlatform.buildRustPackage rec {
pname = "git-cliff";
version = "2.7.0";
version = "2.8.0";
src = fetchFromGitHub {
owner = "orhun";
repo = "git-cliff";
rev = "v${version}";
hash = "sha256-wGxxLfl+d8uTPLHPL2EKpaL36x0or7PHwdVaZTlKITE=";
hash = "sha256-B421xXt7TrBJVwi04vygnw9t5o7/KLVpuItQtwV4E24=";
};
cargoHash = "sha256-8G6iyvnKYxiRotQH7SwLSZStJg7iDNw4zPvT9sUTvmA=";
cargoHash = "sha256-geg6gdPKUBJBJI/TpW5m+/q/7M7kmIlrU2UAauctFOM=";
# attempts to run the program on .git in src which is not deterministic
doCheck = false;

View File

@@ -69,7 +69,7 @@ let
buildFlags = [ "--enable-system-libraries" ];
};
gitlab-glfm-markdown = attrs: {
cargoDeps = rustPlatform.fetchCargoTarball {
cargoDeps = rustPlatform.fetchCargoVendor {
src = stdenv.mkDerivation {
inherit (buildRubyGem { inherit (attrs) gemName version source; })
name
@@ -83,7 +83,7 @@ let
cp Cargo.lock $out
'';
};
hash = "sha256-vFApyObuqsMBXhT2yyMpH7rzW0GaPgJUn9/hE/GpS9I=";
hash = "sha256-fikyG1e45XP+oWOxuCdapW1zM2O02KozqB5qnbw2TY8=";
};
dontBuild = false;

View File

@@ -33,10 +33,7 @@ let
homepage = "https://github.com/hyprwm/hyprland-plugins";
description = "Hyprland ${description} plugin";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
johnrtitor
];
maintainers = lib.teams.hyprland.members;
inherit (hyprland.meta) platforms;
};
}

View File

@@ -91,10 +91,7 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
changelog = "https://github.com/hyprwm/xdg-desktop-portal-hyprland/releases/tag/v${finalAttrs.version}";
mainProgram = "hyprland-share-picker";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
khaneliman
];
maintainers = lib.teams.hyprland.members;
platforms = lib.platforms.linux;
};
})

View File

@@ -35,6 +35,9 @@ in
name ? if args ? pname && args ? version then "${args.pname}-${args.version}" else "cargo-deps",
hash ? (throw "fetchCargoVendor requires a `hash` value to be set for ${name}"),
nativeBuildInputs ? [ ],
# This is mostly for breaking infinite recursion where dependencies
# of nix-prefetch-git use fetchCargoVendor.
allowGitDependencies ? true,
...
}@args:
@@ -53,11 +56,15 @@ let
{
name = "${name}-vendor-staging";
nativeBuildInputs = [
fetchCargoVendorUtil
nix-prefetch-git
cacert
] ++ nativeBuildInputs;
nativeBuildInputs =
[
fetchCargoVendorUtil
cacert
]
++ lib.optionals allowGitDependencies [
nix-prefetch-git
]
++ nativeBuildInputs;
buildPhase = ''
runHook preBuild

View File

@@ -106,6 +106,9 @@ rustPlatform.buildRustPackage {
-p:Deterministic=true
'';
# NuGet.targets(156,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json.
NuGetAudit = "false";
passthru = {
inherit (dotnetBuild) fetch-deps;
};

View File

@@ -7,17 +7,18 @@
stdenv,
installShellFiles,
versionCheckHook,
callPackage,
}:
buildGoModule rec {
pname = "alist";
version = "3.41.0";
webVersion = "3.41.0";
version = "3.42.0";
webVersion = "3.42.0";
src = fetchFromGitHub {
owner = "AlistGo";
repo = "alist";
tag = "v${version}";
hash = "sha256-DzqSkcyDRyiHM0yh7A+dZj7TnjhDVQoHHgV5piVcu1g=";
hash = "sha256-qUW9bA2TeAVve77i43+ITxClLaO3aqm5959itf+iFqs=";
# populate values that require us to use git. By doing this in postFetch we
# can delete .git afterwards and maintain better reproducibility of the src.
leaveDotGit = true;
@@ -31,11 +32,11 @@ buildGoModule rec {
};
web = fetchzip {
url = "https://github.com/AlistGo/alist-web/releases/download/${webVersion}/dist.tar.gz";
hash = "sha256-1IXvst9VfxuIjUrgmJxTYm8jJQStMK+RlQibQ3fTDGs=";
hash = "sha256-g2+qdLrxuyuqxlyVk32BKJCbMfXNs29KLEPxAkTQHjU=";
};
proxyVendor = true;
vendorHash = "sha256-p6JqYmcQR6W7RE7F6NGxoiTxSOESuYjpke0rLRlxeSM=";
vendorHash = "sha256-uid+uT4eOtDsCNsKqGqPc4vMDnKUatG4V2n0Z7r6ccY=";
buildInputs = [ fuse ];
@@ -67,6 +68,7 @@ buildGoModule rec {
"TestHTTPAll"
"TestWebsocketAll"
"TestWebsocketCaller"
"TestDownloadOrder"
];
in
[ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
@@ -88,6 +90,10 @@ buildGoModule rec {
versionCheckHook
];
passthru = {
updateScript = lib.getExe (callPackage ./update.nix { });
};
meta = {
description = "File list/WebDAV program that supports multiple storages";
homepage = "https://github.com/alist-org/alist";

View File

@@ -0,0 +1,43 @@
{
writeShellApplication,
nix,
nix-update,
curl,
jq,
common-updater-scripts,
}:
writeShellApplication {
name = "update-alist";
runtimeInputs = [
curl
jq
nix
common-updater-scripts
nix-update
];
text = ''
# get old info
oldVersion=$(nix-instantiate --eval --strict -A "alist.version" | jq -e -r)
get_latest_release() {
local repo=$1
curl --fail ''${GITHUB_TOKEN:+ -H "Authorization: bearer $GITHUB_TOKEN"} \
-s "https://api.github.com/repos/AlistGo/$repo/releases/latest" | jq -r ".tag_name"
}
version=$(get_latest_release "alist")
version="''${version#v}"
webVersion=$(get_latest_release "alist-web")
if [[ "$oldVersion" == "$version" ]]; then
echo "Already up to date!"
exit 0
fi
update-source-version alist "$webVersion" --source-key=web --version-key=webVersion
nix-update alist --version="$version"
'';
}

View File

@@ -23,13 +23,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "aquamarine";
version = "0.5.1";
version = "0.7.1";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "aquamarine";
rev = "v${finalAttrs.version}";
hash = "sha256-Gxv1kTz5jEvIzmkF6XgsdKglL2jmjJOQdZ+hO9uVnlQ=";
hash = "sha256-NbJiiPFnmciji3JHpqF/L0SdMQXKXn+q3Q/D8RjF/ak=";
};
nativeBuildInputs = [
@@ -71,10 +71,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "A very light linux rendering backend library";
homepage = "https://github.com/hyprwm/aquamarine";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
johnrtitor
];
maintainers = lib.teams.hyprland.members;
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
};
})

View File

@@ -1,27 +0,0 @@
{
lib,
rustPlatform,
fetchFromGitHub,
}:
rustPlatform.buildRustPackage rec {
pname = "autoadb";
version = "unstable-2020-06-01";
src = fetchFromGitHub {
owner = "rom1v";
repo = pname;
rev = "7f8402983603a9854bf618a384f679a17cd85e2d";
sha256 = "sha256-9Sv38dCtvbqvxSnRpq+HsIwF/rfLUVZbi0J+mltLres=";
};
cargoHash = "sha256-xxmBgJqtWq1FLWTaC8SjaBoSXkPcIZYrSOc+hCEN778=";
meta = with lib; {
description = "Execute a command whenever a device is adb-connected";
homepage = "https://github.com/rom1v/autoadb";
license = licenses.asl20;
maintainers = with maintainers; [ shawn8901 ];
mainProgram = "autoadb";
};
}

View File

@@ -26,8 +26,8 @@ let
dotnet-sdk =
with dotnetCorePackages;
combinePackages [
sdk_7_0_1xx
runtime_6_0
sdk_7_0_1xx-bin
runtime_6_0-bin
];
npmDepsFile = ./npm-deps.nix;

View File

@@ -6,18 +6,18 @@
buildGoModule rec {
pname = "azure-storage-azcopy";
version = "10.27.1";
version = "10.28.0";
src = fetchFromGitHub {
owner = "Azure";
repo = "azure-storage-azcopy";
tag = "v${version}";
hash = "sha256-h/EiJZMX2vHn/t1FPM1ZkXf9I8LYiqK1GqkSDAlXBYY=";
hash = "sha256-dRS96M4KMEQaKYVA0fNgmmfH2JYVFbEjH8C3xA9knes=";
};
subPackages = [ "." ];
vendorHash = "sha256-7ZUQMJPYE62M47VqEwahVePC85x3TyOmADOVczUrj7w=";
vendorHash = "sha256-TwzcjhL8STH8tASTp2kQjn6bYyn/Ab+EJwvIGOBT+1A=";
doCheck = false;

View File

@@ -6,27 +6,14 @@
pkg-config,
alsa-lib,
versionCheckHook,
bacon,
nix-update-script,
withSound ? false,
}:
rustPlatform.buildRustPackage rec {
pname = "bacon";
version = "3.9.0";
src = fetchFromGitHub {
owner = "Canop";
repo = "bacon";
tag = "v${version}";
hash = "sha256-LnJlE4ostOl+pr+d7ZsAfKvG4C45qt4pedWpeiTchPU=";
};
cargoHash = "sha256-KS1SXrRqjvRom2zZOaaZZOMK2CRUwVmtXC2ilDfaEG0=";
nativeBuildInputs = [
pkg-config
];
buildInputs =
let
soundDependencies =
lib.optionals stdenv.hostPlatform.isLinux [
alsa-lib
]
@@ -34,12 +21,39 @@ rustPlatform.buildRustPackage rec {
# bindgenHook is only included on darwin as it is needed to build `coreaudio-sys`, a darwin-specific crate
rustPlatform.bindgenHook
];
in
rustPlatform.buildRustPackage rec {
pname = "bacon";
version = "3.9.1";
src = fetchFromGitHub {
owner = "Canop";
repo = "bacon";
tag = "v${version}";
hash = "sha256-TniEPcY3mK5LO9CBXi5kgnUQkOeDwF9n1K0kSn4ucKk=";
};
cargoHash = "sha256-5pY43PH2I4L/QsNnJffBGiRtuZrnLVCxjo0YseLsEMc=";
buildFeatures = lib.optionals withSound [
"sound"
];
nativeBuildInputs = lib.optionals withSound [
pkg-config
];
buildInputs = lib.optionals withSound soundDependencies;
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
tests = {
withSound = bacon.override { withSound = true; };
};
updateScript = nix-update-script { };
};

View File

@@ -21,11 +21,11 @@ buildDotnetModule rec {
};
dotnet-sdk = with dotnetCorePackages; combinePackages [
sdk_7_0
sdk_6_0
sdk_7_0-bin
sdk_6_0-bin
];
dotnet-runtime = dotnetCorePackages.runtime_7_0;
dotnet-runtime = dotnetCorePackages.runtime_7_0-bin;
projectFile = [ "BeatSaberModManager/BeatSaberModManager.csproj" ];

View File

@@ -26,7 +26,7 @@ buildDotnetModule rec {
nugetDeps = ./deps.json;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-sdk = dotnetCorePackages.sdk_8_0_4xx-bin;
dotnet-runtime = dotnetCorePackages.runtime_8_0;

View File

@@ -9,8 +9,8 @@ let
pname = "bililiverecorder";
dotnet = with dotnetCorePackages; combinePackages [
runtime_6_0
aspnetcore_6_0
runtime_6_0-bin
aspnetcore_6_0-bin
];
version = "2.13.0";

View File

@@ -13,9 +13,10 @@
xapp,
}:
stdenv.mkDerivation rec {
python3Packages.buildPythonApplication rec {
pname = "blueberry";
version = "1.4.8";
format = "other";
src = fetchFromGitHub {
owner = "linuxmint";
@@ -26,7 +27,6 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
gobject-introspection
python3Packages.wrapPython
wrapGAppsHook3
];
@@ -34,7 +34,6 @@ stdenv.mkDerivation rec {
bluez-tools
gnome-bluetooth_1_0
libnotify
python3Packages.python
util-linux
xapp
];
@@ -53,28 +52,28 @@ stdenv.mkDerivation rec {
# Fix paths
substituteInPlace $out/bin/blueberry \
--replace /usr/lib/blueberry $out/lib/blueberry
--replace-fail /usr/lib/blueberry $out/lib/blueberry
substituteInPlace $out/bin/blueberry-tray \
--replace /usr/lib/blueberry $out/lib/blueberry
--replace-fail /usr/lib/blueberry $out/lib/blueberry
substituteInPlace $out/etc/xdg/autostart/blueberry-obex-agent.desktop \
--replace /usr/lib/blueberry $out/lib/blueberry
--replace-fail /usr/lib/blueberry $out/lib/blueberry
substituteInPlace $out/etc/xdg/autostart/blueberry-tray.desktop \
--replace Exec=blueberry-tray Exec=$out/bin/blueberry-tray
--replace-fail Exec=blueberry-tray Exec=$out/bin/blueberry-tray
substituteInPlace $out/lib/blueberry/blueberry-obex-agent.py \
--replace /usr/share $out/share
--replace-fail /usr/share $out/share
substituteInPlace $out/lib/blueberry/blueberry-tray.py \
--replace /usr/share $out/share
--replace-fail /usr/share $out/share
substituteInPlace $out/lib/blueberry/blueberry.py \
--replace '"bt-adapter"' '"${bluez-tools}/bin/bt-adapter"' \
--replace /usr/bin/pavucontrol ${pavucontrol}/bin/pavucontrol \
--replace /usr/lib/blueberry $out/lib/blueberry \
--replace /usr/share $out/share
--replace-fail '"bt-adapter"' '"${bluez-tools}/bin/bt-adapter"' \
--replace-fail /usr/bin/pavucontrol ${pavucontrol}/bin/pavucontrol \
--replace-fail /usr/lib/blueberry $out/lib/blueberry \
--replace-fail /usr/share $out/share
substituteInPlace $out/lib/blueberry/rfkillMagic.py \
--replace /usr/bin/rfkill ${util-linux}/bin/rfkill \
--replace /usr/sbin/rfkill ${util-linux}/bin/rfkill \
--replace /usr/lib/blueberry $out/lib/blueberry
--replace-fail /usr/bin/rfkill ${util-linux}/bin/rfkill \
--replace-fail /usr/sbin/rfkill ${util-linux}/bin/rfkill \
--replace-fail /usr/lib/blueberry $out/lib/blueberry
substituteInPlace $out/share/applications/blueberry.desktop \
--replace Exec=blueberry Exec=$out/bin/blueberry
--replace-fail Exec=blueberry Exec=$out/bin/blueberry
glib-compile-schemas --strict $out/share/glib-2.0/schemas

View File

@@ -17,7 +17,7 @@ buildDotnetModule rec {
hash = "sha256-IWtYbb1IFB6DLIYYTP+q7q+h/0aqonxr/mWwf+83aRo=";
};
dotnet-sdk = dotnetCorePackages.sdk_6_0;
dotnet-sdk = dotnetCorePackages.sdk_6_0-bin;
projectFile = [ "Source/Boogie.sln" ];
nugetDeps = ./deps.json;

View File

@@ -6,16 +6,16 @@
}:
buildGoModule rec {
pname = "chirpstack-rest-api";
version = "4.10.2";
version = "4.11.0";
src = fetchFromGitHub {
owner = "chirpstack";
repo = "chirpstack-rest-api";
rev = "v${version}";
hash = "sha256-t7JACy26BzmkC7f/KGATw8V+lqEqhkPjEg6LHQ6REWE=";
hash = "sha256-yYuSciMsQudGqBPNqj28TZgCGtZb9j7mtEkBR8tbEm4=";
};
vendorHash = "sha256-Y4KGcLms5TAWHcvm9OYKty3+Lciycy+31zokVAPx/pI=";
vendorHash = "sha256-UZ1todyWnxRTnqEGc/2rM+JCZPWYG/WA+OnivpB6JGI=";
ldflags = [
"-s"

View File

@@ -0,0 +1,12 @@
diff --git a/src/templator.zig b/src/templator.zig
index 5630a04..0dc8ca7 100644
--- a/src/templator.zig
+++ b/src/templator.zig
@@ -77,7 +77,6 @@ pub fn parse_themes(f: std.fs.File) ![]Theme {
}
const parsed = try std.json.parseFromSlice([]Theme, a, list.items, .{});
- defer parsed.deinit();
const themes = parsed.value;
return themes;

View File

@@ -2,22 +2,31 @@
lib,
stdenv,
fetchFromGitHub,
zig_0_9,
zig_0_13,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "colorstorm";
version = "2.0.0";
# last tagged release is three years old and requires outdated Zig 0.9
# new release requested in: https://github.com/benbusby/colorstorm/issues/16
version = "2.0.0-unstable-2025-01-17";
src = fetchFromGitHub {
owner = "benbusby";
repo = "colorstorm";
rev = "v${finalAttrs.version}";
hash = "sha256-6+P+QQpP1jxsydqhVrZkjl1gaqNcx4kS2994hOBhtu8=";
rev = "e645c4293fb5f72968038dac99e0b8dab3db194f";
hash = "sha256-6D+aNcjJksv7E9RJB9fnzgzvGoUPXV4Shz5wLu5YHtg=";
};
patches = [
# Fixes a use-after-free segfault.
# See https://github.com/benbusby/colorstorm/pull/15#discussion_r1930406581
# and upstream PR https://github.com/NixOS/nixpkgs/pull/377279
./0001-fix-segfault.patch
];
nativeBuildInputs = [
zig_0_9.hook
zig_0_13.hook
];
meta = {
@@ -25,7 +34,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/benbusby/colorstorm";
license = lib.licenses.mit;
maintainers = [ ];
inherit (zig_0_9.meta) platforms;
inherit (zig_0_13.meta) platforms;
mainProgram = "colorstorm";
};
})

View File

@@ -10,13 +10,13 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "cpuinfo";
version = "0-unstable-2024-12-09";
version = "0-unstable-2025-01-10";
src = fetchFromGitHub {
owner = "pytorch";
repo = "cpuinfo";
rev = "ca156f7bc9109c552973414a63d310f76ef0cbf8";
hash = "sha256-hIGizsl1NSGySXPI9Xx69xCfQLAMpYviYhBXX201N4o=";
rev = "8a1772a0c5c447df2d18edf33ec4603a8c9c04a6";
hash = "sha256-dKmZ5YXLhvVdxaJ4PefR+SWlh+MTFHNxOMeM6Vj7Gvo=";
};
passthru.updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };

View File

@@ -11,7 +11,7 @@
makeWrapper,
ncurses5,
dotnet-sdk_8,
dotnetCorePackages,
dotnetSupport ? false,
alsa-lib,
@@ -33,7 +33,7 @@
let
dyalogHome = "$out/lib/dyalog";
makeWrapperArgs = lib.optional dotnetSupport "--set DOTNET_ROOT ${dotnet-sdk_8}/share/dotnet";
makeWrapperArgs = lib.optional dotnetSupport "--set DOTNET_ROOT ${dotnetCorePackages.sdk_8_0-source}/share/dotnet";
licenseUrl = "https://www.dyalog.com/uploads/documents/Developer_Software_Licence.pdf";

View File

@@ -1,7 +1,7 @@
{
"version" = "1.11.89";
"version" = "1.11.91";
"hashes" = {
"desktopSrcHash" = "sha256-vZLM1AIMxDltB+GeQEcYifnaBC1+4wWkotPFuelHxT0=";
"desktopYarnHash" = "1n057ic4dzcyg3wfr8jj7vab00jg2d1m38y5zk1kab1pka163f1q";
"desktopSrcHash" = "sha256-nHA/j9V+vZUgY+eCCp/iO458GrXSkla+ruJbJjh9NJw=";
"desktopYarnHash" = "09k4kislf1zimbyn6m68bh2s3kpn2cs9h04wqli3j3qgkplcvxdv";
};
}

View File

@@ -1,7 +1,7 @@
{
"version" = "1.11.89";
"version" = "1.11.91";
"hashes" = {
"webSrcHash" = "sha256-K9i5MxTJaX359qsnpfXZBZiNHbhCEy25plUPVUtbGQs=";
"webYarnHash" = "164smvrq9937x0pql20zdqab5w35fcidbywkzlyc5g4w7iwkd9kx";
"webSrcHash" = "sha256-kdjkmVkoJuV3SBFkVQr4IAi69mAs8V5i3qFOd66BP2s=";
"webYarnHash" = "sha256-in7qiGIXP+Ki820RB/uB2st2FIwrxjqYpdOmmLI6RSM=";
};
}

View File

@@ -53,6 +53,10 @@ stdenv.mkDerivation rec {
install -Dm644 util/flashrom_udev.rules $out/lib/udev/rules.d/flashrom.rules
'';
NIX_CFLAGS_COMPILE = lib.optionalString (
stdenv.cc.isClang && !stdenv.hostPlatform.isDarwin
) "-Wno-gnu-folding-constant";
meta = with lib; {
homepage = "https://www.flashrom.org";
description = "Utility for reading, writing, erasing and verifying flash ROM chips";

View File

@@ -14,13 +14,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "fluent-bit";
version = "3.2.4";
version = "3.2.5";
src = fetchFromGitHub {
owner = "fluent";
repo = "fluent-bit";
rev = "v${finalAttrs.version}";
hash = "sha256-oTCGjDmGVovsfj+4fjIKy/xpiuYc0Q44LYwYPI4dSF8=";
hash = "sha256-H3wcKeHfAJNJAEtRcTU8rz93wug39TUqV3XN4wkTqMg=";
};
# optional only to avoid linux rebuild

View File

@@ -6,17 +6,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "flutter_rust_bridge_codegen";
version = "2.7.0";
version = "2.7.1";
src = fetchFromGitHub {
owner = "fzyzcjy";
repo = "flutter_rust_bridge";
rev = "v${version}";
hash = "sha256-XHHgKwwGI0v6PD+KQBA8AvUBqUPxefxoJXcZDwjOemQ=";
hash = "sha256-I9IaBOqX93g5i26aMa/ICWKurX/82R9PvINNVWNQuNk=";
fetchSubmodules = true;
};
cargoHash = "sha256-MDQFHQQWEStBwrwlGti5bY5HwACcrLrSR9Zs9DxTz/A=";
cargoHash = "sha256-VZ4suSaWg2TfBjcxTuV9Ptkq/rBNmhBygtjsi5twJrk=";
cargoBuildFlags = "--package flutter_rust_bridge_codegen";
cargoTestFlags = "--package flutter_rust_bridge_codegen";

View File

@@ -6,11 +6,11 @@
python3Packages.buildPythonApplication rec {
pname = "frida-tools";
version = "13.6.0";
version = "13.6.1";
src = fetchPypi {
inherit pname version;
hash = "sha256-M0S8tZagToIP6Qyr9RWNAGGfWOcOtO0bYKC02IhCpvg=";
hash = "sha256-imNW0vorY90lp2OkhYLYwgpyW+Vxd1kdq3Lvd4/iNVA=";
};
propagatedBuildInputs = with python3Packages; [

View File

@@ -11,16 +11,17 @@
}:
rustPlatform.buildRustPackage rec {
pname = "fum";
version = "0.4.3";
version = "0.6.4";
src = fetchFromGitHub {
owner = "qxb3";
repo = "fum";
tag = "v${version}";
hash = "sha256-VRcQWwO80xFn5A21yjRsGqnnWkhWfsJxxEiw78NWJPM=";
hash = "sha256-vBn76s2ewLVVYhyXviQUmq+AzH6FSVdJaTEJQ2EPlM0=";
};
cargoHash = "sha256-GW3/SqQlEUTMtvOgnMGhcREOHz/V2qtjtCAzFFKMNb4=";
useFetchCargoVendor = true;
cargoHash = "sha256-7h/KIAIxldXPXUo0lzuBqs6Uf5S5p39yV+kTfLe/LBo=";
nativeBuildInputs = [
autoPatchelfHook

View File

@@ -28,13 +28,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "gdlauncher-carbon";
version = "2.0.20";
version = "2.0.22";
src = appimageTools.extract {
inherit (finalAttrs) pname version;
src = fetchurl {
url = "https://cdn-raw.gdl.gg/launcher/GDLauncher__${finalAttrs.version}__linux__x64.AppImage";
hash = "sha256-tI9RU8qO3MHbImOGw2Wl1dksNbhqrYFyGemqms8aAio=";
hash = "sha256-b1d39cSuVJ17rx8vjlYlyIUvqkBbhCWXuq4Z96K1I3M=";
};
};

View File

@@ -15,7 +15,7 @@ buildDotnetModule rec {
hash = "sha256-hUURXPKhiI3n1BrW8IzVVmPuJyO4AxM8D5uluaJXk+4=";
};
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-sdk = dotnetCorePackages.sdk_8_0_4xx;
projectFile = "src/gei/gei.csproj";
nugetDeps = ./deps.json; # File generated with `nix-build -A gh-gei.passthru.fetch-deps`.

View File

@@ -29,12 +29,12 @@
stdenv.mkDerivation (finalAttrs: {
pname = "glamoroustoolkit";
version = "1.1.9";
version = "1.1.11";
src = fetchzip {
url = "https://github.com/feenkcom/gtoolkit-vm/releases/download/v${finalAttrs.version}/GlamorousToolkit-x86_64-unknown-linux-gnu.zip";
stripRoot = false;
hash = "sha256-dBUMn5KMSLTfmJnKTS6seEYDRy2JCiR+fi37UIUJ5aM=";
hash = "sha256-bb5tU4UtqdWcSqgl28V8IoATWx4TADxNFXkn9ljmw6Y=";
};
nativeBuildInputs = [

View File

@@ -6,6 +6,7 @@
gnome,
adwaita-icon-theme,
meson,
mesonEmulatorHook,
ninja,
pkg-config,
gtk3,
@@ -51,20 +52,24 @@ stdenv.mkDerivation (finalAttrs: {
})
];
nativeBuildInputs = [
meson
ninja
gettext
itstool
pkg-config
libxml2
wrapGAppsHook3
gobject-introspection
gtk-doc
docbook-xsl-nons
docbook_xml_dtd_43
python3
];
nativeBuildInputs =
[
meson
ninja
gettext
itstool
pkg-config
libxml2
wrapGAppsHook3
gobject-introspection
gtk-doc
docbook-xsl-nons
docbook_xml_dtd_43
python3
]
++ lib.optionals (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) [
mesonEmulatorHook
];
buildInputs = [
glib
@@ -86,6 +91,8 @@ stdenv.mkDerivation (finalAttrs: {
patchShebangs meson_post_install.py
'';
strictDeps = true;
passthru = {
updateScript = gnome.updateScript {
packageName = "gnome-bluetooth";

View File

@@ -4,7 +4,6 @@
buildPackages,
dbus,
dotnet-sdk_6,
dotnet-sdk_8,
dotnetCorePackages,
fetchFromGitHub,
fontconfig,
@@ -60,6 +59,8 @@ let
arch = stdenv.hostPlatform.linuxArch;
dotnet-sdk = dotnetCorePackages.sdk_8_0-source;
attrs = finalAttrs: rec {
pname = "godot4${suffix}";
version = "4.3-stable";
@@ -154,7 +155,7 @@ let
]
++ lib.optionals withWayland [ wayland-scanner ]
++ lib.optionals withMono [
dotnet-sdk_8
dotnet-sdk
makeWrapper
];
@@ -222,10 +223,10 @@ let
+ lib.optionalString withMono ''
cp -r bin/GodotSharp/ $out/bin/
wrapProgram $out/bin/godot4${suffix} \
--set DOTNET_ROOT ${dotnet-sdk_8} \
--set DOTNET_ROOT ${dotnet-sdk} \
--prefix PATH : "${
lib.makeBinPath [
dotnet-sdk_8
dotnet-sdk
]
}"
''

View File

@@ -5,14 +5,15 @@ GEM
asciidoctor (2.0.23)
base64 (0.2.0)
builder (3.3.0)
concurrent-ruby (1.3.4)
concurrent-ruby (1.3.5)
crass (1.0.6)
creole (0.5.0)
date (3.4.1)
expression_parser (0.9.0)
gemojione (4.3.3)
json
github-markup (4.0.2)
gollum (6.0.1)
gollum (6.1.0)
gemojione (~> 4.1)
gollum-lib (~> 6.0)
i18n (~> 1.8)
@@ -45,82 +46,85 @@ GEM
htmlentities (4.3.4)
i18n (1.14.6)
concurrent-ruby (~> 1.0)
json (2.7.4)
kramdown (2.4.0)
rexml
json (2.9.1)
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
logger (1.6.1)
loofah (2.23.1)
logger (1.6.5)
loofah (2.24.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mime-types (3.6.0)
logger
mime-types-data (~> 3.2015)
mime-types-data (3.2024.1001)
mini_portile2 (2.8.7)
mime-types-data (3.2025.0107)
mini_portile2 (2.8.8)
multi_json (1.15.0)
mustache (1.1.1)
mustache-sinatra (2.0.0)
mustache (~> 1.0)
mustermann (3.0.3)
ruby2_keywords (~> 0.0.1)
nokogiri (1.16.7)
nokogiri (1.18.1)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
octicons (19.12.0)
octicons (19.14.0)
org-ruby (0.9.12)
rubypants (~> 0.2)
psych (5.1.2)
psych (5.2.3)
date
stringio
racc (1.8.1)
rack (3.1.8)
rack-protection (4.0.0)
rack-protection (4.1.1)
base64 (>= 0.1.0)
logger (>= 1.6.0)
rack (>= 3.0.0, < 4)
rack-session (2.0.0)
rack-session (2.1.0)
base64 (>= 0.1.0)
rack (>= 3.0.0)
rackup (2.1.0)
rackup (2.2.1)
rack (>= 3)
webrick (~> 1.8)
rdoc (6.7.0)
rdoc (6.11.0)
psych (>= 4.0.0)
rexml (3.3.9)
rexml (3.4.0)
rouge (3.30.0)
rss (0.3.1)
rexml
ruby2_keywords (0.0.5)
rubypants (0.7.1)
rugged (1.7.2)
sinatra (4.0.0)
rugged (1.9.0)
sinatra (4.1.1)
logger (>= 1.6.0)
mustermann (~> 3.0)
rack (>= 3.0.0, < 4)
rack-protection (= 4.0.0)
rack-protection (= 4.1.1)
rack-session (>= 2.0.0, < 3)
tilt (~> 2.0)
sinatra-contrib (4.0.0)
sinatra-contrib (4.1.1)
multi_json (>= 0.0.2)
mustermann (~> 3.0)
rack-protection (= 4.0.0)
sinatra (= 4.0.0)
rack-protection (= 4.1.1)
sinatra (= 4.1.1)
tilt (~> 2.0)
sprockets (4.2.1)
concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4)
sprockets-helpers (1.4.0)
sprockets (>= 2.2)
stringio (3.1.1)
stringio (3.1.2)
therubyrhino (2.1.2)
therubyrhino_jar (>= 1.7.4, < 1.7.9)
therubyrhino_jar (1.7.8)
tilt (2.4.0)
tilt (2.6.0)
twitter-text (1.14.7)
unf (~> 0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.9.1)
useragent (0.16.10)
webrick (1.8.2)
useragent (0.16.11)
webrick (1.9.1)
wikicloth (0.8.3)
builder
expression_parser
@@ -140,4 +144,4 @@ DEPENDENCIES
wikicloth
BUNDLED WITH
2.5.16
2.5.22

View File

@@ -34,10 +34,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0chwfdq2a6kbj6xz9l6zrdfnyghnh32si82la1dnpa5h75ir5anl";
sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1";
type = "gem";
};
version = "1.3.4";
version = "1.3.5";
};
crass = {
groups = [ "default" ];
@@ -59,6 +59,16 @@
};
version = "0.5.0";
};
date = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kz6mc4b9m49iaans6cbx031j9y7ldghpi5fzsdh0n3ixwa8w9mz";
type = "gem";
};
version = "3.4.1";
};
expression_parser = {
groups = [ "default" ];
platforms = [ ];
@@ -115,10 +125,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "01gk8zb1mfr7ypspbg765fn3m6rdh0b6jpyxfninabl9dzazyvpi";
sha256 = "1djb0mr4csfpas1aq19yv3d04hw6vxxpgbffp2bsp0p0p1h51far";
type = "gem";
};
version = "6.0.1";
version = "6.1.0";
};
gollum-lib = {
dependencies = [
@@ -179,10 +189,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1klf2mnfilzjqwcjdi5qb1zl3ghrifz1amcnvwjvsfnx9a5jb9ly";
sha256 = "048danb0x10mpch6mf88mky35zjn6wk4hpbqq68ssbq58i3fzgfj";
type = "gem";
};
version = "2.7.4";
version = "2.9.1";
};
kramdown = {
dependencies = [ "rexml" ];
@@ -190,10 +200,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1ic14hdcqxn821dvzki99zhmcy130yhv5fqfffkcf87asv5mnbmn";
sha256 = "131nwypz8b4pq1hxs6gsz3k00i9b75y3cgpkq57vxknkv6mvdfw7";
type = "gem";
};
version = "2.4.0";
version = "2.5.1";
};
kramdown-parser-gfm = {
dependencies = [ "kramdown" ];
@@ -211,10 +221,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0lwncq2rf8gm79g2rcnnyzs26ma1f4wnfjm6gs4zf2wlsdz5in9s";
sha256 = "0sz584vw17pwrrc5zg6yd8lqcgfpjf4qplq3s7fr0r3505nybky3";
type = "gem";
};
version = "1.6.1";
version = "1.6.5";
};
loofah = {
dependencies = [
@@ -225,10 +235,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ppp2cgli5avzk0z3dwnah6y65ymyr793yja28p2fs9vrci7986h";
sha256 = "07pfa5kgl7k2hxlzzn89qna6bmiyrxlchgbzi0885frsi08agrk1";
type = "gem";
};
version = "2.23.1";
version = "2.24.0";
};
mime-types = {
dependencies = [
@@ -249,20 +259,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "06dbn0j13jwdrmlvrjd50mxqrjlkh3lvxp0afh4glyzbliqvqpsd";
sha256 = "1jixfirdang1lx9iqkcw03mz43pi4vxlfpb8ha4sbz4cqry4jai3";
type = "gem";
};
version = "3.2024.1001";
version = "3.2025.0107";
};
mini_portile2 = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1q1f2sdw3y3y9mnym9dhjgsjr72sq975cfg5c4yx7gwv8nmzbvhk";
sha256 = "0x8asxl83msn815lwmb2d7q5p29p7drhjv5va0byhk60v9n16iwf";
type = "gem";
};
version = "2.8.7";
version = "2.8.8";
};
multi_json = {
groups = [ "default" ];
@@ -315,20 +325,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "15gysw8rassqgdq3kwgl4mhqmrgh7nk2qvrcqp4ijyqazgywn6gq";
sha256 = "0xc4qs4izky1zgafabzykbxk8lc4dq6aivgxmfv3ciy3jrzbw66z";
type = "gem";
};
version = "1.16.7";
version = "1.18.1";
};
octicons = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "00ld13van1xiayr24gwpbxfb63zbw44fx25xs9cp29g6cdzi5hrp";
sha256 = "0a1gvsr0fcxl7z8mnflr1lmmvknr11l05x9rg3c21dnnk6rnain7";
type = "gem";
};
version = "19.12.0";
version = "19.14.0";
};
org-ruby = {
dependencies = [ "rubypants" ];
@@ -342,15 +352,18 @@
version = "0.9.12";
};
psych = {
dependencies = [ "stringio" ];
dependencies = [
"date"
"stringio"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0s5383m6004q76xm3lb732bp4sjzb6mxb6rbgn129gy2izsj4wrk";
sha256 = "1vjrx3yd596zzi42dcaq5xw7hil1921r769dlbz08iniaawlp9c4";
type = "gem";
};
version = "5.1.2";
version = "5.2.3";
};
racc = {
groups = [ "default" ];
@@ -375,41 +388,42 @@
rack-protection = {
dependencies = [
"base64"
"logger"
"rack"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1xmvcxgm1jq92hqxm119gfk95wzl0d46nb2c2c6qqsm4ra2n3nyh";
sha256 = "0sniswjyi0yn949l776h7f67rvx5w9f04wh69z5g19vlsnjm98ji";
type = "gem";
};
version = "4.0.0";
version = "4.1.1";
};
rack-session = {
dependencies = [
"base64"
"rack"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1452c1bhh6fdnv17s1z65ajwh08axqnlmkhnr1qyyn2vacb3jz23";
type = "gem";
};
version = "2.1.0";
};
rackup = {
dependencies = [ "rack" ];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "10afdpmy9kh0qva96slcyc59j4gkk9av8ilh58cnj0qq7q3b416v";
sha256 = "13brkq5xkj6lcdxj3f0k7v28hgrqhqxjlhd4y2vlicy5slgijdzp";
type = "gem";
};
version = "2.0.0";
};
rackup = {
dependencies = [
"rack"
"webrick"
];
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kbcka30g681cqasw47pq93fxjscq7yvs5zf8lp3740rb158ijvf";
type = "gem";
};
version = "2.1.0";
version = "2.2.1";
};
rdoc = {
dependencies = [ "psych" ];
@@ -417,10 +431,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0ygk2zk0ky3d88v3ll7qh6xqvbvw5jin0hqdi1xkv1dhaw7myzdi";
sha256 = "0h00mb8wcj937srrafpjzq0klfi8rfpd4b3xpbvn9ghrn2wnzimy";
type = "gem";
};
version = "6.7.0";
version = "6.11.0";
};
RedCloth = {
groups = [ "default" ];
@@ -437,10 +451,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1j9p66pmfgxnzp76ksssyfyqqrg7281dyi3xyknl3wwraaw7a66p";
sha256 = "1ch4k2y80r4glr579kxliqnxld2qa91ydq8fiqam38bzpbps3gpg";
type = "gem";
};
version = "3.3.9";
version = "3.4.0";
};
rouge = {
groups = [ "default" ];
@@ -488,13 +502,14 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1sccng15h8h3mcjxfgvxy85lfpswbj0nhmzwwsqdffbzqgsb2jch";
sha256 = "1b7gcf6pxg4x607bica68dbz22b4kch33yi0ils6x3c8ql9akakz";
type = "gem";
};
version = "1.7.2";
version = "1.9.0";
};
sinatra = {
dependencies = [
"logger"
"mustermann"
"rack"
"rack-protection"
@@ -505,10 +520,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0za92lv4s7xhgkkm6xxf7ib0b3bsyj8drxgkrskgsb5g3mxnixjl";
sha256 = "002dkzdc1xqhvz5sdnj4vb0apczhs07mnpgq4kkd5dd1ka2pp6af";
type = "gem";
};
version = "4.0.0";
version = "4.1.1";
};
sinatra-contrib = {
dependencies = [
@@ -522,10 +537,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0r9khg85m60w0i77jpnm2irh9m4k0ia4mlicapj8dr7s6ykqd9dh";
sha256 = "1giziwf8mgki581jf40zzw3dhjkkmdg3yxbrahj9krd5h24vb90y";
type = "gem";
};
version = "4.0.0";
version = "4.1.1";
};
sprockets = {
dependencies = [
@@ -557,10 +572,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "07mfqb40b2wh53k33h91zva78f9zwcdnl85jiq74wnaw2wa6wiak";
sha256 = "0cd1kdrf62p2ya3ia4rz49d5012bqinvqjmcgkakknswz0l1hkr0";
type = "gem";
};
version = "3.1.1";
version = "3.1.2";
};
therubyrhino = {
dependencies = [ "therubyrhino_jar" ];
@@ -588,10 +603,10 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "0kds7wkxmb038cwp6ravnwn8k65ixc68wpm8j5jx5bhx8ndg4x6z";
sha256 = "0szpapi229v3scrvw1pgy0vpjm7z3qlf58m1198kxn70cs278g96";
type = "gem";
};
version = "2.4.0";
version = "2.6.0";
};
twitter-text = {
dependencies = [ "unf" ];
@@ -630,20 +645,20 @@
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "1fv5kvq494swy0p17h9qya9r50w15xsi9zmvhzb8gh55kq6ki50p";
sha256 = "0i1q2xdjam4d7gwwc35lfnz0wyyzvnca0zslcfxm9fabml9n83kh";
type = "gem";
};
version = "0.16.10";
version = "0.16.11";
};
webrick = {
groups = [ "default" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
sha256 = "089gy5494j560b242vi173wnbj2913hwlwnjkpzld58r96ilc5s3";
sha256 = "12d9n8hll67j737ym2zw4v23cn4vxyfkb6vyv1rzpwv6y6a3qbdl";
type = "gem";
};
version = "1.8.2";
version = "1.9.1";
};
wikicloth = {
dependencies = [

View File

@@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "gpsprune";
version = "24.5";
version = "25";
src = fetchurl {
url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
hash = "sha256-qQtMSQbhIgYLJbCip6ioWeVphO1DEYudmXKUer04L4Y=";
hash = "sha256-8FGOigjHIvj+CZwq0Lht7UZjtmrE5l2Aqx92gZjau44=";
};
dontUnpack = true;

View File

@@ -64,10 +64,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
description = "Helper for screenshots within Hyprland, based on grimshot";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [
donovanglover
khaneliman
];
maintainers = lib.teams.hyprland.members;
mainProgram = "grimblast";
};
})

View File

@@ -6,16 +6,16 @@
rustPlatform.buildRustPackage rec {
pname = "harper";
version = "0.17.0";
version = "0.18.0";
src = fetchFromGitHub {
owner = "Automattic";
repo = "harper";
rev = "v${version}";
hash = "sha256-cUN7e82CncDzA9m+pcvtrAn10E6AYaMcAuu6hpt85tA=";
hash = "sha256-phwFwrRuMPWPaPKi41G/YQfiRWFfNCir9478VrGckWI=";
};
cargoHash = "sha256-lo3Ye7u26xLqlu/R4klYd2X9G73119XtWaJzVkl85+g=";
cargoHash = "sha256-o2ydYm4ARA7NLcsNtN8oXiVaIv3D+RhW4tC5Btwd4nY=";
meta = {
description = "Grammar Checker for Developers";

View File

@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "httpx";
version = "1.6.9";
version = "1.6.10";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "httpx";
tag = "v${version}";
hash = "sha256-fkHMtFshRNtRhsxjbYOkeL2cln84NAa01jcGKips5Kk=";
hash = "sha256-lU5LtYFnWJu4yZTqdJFqLnaAUOQ3Nc2EaNPrvTxoW3Q=";
};
vendorHash = "sha256-zTPJtuKPtsVsgMwHFjVwAh1/3DudW7TPWOMJ20nNu1I=";
vendorHash = "sha256-+m0TPKIBCnRfswrMw9+w1r/pWaRmkI+s0RRbv5X5GBo=";
subPackages = [ "cmd/httpx" ];

View File

@@ -50,7 +50,11 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
description = "Hyprland cursor format, library and utilities";
changelog = "https://github.com/hyprwm/hyprcursor/releases/tag/v${finalAttrs.version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ iynaix ];
maintainers =
lib.teams.hyprland.members
++ (with lib.maintainers; [
iynaix
]);
mainProgram = "hyprcursor-util";
platforms = lib.platforms.linux;
};

View File

@@ -51,9 +51,6 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
description = "Official implementation library for the hypr config language";
license = lib.licenses.lgpl3Only;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
fufexan
khaneliman
];
maintainers = lib.teams.hyprland.members;
};
})

View File

@@ -48,11 +48,11 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
description = "Hyprland's idle daemon";
homepage = "https://github.com/hyprwm/hypridle";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
iogamaster
johnrtitor
khaneliman
];
maintainers =
lib.teams.hyprland.members
++ (with lib.maintainers; [
iogamaster
]);
mainProgram = "hypridle";
platforms = [
"aarch64-linux"

View File

@@ -25,7 +25,7 @@ stdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/hyprwm/hyprland-protocols";
description = "Wayland protocol extensions for Hyprland";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ fufexan ];
maintainers = lib.teams.hyprland.members;
platforms = lib.platforms.linux;
};
})

View File

@@ -43,7 +43,7 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
description = "Hyprland QT/qml utility apps";
homepage = "https://github.com/hyprwm/hyprland-qtutils";
license = lib.licenses.bsd3;
maintainers = [ lib.maintainers.fufexan ];
maintainers = lib.teams.hyprland.members;
platforms = lib.platforms.linux;
};
})

View File

@@ -1,7 +1,7 @@
{
"branch": "v0.46.2-b",
"commit_hash": "0bd541f2fd902dbfa04c3ea2ccf679395e316887",
"commit_message": "version: bump to 0.46.2",
"date": "2024-12-19",
"tag": "v0.46.2"
"branch": "main",
"commit_hash": "04ac46c54357278fc68f0a95d26347ea0db99496",
"commit_message": "version: bump to 0.47.0",
"date": "2025-01-27",
"tag": "v0.47.0"
}

View File

@@ -13,6 +13,7 @@
cairo,
epoll-shim,
git,
glaze,
hyprcursor,
hyprgraphics,
hyprland-qtutils,
@@ -85,14 +86,14 @@ assert assertMsg (!hidpiXWayland)
customStdenv.mkDerivation (finalAttrs: {
pname = "hyprland" + optionalString debug "-debug";
version = "0.46.2";
version = "0.47.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprland";
fetchSubmodules = true;
tag = "v${finalAttrs.version}";
hash = "sha256-dj9dpVwpyTmUyVu4jtaIU39bHgVkoZjv6cgYfWyHc9E=";
hash = "sha256-rxvLiGNRUSVYPFsKIsqEbhxpR0sbWmHoo3azZKQ9fTY=";
};
postPatch = ''
@@ -143,6 +144,7 @@ customStdenv.mkDerivation (finalAttrs: {
[
aquamarine
cairo
glaze
git
hyprcursor.dev
hyprgraphics
@@ -215,12 +217,7 @@ customStdenv.mkDerivation (finalAttrs: {
homepage = "https://github.com/hyprwm/Hyprland";
description = "Dynamic tiling Wayland compositor that doesn't sacrifice on its looks";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
johnrtitor
khaneliman
wozeparrot
];
maintainers = lib.teams.hyprland.members;
mainProgram = "Hyprland";
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
};

View File

@@ -39,9 +39,10 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
description = "Official implementation library for the hypr config language";
license = lib.licenses.lgpl3Only;
platforms = lib.platforms.all;
maintainers = with lib.maintainers; [
iogamaster
fufexan
];
maintainers =
lib.teams.hyprland.members
++ (with lib.maintainers; [
iogamaster
]);
};
})

View File

@@ -70,10 +70,11 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
description = "Hyprland's GPU-accelerated screen locking utility";
homepage = "https://github.com/hyprwm/hyprlock";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
iynaix
johnrtitor
];
maintainers =
lib.teams.hyprland.members
++ (with lib.maintainers; [
iynaix
]);
mainProgram = "hyprlock";
platforms = lib.platforms.linux;
};

View File

@@ -82,11 +82,7 @@ gcc14Stdenv.mkDerivation (finalAttrs: {
inherit (finalAttrs.src.meta) homepage;
description = "Blazing fast wayland wallpaper utility";
license = licenses.bsd3;
maintainers = with maintainers; [
fufexan
khaneliman
wozeparrot
];
maintainers = lib.teams.hyprland.members;
inherit (wayland.meta) platforms;
broken = gcc14Stdenv.hostPlatform.isDarwin;
mainProgram = "hyprpaper";

View File

@@ -61,10 +61,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Wlroots-compatible Wayland color picker that does not suck";
homepage = "https://github.com/hyprwm/hyprpicker";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
khaneliman
];
maintainers = lib.teams.hyprland.members;
platforms = wayland.meta.platforms;
mainProgram = "hyprpicker";
};

View File

@@ -40,10 +40,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Polkit authentication agent written in QT/QML";
homepage = "https://github.com/hyprwm/hyprpolkitagent";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
johnrtitor
];
maintainers = lib.teams.hyprland.members;
mainProgram = "hyprpolkitagent";
platforms = lib.platforms.linux;
};

View File

@@ -65,7 +65,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
description = "An xprop replacement for Hyprland";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ khaneliman ];
maintainers = lib.teams.hyprland.members;
mainProgram = "hyprprop";
};
})

View File

@@ -53,10 +53,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Application to enable a blue-light filter on Hyprland";
license = lib.licenses.bsd3;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
fufexan
johnrtitor
];
maintainers = lib.teams.hyprland.members;
mainProgram = "hyprsunset";
};
})

View File

@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "hyprutils";
version = "0.3.3";
version = "0.5.0";
src = fetchFromGitHub {
owner = "hyprwm";
repo = "hyprutils";
tag = "v${finalAttrs.version}";
hash = "sha256-1LimBKvDpBbeX+qW7T240WEyw+DBVpDotZB4JYm8Aps=";
hash = "sha256-TfFS0HCEJh63Kahrkp1h9hVDMdLU8a37Zz+IFucxyfA=";
};
nativeBuildInputs = [
@@ -42,9 +42,6 @@ stdenv.mkDerivation (finalAttrs: {
description = "Small C++ library for utilities used across the Hypr* ecosystem";
license = lib.licenses.bsd3;
platforms = lib.platforms.linux ++ lib.platforms.freebsd;
maintainers = with lib.maintainers; [
donovanglover
johnrtitor
];
maintainers = lib.teams.hyprland.members;
};
})

View File

@@ -36,10 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
description = "Hyprland version of wayland-scanner in and for C++";
changelog = "https://github.com/hyprwm/hyprwayland-scanner/releases/tag/${finalAttrs.version}";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [
fufexan
johnrtitor
];
maintainers = lib.teams.hyprland.members;
mainProgram = "hyprwayland-scanner";
platforms = lib.platforms.linux;
};

View File

@@ -1,26 +1,26 @@
{
"version": "1.125.3",
"hash": "sha256-lDk2Pj+wspzeRVccWOJ1Xp4E72jlkJBU3G5djFNNHYw=",
"version": "1.125.6",
"hash": "sha256-8rVpXo4pASKA5UTUGh3yHd5J7JPQe0kYOPQ/0hMED24=",
"components": {
"cli": {
"npmDepsHash": "sha256-l4h6aTgGGZf84LpmaN9XLiw99pgo4JN8zfBXvyE438Y=",
"version": "2.2.44"
"npmDepsHash": "sha256-DqyA/J90+PsjWiwXyGML0gJqYL8jBRR99SxoG0acxqY=",
"version": "2.2.47"
},
"server": {
"npmDepsHash": "sha256-v21BjA7+zOPQtZNH06q4+x/EvcNVi/4T1Zi4LMgYZUU=",
"version": "1.125.3"
"npmDepsHash": "sha256-4+G4mIxABb2Rr9HqbfzB2B7gwBLMlwZTDnH11Oi7kMc=",
"version": "1.125.6"
},
"web": {
"npmDepsHash": "sha256-H32WmL7C+I03i3LSfs87Wyj/TMubqF1Nz7/VEj25aeI=",
"version": "1.125.3"
"npmDepsHash": "sha256-iMFKWgYlCCdjGnnYx0vB5Vl4+d4ftPjPRenHQDPePSU=",
"version": "1.125.6"
},
"open-api/typescript-sdk": {
"npmDepsHash": "sha256-HpLw4I7KEap45HnRcA4u1PA8qM2HvSeF5hLkar20bns=",
"version": "1.125.3"
"npmDepsHash": "sha256-nZTg6PmuMDqCFOoz+3INyRUMdbUKAqvkl+EHVkPZXoQ=",
"version": "1.125.6"
},
"geonames": {
"timestamp": "20250126191509",
"hash": "sha256-uzKJJTN9TZCAgEtePI2RGZWTNGKdhmup4RHNVMGfQ48="
"timestamp": "20250128052059",
"hash": "sha256-QnDkaqJbOpaROXZRtr1nLJxtd70YULEuNqLlwgN/9lY="
}
}
}

View File

@@ -18,11 +18,11 @@
stdenv.mkDerivation rec {
pname = "jenkins";
version = "2.479.2";
version = "2.479.3";
src = fetchurl {
url = "https://get.jenkins.io/war-stable/${version}/jenkins.war";
hash = "sha256-F3wsAz8NOuQUjmAdD9raYBEtg/JQUh86Cg/ZfLsTjb0=";
hash = "sha256-MEyFkoYNWwPewnyWteiexY/HRPeBYcU/ejRKC/fOkgM=";
};
nativeBuildInputs = [ makeWrapper ];

View File

@@ -22,28 +22,8 @@ rustPlatform.buildRustPackage rec {
sha256 = "sha256-cG9so0x0y8CbTxLOxSQwn5vG72KxHJzzTIH4lQA4MvE=";
};
cargoHash = "sha256-QQrFUJ24Qnrx8+7+h9riycXZSQUdH1sXMhpDzU9AXiI=";
# the dependency native-windows-gui contains both README.md and readme.md,
# which causes a hash mismatch on systems with a case-insensitive filesystem
# this removes the readme files and updates cargo's checksum file accordingly
depsExtraArgs = {
nativeBuildInputs = [
jq
moreutils
];
postBuild = ''
pushd $name/native-windows-gui
rm --force --verbose README.md readme.md
jq 'del(.files."README.md") | del(.files."readme.md")' \
.cargo-checksum.json -c \
| sponge .cargo-checksum.json
popd
'';
};
useFetchCargoVendor = true;
cargoHash = "sha256-VKvle1hQae+0Vbvd7Epq3cDqG8OV5J2mowF5lue59oc=";
buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.IOKit ];

View File

@@ -1,7 +1,7 @@
import ./generic.nix {
version = "1.3.3";
hash = "sha256-W5G7osV4du6w/BfyY9YrDzorcLNizRsoz70RMfO2AbY=";
cargoHash = "sha256-iziTHr0gvv319Rzgkze9J1H4UzPR7WxMmCkiGVsb33k=";
cargoHash = "sha256-QgEoeXjGm7fhPnJBbquWJYDYPg+Uv1IjZnaI5yUEYlQ=";
patchDir = ./patches/1_3;
extraMeta = {
knownVulnerabilities = [

View File

@@ -1,6 +1,6 @@
import ./generic.nix {
version = "1.4.6";
hash = "sha256-pjJyq52wO5p34LN2Jmt0npgWBDcWin8gIX4skZ7Ff8E=";
cargoHash = "sha256-XyyvXxZOvaxSzH8Jd23IxE4Wyd/6h5N3HRVEvdQ8RtY=";
cargoHash = "sha256-33HRoH/vWPe/wOZJtQLWV9eBocbj0iR/XUu4zMehu8M=";
patchDir = ./patches/1_4;
}

View File

@@ -38,6 +38,7 @@ in
rustPlatform.buildRustPackage rec {
pname = "kanidm" + (lib.optionalString enableSecretProvisioning "-with-secret-provisioning");
inherit version cargoHash;
useFetchCargoVendor = true;
cargoDepsName = "kanidm";
src = fetchFromGitHub {

View File

@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
[ "--disable-lynx" ]
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
# Can't run this test while cross-compiling
"ac_cv_func_setpgrp_void=yes"
"ac_cv_func_setpgrp_void=${if stdenv.hostPlatform.isBSD then "no" else "yes"}"
];
meta = {

View File

@@ -150,7 +150,8 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-qJ7gC4BkrXJiVcyA1BqlJSRzgc/7VmNBHtDq0ouJoTU=";
};
cargoHash = "sha256-x4LFO6dD3bBKv6gTrNUAo7Rdw5cP67gn44QP6Iwbv0I=";
useFetchCargoVendor = true;
cargoHash = "sha256-m3lyABr7tU0AeC6EZomBw1X722ezQg/cjSZh/ZhkiBw=";
lang = "c++";
header = "libloadorder.hpp";
@@ -167,7 +168,8 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-ygjSyixg+9HFFNV/G+w+TxGFTrjlWxlDt8phpCE8xyQ=";
};
cargoHash = "sha256-39iod83yVU5PyIjwv7pLLuMeNw9fHiM0tXDauyGrbx8=";
useFetchCargoVendor = true;
cargoHash = "sha256-6sY2M7kjSYB3+6+zoMxPwdl+g7ARLHm9RdSODHQR8bE=";
lang = "c++";
header = "esplugin.hpp";
@@ -184,7 +186,8 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-yXbe7ByYHvFpokRpV2pz2SX0986dpk5IpehwDUhoZKg=";
};
cargoHash = "sha256-p+raWZkW16MrvfZhJigSPth8pZZ68twU1+0GL/Mo1Xw=";
useFetchCargoVendor = true;
cargoHash = "sha256-d3JBpYI4XMkDnufvdyZkgtp7H4amMzM0dBEO6t9efGE=";
lang = "c";
header = "loot_condition_interpreter.h";

View File

@@ -0,0 +1,4 @@
{ python3 }:
with python3.pkgs;
toPythonApplication mallard-ducktype

View File

@@ -11,7 +11,7 @@
let
version = "0.4.43";
in
rustPlatform.buildRustPackage {
rustPlatform.buildRustPackage rec {
inherit version;
pname = "mdbook";
@@ -22,7 +22,11 @@ rustPlatform.buildRustPackage {
hash = "sha256-aADNcuIeDef9+a3NOWQxo6IRnKJ6AbkvE4GqvFbubyI=";
};
cargoHash = "sha256-8K72sJywMKxX/31SJuCEoacWvHrpkuwGGLXJ9MsDkTE=";
cargoDeps = rustPlatform.fetchCargoVendor {
inherit pname version src;
allowGitDependencies = false;
hash = "sha256-W5hg6ECNQRIh07ogZkXTn51el2YltutY86aJBYFDTP4=";
};
nativeBuildInputs = [ installShellFiles ];

View File

@@ -8,23 +8,23 @@
let
hlsJs = fetchurl {
url = "https://cdn.jsdelivr.net/npm/hls.js@v1.5.19/dist/hls.min.js";
hash = "sha256-KTlFB7LXpglQPzIzKajKy3DJRGDURwP4hcmRm7Oy/a8=";
url = "https://cdn.jsdelivr.net/npm/hls.js@v1.5.20/dist/hls.min.js";
hash = "sha256-0BbBIwSW7lnz9bAcFszkzAG1odPTV63sIAyQixMevkk=";
};
in
buildGoModule rec {
pname = "mediamtx";
# check for hls.js version updates in internal/servers/hls/hlsjsdownloader/VERSION
version = "1.11.1";
version = "1.11.2";
src = fetchFromGitHub {
owner = "bluenviron";
repo = pname;
rev = "v${version}";
hash = "sha256-8/RTdcq8r5yMu586iDNyC/Cfi0PydX7QkU52noQR18Y=";
hash = "sha256-+NT3YheDdlTPnyGLUl9mpyYx2kvN1lw2jDRdAboTSdc=";
};
vendorHash = "sha256-Laos5sTQjtweC4GLuQuK2J/trObPlCmoHSUw4shVP4k=";
vendorHash = "sha256-aDBjxt3f7z/9LwYJ5KyteODGFO5u+7m/rovOd9363Fg=";
postPatch = ''
cp ${hlsJs} internal/servers/hls/hls.min.js

View File

@@ -27,13 +27,13 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "melonDS";
version = "1.0rc-unstable-2024-12-26";
version = "1.0rc-unstable-2025-01-17";
src = fetchFromGitHub {
owner = "melonDS-emu";
repo = "melonDS";
rev = "0c5dd28b1c5c1d17a2ce87efbd858059a8f9376f";
hash = "sha256-hIpIt+krUpSW1T05Vq02IU5Lfaj4Sgg18qMoMH45NaE=";
rev = "15c3faa26e879bdcff615558ded6dd886681ccae";
hash = "sha256-X9UqAAsACc3vVaWKNvT+swZXygIvaWOgFRUFzSAMjGM=";
};
nativeBuildInputs = [

View File

@@ -168,11 +168,11 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "microsoft-edge";
version = "131.0.2903.112";
version = "132.0.2957.127";
src = fetchurl {
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-4qQNcoBXOS4Uz+MR4jItOgcnMKqB6J541cvrb5md/oc=";
hash = "sha256-uoC8oxkrMWgmkUbgn7OP21lpEadKZmb4Heb32zEvdjE=";
};
# With strictDeps on, some shebangs were not being patched correctly

View File

@@ -6,6 +6,8 @@
nixosTests,
boost,
cmake,
coreutils,
dbus,
glib,
glm,
gtest,
@@ -16,29 +18,31 @@
libuuid,
libxkbcommon,
libgbm,
makeWrapper,
mir,
nlohmann_json,
pcre2,
pkg-config,
systemd,
wayland,
yaml-cpp,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "miracle-wm";
version = "0.4.0";
version = "0.4.1";
src = fetchFromGitHub {
owner = "miracle-wm-org";
repo = "miracle-wm";
rev = "v${finalAttrs.version}";
hash = "sha256-IuYRgQm3DM6ZgsfRt37GCXC3hb1vGIrqw7WxYN+Bets=";
tag = "v${finalAttrs.version}";
hash = "sha256-LPcVLpskpmHc8EzdNqMT6BnbY8Le/BVojpXPIqy6tGI=";
};
postPatch =
''
substituteInPlace session/usr/local/share/wayland-sessions/miracle-wm.desktop.in \
--replace-fail '@CMAKE_INSTALL_FULL_BINDIR@/miracle-wm' 'miracle-wm'
substituteInPlace CMakeLists.txt \
--replace-fail 'DESTINATION /usr/lib' 'DESTINATION ''${CMAKE_INSTALL_LIBDIR}'
''
+ lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
substituteInPlace CMakeLists.txt \
@@ -52,6 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
cmake
makeWrapper
pkg-config
];
@@ -75,6 +80,10 @@ stdenv.mkDerivation (finalAttrs: {
checkInputs = [ gtest ];
cmakeFlags = [
(lib.cmakeBool "SYSTEMD_INTEGRATION" true)
];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
checkPhase = ''
@@ -85,6 +94,18 @@ stdenv.mkDerivation (finalAttrs: {
runHook postCheck
'';
postFixup = ''
patchShebangs $out/libexec/miracle-wm-session-setup
wrapProgram $out/libexec/miracle-wm-session-setup \
--prefix PATH : "$out/bin:${
lib.makeBinPath [
coreutils # cat
dbus # dbus-update-activation-environment
systemd # systemctl
]
}"
'';
passthru = {
updateScript = gitUpdater { rev-prefix = "v"; };
providedSessions = [ "miracle-wm" ];

View File

@@ -3,6 +3,7 @@
stdenv,
fetchurl,
fetchpatch,
buildPackages,
pkg-config,
libtool,
xbitmaps,
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [
flex
libtool
xbitmaps
libXext
@@ -55,9 +57,35 @@ stdenv.mkDerivation rec {
libXau
];
postPatch = lib.optionalString (!demoSupport) ''
sed 's/\<demos\>//' -i Makefile.{am,in}
'';
strictDeps = true;
postPatch =
''
# File existence fails when cross-compiling - useless for Nix anyhow
substituteInPlace ./configure --replace-fail \
'as_fn_error $? "cannot check for file existence' '#' \
--replace-fail 'pkg-config' '${stdenv.cc.targetPrefix}pkg-config'
''
+ lib.optionalString (!demoSupport) ''
sed 's/\<demos\>//' -i Makefile.{am,in}
''
# for cross builds, we must copy several build tools from a native build
# (and we must ensure they are not removed and recreated by make)
+ lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
cp "${buildPackages.motif}/lib/internals/makestrs" config/util/makestrs
substituteInPlace config/util/Makefile.in \
--replace-fail '@rm -f makestrs$(EXEEXT)' "" \
--replace-fail '$(AM_V_CCLD)$(LINK) $(makestrs_OBJECTS) $(makestrs_LDADD) $(LIBS)' ""
cp "${buildPackages.motif}"/lib/internals/{wml,wmluiltok,wmldbcreate} tools/wml/
substituteInPlace tools/wml/Makefile.in \
--replace-fail '@rm -f wmldbcreate$(EXEEXT)' "" \
--replace-fail '$(AM_V_CCLD)$(LINK) $(wmldbcreate_OBJECTS) $(wmldbcreate_LDADD) $(LIBS)' "" \
--replace-fail '@rm -f wmluiltok$(EXEEXT)' "" \
--replace-fail '$(AM_V_CCLD)$(LINK) $(wmluiltok_OBJECTS) $(wmluiltok_LDADD) $(LIBS)' "" \
--replace-fail '@rm -f wml$(EXEEXT)' "" \
--replace-fail '$(AM_V_CCLD)$(LINK) $(wml_OBJECTS) $(wml_LDADD) $(LIBS)' ""
'';
patches = [
./Remove-unsupported-weak-refs-on-darwin.patch
@@ -90,6 +118,11 @@ stdenv.mkDerivation rec {
})
];
# provide correct configure answers for cross builds
configureFlags = [
"ac_cv_func_setpgrp_void=${if stdenv.hostPlatform.isBSD then "no" else "yes"}"
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = toString [
"-Wno-error=implicit-function-declaration"
@@ -99,6 +132,12 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
# copy tools for cross builds
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
mkdir -p "$out/lib/internals"
cp config/util/makestrs tools/wml/{wml,wmluiltok,.libs/wmldbcreate} "$out/lib/internals"
'';
meta = with lib; {
homepage = "https://motif.ics.com";
description = "Unix standard widget-toolkit and window-manager";

View File

@@ -2,7 +2,7 @@
let
dotnet-sdk = dotnetCorePackages.sdk_6_0;
dotnet-sdk = dotnetCorePackages.sdk_6_0-bin;
xplat = fetchurl {
url = "https://github.com/mono/msbuild/releases/download/v16.9.0/mono_msbuild_6.12.0.137.zip";

View File

@@ -17,6 +17,7 @@
xvfb-run,
libadwaita,
libxcvt,
libGL,
libICE,
libX11,
libXcomposite,
@@ -106,6 +107,7 @@ stdenv.mkDerivation (finalAttrs: {
nativeBuildInputs = [
desktop-file-utils
gettext
glib
libxcvt
meson
ninja
@@ -133,6 +135,7 @@ stdenv.mkDerivation (finalAttrs: {
libdrm
libei
libdisplay-info
libGL
libgudev
libinput
libstartup_notification
@@ -175,10 +178,6 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail "libadwaita-1.so.0" "${libadwaita}/lib/libadwaita-1.so.0"
'';
postInstall = ''
${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
'';
postFixup = ''
# Cannot be in postInstall, otherwise _multioutDocs hook in preFixup will move right back.
# TODO: Move this into a directory devhelp can find.
@@ -189,6 +188,7 @@ stdenv.mkDerivation (finalAttrs: {
PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
separateDebugInfo = true;
strictDeps = true;
passthru = {
libdir = "${finalAttrs.finalPackage}/lib/mutter-15";

View File

@@ -17,18 +17,18 @@
stdenv.mkDerivation (finalAttrs: {
pname = "n8n";
version = "1.73.1";
version = "1.75.2";
src = fetchFromGitHub {
owner = "n8n-io";
repo = "n8n";
tag = "n8n@${finalAttrs.version}";
hash = "sha256-gPdJKVOZlizdS0o+2nBgCImnIhtHzRjE2xk0zJA52go=";
hash = "sha256-fIdwciI4QUNr2wNWiq7qT4c6aZeUnkaVhSkIgFO4Svw=";
};
pnpmDeps = pnpm_9.fetchDeps {
inherit (finalAttrs) pname version src;
hash = "sha256-Am9R2rfQiw1IPd22/UraqzEqvVeB5XuSrrLSYXWsWfU=";
hash = "sha256-rtXTAHZUeitQFTa1Tw6l4el+xWD2hLT+2wu2LXW80cE=";
};
nativeBuildInputs =

View File

@@ -33,7 +33,7 @@ buildDotnetModule rec {
inherit
(combinePackages [
sdk_8_0
sdk_6_0
sdk_6_0-bin
])
packages
targetPackages

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