mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-09-17 04:40:22 +00:00
Merge 4a3faa5e86 into haskell-updates
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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"
|
||||
],
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -139,5 +139,5 @@ in
|
||||
] "Nvidia patches are no longer needed")
|
||||
];
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ fufexan ];
|
||||
meta.maintainers = lib.teams.hyprland.members;
|
||||
}
|
||||
|
||||
@@ -26,5 +26,5 @@ in
|
||||
security.pam.services.hyprlock = { };
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ johnrtitor ];
|
||||
meta.maintainers = lib.teams.hyprland.members;
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
}
|
||||
'';
|
||||
}
|
||||
);
|
||||
}
|
||||
];
|
||||
}
|
||||
|
||||
@@ -28,5 +28,5 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ johnrtitor ];
|
||||
meta.maintainers = lib.teams.hyprland.members;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
}
|
||||
)
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -18,8 +18,6 @@ let
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
phases = [ "buildPhase" "fixupPhase" ];
|
||||
|
||||
buildPhase = ''
|
||||
makeWrapper {$tesseractBase,$out}/bin/tesseract --set-default TESSDATA_PREFIX $out/share/tessdata
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
43
pkgs/by-name/al/alist/update.nix
Normal file
43
pkgs/by-name/al/alist/update.nix
Normal 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"
|
||||
'';
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 { };
|
||||
};
|
||||
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
12
pkgs/by-name/co/colorstorm/0001-fix-segfault.patch
Normal file
12
pkgs/by-name/co/colorstorm/0001-fix-segfault.patch
Normal 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;
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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" ]; };
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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=";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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";
|
||||
|
||||
|
||||
@@ -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; [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -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`.
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
|
||||
]
|
||||
}"
|
||||
''
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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
|
||||
]);
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
})
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -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";
|
||||
|
||||
4
pkgs/by-name/ma/mallard-ducktype/package.nix
Normal file
4
pkgs/by-name/ma/mallard-ducktype/package.nix
Normal file
@@ -0,0 +1,4 @@
|
||||
{ python3 }:
|
||||
|
||||
with python3.pkgs;
|
||||
toPythonApplication mallard-ducktype
|
||||
@@ -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 ];
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user