Compare commits
No commits in common. "da0502af1164c4fd04ebcd3acde1e378a861bd19" and "73179290e2d9c319703a519cc4c6761e0ee198ad" have entirely different histories.
da0502af11
...
73179290e2
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -38,7 +38,7 @@ Reviewing helps to reduce the average time-to-merge for everyone.
|
|||
Thanks a lot if you do!
|
||||
|
||||
List of open PRs: https://github.com/NixOS/nixpkgs/pulls
|
||||
Reviewing guidelines: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions
|
||||
Reviewing guidelines: https://nixos.org/manual/nixpkgs/unstable/#chap-reviewing-contributions
|
||||
-->
|
||||
|
||||
---
|
||||
|
|
15
.github/labeler.yml
vendored
15
.github/labeler.yml
vendored
|
@ -295,21 +295,6 @@
|
|||
- pkgs/test/texlive/**
|
||||
- pkgs/tools/typesetting/tex/**/*
|
||||
|
||||
"6.topic: testing":
|
||||
- any:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
# NOTE: Let's keep the scope limited to test frameworks that are
|
||||
# *developed in this repo*;
|
||||
# - not individual tests
|
||||
# - not packages for test frameworks
|
||||
- nixos/lib/testing/**
|
||||
- nixos/lib/test-driver/**
|
||||
- nixos/tests/nixos-test-driver/**
|
||||
- nixos/lib/testing-python.nix # legacy
|
||||
- nixos/tests/make-test-python.nix # legacy
|
||||
# lib/debug.nix has a test framework (runTests) but it's not the main focus
|
||||
|
||||
"6.topic: vim":
|
||||
- any:
|
||||
- changed-files:
|
||||
|
|
11
README.md
11
README.md
|
@ -1,10 +1,9 @@
|
|||
<p align="center">
|
||||
<a href="https://nixos.org">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/NixOS/nixos-homepage/master/logo/nixos-hires.png">
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png">
|
||||
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/master/logo/nixos-hires.png" width="500px" alt="NixOS logo">
|
||||
</picture>
|
||||
<a href="https://nixos.org#gh-light-mode-only">
|
||||
<img src="https://raw.githubusercontent.com/NixOS/nixos-homepage/master/logo/nixos-hires.png" width="500px" alt="NixOS logo"/>
|
||||
</a>
|
||||
<a href="https://nixos.org#gh-dark-mode-only">
|
||||
<img src="https://raw.githubusercontent.com/NixOS/nixos-artwork/master/logo/nixos-white.png" width="500px" alt="NixOS logo"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
|
|
|
@ -488,7 +488,7 @@ writeTextFile {
|
|||
echo "hi"
|
||||
'';
|
||||
executable = true;
|
||||
destination = "bin/my-script";
|
||||
destination = "bin/my-script"
|
||||
}
|
||||
```
|
||||
|
||||
|
@ -576,7 +576,7 @@ writeTextFile {
|
|||
echo "hi"
|
||||
'';
|
||||
executable = true;
|
||||
destination = "bin/my-script";
|
||||
destination = "bin/my-script"
|
||||
}
|
||||
```
|
||||
|
||||
|
|
|
@ -4,14 +4,11 @@
|
|||
|
||||
This contains instructions on how to package javascript applications.
|
||||
|
||||
The various tools available will be listed in the [tools-overview](#javascript-tools-overview).
|
||||
Some general principles for packaging will follow.
|
||||
Finally some tool specific instructions will be given.
|
||||
The various tools available will be listed in the [tools-overview](#javascript-tools-overview). Some general principles for packaging will follow. Finally some tool specific instructions will be given.
|
||||
|
||||
## Getting unstuck / finding code examples {#javascript-finding-examples}
|
||||
|
||||
If you find you are lacking inspiration for packaging javascript applications, the links below might prove useful.
|
||||
Searching online for prior art can be helpful if you are running into solved problems.
|
||||
If you find you are lacking inspiration for packing javascript applications, the links below might prove useful. Searching online for prior art can be helpful if you are running into solved problems.
|
||||
|
||||
### Github {#javascript-finding-examples-github}
|
||||
|
||||
|
@ -33,23 +30,17 @@ The following principles are given in order of importance with potential excepti
|
|||
|
||||
It is often not documented which node version is used upstream, but if it is, try to use the same version when packaging.
|
||||
|
||||
This can be a problem if upstream is using the latest and greatest and you are trying to use an earlier version of node.
|
||||
Some cryptic errors regarding V8 may appear.
|
||||
This can be a problem if upstream is using the latest and greatest and you are trying to use an earlier version of node. Some cryptic errors regarding V8 may appear.
|
||||
|
||||
### Try to respect the package manager originally used by upstream (and use the upstream lock file) {#javascript-upstream-package-manager}
|
||||
|
||||
A lock file (package-lock.json, yarn.lock...) is supposed to make reproducible installations of `node_modules` for each tool.
|
||||
A lock file (package-lock.json, yarn.lock...) is supposed to make reproducible installations of node_modules for each tool.
|
||||
|
||||
Guidelines of package managers, recommend to commit those lock files to the repos.
|
||||
If a particular lock file is present, it is a strong indication of which package manager is used upstream.
|
||||
Guidelines of package managers, recommend to commit those lock files to the repos. If a particular lock file is present, it is a strong indication of which package manager is used upstream.
|
||||
|
||||
It's better to try to use a Nix tool that understand the lock file.
|
||||
Using a different tool might give you hard to understand error because different packages have been installed.
|
||||
An example of problems that could arise can be found [here](https://github.com/NixOS/nixpkgs/pull/126629).
|
||||
Upstream use NPM, but this is an attempt to package it with `yarn2nix` (that uses yarn.lock).
|
||||
It's better to try to use a Nix tool that understand the lock file. Using a different tool might give you hard to understand error because different packages have been installed. An example of problems that could arise can be found [here](https://github.com/NixOS/nixpkgs/pull/126629). Upstream use NPM, but this is an attempt to package it with `yarn2nix` (that uses yarn.lock).
|
||||
|
||||
Using a different tool forces to commit a lock file to the repository.
|
||||
Those files are fairly large, so when packaging for nixpkgs, this approach does not scale well.
|
||||
Using a different tool forces to commit a lock file to the repository. Those files are fairly large, so when packaging for nixpkgs, this approach does not scale well.
|
||||
|
||||
Exceptions to this rule are:
|
||||
|
||||
|
@ -87,23 +78,17 @@ Exceptions to this rule are:
|
|||
|
||||
### Using node_modules directly {#javascript-using-node_modules}
|
||||
|
||||
Each tool has an abstraction to just build the node_modules (dependencies) directory.
|
||||
You can always use the `stdenv.mkDerivation` with the node_modules to build the package (symlink the node_modules directory and then use the package build command).
|
||||
The node_modules abstraction can be also used to build some web framework frontends.
|
||||
For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. `mkYarnModules` to make the derivation containing node_modules.
|
||||
Then when building the frontend you can just symlink the node_modules directory.
|
||||
Each tool has an abstraction to just build the node_modules (dependencies) directory. You can always use the `stdenv.mkDerivation` with the node_modules to build the package (symlink the node_modules directory and then use the package build command). The node_modules abstraction can be also used to build some web framework frontends. For an example of this see how [plausible](https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/web-apps/plausible/default.nix) is built. `mkYarnModules` to make the derivation containing node_modules. Then when building the frontend you can just symlink the node_modules directory.
|
||||
|
||||
## Javascript packages inside nixpkgs {#javascript-packages-nixpkgs}
|
||||
|
||||
The [pkgs/development/node-packages](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages) folder contains a generated collection of [NPM packages](https://npmjs.com/) that can be installed with the Nix package manager.
|
||||
|
||||
As a rule of thumb, the package set should only provide _end user_ software packages, such as command-line utilities.
|
||||
Libraries should only be added to the package set if there is a non-NPM package that requires it.
|
||||
As a rule of thumb, the package set should only provide _end user_ software packages, such as command-line utilities. Libraries should only be added to the package set if there is a non-NPM package that requires it.
|
||||
|
||||
When it is desired to use NPM libraries in a development project, use the `node2nix` generator directly on the `package.json` configuration file of the project.
|
||||
|
||||
The package set provides support for the official stable Node.js versions.
|
||||
The latest stable LTS release in `nodePackages`, as well as the latest stable current release in `nodePackages_latest`.
|
||||
The package set provides support for the official stable Node.js versions. The latest stable LTS release in `nodePackages`, as well as the latest stable current release in `nodePackages_latest`.
|
||||
|
||||
If your package uses native addons, you need to examine what kind of native build system it uses. Here are some examples:
|
||||
|
||||
|
@ -111,8 +96,7 @@ If your package uses native addons, you need to examine what kind of native buil
|
|||
- `node-gyp-builder`
|
||||
- `node-pre-gyp`
|
||||
|
||||
After you have identified the correct system, you need to override your package expression while adding in build system as a build input.
|
||||
For example, `dat` requires `node-gyp-build`, so we override its expression in [pkgs/development/node-packages/overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/overrides.nix):
|
||||
After you have identified the correct system, you need to override your package expression while adding in build system as a build input. For example, `dat` requires `node-gyp-build`, so we override its expression in [pkgs/development/node-packages/overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/node-packages/overrides.nix):
|
||||
|
||||
```nix
|
||||
dat = prev.dat.override (oldAttrs: {
|
||||
|
@ -175,8 +159,7 @@ git config --global url."https://github.com/".insteadOf git://github.com/
|
|||
|
||||
### buildNpmPackage {#javascript-buildNpmPackage}
|
||||
|
||||
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)).
|
||||
It works by utilizing npm's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing npm to it.
|
||||
`buildNpmPackage` allows you to package npm-based projects in Nixpkgs without the use of an auto-generated dependencies file (as used in [node2nix](#javascript-node2nix)). It works by utilizing npm's cache functionality -- creating a reproducible cache that contains the dependencies of a project, and pointing npm to it.
|
||||
|
||||
Here's an example:
|
||||
|
||||
|
@ -210,9 +193,7 @@ buildNpmPackage rec {
|
|||
}
|
||||
```
|
||||
|
||||
In the default `installPhase` set by `buildNpmPackage`, it uses `npm pack --json --dry-run` to decide what files to install in `$out/lib/node_modules/$name/`, where `$name` is the `name` string defined in the package's `package.json`.
|
||||
Additionally, the `bin` and `man` keys in the source's `package.json` are used to decide what binaries and manpages are supposed to be installed.
|
||||
If these are not defined, `npm pack` may miss some files, and no binaries will be produced.
|
||||
In the default `installPhase` set by `buildNpmPackage`, it uses `npm pack --json --dry-run` to decide what files to install in `$out/lib/node_modules/$name/`, where `$name` is the `name` string defined in the package's `package.json`. Additionally, the `bin` and `man` keys in the source's `package.json` are used to decide what binaries and manpages are supposed to be installed. If these are not defined, `npm pack` may miss some files, and no binaries will be produced.
|
||||
|
||||
#### Arguments {#javascript-buildNpmPackage-arguments}
|
||||
|
||||
|
|
|
@ -651,66 +651,6 @@ 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.
|
||||
|
||||
```nix
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustPlatform
|
||||
, rustc
|
||||
, cargo
|
||||
, wrapGAppsHook4
|
||||
, blueprint-compiler
|
||||
, libadwaita
|
||||
, libsecret
|
||||
, tracker
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "health";
|
||||
version = "0.95.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = "health";
|
||||
rev = version;
|
||||
hash = "sha256-PrNPprSS98yN8b8yw2G6hzTSaoE65VbsM3q7FVB4mds=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoTarball {
|
||||
inherit src;
|
||||
name = "${pname}-${version}";
|
||||
hash = "sha256-8fa3fa+sFi5H+49B5sr2vYPkp9C9s6CcE0zv4xB8gww=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustPlatform.cargoSetupHook
|
||||
rustc
|
||||
cargo
|
||||
wrapGAppsHook4
|
||||
blueprint-compiler
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libadwaita
|
||||
libsecret
|
||||
tracker
|
||||
];
|
||||
|
||||
# ...
|
||||
}
|
||||
```
|
||||
|
||||
## `buildRustCrate`: Compiling Rust crates using Nix instead of Cargo {#compiling-rust-crates-using-nix-instead-of-cargo}
|
||||
|
||||
### Simple operation {#simple-operation}
|
||||
|
|
87
lib/cli.nix
87
lib/cli.nix
|
@ -1,64 +1,43 @@
|
|||
{ lib }:
|
||||
|
||||
rec {
|
||||
/**
|
||||
Automatically convert an attribute set to command-line options.
|
||||
/* Automatically convert an attribute set to command-line options.
|
||||
|
||||
This helps protect against malformed command lines and also to reduce
|
||||
boilerplate related to command-line construction for simple use cases.
|
||||
This helps protect against malformed command lines and also to reduce
|
||||
boilerplate related to command-line construction for simple use cases.
|
||||
|
||||
`toGNUCommandLine` returns a list of nix strings.
|
||||
`toGNUCommandLine` returns a list of nix strings.
|
||||
`toGNUCommandLineShell` returns an escaped shell string.
|
||||
|
||||
`toGNUCommandLineShell` returns an escaped shell string.
|
||||
Example:
|
||||
cli.toGNUCommandLine {} {
|
||||
data = builtins.toJSON { id = 0; };
|
||||
X = "PUT";
|
||||
retry = 3;
|
||||
retry-delay = null;
|
||||
url = [ "https://example.com/foo" "https://example.com/bar" ];
|
||||
silent = false;
|
||||
verbose = true;
|
||||
}
|
||||
=> [
|
||||
"-X" "PUT"
|
||||
"--data" "{\"id\":0}"
|
||||
"--retry" "3"
|
||||
"--url" "https://example.com/foo"
|
||||
"--url" "https://example.com/bar"
|
||||
"--verbose"
|
||||
]
|
||||
|
||||
|
||||
# Inputs
|
||||
|
||||
`options`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`attrs`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.cli.toGNUCommandLineShell` usage example
|
||||
|
||||
```nix
|
||||
cli.toGNUCommandLine {} {
|
||||
data = builtins.toJSON { id = 0; };
|
||||
X = "PUT";
|
||||
retry = 3;
|
||||
retry-delay = null;
|
||||
url = [ "https://example.com/foo" "https://example.com/bar" ];
|
||||
silent = false;
|
||||
verbose = true;
|
||||
}
|
||||
=> [
|
||||
"-X" "PUT"
|
||||
"--data" "{\"id\":0}"
|
||||
"--retry" "3"
|
||||
"--url" "https://example.com/foo"
|
||||
"--url" "https://example.com/bar"
|
||||
"--verbose"
|
||||
]
|
||||
|
||||
cli.toGNUCommandLineShell {} {
|
||||
data = builtins.toJSON { id = 0; };
|
||||
X = "PUT";
|
||||
retry = 3;
|
||||
retry-delay = null;
|
||||
url = [ "https://example.com/foo" "https://example.com/bar" ];
|
||||
silent = false;
|
||||
verbose = true;
|
||||
}
|
||||
=> "'-X' 'PUT' '--data' '{\"id\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'";
|
||||
```
|
||||
|
||||
:::
|
||||
cli.toGNUCommandLineShell {} {
|
||||
data = builtins.toJSON { id = 0; };
|
||||
X = "PUT";
|
||||
retry = 3;
|
||||
retry-delay = null;
|
||||
url = [ "https://example.com/foo" "https://example.com/bar" ];
|
||||
silent = false;
|
||||
verbose = true;
|
||||
}
|
||||
=> "'-X' 'PUT' '--data' '{\"id\":0}' '--retry' '3' '--url' 'https://example.com/foo' '--url' 'https://example.com/bar' '--verbose'";
|
||||
*/
|
||||
toGNUCommandLineShell =
|
||||
options: attrs: lib.escapeShellArgs (toGNUCommandLine options attrs);
|
||||
|
|
|
@ -15,64 +15,42 @@ in
|
|||
rec {
|
||||
|
||||
|
||||
/**
|
||||
`overrideDerivation drv f` takes a derivation (i.e., the result
|
||||
of a call to the builtin function `derivation`) and returns a new
|
||||
derivation in which the attributes of the original are overridden
|
||||
according to the function `f`. The function `f` is called with
|
||||
the original derivation attributes.
|
||||
/* `overrideDerivation drv f` takes a derivation (i.e., the result
|
||||
of a call to the builtin function `derivation`) and returns a new
|
||||
derivation in which the attributes of the original are overridden
|
||||
according to the function `f`. The function `f` is called with
|
||||
the original derivation attributes.
|
||||
|
||||
`overrideDerivation` allows certain "ad-hoc" customisation
|
||||
scenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,
|
||||
if you want to "patch" the derivation returned by a package
|
||||
function in Nixpkgs to build another version than what the
|
||||
function itself provides.
|
||||
`overrideDerivation` allows certain "ad-hoc" customisation
|
||||
scenarios (e.g. in ~/.config/nixpkgs/config.nix). For instance,
|
||||
if you want to "patch" the derivation returned by a package
|
||||
function in Nixpkgs to build another version than what the
|
||||
function itself provides.
|
||||
|
||||
For another application, see build-support/vm, where this
|
||||
function is used to build arbitrary derivations inside a QEMU
|
||||
virtual machine.
|
||||
For another application, see build-support/vm, where this
|
||||
function is used to build arbitrary derivations inside a QEMU
|
||||
virtual machine.
|
||||
|
||||
Note that in order to preserve evaluation errors, the new derivation's
|
||||
outPath depends on the old one's, which means that this function cannot
|
||||
be used in circular situations when the old derivation also depends on the
|
||||
new one.
|
||||
Note that in order to preserve evaluation errors, the new derivation's
|
||||
outPath depends on the old one's, which means that this function cannot
|
||||
be used in circular situations when the old derivation also depends on the
|
||||
new one.
|
||||
|
||||
You should in general prefer `drv.overrideAttrs` over this function;
|
||||
see the nixpkgs manual for more information on overriding.
|
||||
You should in general prefer `drv.overrideAttrs` over this function;
|
||||
see the nixpkgs manual for more information on overriding.
|
||||
|
||||
Example:
|
||||
mySed = overrideDerivation pkgs.gnused (oldAttrs: {
|
||||
name = "sed-4.2.2-pre";
|
||||
src = fetchurl {
|
||||
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
|
||||
hash = "sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=";
|
||||
};
|
||||
patches = [];
|
||||
});
|
||||
|
||||
# Inputs
|
||||
|
||||
`drv`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`f`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation
|
||||
```
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.customisation.overrideDerivation` usage example
|
||||
|
||||
```nix
|
||||
mySed = overrideDerivation pkgs.gnused (oldAttrs: {
|
||||
name = "sed-4.2.2-pre";
|
||||
src = fetchurl {
|
||||
url = ftp://alpha.gnu.org/gnu/sed/sed-4.2.2-pre.tar.bz2;
|
||||
hash = "sha256-MxBJRcM2rYzQYwJ5XKxhXTQByvSg5jZc5cSHEZoB2IY=";
|
||||
};
|
||||
patches = [];
|
||||
});
|
||||
```
|
||||
|
||||
:::
|
||||
Type:
|
||||
overrideDerivation :: Derivation -> ( Derivation -> AttrSet ) -> Derivation
|
||||
*/
|
||||
overrideDerivation = drv: f:
|
||||
let
|
||||
|
@ -89,44 +67,26 @@ rec {
|
|||
});
|
||||
|
||||
|
||||
/**
|
||||
`makeOverridable` takes a function from attribute set to attribute set and
|
||||
injects `override` attribute which can be used to override arguments of
|
||||
the function.
|
||||
/* `makeOverridable` takes a function from attribute set to attribute set and
|
||||
injects `override` attribute which can be used to override arguments of
|
||||
the function.
|
||||
|
||||
Please refer to documentation on [`<pkg>.overrideDerivation`](#sec-pkg-overrideDerivation) to learn about `overrideDerivation` and caveats
|
||||
related to its use.
|
||||
Please refer to documentation on [`<pkg>.overrideDerivation`](#sec-pkg-overrideDerivation) to learn about `overrideDerivation` and caveats
|
||||
related to its use.
|
||||
|
||||
Example:
|
||||
nix-repl> x = {a, b}: { result = a + b; }
|
||||
|
||||
# Inputs
|
||||
nix-repl> y = lib.makeOverridable x { a = 1; b = 2; }
|
||||
|
||||
`f`
|
||||
nix-repl> y
|
||||
{ override = «lambda»; overrideDerivation = «lambda»; result = 3; }
|
||||
|
||||
: 1\. Function argument
|
||||
nix-repl> y.override { a = 10; }
|
||||
{ override = «lambda»; overrideDerivation = «lambda»; result = 12; }
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
makeOverridable :: (AttrSet -> a) -> AttrSet -> a
|
||||
```
|
||||
|
||||
# Examples
|
||||
:::{.example}
|
||||
## `lib.customisation.makeOverridable` usage example
|
||||
|
||||
```nix
|
||||
nix-repl> x = {a, b}: { result = a + b; }
|
||||
|
||||
nix-repl> y = lib.makeOverridable x { a = 1; b = 2; }
|
||||
|
||||
nix-repl> y
|
||||
{ override = «lambda»; overrideDerivation = «lambda»; result = 3; }
|
||||
|
||||
nix-repl> y.override { a = 10; }
|
||||
{ override = «lambda»; overrideDerivation = «lambda»; result = 12; }
|
||||
```
|
||||
|
||||
:::
|
||||
Type:
|
||||
makeOverridable :: (AttrSet -> a) -> AttrSet -> a
|
||||
*/
|
||||
makeOverridable = f:
|
||||
let
|
||||
|
@ -160,8 +120,7 @@ rec {
|
|||
else result);
|
||||
|
||||
|
||||
/**
|
||||
Call the package function in the file `fn` with the required
|
||||
/* Call the package function in the file `fn` with the required
|
||||
arguments automatically. The function is called with the
|
||||
arguments `args`, but any missing arguments are obtained from
|
||||
`autoArgs`. This function is intended to be partially
|
||||
|
@ -188,26 +147,8 @@ rec {
|
|||
|
||||
<!-- TODO: Apply "Example:" tag to the examples above -->
|
||||
|
||||
|
||||
# Inputs
|
||||
|
||||
`autoArgs`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`fn`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
`args`
|
||||
|
||||
: 3\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
callPackageWith :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a
|
||||
```
|
||||
Type:
|
||||
callPackageWith :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a
|
||||
*/
|
||||
callPackageWith = autoArgs: fn: args:
|
||||
let
|
||||
|
@ -269,31 +210,12 @@ rec {
|
|||
else abort "lib.customisation.callPackageWith: ${error}";
|
||||
|
||||
|
||||
/**
|
||||
Like callPackage, but for a function that returns an attribute
|
||||
set of derivations. The override function is added to the
|
||||
individual attributes.
|
||||
/* Like callPackage, but for a function that returns an attribute
|
||||
set of derivations. The override function is added to the
|
||||
individual attributes.
|
||||
|
||||
|
||||
# Inputs
|
||||
|
||||
`autoArgs`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`fn`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
`args`
|
||||
|
||||
: 3\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
callPackagesWith :: AttrSet -> ((AttrSet -> AttrSet) | Path) -> AttrSet -> AttrSet
|
||||
```
|
||||
Type:
|
||||
callPackagesWith :: AttrSet -> ((AttrSet -> AttrSet) | Path) -> AttrSet -> AttrSet
|
||||
*/
|
||||
callPackagesWith = autoArgs: fn: args:
|
||||
let
|
||||
|
@ -311,30 +233,11 @@ rec {
|
|||
else mapAttrs mkAttrOverridable pkgs;
|
||||
|
||||
|
||||
/**
|
||||
Add attributes to each output of a derivation without changing
|
||||
the derivation itself and check a given condition when evaluating.
|
||||
/* Add attributes to each output of a derivation without changing
|
||||
the derivation itself and check a given condition when evaluating.
|
||||
|
||||
|
||||
# Inputs
|
||||
|
||||
`condition`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`passthru`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
`drv`
|
||||
|
||||
: 3\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
extendDerivation :: Bool -> Any -> Derivation -> Derivation
|
||||
```
|
||||
Type:
|
||||
extendDerivation :: Bool -> Any -> Derivation -> Derivation
|
||||
*/
|
||||
extendDerivation = condition: passthru: drv:
|
||||
let
|
||||
|
@ -366,24 +269,13 @@ rec {
|
|||
outPath = assert condition; drv.outPath;
|
||||
};
|
||||
|
||||
/**
|
||||
Strip a derivation of all non-essential attributes, returning
|
||||
only those needed by hydra-eval-jobs. Also strictly evaluate the
|
||||
result to ensure that there are no thunks kept alive to prevent
|
||||
garbage collection.
|
||||
/* Strip a derivation of all non-essential attributes, returning
|
||||
only those needed by hydra-eval-jobs. Also strictly evaluate the
|
||||
result to ensure that there are no thunks kept alive to prevent
|
||||
garbage collection.
|
||||
|
||||
|
||||
# Inputs
|
||||
|
||||
`drv`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
# Type
|
||||
|
||||
```
|
||||
hydraJob :: (Derivation | Null) -> (Derivation | Null)
|
||||
```
|
||||
Type:
|
||||
hydraJob :: (Derivation | Null) -> (Derivation | Null)
|
||||
*/
|
||||
hydraJob = drv:
|
||||
let
|
||||
|
@ -551,65 +443,32 @@ rec {
|
|||
};
|
||||
in self;
|
||||
|
||||
/**
|
||||
backward compatibility with old uncurried form; deprecated
|
||||
|
||||
|
||||
# Inputs
|
||||
|
||||
`splicePackages`
|
||||
|
||||
: 1\. Function argument
|
||||
|
||||
`newScope`
|
||||
|
||||
: 2\. Function argument
|
||||
|
||||
`otherSplices`
|
||||
|
||||
: 3\. Function argument
|
||||
|
||||
`keep`
|
||||
|
||||
: 4\. Function argument
|
||||
|
||||
`extra`
|
||||
|
||||
: 5\. Function argument
|
||||
|
||||
`f`
|
||||
|
||||
: 6\. Function argument
|
||||
*/
|
||||
/* backward compatibility with old uncurried form; deprecated */
|
||||
makeScopeWithSplicing =
|
||||
splicePackages: newScope: otherSplices: keep: extra: f:
|
||||
makeScopeWithSplicing'
|
||||
{ inherit splicePackages newScope; }
|
||||
{ inherit otherSplices keep extra f; };
|
||||
|
||||
/**
|
||||
Like makeScope, but aims to support cross compilation. It's still ugly, but
|
||||
hopefully it helps a little bit.
|
||||
/* Like makeScope, but aims to support cross compilation. It's still ugly, but
|
||||
hopefully it helps a little bit.
|
||||
|
||||
# Type
|
||||
Type:
|
||||
makeScopeWithSplicing' ::
|
||||
{ splicePackages :: Splice -> AttrSet
|
||||
, newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a
|
||||
}
|
||||
-> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }
|
||||
-> AttrSet
|
||||
|
||||
```
|
||||
makeScopeWithSplicing' ::
|
||||
{ splicePackages :: Splice -> AttrSet
|
||||
, newScope :: AttrSet -> ((AttrSet -> a) | Path) -> AttrSet -> a
|
||||
}
|
||||
-> { otherSplices :: Splice, keep :: AttrSet -> AttrSet, extra :: AttrSet -> AttrSet }
|
||||
-> AttrSet
|
||||
|
||||
Splice ::
|
||||
{ pkgsBuildBuild :: AttrSet
|
||||
, pkgsBuildHost :: AttrSet
|
||||
, pkgsBuildTarget :: AttrSet
|
||||
, pkgsHostHost :: AttrSet
|
||||
, pkgsHostTarget :: AttrSet
|
||||
, pkgsTargetTarget :: AttrSet
|
||||
}
|
||||
```
|
||||
Splice ::
|
||||
{ pkgsBuildBuild :: AttrSet
|
||||
, pkgsBuildHost :: AttrSet
|
||||
, pkgsBuildTarget :: AttrSet
|
||||
, pkgsHostHost :: AttrSet
|
||||
, pkgsHostTarget :: AttrSet
|
||||
, pkgsTargetTarget :: AttrSet
|
||||
}
|
||||
*/
|
||||
makeScopeWithSplicing' =
|
||||
{ splicePackages
|
||||
|
|
|
@ -392,12 +392,6 @@ in mkLicense lset) ({
|
|||
fullName = "Common Public Attribution License 1.0";
|
||||
};
|
||||
|
||||
commons-clause = {
|
||||
fullName = "Commons Clause License";
|
||||
url = "https://commonsclause.com/";
|
||||
free = false;
|
||||
};
|
||||
|
||||
cpl10 = {
|
||||
spdxId = "CPL-1.0";
|
||||
fullName = "Common Public License 1.0";
|
||||
|
|
|
@ -1,25 +1,7 @@
|
|||
{ lib }:
|
||||
let inherit (lib.attrsets) mapAttrs; in
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
any
|
||||
filterAttrs
|
||||
foldl
|
||||
hasInfix
|
||||
isFunction
|
||||
isList
|
||||
isString
|
||||
mapAttrs
|
||||
optional
|
||||
optionalAttrs
|
||||
optionalString
|
||||
removeSuffix
|
||||
replaceStrings
|
||||
toUpper
|
||||
;
|
||||
|
||||
inherit (lib.strings) toJSON;
|
||||
|
||||
rec {
|
||||
doubles = import ./doubles.nix { inherit lib; };
|
||||
parse = import ./parse.nix { inherit lib; };
|
||||
inspect = import ./inspect.nix { inherit lib; };
|
||||
|
@ -42,7 +24,7 @@ let
|
|||
both arguments have been `elaborate`-d.
|
||||
*/
|
||||
equals =
|
||||
let removeFunctions = a: filterAttrs (_: v: !isFunction v) a;
|
||||
let removeFunctions = a: lib.filterAttrs (_: v: !builtins.isFunction v) a;
|
||||
in a: b: removeFunctions a == removeFunctions b;
|
||||
|
||||
/* List of all Nix system doubles the nixpkgs flake will expose the package set
|
||||
|
@ -59,7 +41,7 @@ let
|
|||
# clearly preferred, and to prevent cycles. A simpler fixed point where the RHS
|
||||
# always just used `final.*` would fail on both counts.
|
||||
elaborate = args': let
|
||||
args = if isString args' then { system = args'; }
|
||||
args = if lib.isString args' then { system = args'; }
|
||||
else args';
|
||||
|
||||
# TODO: deprecate args.rustc in favour of args.rust after 23.05 is EOL.
|
||||
|
@ -114,7 +96,7 @@ let
|
|||
then "lib64"
|
||||
else "lib"
|
||||
else null;
|
||||
extensions = optionalAttrs final.hasSharedLibraries {
|
||||
extensions = lib.optionalAttrs final.hasSharedLibraries {
|
||||
sharedLibrary =
|
||||
if final.isDarwin then ".dylib"
|
||||
else if final.isWindows then ".dll"
|
||||
|
@ -152,9 +134,9 @@ let
|
|||
# uname -m
|
||||
processor =
|
||||
if final.isPower64
|
||||
then "ppc64${optionalString final.isLittleEndian "le"}"
|
||||
then "ppc64${lib.optionalString final.isLittleEndian "le"}"
|
||||
else if final.isPower
|
||||
then "ppc${optionalString final.isLittleEndian "le"}"
|
||||
then "ppc${lib.optionalString final.isLittleEndian "le"}"
|
||||
else if final.isMips64
|
||||
then "mips64" # endianness is *not* included on mips64
|
||||
else final.parsed.cpu.name;
|
||||
|
@ -220,8 +202,8 @@ let
|
|||
else if final.isS390 && !final.isS390x then null
|
||||
else if final.isx86_64 then "x86_64"
|
||||
else if final.isx86 then "i386"
|
||||
else if final.isMips64n32 then "mipsn32${optionalString final.isLittleEndian "el"}"
|
||||
else if final.isMips64 then "mips64${optionalString final.isLittleEndian "el"}"
|
||||
else if final.isMips64n32 then "mipsn32${lib.optionalString final.isLittleEndian "el"}"
|
||||
else if final.isMips64 then "mips64${lib.optionalString final.isLittleEndian "el"}"
|
||||
else final.uname.processor;
|
||||
|
||||
# Name used by UEFI for architectures.
|
||||
|
@ -261,14 +243,10 @@ let
|
|||
vncSupport = false;
|
||||
gtkSupport = false;
|
||||
sdlSupport = false;
|
||||
alsaSupport = false;
|
||||
pulseSupport = false;
|
||||
pipewireSupport = false;
|
||||
jackSupport = false;
|
||||
smbdSupport = false;
|
||||
seccompSupport = false;
|
||||
tpmSupport = false;
|
||||
capstoneSupport = false;
|
||||
enableDocs = false;
|
||||
hostCpuTargets = [ "${final.qemuArch}-linux-user" ];
|
||||
};
|
||||
|
@ -277,7 +255,7 @@ let
|
|||
if pkgs.stdenv.hostPlatform.canExecute final
|
||||
then "${pkgs.runtimeShell} -c '\"$@\"' --"
|
||||
else if final.isWindows
|
||||
then "${wine}/bin/wine${optionalString (final.parsed.cpu.bits == 64) "64"}"
|
||||
then "${wine}/bin/wine${lib.optionalString (final.parsed.cpu.bits == 64) "64"}"
|
||||
else if final.isLinux && pkgs.stdenv.hostPlatform.isLinux && final.qemuArch != null
|
||||
then "${qemu-user}/bin/qemu-${final.qemuArch}"
|
||||
else if final.isWasi
|
||||
|
@ -328,10 +306,10 @@ let
|
|||
let
|
||||
f = args.rustc.platform.target-family;
|
||||
in
|
||||
if isList f then f else [ f ]
|
||||
if builtins.isList f then f else [ f ]
|
||||
)
|
||||
else optional final.isUnix "unix"
|
||||
++ optional final.isWindows "windows";
|
||||
else lib.optional final.isUnix "unix"
|
||||
++ lib.optional final.isWindows "windows";
|
||||
|
||||
# https://doc.rust-lang.org/reference/conditional-compilation.html#target_vendor
|
||||
vendor = let
|
||||
|
@ -355,13 +333,13 @@ let
|
|||
vendor_ = final.rust.platform.vendor;
|
||||
# TODO: deprecate args.rustc in favour of args.rust after 23.05 is EOL.
|
||||
in args.rust.rustcTarget or args.rustc.config
|
||||
or "${cpu_}-${vendor_}-${kernel.name}${optionalString (abi.name != "unknown") "-${abi.name}"}";
|
||||
or "${cpu_}-${vendor_}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
|
||||
|
||||
# The name of the rust target if it is standard, or the json file
|
||||
# containing the custom target spec.
|
||||
rustcTargetSpec = rust.rustcTargetSpec or (
|
||||
/**/ if rust ? platform
|
||||
then builtins.toFile (final.rust.rustcTarget + ".json") (toJSON rust.platform)
|
||||
then builtins.toFile (final.rust.rustcTarget + ".json") (builtins.toJSON rust.platform)
|
||||
else final.rust.rustcTarget);
|
||||
|
||||
# The name of the rust target if it is standard, or the
|
||||
|
@ -370,7 +348,7 @@ let
|
|||
#
|
||||
# This is the name used by Cargo for target subdirectories.
|
||||
cargoShortTarget =
|
||||
removeSuffix ".json" (baseNameOf "${final.rust.rustcTargetSpec}");
|
||||
lib.removeSuffix ".json" (baseNameOf "${final.rust.rustcTargetSpec}");
|
||||
|
||||
# When used as part of an environment variable name, triples are
|
||||
# uppercased and have all hyphens replaced by underscores:
|
||||
|
@ -378,17 +356,17 @@ let
|
|||
# https://github.com/rust-lang/cargo/pull/9169
|
||||
# https://github.com/rust-lang/cargo/issues/8285#issuecomment-634202431
|
||||
cargoEnvVarTarget =
|
||||
replaceStrings ["-"] ["_"]
|
||||
(toUpper final.rust.cargoShortTarget);
|
||||
lib.strings.replaceStrings ["-"] ["_"]
|
||||
(lib.strings.toUpper final.rust.cargoShortTarget);
|
||||
|
||||
# True if the target is no_std
|
||||
# https://github.com/rust-lang/rust/blob/2e44c17c12cec45b6a682b1e53a04ac5b5fcc9d2/src/bootstrap/config.rs#L415-L421
|
||||
isNoStdTarget =
|
||||
any (t: hasInfix t final.rust.rustcTarget) ["-none" "nvptx" "switch" "-uefi"];
|
||||
builtins.any (t: lib.hasInfix t final.rust.rustcTarget) ["-none" "nvptx" "switch" "-uefi"];
|
||||
};
|
||||
};
|
||||
in assert final.useAndroidPrebuilt -> final.isAndroid;
|
||||
assert foldl
|
||||
assert lib.foldl
|
||||
(pass: { assertion, message }:
|
||||
if assertion final
|
||||
then pass
|
||||
|
@ -396,20 +374,4 @@ let
|
|||
true
|
||||
(final.parsed.abi.assertions or []);
|
||||
final;
|
||||
|
||||
in
|
||||
|
||||
# Everything in this attrset is the public interface of the file.
|
||||
{
|
||||
inherit
|
||||
architectures
|
||||
doubles
|
||||
elaborate
|
||||
equals
|
||||
examples
|
||||
flakeExposed
|
||||
inspect
|
||||
parse
|
||||
platforms
|
||||
;
|
||||
}
|
||||
|
|
|
@ -1,31 +1,10 @@
|
|||
{ lib }:
|
||||
with import ./parse.nix { inherit lib; };
|
||||
with lib.attrsets;
|
||||
with lib.lists;
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
any
|
||||
attrValues
|
||||
concatMap
|
||||
filter
|
||||
hasPrefix
|
||||
isList
|
||||
mapAttrs
|
||||
matchAttrs
|
||||
recursiveUpdateUntil
|
||||
toList
|
||||
;
|
||||
|
||||
inherit (lib.strings) toJSON;
|
||||
|
||||
inherit (lib.systems.parse)
|
||||
kernels
|
||||
kernelFamilies
|
||||
significantBytes
|
||||
cpuTypes
|
||||
execFormats
|
||||
;
|
||||
|
||||
abis = mapAttrs (_: abi: removeAttrs abi [ "assertions" ]) lib.systems.parse.abis;
|
||||
in
|
||||
let abis_ = abis; in
|
||||
let abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) abis_; in
|
||||
|
||||
rec {
|
||||
# these patterns are to be matched against {host,build,target}Platform.parsed
|
||||
|
@ -53,8 +32,8 @@ rec {
|
|||
isx86 = { cpu = { family = "x86"; }; };
|
||||
isAarch32 = { cpu = { family = "arm"; bits = 32; }; };
|
||||
isArmv7 = map ({ arch, ... }: { cpu = { inherit arch; }; })
|
||||
(filter (cpu: hasPrefix "armv7" cpu.arch or "")
|
||||
(attrValues cpuTypes));
|
||||
(lib.filter (cpu: lib.hasPrefix "armv7" cpu.arch or "")
|
||||
(lib.attrValues cpuTypes));
|
||||
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
|
||||
isAarch = { cpu = { family = "arm"; }; };
|
||||
isMicroBlaze = { cpu = { family = "microblaze"; }; };
|
||||
|
@ -132,19 +111,19 @@ rec {
|
|||
let
|
||||
# patterns can be either a list or a (bare) singleton; turn
|
||||
# them into singletons for uniform handling
|
||||
pat1 = toList pat1_;
|
||||
pat2 = toList pat2_;
|
||||
pat1 = lib.toList pat1_;
|
||||
pat2 = lib.toList pat2_;
|
||||
in
|
||||
concatMap (attr1:
|
||||
lib.concatMap (attr1:
|
||||
map (attr2:
|
||||
recursiveUpdateUntil
|
||||
lib.recursiveUpdateUntil
|
||||
(path: subattr1: subattr2:
|
||||
if (builtins.intersectAttrs subattr1 subattr2) == {} || subattr1 == subattr2
|
||||
then true
|
||||
else throw ''
|
||||
pattern conflict at path ${toString path}:
|
||||
${toJSON subattr1}
|
||||
${toJSON subattr2}
|
||||
${builtins.toJSON subattr1}
|
||||
${builtins.toJSON subattr2}
|
||||
'')
|
||||
attr1
|
||||
attr2
|
||||
|
@ -153,7 +132,7 @@ rec {
|
|||
pat1;
|
||||
|
||||
matchAnyAttrs = patterns:
|
||||
if isList patterns then attrs: any (pattern: matchAttrs pattern attrs) patterns
|
||||
if builtins.isList patterns then attrs: any (pattern: matchAttrs pattern attrs) patterns
|
||||
else matchAttrs patterns;
|
||||
|
||||
predicates = mapAttrs (_: matchAnyAttrs) patterns;
|
||||
|
|
|
@ -15,45 +15,14 @@
|
|||
# systems that overlap with existing ones and won't notice something amiss.
|
||||
#
|
||||
{ lib }:
|
||||
with lib.lists;
|
||||
with lib.types;
|
||||
with lib.attrsets;
|
||||
with lib.strings;
|
||||
with (import ./inspect.nix { inherit lib; }).predicates;
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
all
|
||||
any
|
||||
attrValues
|
||||
elem
|
||||
elemAt
|
||||
hasPrefix
|
||||
id
|
||||
length
|
||||
mapAttrs
|
||||
mergeOneOption
|
||||
optionalString
|
||||
splitString
|
||||
versionAtLeast
|
||||
;
|
||||
|
||||
inherit (lib.strings) match;
|
||||
|
||||
inherit (lib.systems.inspect.predicates)
|
||||
isAarch32
|
||||
isBigEndian
|
||||
isDarwin
|
||||
isLinux
|
||||
isPower64
|
||||
isWindows
|
||||
;
|
||||
|
||||
inherit (lib.types)
|
||||
enum
|
||||
float
|
||||
isType
|
||||
mkOptionType
|
||||
number
|
||||
setType
|
||||
string
|
||||
types
|
||||
;
|
||||
inherit (lib.options) mergeOneOption;
|
||||
|
||||
setTypes = type:
|
||||
mapAttrs (name: value:
|
||||
|
@ -64,10 +33,10 @@ let
|
|||
# regex `e?abi.*$` when determining the validity of a triple. In
|
||||
# other words, `i386-linuxabichickenlips` is a valid triple.
|
||||
removeAbiSuffix = x:
|
||||
let found = match "(.*)e?abi.*" x;
|
||||
in if found == null
|
||||
let match = builtins.match "(.*)e?abi.*" x;
|
||||
in if match==null
|
||||
then x
|
||||
else elemAt found 0;
|
||||
else lib.elemAt match 0;
|
||||
|
||||
in
|
||||
|
||||
|
@ -107,7 +76,7 @@ rec {
|
|||
|
||||
types.cpuType = enum (attrValues cpuTypes);
|
||||
|
||||
cpuTypes = let inherit (significantBytes) bigEndian littleEndian; in setTypes types.openCpuType {
|
||||
cpuTypes = with significantBytes; setTypes types.openCpuType {
|
||||
arm = { bits = 32; significantByte = littleEndian; family = "arm"; };
|
||||
armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; arch = "armv5t"; };
|
||||
armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; arch = "armv6-m"; };
|
||||
|
@ -197,7 +166,7 @@ rec {
|
|||
# Note: Since 22.11 the archs of a mode switching CPU are no longer considered
|
||||
# pairwise compatible. Mode switching implies that binaries built for A
|
||||
# and B respectively can't be executed at the same time.
|
||||
isCompatible = with cpuTypes; a: b: any id [
|
||||
isCompatible = a: b: with cpuTypes; lib.any lib.id [
|
||||
# x86
|
||||
(b == i386 && isCompatible a i486)
|
||||
(b == i486 && isCompatible a i586)
|
||||
|
@ -318,10 +287,7 @@ rec {
|
|||
|
||||
types.kernel = enum (attrValues kernels);
|
||||
|
||||
kernels = let
|
||||
inherit (execFormats) elf pe wasm unknown macho;
|
||||
inherit (kernelFamilies) bsd darwin;
|
||||
in setTypes types.openKernel {
|
||||
kernels = with execFormats; with kernelFamilies; setTypes types.openKernel {
|
||||
# TODO(@Ericson2314): Don't want to mass-rebuild yet to keeping 'darwin' as
|
||||
# the normalized name for macOS.
|
||||
macos = { execFormat = macho; families = { inherit darwin; }; name = "darwin"; };
|
||||
|
@ -393,7 +359,7 @@ rec {
|
|||
The "gnu" ABI is ambiguous on 32-bit ARM. Use "gnueabi" or "gnueabihf" instead.
|
||||
'';
|
||||
}
|
||||
{ assertion = platform: !(platform.isPower64 && platform.isBigEndian);
|
||||
{ assertion = platform: with platform; !(isPower64 && isBigEndian);
|
||||
message = ''
|
||||
The "gnu" ABI is ambiguous on big-endian 64-bit PowerPC. Use "gnuabielfv2" or "gnuabielfv1" instead.
|
||||
'';
|
||||
|
@ -514,7 +480,7 @@ rec {
|
|||
/**/ if args ? abi then getAbi args.abi
|
||||
else if isLinux parsed || isWindows parsed then
|
||||
if isAarch32 parsed then
|
||||
if versionAtLeast (parsed.cpu.version or "0") "6"
|
||||
if lib.versionAtLeast (parsed.cpu.version or "0") "6"
|
||||
then abis.gnueabihf
|
||||
else abis.gnueabi
|
||||
# Default ppc64 BE to ELFv2
|
||||
|
@ -525,7 +491,7 @@ rec {
|
|||
|
||||
in mkSystem parsed;
|
||||
|
||||
mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (splitString "-" s));
|
||||
mkSystemFromString = s: mkSystemFromSkeleton (mkSkeletonFromList (lib.splitString "-" s));
|
||||
|
||||
kernelName = kernel:
|
||||
kernel.name + toString (kernel.version or "");
|
||||
|
@ -537,10 +503,10 @@ rec {
|
|||
|
||||
tripleFromSystem = { cpu, vendor, kernel, abi, ... } @ sys: assert isSystem sys; let
|
||||
optExecFormat =
|
||||
optionalString (kernel.name == "netbsd" &&
|
||||
lib.optionalString (kernel.name == "netbsd" &&
|
||||
gnuNetBSDDefaultExecFormat cpu != kernel.execFormat)
|
||||
kernel.execFormat.name;
|
||||
optAbi = optionalString (abi != abis.unknown) "-${abi.name}";
|
||||
optAbi = lib.optionalString (abi != abis.unknown) "-${abi.name}";
|
||||
in "${cpu.name}-${vendor.name}-${kernelName kernel}${optExecFormat}${optAbi}";
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -2958,12 +2958,6 @@
|
|||
github = "bycEEE";
|
||||
githubId = 8891115;
|
||||
name = "Brian Choy";
|
||||
};
|
||||
ByteSudoer = {
|
||||
email = "bytesudoer@gmail.com";
|
||||
github = "bytesudoer";
|
||||
githubId = 88513682;
|
||||
name = "ByteSudoer";
|
||||
};
|
||||
bzizou = {
|
||||
email = "Bruno@bzizou.net";
|
||||
|
@ -5429,7 +5423,6 @@
|
|||
name = "Florentin Eckl";
|
||||
};
|
||||
eclairevoyant = {
|
||||
email = "contactmeongithubinstead@proton.me";
|
||||
github = "eclairevoyant";
|
||||
githubId = 848000;
|
||||
name = "éclairevoyant";
|
||||
|
@ -5696,12 +5689,6 @@
|
|||
githubId = 2536303;
|
||||
name = "Enno Lohmeier";
|
||||
};
|
||||
elpdt852 = {
|
||||
email = "nix@pdtpartners.com";
|
||||
github = "elpdt852";
|
||||
githubId = 122112154;
|
||||
name = "Edgar Lee";
|
||||
};
|
||||
elvishjerricco = {
|
||||
email = "elvishjerricco@gmail.com";
|
||||
matrix = "@elvishjerricco:matrix.org";
|
||||
|
@ -6193,7 +6180,7 @@
|
|||
};
|
||||
eymeric = {
|
||||
name = "Eymeric Dechelette";
|
||||
email = "hatchchien@protonmail.com";
|
||||
email = "hatchchcien@protonmail.com";
|
||||
github = "hatch01";
|
||||
githubId = 42416805;
|
||||
};
|
||||
|
@ -8648,12 +8635,6 @@
|
|||
github = "j0xaf";
|
||||
githubId = 932697;
|
||||
};
|
||||
j1nxie = {
|
||||
email = "rylie@rylie.moe";
|
||||
name = "Nguyen Pham Quoc An";
|
||||
github = "j1nxie";
|
||||
githubId = 52886388;
|
||||
};
|
||||
j4m3s = {
|
||||
name = "James Landrein";
|
||||
email = "github@j4m3s.eu";
|
||||
|
@ -9046,12 +9027,6 @@
|
|||
githubId = 1667473;
|
||||
name = "Jethro Kuan";
|
||||
};
|
||||
jetpackjackson = {
|
||||
email = "baileyannew@tutanota.com";
|
||||
github = "JetpackJackson";
|
||||
githubId = 88674707;
|
||||
name = "Bailey Watkins";
|
||||
};
|
||||
jevy = {
|
||||
email = "jevin@quickjack.ca";
|
||||
github = "jevy";
|
||||
|
@ -9543,12 +9518,6 @@
|
|||
githubId = 1843676;
|
||||
name = "Jonathan Reeve";
|
||||
};
|
||||
jonboh = {
|
||||
email = "jon.bosque.hernando@gmail.com";
|
||||
github = "jonboh";
|
||||
githubId = 31407988;
|
||||
name = "Jon Bosque";
|
||||
};
|
||||
jonnybolton = {
|
||||
email = "jonnybolton@gmail.com";
|
||||
github = "jonnynightingale";
|
||||
|
@ -12562,15 +12531,6 @@
|
|||
githubId = 15093162;
|
||||
name = "Melanie B. Sigl";
|
||||
};
|
||||
melvyn2 = {
|
||||
email = "melvyn2@dnsense.pub";
|
||||
github = "melvyn2";
|
||||
githubId = 9157412;
|
||||
name = "melvyn";
|
||||
keys = [{
|
||||
fingerprint = "232B 9F00 2153 CA86 849C 9224 25A2 B728 0CE3 AFF6";
|
||||
}];
|
||||
};
|
||||
mephistophiles = {
|
||||
email = "mussitantesmortem@gmail.com";
|
||||
name = "Maxim Zhukov";
|
||||
|
@ -15051,12 +15011,6 @@
|
|||
fingerprint = "E005 48D5 D6AC 812C AAD2 AFFA 9C42 B05E 5913 60DC";
|
||||
}];
|
||||
};
|
||||
pbeucher = {
|
||||
email = "pierre@crafteo.io";
|
||||
github = "PierreBeucher";
|
||||
githubId = 5041481;
|
||||
name = "Pierre Beucher";
|
||||
};
|
||||
pblkt = {
|
||||
email = "pebblekite@gmail.com";
|
||||
github = "pblkt";
|
||||
|
@ -16556,11 +16510,6 @@
|
|||
githubId = 61013287;
|
||||
name = "Ricardo Steijn";
|
||||
};
|
||||
richar = {
|
||||
github = "ri-char";
|
||||
githubId = 17962023;
|
||||
name = "richar";
|
||||
};
|
||||
richardipsum = {
|
||||
email = "richardipsum@fastmail.co.uk";
|
||||
github = "richardipsum";
|
||||
|
@ -16686,12 +16635,6 @@
|
|||
githubId = 641278;
|
||||
name = "Robert T. McGibbon";
|
||||
};
|
||||
rmgpinto = {
|
||||
email = "hessian_loom_0u@icloud.com";
|
||||
github = "rmgpinto";
|
||||
githubId = 24584;
|
||||
name = "Ricardo Gândara Pinto";
|
||||
};
|
||||
rnhmjoj = {
|
||||
email = "rnhmjoj@inventati.org";
|
||||
matrix = "@rnhmjoj:maxwell.ydns.eu";
|
||||
|
@ -18478,15 +18421,6 @@
|
|||
githubId = 950799;
|
||||
name = "Tomasz Czyż";
|
||||
};
|
||||
spitulax = {
|
||||
name = "Bintang Adiputra Pratama";
|
||||
email = "bintangadiputrapratama@gmail.com";
|
||||
github = "spitulax";
|
||||
githubId = 96517350;
|
||||
keys = [{
|
||||
fingerprint = "652F FAAD 5CB8 AF1D 3F96 9521 929E D6C4 0414 D3F5";
|
||||
}];
|
||||
};
|
||||
spoonbaker = {
|
||||
github = "Spoonbaker";
|
||||
githubId = 47164123;
|
||||
|
@ -18592,12 +18526,6 @@
|
|||
githubId = 6362238;
|
||||
name = "Christoph Honal";
|
||||
};
|
||||
starsep = {
|
||||
email = "nix@starsep.com";
|
||||
github = "starsep";
|
||||
githubId = 2798728;
|
||||
name = "Filip Czaplicki";
|
||||
};
|
||||
star-szr = {
|
||||
email = "nixpkgs@szr.fastmail.com";
|
||||
github = "star-szr";
|
||||
|
@ -18808,16 +18736,6 @@
|
|||
githubId = 39732259;
|
||||
name = "Justus K";
|
||||
};
|
||||
stv0g = {
|
||||
name = "Steffen Vogel";
|
||||
email = "post@steffenvogel.de";
|
||||
matrix = "@stv0ge:matrix.org";
|
||||
github = "stv0g";
|
||||
githubId = 285829;
|
||||
keys = [{
|
||||
fingerprint = "09BE 3BAE 8D55 D4CD 8579 285A 9675 EAC3 4897 E6E2";
|
||||
}];
|
||||
};
|
||||
SubhrajyotiSen = {
|
||||
email = "subhrajyoti12@gmail.com";
|
||||
github = "SubhrajyotiSen";
|
||||
|
@ -19438,13 +19356,6 @@
|
|||
githubId = 42933;
|
||||
name = "Andrew Childs";
|
||||
};
|
||||
thefossguy = {
|
||||
name = "Pratham Patel";
|
||||
email = "prathampatel@thefossguy.com";
|
||||
matrix = "@thefossguy:matrix.org";
|
||||
github = "thefossguy";
|
||||
githubId = 44400303;
|
||||
};
|
||||
thehedgeh0g = {
|
||||
name = "The Hedgehog";
|
||||
email = "hedgehog@mrhedgehog.xyz";
|
||||
|
@ -21363,12 +21274,6 @@
|
|||
githubId = 3028542;
|
||||
name = "Guillermo NWDD";
|
||||
};
|
||||
xokdvium = {
|
||||
email = "xokdvium@proton.me";
|
||||
github = "xokdvium";
|
||||
githubId = 145775305;
|
||||
name = "Sergei Zimmerman";
|
||||
};
|
||||
xrelkd = {
|
||||
github = "xrelkd";
|
||||
githubId = 46590321;
|
||||
|
|
|
@ -6,9 +6,8 @@ binaries (without the reliance on external inputs):
|
|||
- `bootstrap-tools`: an archive with the compiler toolchain and other
|
||||
helper tools enough to build the rest of the `nixpkgs`.
|
||||
- initial binaries needed to unpack `bootstrap-tools.*`. On `linux`
|
||||
it's just `busybox`, on `darwin` it is unpack.nar.xz which contains
|
||||
the binaries and script needed to unpack the tools. These binaries
|
||||
can be executed directly from the store.
|
||||
it's just `busybox`, on `darwin` it's `sh`, `bzip2`, `mkdir` and
|
||||
`cpio`. These binaries can be executed directly from the store.
|
||||
|
||||
These are called "bootstrap files".
|
||||
|
||||
|
@ -75,3 +74,12 @@ There are two types of bootstrap files:
|
|||
The `.build` job contains `/on-server/` subdirectory with binaries to
|
||||
be uploaded to `tarballs.nixos.org`.
|
||||
The files are uploaded to `tarballs.nixos.org` by writers to `S3` store.
|
||||
|
||||
## TODOs
|
||||
|
||||
- `pkgs/stdenv/darwin` file layout is slightly different from
|
||||
`pkgs/stdenv/linux`. Once `linux` seed update becomes a routine we can
|
||||
bring `darwin` in sync if it's feasible.
|
||||
- `darwin` definition of `.build` `on-server/` directory layout differs
|
||||
and should be updated.
|
||||
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
#! nix-shell -p nix
|
||||
#! nix-shell -p jq
|
||||
|
||||
set -o pipefail
|
||||
|
||||
# How the refresher works:
|
||||
#
|
||||
# For a given list of <targets>:
|
||||
|
@ -17,9 +15,6 @@ set -o pipefail
|
|||
# 4. calculate hashes and craft the commit message with the details on
|
||||
# how to upload the result to 'tarballs.nixos.org'
|
||||
|
||||
scratch_dir=$(mktemp -d)
|
||||
trap 'rm -rf -- "${scratch_dir}"' EXIT
|
||||
|
||||
usage() {
|
||||
cat >&2 <<EOF
|
||||
Usage:
|
||||
|
@ -106,17 +101,15 @@ is_cross() {
|
|||
}
|
||||
|
||||
nar_sri_get() {
|
||||
local restore_path store_path
|
||||
((${#@} != 2)) && die "nar_sri_get /path/to/name.nar.xz name"
|
||||
restore_path="${scratch_dir}/$2"
|
||||
xz -d < "$1" | nix-store --restore "${restore_path}"
|
||||
[[ $? -ne 0 ]] && die "Failed to unpack '$1'"
|
||||
|
||||
store_path=$(nix-store --add "${restore_path}")
|
||||
[[ $? -ne 0 ]] && die "Failed to add '$restore_path' to store"
|
||||
rm -rf -- "${restore_path}"
|
||||
|
||||
nix-hash --to-sri "$(nix-store --query --hash "${store_path}")"
|
||||
local ouput sri
|
||||
output=$(nix-build --expr \
|
||||
'import <nix/fetchurl.nix> {
|
||||
url = "'"$1"'";
|
||||
unpack = true;
|
||||
}' 2>&1 || true)
|
||||
sri=$(echo "$output" | awk '/^\s+got:\s+/{ print $2 }')
|
||||
[[ -z "$sri" ]] && die "$output"
|
||||
echo "$sri"
|
||||
}
|
||||
|
||||
# collect passed options
|
||||
|
@ -246,12 +239,9 @@ EOF
|
|||
executable_nix="executable = true;"
|
||||
fi
|
||||
unpack_nix=
|
||||
name_nix=
|
||||
if [[ $fname = *.nar.xz ]]; then
|
||||
if [[ $fname = *.nar.* ]]; then
|
||||
unpack_nix="unpack = true;"
|
||||
name_nix="name = \"${fname%.nar.xz}\";"
|
||||
sri=$(nar_sri_get "$p" "${fname%.nar.xz}")
|
||||
[[ $? -ne 0 ]] && die "Failed to get hash of '$p'"
|
||||
sri=$(nar_sri_get "file://$p")
|
||||
else
|
||||
sha256=$(nix-prefetch-url $executable_arg --name "$fname" "file://$p")
|
||||
[[ $? -ne 0 ]] && die "Failed to get the hash for '$p'"
|
||||
|
@ -265,7 +255,6 @@ EOF
|
|||
url = "http://tarballs.nixos.org/${s3_prefix}/${nixpkgs_revision}/$fname";
|
||||
hash = "${sri}";$(
|
||||
[[ -n ${executable_nix} ]] && printf "\n %s" "${executable_nix}"
|
||||
[[ -n ${name_nix} ]] && printf "\n %s" "${name_nix}"
|
||||
[[ -n ${unpack_nix} ]] && printf "\n %s" "${unpack_nix}"
|
||||
)
|
||||
};
|
||||
|
|
|
@ -880,7 +880,6 @@ with lib.maintainers; {
|
|||
members = [
|
||||
Madouura
|
||||
Flakebi
|
||||
mschwaig
|
||||
];
|
||||
githubTeams = [
|
||||
"rocm-maintainers"
|
||||
|
|
|
@ -68,8 +68,6 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [Guix](https://guix.gnu.org), a functional package manager inspired by Nix. Available as [services.guix](#opt-services.guix.enable).
|
||||
|
||||
- [PhotonVision](https://photonvision.org/), a free, fast, and easy-to-use computer vision solution for the FIRST® Robotics Competition.
|
||||
|
||||
- [pyLoad](https://pyload.net/), a FOSS download manager written in Python. Available as [services.pyload](#opt-services.pyload.enable)
|
||||
|
||||
- [maubot](https://github.com/maubot/maubot), a plugin-based Matrix bot framework. Available as [services.maubot](#opt-services.maubot.enable).
|
||||
|
@ -80,8 +78,6 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [pretalx](https://github.com/pretalx/pretalx), a conference planning tool. Available as [services.pretalx](#opt-services.pretalx.enable).
|
||||
|
||||
- [dnsproxy](https://github.com/AdguardTeam/dnsproxy), a simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support. Available as [services.dnsproxy](#opt-services.dnsproxy.enable).
|
||||
|
||||
- [rspamd-trainer](https://gitlab.com/onlime/rspamd-trainer), script triggered by a helper which reads mails from a specific mail inbox and feeds them into rspamd for spam/ham training.
|
||||
|
||||
- [ollama](https://ollama.ai), server for running large language models locally.
|
||||
|
@ -113,8 +109,6 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- [Clevis](https://github.com/latchset/clevis), a pluggable framework for automated decryption, used to unlock encrypted devices in initrd. Available as [boot.initrd.clevis.enable](#opt-boot.initrd.clevis.enable).
|
||||
|
||||
- [fritz-exporter](https://github.com/pdreker/fritz_exporter), a Prometheus exporter for extracting metrics from [FRITZ!](https://avm.de/produkte/) devices. Available as [services.prometheus.exporters.fritz](#opt-services.prometheus.exporters.fritz.enable).
|
||||
|
||||
- [armagetronad](https://wiki.armagetronad.org), a mid-2000s 3D lightcycle game widely played at iD Tech Camps. You can define multiple servers using `services.armagetronad.<server>.enable`.
|
||||
|
||||
- [TuxClocker](https://github.com/Lurkki14/tuxclocker), a hardware control and monitoring program. Available as [programs.tuxclocker](#opt-programs.tuxclocker.enable).
|
||||
|
@ -330,9 +324,6 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
- The `erlang_node_short_name`, `erlang_node_name`, `port` and `options` configuration parameters are gone, and have been replaced with an `environment` parameter.
|
||||
Use the appropriate [environment variables](https://hexdocs.pm/livebook/readme.html#environment-variables) inside `environment` to configure the service instead.
|
||||
|
||||
- The `crystal` package has been updated to 1.11.x, which has some breaking changes.
|
||||
Refer to crystal's changelog for more information. ([v1.10](https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1100-2023-10-09), [v1.11](https://github.com/crystal-lang/crystal/blob/master/CHANGELOG.md#1110-2024-01-08))
|
||||
|
||||
## Other Notable Changes {#sec-release-24.05-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
@ -346,8 +337,6 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
- Similarly, please use `services.xserver.desktopManager.mate.extraCajaExtensions` option for installing Caja extensions.
|
||||
- To use the Wayland session, enable `services.xserver.desktopManager.mate.enableWaylandSession`. This is opt-in for now as it is in early stage and introduces a new set of Wayfire closure. Due to [known issues with LightDM](https://github.com/canonical/lightdm/issues/63), we suggest using SDDM for display manager.
|
||||
|
||||
- The Budgie module installs gnome-terminal by default (instead of mate-terminal).
|
||||
|
||||
- New `boot.loader.systemd-boot.xbootldrMountPoint` allows setting up a separate [XBOOTLDR partition](https://uapi-group.org/specifications/specs/boot_loader_specification/) to store boot files. Useful on systems with a small EFI System partition that cannot be easily repartitioned.
|
||||
|
||||
- `boot.loader.systemd-boot` will now verify that `efiSysMountPoint` (and `xbootldrMountPoint` if configured) are mounted partitions.
|
||||
|
@ -453,12 +442,6 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
|||
|
||||
- The module `services.github-runner` has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.
|
||||
|
||||
- The `services.slskd` has been refactored to include more configuation options in
|
||||
the freeform `services.slskd.settings` option, and some defaults (including listen ports)
|
||||
have been changed to match the upstream defaults. Additionally, disk logging is now
|
||||
disabled by default, and the log rotation timer has been removed.
|
||||
The nginx virtualhost option is now of the `vhost-options` type.
|
||||
|
||||
- The `btrbk` module now automatically selects and provides required compression
|
||||
program depending on the configured `stream_compress` option. Since this
|
||||
replaces the need for the `extraPackages` option, this option will be
|
||||
|
|
|
@ -64,8 +64,8 @@ rec {
|
|||
let
|
||||
s = if builtins.isPath arg then "${arg}"
|
||||
else if builtins.isString arg then arg
|
||||
else if builtins.isInt arg || builtins.isFloat arg || lib.isDerivation arg then toString arg
|
||||
else throw "escapeSystemdExecArg only allows strings, paths, numbers and derivations";
|
||||
else if builtins.isInt arg || builtins.isFloat arg then toString arg
|
||||
else throw "escapeSystemdExecArg only allows strings, paths and numbers";
|
||||
in
|
||||
replaceStrings [ "%" "$" ] [ "%%" "$$" ] (builtins.toJSON s);
|
||||
|
||||
|
|
|
@ -944,7 +944,6 @@
|
|||
./services/networking/dnscrypt-wrapper.nix
|
||||
./services/networking/dnsdist.nix
|
||||
./services/networking/dnsmasq.nix
|
||||
./services/networking/dnsproxy.nix
|
||||
./services/networking/doh-proxy-rust.nix
|
||||
./services/networking/ejabberd.nix
|
||||
./services/networking/envoy.nix
|
||||
|
@ -1274,7 +1273,6 @@
|
|||
./services/video/go2rtc/default.nix
|
||||
./services/video/frigate.nix
|
||||
./services/video/mirakurun.nix
|
||||
./services/video/photonvision.nix
|
||||
./services/video/replay-sorcery.nix
|
||||
./services/video/mediamtx.nix
|
||||
./services/video/unifi-video.nix
|
||||
|
|
|
@ -58,7 +58,15 @@ in
|
|||
# Hyper-V support.
|
||||
"hv_storvsc"
|
||||
] ++ lib.optionals pkgs.stdenv.hostPlatform.isAarch [
|
||||
# Most of the following falls into two categories:
|
||||
# - early KMS / early display
|
||||
# - early storage (e.g. USB) support
|
||||
|
||||
# Allows using framebuffer configured by the initial boot firmware
|
||||
"simplefb"
|
||||
|
||||
# Allwinner support
|
||||
|
||||
# Required for early KMS
|
||||
"sun4i-drm"
|
||||
"sun8i-mixer" # Audio, but required for kms
|
||||
|
@ -67,6 +75,7 @@ in
|
|||
"pwm-sun4i"
|
||||
|
||||
# Broadcom
|
||||
|
||||
"vc4"
|
||||
] ++ lib.optionals pkgs.stdenv.isAarch64 [
|
||||
# Most of the following falls into two categories:
|
||||
|
|
|
@ -145,8 +145,6 @@ in
|
|||
# This installCredentials script is written so that it's as easy as
|
||||
# possible for a user to audit before confirming the `sudo`
|
||||
installCredentials = hostPkgs.writeShellScript "install-credentials" ''
|
||||
set -euo pipefail
|
||||
|
||||
KEYS="''${1}"
|
||||
INSTALL=${hostPkgs.coreutils}/bin/install
|
||||
"''${INSTALL}" -g nixbld -m 600 "''${KEYS}/${user}_${keyType}" ${privateKey}
|
||||
|
@ -156,9 +154,6 @@ in
|
|||
hostPkgs = config.virtualisation.host.pkgs;
|
||||
|
||||
script = hostPkgs.writeShellScriptBin "create-builder" (
|
||||
''
|
||||
set -euo pipefail
|
||||
'' +
|
||||
# When running as non-interactively as part of a DarwinConfiguration the working directory
|
||||
# must be set to a writeable directory.
|
||||
(if cfg.workingDirectory != "." then ''
|
||||
|
|
|
@ -683,7 +683,7 @@ let
|
|||
(let dp9ik = config.security.pam.dp9ik; in { name = "p9"; enable = dp9ik.enable; control = dp9ik.control; modulePath = "${pkgs.pam_dp9ik}/lib/security/pam_p9.so"; args = [
|
||||
dp9ik.authserver
|
||||
]; })
|
||||
{ name = "fprintd"; enable = cfg.fprintAuth; control = "sufficient"; modulePath = "${config.services.fprintd.package}/lib/security/pam_fprintd.so"; }
|
||||
{ name = "fprintd"; enable = cfg.fprintAuth; control = "sufficient"; modulePath = "${pkgs.fprintd}/lib/security/pam_fprintd.so"; }
|
||||
] ++
|
||||
# Modules in this block require having the password set in PAM_AUTHTOK.
|
||||
# pam_unix is marked as 'sufficient' on NixOS which means nothing will run
|
||||
|
|
|
@ -37,13 +37,22 @@ in
|
|||
enable = mkEnableOption (mdDoc "Wyoming faster-whisper server");
|
||||
|
||||
model = mkOption {
|
||||
type = str;
|
||||
# Intersection between available and referenced models here:
|
||||
# https://github.com/rhasspy/models/releases/tag/v1.0
|
||||
# https://github.com/rhasspy/rhasspy3/blob/wyoming-v1/programs/asr/faster-whisper/server/wyoming_faster_whisper/download.py#L17-L27
|
||||
type = enum [
|
||||
"tiny"
|
||||
"tiny-int8"
|
||||
"base"
|
||||
"base-int8"
|
||||
"small"
|
||||
"small-int8"
|
||||
"medium-int8"
|
||||
];
|
||||
default = "tiny-int8";
|
||||
example = "Systran/faster-distil-whisper-small.en";
|
||||
example = "medium-int8";
|
||||
description = mdDoc ''
|
||||
Name of the voice model to use.
|
||||
|
||||
Check the [2.0.0 release notes](https://github.com/rhasspy/wyoming-faster-whisper/releases/tag/v2.0.0) for possible values.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -32,8 +32,6 @@ in {
|
|||
|
||||
security.polkit.enable = true;
|
||||
|
||||
fonts.fontDir.enable = true;
|
||||
|
||||
services.dbus.packages = [ pkgs.flatpak ];
|
||||
|
||||
systemd.packages = [ pkgs.flatpak ];
|
||||
|
|
|
@ -67,12 +67,10 @@ in
|
|||
'';
|
||||
|
||||
systemwideConfigPkg = pkgs.writeTextDir "share/wireplumber/wireplumber.conf.d/90-nixos-systemwide.conf" ''
|
||||
# When running system-wide, we don't have logind to call ReserveDevice,
|
||||
# And bluetooth logind integration needs to be disabled
|
||||
# When running system-wide, we don't have logind to call ReserveDevice
|
||||
wireplumber.profiles = {
|
||||
main = {
|
||||
support.reserve-device = disabled
|
||||
monitor.bluez.seat-monitoring = disabled
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
|
|
@ -61,8 +61,6 @@ in
|
|||
systemd.services."autovt@${tty}".enable = false;
|
||||
|
||||
systemd.services.greetd = {
|
||||
aliases = [ "display-manager.service" ];
|
||||
|
||||
unitConfig = {
|
||||
Wants = [
|
||||
"systemd-user-sessions.service"
|
||||
|
|
|
@ -20,10 +20,7 @@ let
|
|||
manage = pkgs.writeShellScript "manage" ''
|
||||
set -o allexport # Export the following env vars
|
||||
${lib.toShellVars env}
|
||||
eval "$(${config.systemd.package}/bin/systemctl show -pUID,GID,MainPID tandoor-recipes.service)"
|
||||
exec ${pkgs.util-linux}/bin/nsenter \
|
||||
-t $MainPID -m -S $UID -G $GID \
|
||||
${pkg}/bin/tandoor-recipes "$@"
|
||||
exec ${pkg}/bin/tandoor-recipes "$@"
|
||||
'';
|
||||
in
|
||||
{
|
||||
|
@ -85,7 +82,6 @@ in
|
|||
Restart = "on-failure";
|
||||
|
||||
User = "tandoor_recipes";
|
||||
Group = "tandoor_recipes";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "tandoor-recipes";
|
||||
WorkingDirectory = "/var/lib/tandoor-recipes";
|
||||
|
|
|
@ -35,7 +35,6 @@ let
|
|||
"dovecot"
|
||||
"fastly"
|
||||
"flow"
|
||||
"fritz"
|
||||
"fritzbox"
|
||||
"graphite"
|
||||
"idrac"
|
||||
|
|
|
@ -1,97 +0,0 @@
|
|||
{ config, lib, pkgs, utils, ... }:
|
||||
let
|
||||
inherit (lib) mkOption types mdDoc;
|
||||
cfg = config.services.prometheus.exporters.fritz;
|
||||
yaml = pkgs.formats.yaml { };
|
||||
configFile = yaml.generate "fritz-exporter.yaml" cfg.settings;
|
||||
in
|
||||
{
|
||||
port = 9787;
|
||||
|
||||
extraOpts = {
|
||||
settings = mkOption {
|
||||
description = mdDoc "Configuration settings for fritz-exporter.";
|
||||
type = types.submodule {
|
||||
freeformType = yaml.type;
|
||||
|
||||
options = {
|
||||
# Pull existing port option into config file.
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = cfg.port;
|
||||
internal = true;
|
||||
visible = false;
|
||||
};
|
||||
# Pull existing listen address option into config file.
|
||||
listen_address = mkOption {
|
||||
type = types.str;
|
||||
default = cfg.listenAddress;
|
||||
internal = true;
|
||||
visible = false;
|
||||
};
|
||||
log_level = mkOption {
|
||||
type = types.enum [ "DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" ];
|
||||
default = "INFO";
|
||||
description = mdDoc ''
|
||||
Log level to use for the exporter.
|
||||
'';
|
||||
};
|
||||
devices = mkOption {
|
||||
default = [];
|
||||
description = "Fritz!-devices to monitor using the exporter.";
|
||||
type = with types; listOf (submodule {
|
||||
freeformType = yaml.type;
|
||||
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = mdDoc ''
|
||||
Name to use for the device.
|
||||
'';
|
||||
};
|
||||
hostname = mkOption {
|
||||
type = types.str;
|
||||
default = "fritz.box";
|
||||
description = mdDoc ''
|
||||
Hostname under which the target device is reachable.
|
||||
'';
|
||||
};
|
||||
username = mkOption {
|
||||
type = types.str;
|
||||
description = mdDoc ''
|
||||
Username to authenticate with the target device.
|
||||
'';
|
||||
};
|
||||
password_file = mkOption {
|
||||
type = types.path;
|
||||
description = mdDoc ''
|
||||
Path to a file which contains the password to authenticate with the target device.
|
||||
Needs to be readable by the user the exporter runs under.
|
||||
'';
|
||||
};
|
||||
host_info = mkOption {
|
||||
type = types.bool;
|
||||
description = mdDoc ''
|
||||
Enable extended host info for this device. *Warning*: This will heavily increase scrape time.
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
serviceOpts = {
|
||||
serviceConfig = {
|
||||
ExecStart = utils.escapeSystemdExecArgs ([
|
||||
(lib.getExe pkgs.fritz-exporter)
|
||||
"--config" configFile
|
||||
] ++ cfg.extraFlags);
|
||||
DynamicUser = false;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,106 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
inherit (lib)
|
||||
escapeShellArgs
|
||||
getExe
|
||||
lists
|
||||
literalExpression
|
||||
maintainers
|
||||
mdDoc
|
||||
mkEnableOption
|
||||
mkIf
|
||||
mkOption
|
||||
mkPackageOption
|
||||
types;
|
||||
|
||||
cfg = config.services.dnsproxy;
|
||||
|
||||
yaml = pkgs.formats.yaml { };
|
||||
configFile = yaml.generate "config.yaml" cfg.settings;
|
||||
|
||||
finalFlags = (lists.optional (cfg.settings != { }) "--config-path=${configFile}") ++ cfg.flags;
|
||||
in
|
||||
{
|
||||
|
||||
options.services.dnsproxy = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "dnsproxy");
|
||||
|
||||
package = mkPackageOption pkgs "dnsproxy" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = yaml.type;
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
bootstrap = [
|
||||
"8.8.8.8:53"
|
||||
];
|
||||
listen-addrs = [
|
||||
"0.0.0.0"
|
||||
];
|
||||
listen-ports = [
|
||||
53
|
||||
];
|
||||
upstream = [
|
||||
"1.1.1.1:53"
|
||||
];
|
||||
}
|
||||
'';
|
||||
description = mdDoc ''
|
||||
Contents of the `config.yaml` config file.
|
||||
The `--config-path` argument will only be passed if this set is not empty.
|
||||
|
||||
See <https://github.com/AdguardTeam/dnsproxy/blob/master/config.yaml.dist>.
|
||||
'';
|
||||
};
|
||||
|
||||
flags = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "--upstream=1.1.1.1:53" ];
|
||||
description = lib.mdDoc ''
|
||||
A list of extra command-line flags to pass to dnsproxy. For details on the
|
||||
available options, see <https://github.com/AdguardTeam/dnsproxy#usage>.
|
||||
Keep in mind that options passed through command-line flags override
|
||||
config options.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.dnsproxy = {
|
||||
description = "Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support";
|
||||
after = [ "network.target" "nss-lookup.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${getExe cfg.package} ${escapeShellArgs finalFlags}";
|
||||
Restart = "always";
|
||||
RestartSec = 10;
|
||||
DynamicUser = true;
|
||||
|
||||
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
|
||||
LockPersonality = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
NoNewPrivileges = true;
|
||||
ProtectClock = true;
|
||||
ProtectHome = true;
|
||||
ProtectHostname = true;
|
||||
ProtectKernelLogs = true;
|
||||
RemoveIPC = true;
|
||||
RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
|
||||
RestrictNamespaces = true;
|
||||
RestrictRealtime = true;
|
||||
RestrictSUIDSGID = true;
|
||||
SystemCallArchitectures = "native";
|
||||
SystemCallErrorNumber = "EPERM";
|
||||
SystemCallFilter = [ "@system-service" "~@privileged @resources" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with maintainers; [ diogotcorreia ];
|
||||
|
||||
}
|
|
@ -9,23 +9,17 @@ in
|
|||
peers = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
description = ''
|
||||
List of peers to connect to, in the formats:
|
||||
- `quic://[2001:0db8::1]:9651`
|
||||
- `quic://192.0.2.1:9651`
|
||||
- `tcp://[2001:0db8::1]:9651`
|
||||
- `tcp://192.0.2.1:9651`
|
||||
|
||||
If addHostedPublicNodes is set to true, the hosted public nodes will also be added.
|
||||
List of peers to connect to in the format quic://1.2.3.4:9651.
|
||||
If addHostedPublicNodes is set to true, the hosted public nodes will be added to this list.
|
||||
'';
|
||||
default = [ ];
|
||||
default = [];
|
||||
};
|
||||
keyFile = lib.mkOption {
|
||||
type = lib.types.nullOr lib.types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
Optional path to a file containing the mycelium key material.
|
||||
If unset, the default location (`/var/lib/mycelium/key.bin`) will be used.
|
||||
If no key exist at this location, it will be generated on startup.
|
||||
optional path to a keyFile, if unset the default location (/var/lib/mycelium/key) will be used
|
||||
If this key does not exist, it will be generated
|
||||
'';
|
||||
};
|
||||
openFirewall = lib.mkOption {
|
||||
|
@ -43,7 +37,7 @@ in
|
|||
type = lib.types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Adds the hosted peers from https://github.com/threefoldtech/mycelium#hosted-public-nodes.
|
||||
add the hosted peers from https://github.com/threefoldtech/mycelium#hosted-public-nodes
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
@ -85,10 +79,9 @@ in
|
|||
"--key-file \${CREDENTIALS_DIRECTORY}/keyfile" else
|
||||
"--key-file %S/mycelium/key.bin"
|
||||
)
|
||||
"--tun-name"
|
||||
"mycelium"
|
||||
"--tun-name" "mycelium"
|
||||
] ++
|
||||
(lib.optional (cfg.addHostedPublicNodes || cfg.peers != [ ]) "--peers")
|
||||
(lib.optional (cfg.addHostedPublicNodes || cfg.peers != []) "--peers")
|
||||
++ cfg.peers ++ (lib.optionals cfg.addHostedPublicNodes [
|
||||
"tcp://188.40.132.242:9651" # DE 01
|
||||
"tcp://[2a01:4f8:221:1e0b::2]:9651"
|
||||
|
|
|
@ -13,17 +13,6 @@ in
|
|||
The address of the reverse proxy endpoint for oauth2_proxy
|
||||
'';
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
description = lib.mdDoc ''
|
||||
The domain under which the oauth2_proxy will be accesible and the path of cookies are set to.
|
||||
This setting must be set to ensure back-redirects are working properly
|
||||
if oauth2-proxy is configured with {option}`services.oauth2_proxy.cookie.domain`
|
||||
or multiple {option}`services.oauth2_proxy.nginx.virtualHosts` that are not on the same domain.
|
||||
'';
|
||||
};
|
||||
|
||||
virtualHosts = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
|
@ -32,26 +21,22 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config.services.oauth2_proxy = mkIf (cfg.virtualHosts != [] && (hasPrefix "127.0.0.1:" cfg.proxy)) {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
config.services.nginx = mkIf (cfg.virtualHosts != [] && config.services.oauth2_proxy.enable) (mkMerge ([
|
||||
{
|
||||
virtualHosts.${cfg.domain}.locations."/oauth2/" = {
|
||||
config.services.nginx = mkIf config.services.oauth2_proxy.enable (mkMerge
|
||||
((optional (cfg.virtualHosts != []) {
|
||||
recommendedProxySettings = true; # needed because duplicate headers
|
||||
}) ++ (map (vhost: {
|
||||
virtualHosts.${vhost} = {
|
||||
locations."/oauth2/" = {
|
||||
proxyPass = cfg.proxy;
|
||||
extraConfig = ''
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_set_header X-Auth-Request-Redirect $scheme://$host$request_uri;
|
||||
'';
|
||||
};
|
||||
}
|
||||
] ++ optional (cfg.virtualHosts != []) {
|
||||
recommendedProxySettings = true; # needed because duplicate headers
|
||||
} ++ (map (vhost: {
|
||||
virtualHosts.${vhost}.locations = {
|
||||
"/oauth2/auth" = {
|
||||
locations."/oauth2/auth" = {
|
||||
proxyPass = cfg.proxy;
|
||||
extraConfig = ''
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
|
@ -60,10 +45,9 @@ in
|
|||
proxy_pass_request_body off;
|
||||
'';
|
||||
};
|
||||
"@redirectToAuth2ProxyLogin".return = "307 https://${cfg.domain}/oauth2/start?rd=$scheme://$host$request_uri";
|
||||
"/".extraConfig = ''
|
||||
locations."/".extraConfig = ''
|
||||
auth_request /oauth2/auth;
|
||||
error_page 401 = @redirectToAuth2ProxyLogin;
|
||||
error_page 401 = /oauth2/sign_in;
|
||||
|
||||
# pass information via X-User and X-Email headers to backend,
|
||||
# requires running with --set-xauthrequest flag
|
||||
|
@ -76,6 +60,7 @@ in
|
|||
auth_request_set $auth_cookie $upstream_http_set_cookie;
|
||||
add_header Set-Cookie $auth_cookie;
|
||||
'';
|
||||
|
||||
};
|
||||
}) cfg.virtualHosts)));
|
||||
}
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.photonvision;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
services.photonvision = {
|
||||
enable = lib.mkEnableOption (lib.mdDoc "Enable PhotonVision");
|
||||
|
||||
package = lib.mkPackageOption pkgs "photonvision" {};
|
||||
|
||||
openFirewall = lib.mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Whether to open the required ports in the firewall.
|
||||
'';
|
||||
default = false;
|
||||
type = lib.types.bool;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
systemd.services.photonvision = {
|
||||
description = "PhotonVision, the free, fast, and easy-to-use computer vision solution for the FIRST Robotics Competition";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = lib.getExe cfg.package;
|
||||
|
||||
# ephemeral root directory
|
||||
RuntimeDirectory = "photonvision";
|
||||
RootDirectory = "/run/photonvision";
|
||||
|
||||
# setup persistent state and logs directories
|
||||
StateDirectory = "photonvision";
|
||||
LogsDirectory = "photonvision";
|
||||
|
||||
BindReadOnlyPaths = [
|
||||
# mount the nix store read-only
|
||||
"/nix/store"
|
||||
|
||||
# the JRE reads the user.home property from /etc/passwd
|
||||
"/etc/passwd"
|
||||
];
|
||||
BindPaths = [
|
||||
# mount the configuration and logs directories to the host
|
||||
"/var/lib/photonvision:/photonvision_config"
|
||||
"/var/log/photonvision:/photonvision_config/logs"
|
||||
];
|
||||
|
||||
# for PhotonVision's dynamic libraries, which it writes to /tmp
|
||||
PrivateTmp = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = lib.mkIf cfg.openFirewall {
|
||||
allowedTCPPorts = [ 5800 ];
|
||||
allowedTCPPortRanges = [{ from = 1180; to = 1190; }];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -2,248 +2,120 @@
|
|||
|
||||
let
|
||||
settingsFormat = pkgs.formats.yaml {};
|
||||
defaultUser = "slskd";
|
||||
in {
|
||||
options.services.slskd = with lib; with types; {
|
||||
enable = mkEnableOption "enable slskd";
|
||||
|
||||
package = mkPackageOptionMD pkgs "slskd" { };
|
||||
rotateLogs = mkEnableOption "enable an unit and timer that will rotate logs in /var/slskd/logs";
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = defaultUser;
|
||||
description = "User account under which slskd runs.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = defaultUser;
|
||||
description = "Group under which slskd runs.";
|
||||
};
|
||||
|
||||
domain = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
description = ''
|
||||
If non-null, enables an nginx reverse proxy virtual host at this FQDN,
|
||||
at the path configurated with `services.slskd.web.url_base`.
|
||||
'';
|
||||
example = "slskd.example.com";
|
||||
};
|
||||
package = mkPackageOption pkgs "slskd" { };
|
||||
|
||||
nginx = mkOption {
|
||||
type = types.submodule (import ../web-servers/nginx/vhost-options.nix { inherit config lib; });
|
||||
default = {};
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
enableACME = true;
|
||||
forceHttps = true;
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
This option customizes the nginx virtual host set up for slskd.
|
||||
'';
|
||||
description = lib.mdDoc "options for nginx";
|
||||
example = {
|
||||
enable = true;
|
||||
domain = "example.com";
|
||||
contextPath = "/slskd";
|
||||
};
|
||||
type = submodule ({name, config, ...}: {
|
||||
options = {
|
||||
enable = mkEnableOption "enable nginx as a reverse proxy";
|
||||
|
||||
domainName = mkOption {
|
||||
type = str;
|
||||
description = "Domain you want to use";
|
||||
};
|
||||
contextPath = mkOption {
|
||||
type = types.path;
|
||||
default = "/";
|
||||
description = lib.mdDoc ''
|
||||
The context path, i.e., the last part of the slskd
|
||||
URL. Typically '/' or '/slskd'. Default '/'
|
||||
'';
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = path;
|
||||
description = ''
|
||||
Path to the environment file sourced on startup.
|
||||
It must at least contain the variables `SLSKD_SLSK_USERNAME` and `SLSKD_SLSK_PASSWORD`.
|
||||
Web interface credentials should also be set here in `SLSKD_USERNAME` and `SLSKD_PASSWORD`.
|
||||
Other, optional credentials like SOCKS5 with `SLSKD_SLSK_PROXY_USERNAME` and `SLSKD_SLSK_PROXY_PASSWORD`
|
||||
should all reside here instead of in the world-readable nix store.
|
||||
Variables are documented at https://github.com/slskd/slskd/blob/master/docs/config.md
|
||||
Path to a file containing secrets.
|
||||
It must at least contain the variable `SLSKD_SLSK_PASSWORD`
|
||||
'';
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = bool;
|
||||
description = "Whether to open the firewall for the soulseek network listen port (not the web interface port).";
|
||||
description = ''
|
||||
Whether to open the firewall for services.slskd.settings.listen_port";
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
description = ''
|
||||
Application configuration for slskd. See
|
||||
[documentation](https://github.com/slskd/slskd/blob/master/docs/config.md).
|
||||
description = lib.mdDoc ''
|
||||
Configuration for slskd, see
|
||||
[available options](https://github.com/slskd/slskd/blob/master/docs/config.md)
|
||||
`APP_DIR` is set to /var/lib/slskd, where default download & incomplete directories,
|
||||
log and databases will be created.
|
||||
'';
|
||||
default = {};
|
||||
type = submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
options = {
|
||||
remote_file_management = mkEnableOption "modification of share contents through the web ui";
|
||||
|
||||
flags = {
|
||||
force_share_scan = mkOption {
|
||||
type = bool;
|
||||
description = "Force a rescan of shares on every startup.";
|
||||
soulseek = {
|
||||
username = mkOption {
|
||||
type = str;
|
||||
description = "Username on the Soulseek Network";
|
||||
};
|
||||
no_version_check = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
visible = false;
|
||||
description = "Don't perform a version check on startup.";
|
||||
listen_port = mkOption {
|
||||
type = port;
|
||||
description = "Port to use for communication on the Soulseek Network";
|
||||
default = 50000;
|
||||
};
|
||||
};
|
||||
|
||||
directories = {
|
||||
incomplete = mkOption {
|
||||
type = nullOr path;
|
||||
description = "Directory where incomplete downloading files are stored.";
|
||||
defaultText = "/var/lib/slskd/incomplete";
|
||||
default = null;
|
||||
web = {
|
||||
port = mkOption {
|
||||
type = port;
|
||||
default = 5001;
|
||||
description = "The HTTP listen port";
|
||||
};
|
||||
downloads = mkOption {
|
||||
type = nullOr path;
|
||||
description = "Directory where downloaded files are stored.";
|
||||
defaultText = "/var/lib/slskd/downloads";
|
||||
default = null;
|
||||
url_base = mkOption {
|
||||
type = path;
|
||||
default = config.services.slskd.nginx.contextPath;
|
||||
defaultText = "config.services.slskd.nginx.contextPath";
|
||||
description = lib.mdDoc ''
|
||||
The context path, i.e., the last part of the slskd URL
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
shares = {
|
||||
directories = mkOption {
|
||||
type = listOf str;
|
||||
description = ''
|
||||
Paths to shared directories. See
|
||||
description = lib.mdDoc ''
|
||||
Paths to your shared directories. See
|
||||
[documentation](https://github.com/slskd/slskd/blob/master/docs/config.md#directories)
|
||||
for advanced usage.
|
||||
for advanced usage
|
||||
'';
|
||||
example = lib.literalExpression ''[ "/home/John/Music" "!/home/John/Music/Recordings" "[Music Drive]/mnt" ]'';
|
||||
};
|
||||
filters = mkOption {
|
||||
type = listOf str;
|
||||
example = lib.literalExpression ''[ "\.ini$" "Thumbs.db$" "\.DS_Store$" ]'';
|
||||
description = "Regular expressions of files to exclude from sharing.";
|
||||
};
|
||||
};
|
||||
|
||||
rooms = mkOption {
|
||||
type = listOf str;
|
||||
description = "Chat rooms to join on startup.";
|
||||
};
|
||||
|
||||
soulseek = {
|
||||
description = mkOption {
|
||||
type = str;
|
||||
description = "The user description for the Soulseek network.";
|
||||
defaultText = "A slskd user. https://github.com/slskd/slskd";
|
||||
directories = {
|
||||
incomplete = mkOption {
|
||||
type = nullOr path;
|
||||
description = "Directory where downloading files are stored";
|
||||
defaultText = "<APP_DIR>/incomplete";
|
||||
default = null;
|
||||
};
|
||||
listen_port = mkOption {
|
||||
type = port;
|
||||
description = "The port on which to listen for incoming connections.";
|
||||
default = 50300;
|
||||
};
|
||||
};
|
||||
|
||||
global = {
|
||||
# TODO speed units
|
||||
upload = {
|
||||
slots = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Limit of the number of concurrent upload slots.";
|
||||
};
|
||||
speed_limit = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Total upload speed limit.";
|
||||
};
|
||||
};
|
||||
download = {
|
||||
slots = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Limit of the number of concurrent download slots.";
|
||||
};
|
||||
speed_limit = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Total upload download limit";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
filters.search.request = mkOption {
|
||||
type = listOf str;
|
||||
example = lib.literalExpression ''[ "^.{1,2}$" ]'';
|
||||
description = "Incoming search requests which match this filter are ignored.";
|
||||
};
|
||||
|
||||
web = {
|
||||
port = mkOption {
|
||||
type = port;
|
||||
default = 5030;
|
||||
description = "The HTTP listen port.";
|
||||
};
|
||||
url_base = mkOption {
|
||||
type = path;
|
||||
default = "/";
|
||||
description = "The base path in the url for web requests.";
|
||||
};
|
||||
# Users should use a reverse proxy instead for https
|
||||
https.disabled = mkOption {
|
||||
type = bool;
|
||||
default = true;
|
||||
description = "Disable the built-in HTTPS server";
|
||||
};
|
||||
};
|
||||
|
||||
retention = {
|
||||
transfers = {
|
||||
upload = {
|
||||
succeeded = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of succeeded upload tasks.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
errored = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of errored upload tasks.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
cancelled = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of cancelled upload tasks.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
};
|
||||
download = {
|
||||
succeeded = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of succeeded download tasks.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
errored = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of errored download tasks.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
cancelled = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of cancelled download tasks.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
};
|
||||
};
|
||||
files = {
|
||||
complete = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of completely downloaded files in minutes.";
|
||||
example = 20160;
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
incomplete = mkOption {
|
||||
type = ints.unsigned;
|
||||
description = "Lifespan of incomplete downloading files in minutes.";
|
||||
defaultText = "(indefinite)";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
logger = {
|
||||
# Disable by default, journald already retains as needed
|
||||
disk = mkOption {
|
||||
type = bool;
|
||||
description = "Whether to log to the application directory.";
|
||||
default = false;
|
||||
visible = false;
|
||||
downloads = mkOption {
|
||||
type = nullOr path;
|
||||
description = "Directory where downloaded files are stored";
|
||||
defaultText = "<APP_DIR>/downloads";
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -254,25 +126,38 @@ in {
|
|||
config = let
|
||||
cfg = config.services.slskd;
|
||||
|
||||
confWithoutNullValues = (lib.filterAttrsRecursive (key: value: (builtins.tryEval value).success && value != null) cfg.settings);
|
||||
confWithoutNullValues = (lib.filterAttrs (key: value: value != null) cfg.settings);
|
||||
|
||||
configurationYaml = settingsFormat.generate "slskd.yml" confWithoutNullValues;
|
||||
|
||||
in lib.mkIf cfg.enable {
|
||||
|
||||
# Force off, configuration file is in nix store and is immutable
|
||||
services.slskd.settings.remote_configuration = lib.mkForce false;
|
||||
|
||||
users.users = lib.optionalAttrs (cfg.user == defaultUser) {
|
||||
"${defaultUser}" = {
|
||||
group = cfg.group;
|
||||
users = {
|
||||
users.slskd = {
|
||||
isSystemUser = true;
|
||||
group = "slskd";
|
||||
};
|
||||
groups.slskd = {};
|
||||
};
|
||||
|
||||
# Reverse proxy configuration
|
||||
services.nginx.enable = true;
|
||||
services.nginx.virtualHosts."${cfg.nginx.domainName}" = {
|
||||
forceSSL = true;
|
||||
enableACME = true;
|
||||
locations = {
|
||||
"${cfg.nginx.contextPath}" = {
|
||||
proxyPass = "http://localhost:${toString cfg.settings.web.port}";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.groups = lib.optionalAttrs (cfg.group == defaultUser) {
|
||||
"${defaultUser}" = {};
|
||||
};
|
||||
# Hide state & logs
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/slskd/data 0750 slskd slskd - -"
|
||||
"d /var/lib/slskd/logs 0750 slskd slskd - -"
|
||||
];
|
||||
|
||||
systemd.services.slskd = {
|
||||
description = "A modern client-server application for the Soulseek file sharing network";
|
||||
|
@ -280,16 +165,12 @@ in {
|
|||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
User = "slskd";
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) cfg.environmentFile;
|
||||
StateDirectory = "slskd"; # Creates /var/lib/slskd and manages permissions
|
||||
StateDirectory = "slskd";
|
||||
ExecStart = "${cfg.package}/bin/slskd --app-dir /var/lib/slskd --config ${configurationYaml}";
|
||||
Restart = "on-failure";
|
||||
ReadOnlyPaths = map (d: builtins.elemAt (builtins.split "[^/]*(/.+)" d) 1) cfg.settings.shares.directories;
|
||||
ReadWritePaths =
|
||||
(lib.optional (cfg.settings.directories.incomplete != null) cfg.settings.directories.incomplete) ++
|
||||
(lib.optional (cfg.settings.directories.downloads != null) cfg.settings.directories.downloads);
|
||||
LockPersonality = true;
|
||||
NoNewPrivileges = true;
|
||||
PrivateDevices = true;
|
||||
|
@ -313,21 +194,18 @@ in {
|
|||
|
||||
networking.firewall.allowedTCPPorts = lib.optional cfg.openFirewall cfg.settings.soulseek.listen_port;
|
||||
|
||||
services.nginx = lib.mkIf (cfg.domain != null) {
|
||||
enable = lib.mkDefault true;
|
||||
virtualHosts."${cfg.domain}" = lib.mkMerge [
|
||||
cfg.nginx
|
||||
{
|
||||
locations."${cfg.settings.web.url_base}" = {
|
||||
proxyPass = "http://127.0.0.1:${toString cfg.settings.web.port}";
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
systemd.services.slskd-rotatelogs = lib.mkIf cfg.rotateLogs {
|
||||
description = "Rotate slskd logs";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
User = "slskd";
|
||||
ExecStart = [
|
||||
"${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +10 -delete"
|
||||
"${pkgs.findutils}/bin/find /var/lib/slskd/logs/ -type f -mtime +1 -exec ${pkgs.gzip}/bin/gzip -q {} ';'"
|
||||
];
|
||||
};
|
||||
startAt = "daily";
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
maintainers = with lib.maintainers; [ ppom melvyn2 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -101,9 +101,6 @@ Not all the configuration options are available directly in this module, but you
|
|||
port = 4567;
|
||||
autoDownloadNewChapters = false;
|
||||
maxSourcesInParallel" = 6;
|
||||
extensionRepos = [
|
||||
"https://raw.githubusercontent.com/MY_ACCOUNT/MY_REPO/repo/index.min.json"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -102,17 +102,6 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
extensionRepos = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
example = [
|
||||
"https://raw.githubusercontent.com/MY_ACCOUNT/MY_REPO/repo/index.min.json"
|
||||
];
|
||||
description = mdDoc ''
|
||||
URL of repositories from which the extensions can be installed.
|
||||
'';
|
||||
};
|
||||
|
||||
localSourcePath = mkOption {
|
||||
type = types.path;
|
||||
default = cfg.dataDir;
|
||||
|
|
|
@ -146,6 +146,7 @@ in {
|
|||
mate.atril
|
||||
mate.engrampa
|
||||
mate.mate-calc
|
||||
mate.mate-terminal
|
||||
mate.mate-system-monitor
|
||||
vlc
|
||||
|
||||
|
@ -159,9 +160,6 @@ in {
|
|||
] config.environment.budgie.excludePackages)
|
||||
++ cfg.sessionPath;
|
||||
|
||||
# Both budgie-desktop-view and nemo defaults to this emulator.
|
||||
programs.gnome-terminal.enable = mkDefault true;
|
||||
|
||||
# Fonts.
|
||||
fonts.packages = [
|
||||
pkgs.noto-fonts
|
||||
|
@ -216,6 +214,7 @@ in {
|
|||
services.colord.enable = mkDefault true; # for BCC's Color panel.
|
||||
services.gnome.at-spi2-core.enable = mkDefault true; # for BCC's A11y panel.
|
||||
services.accounts-daemon.enable = mkDefault true; # for BCC's Users panel.
|
||||
services.fprintd.enable = mkDefault true; # for BCC's Users panel.
|
||||
services.udisks2.enable = mkDefault true; # for BCC's Details panel.
|
||||
|
||||
# For BCC's Online Accounts panel.
|
||||
|
|
|
@ -301,7 +301,6 @@ in
|
|||
"usbhid"
|
||||
"hid_generic" "hid_lenovo" "hid_apple" "hid_roccat"
|
||||
"hid_logitech_hidpp" "hid_logitech_dj" "hid_microsoft" "hid_cherry"
|
||||
"hid_corsair"
|
||||
|
||||
] ++ optionals pkgs.stdenv.hostPlatform.isx86 [
|
||||
# Misc. x86 keyboard stuff.
|
||||
|
|
|
@ -4,6 +4,7 @@ with lib;
|
|||
|
||||
let
|
||||
|
||||
inherit (pkgs) nixos-icons;
|
||||
plymouth = pkgs.plymouth.override {
|
||||
systemd = config.boot.initrd.systemd.package;
|
||||
};
|
||||
|
@ -96,8 +97,8 @@ in
|
|||
logo = mkOption {
|
||||
type = types.path;
|
||||
# Dimensions are 48x48 to match GDM logo
|
||||
default = "${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png";
|
||||
defaultText = literalExpression ''"''${pkgs.nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png"'';
|
||||
default = "${nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png";
|
||||
defaultText = literalExpression ''"''${nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png"'';
|
||||
example = literalExpression ''
|
||||
pkgs.fetchurl {
|
||||
url = "https://nixos.org/logo/nixos-hires.png";
|
||||
|
@ -106,7 +107,6 @@ in
|
|||
'';
|
||||
description = lib.mdDoc ''
|
||||
Logo which is displayed on the splash screen.
|
||||
Currently supports PNG file format only.
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ let
|
|||
device = "none";
|
||||
fsType = "envfs";
|
||||
options = [
|
||||
"bind-mount=/bin"
|
||||
"fallback-path=${pkgs.runCommand "fallback-path" {} (''
|
||||
mkdir -p $out
|
||||
ln -s ${config.environment.usrbinenv} $out/env
|
||||
|
@ -16,9 +15,6 @@ let
|
|||
"nofail"
|
||||
];
|
||||
};
|
||||
# We need to bind-mount /bin to /usr/bin, because otherwise upgrading
|
||||
# from envfs < 1.0.5 will cause having the old envs with no /bin bind mount.
|
||||
# Systemd is smart enough to not mount /bin if it's already mounted.
|
||||
"/bin" = {
|
||||
device = "/usr/bin";
|
||||
fsType = "none";
|
||||
|
|
|
@ -1,80 +1,8 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.virtualisation.incus;
|
||||
preseedFormat = pkgs.formats.yaml { };
|
||||
|
||||
serverBinPath = ''${pkgs.qemu_kvm}/libexec:${
|
||||
lib.makeBinPath (
|
||||
with pkgs;
|
||||
[
|
||||
cfg.package
|
||||
|
||||
acl
|
||||
attr
|
||||
bash
|
||||
btrfs-progs
|
||||
cdrkit
|
||||
coreutils
|
||||
criu
|
||||
dnsmasq
|
||||
e2fsprogs
|
||||
findutils
|
||||
getent
|
||||
gnugrep
|
||||
gnused
|
||||
gnutar
|
||||
gptfdisk
|
||||
gzip
|
||||
iproute2
|
||||
iptables
|
||||
kmod
|
||||
lvm2
|
||||
minio
|
||||
nftables
|
||||
qemu_kvm
|
||||
qemu-utils
|
||||
rsync
|
||||
squashfsTools
|
||||
systemd
|
||||
thin-provisioning-tools
|
||||
util-linux
|
||||
virtiofsd
|
||||
xz
|
||||
|
||||
(writeShellScriptBin "apparmor_parser" ''
|
||||
exec '${apparmor-parser}/bin/apparmor_parser' -I '${apparmor-profiles}/etc/apparmor.d' "$@"
|
||||
'')
|
||||
]
|
||||
++ lib.optionals config.boot.zfs.enabled [
|
||||
config.boot.zfs.package
|
||||
"${config.boot.zfs.package}/lib/udev"
|
||||
]
|
||||
++ lib.optionals config.virtualisation.vswitch.enable [ config.virtualisation.vswitch.package ]
|
||||
)
|
||||
}'';
|
||||
|
||||
# https://github.com/lxc/incus/blob/cff35a29ee3d7a2af1f937cbb6cf23776941854b/internal/server/instance/drivers/driver_qemu.go#L123
|
||||
ovmf-prefix = if pkgs.stdenv.hostPlatform.isAarch64 then "AAVMF" else "OVMF";
|
||||
ovmf = pkgs.linkFarm "incus-ovmf" [
|
||||
{
|
||||
name = "OVMF_CODE.4MB.fd";
|
||||
path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_CODE.fd";
|
||||
}
|
||||
{
|
||||
name = "OVMF_VARS.4MB.fd";
|
||||
path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_VARS.fd";
|
||||
}
|
||||
{
|
||||
name = "OVMF_VARS.4MB.ms.fd";
|
||||
path = "${pkgs.OVMFFull.fd}/FV/${ovmf-prefix}_VARS.fd";
|
||||
}
|
||||
];
|
||||
in
|
||||
{
|
||||
meta = {
|
||||
|
@ -83,29 +11,26 @@ in
|
|||
|
||||
options = {
|
||||
virtualisation.incus = {
|
||||
enable = lib.mkEnableOption ''
|
||||
enable = lib.mkEnableOption (lib.mdDoc ''
|
||||
incusd, a daemon that manages containers and virtual machines.
|
||||
|
||||
Users in the "incus-admin" group can interact with
|
||||
the daemon (e.g. to start or stop containers) using the
|
||||
{command}`incus` command line tool, among others.
|
||||
'';
|
||||
'');
|
||||
|
||||
package = lib.mkPackageOption pkgs "incus" { };
|
||||
|
||||
lxcPackage = lib.mkPackageOption pkgs "lxc" { };
|
||||
|
||||
clientPackage = lib.mkPackageOption pkgs [
|
||||
"incus"
|
||||
"client"
|
||||
] { };
|
||||
|
||||
preseed = lib.mkOption {
|
||||
type = lib.types.nullOr (lib.types.submodule { freeformType = preseedFormat.type; });
|
||||
type = lib.types.nullOr (
|
||||
lib.types.submodule { freeformType = preseedFormat.type; }
|
||||
);
|
||||
|
||||
default = null;
|
||||
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Configuration for Incus preseed, see
|
||||
<https://linuxcontainers.org/incus/docs/main/howto/initialize/#non-interactive-configuration>
|
||||
for supported values.
|
||||
|
@ -155,16 +80,18 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
socketActivation = lib.mkEnableOption (''
|
||||
socket-activation for starting incus.service. Enabling this option
|
||||
will stop incus.service from starting automatically on boot.
|
||||
'');
|
||||
socketActivation = lib.mkEnableOption (
|
||||
lib.mdDoc ''
|
||||
socket-activation for starting incus.service. Enabling this option
|
||||
will stop incus.service from starting automatically on boot.
|
||||
''
|
||||
);
|
||||
|
||||
startTimeout = lib.mkOption {
|
||||
type = lib.types.ints.unsigned;
|
||||
default = 600;
|
||||
apply = toString;
|
||||
description = ''
|
||||
description = lib.mdDoc ''
|
||||
Time to wait (in seconds) for incusd to become ready to process requests.
|
||||
If incusd does not reply within the configured time, `incus.service` will be
|
||||
considered failed and systemd will attempt to restart it.
|
||||
|
@ -172,12 +99,9 @@ in
|
|||
};
|
||||
|
||||
ui = {
|
||||
enable = lib.mkEnableOption "(experimental) Incus UI";
|
||||
enable = lib.mkEnableOption (lib.mdDoc "(experimental) Incus UI");
|
||||
|
||||
package = lib.mkPackageOption pkgs [
|
||||
"incus"
|
||||
"ui"
|
||||
] { };
|
||||
package = lib.mkPackageOption pkgs [ "incus" "ui" ] { };
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -185,12 +109,7 @@ in
|
|||
config = lib.mkIf cfg.enable {
|
||||
assertions = [
|
||||
{
|
||||
assertion =
|
||||
!(
|
||||
config.networking.firewall.enable
|
||||
&& !config.networking.nftables.enable
|
||||
&& config.virtualisation.incus.enable
|
||||
);
|
||||
assertion = !(config.networking.firewall.enable && !config.networking.nftables.enable && config.virtualisation.incus.enable);
|
||||
message = "Incus on NixOS is unsupported using iptables. Set `networking.nftables.enable = true;`";
|
||||
}
|
||||
];
|
||||
|
@ -218,12 +137,7 @@ in
|
|||
"vhost_vsock"
|
||||
] ++ lib.optionals (!config.networking.nftables.enable) [ "iptable_mangle" ];
|
||||
|
||||
environment.systemPackages = [
|
||||
cfg.clientPackage
|
||||
|
||||
# gui console support
|
||||
pkgs.spice-gtk
|
||||
];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
# Note: the following options are also declared in virtualisation.lxc, but
|
||||
# the latter can't be simply enabled to reuse the formers, because it
|
||||
|
@ -250,24 +164,32 @@ in
|
|||
"network-online.target"
|
||||
"lxcfs.service"
|
||||
"incus.socket"
|
||||
] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ];
|
||||
]
|
||||
++ lib.optional config.virtualisation.vswitch.enable "ovs-vswitchd.service";
|
||||
|
||||
requires = [
|
||||
"lxcfs.service"
|
||||
"incus.socket"
|
||||
] ++ lib.optionals config.virtualisation.vswitch.enable [ "ovs-vswitchd.service" ];
|
||||
]
|
||||
++ lib.optional config.virtualisation.vswitch.enable "ovs-vswitchd.service";
|
||||
|
||||
wants = [ "network-online.target" ];
|
||||
|
||||
environment = lib.mkMerge [
|
||||
{
|
||||
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
|
||||
INCUS_OVMF_PATH = ovmf;
|
||||
PATH = lib.mkForce serverBinPath;
|
||||
}
|
||||
(lib.mkIf (cfg.ui.enable) { "INCUS_UI" = cfg.ui.package; })
|
||||
wants = [
|
||||
"network-online.target"
|
||||
];
|
||||
|
||||
path = lib.optionals config.boot.zfs.enabled [
|
||||
config.boot.zfs.package
|
||||
"${config.boot.zfs.package}/lib/udev"
|
||||
]
|
||||
++ lib.optional config.virtualisation.vswitch.enable config.virtualisation.vswitch.package;
|
||||
|
||||
environment = lib.mkMerge [ {
|
||||
# Override Path to the LXC template configuration directory
|
||||
INCUS_LXC_TEMPLATE_CONFIG = "${pkgs.lxcfs}/share/lxc/config";
|
||||
} (lib.mkIf (cfg.ui.enable) {
|
||||
"INCUS_UI" = cfg.ui.package;
|
||||
}) ];
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/incusd --group incus-admin";
|
||||
ExecStartPost = "${cfg.package}/bin/incusd waitready --timeout=${cfg.startTimeout}";
|
||||
|
@ -300,13 +222,15 @@ in
|
|||
systemd.services.incus-preseed = lib.mkIf (cfg.preseed != null) {
|
||||
description = "Incus initialization with preseed file";
|
||||
|
||||
wantedBy = [ "incus.service" ];
|
||||
after = [ "incus.service" ];
|
||||
bindsTo = [ "incus.service" ];
|
||||
partOf = [ "incus.service" ];
|
||||
wantedBy = ["incus.service"];
|
||||
after = ["incus.service"];
|
||||
bindsTo = ["incus.service"];
|
||||
partOf = ["incus.service"];
|
||||
|
||||
script = ''
|
||||
${cfg.package}/bin/incus admin init --preseed <${preseedFormat.generate "incus-preseed.yaml" cfg.preseed}
|
||||
${cfg.package}/bin/incus admin init --preseed <${
|
||||
preseedFormat.generate "incus-preseed.yaml" cfg.preseed
|
||||
}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
|
|
|
@ -290,8 +290,8 @@ in {
|
|||
activation-etc-overlay-mutable = runTest ./activation/etc-overlay-mutable.nix;
|
||||
activation-etc-overlay-immutable = runTest ./activation/etc-overlay-immutable.nix;
|
||||
activation-perlless = runTest ./activation/perlless.nix;
|
||||
etcd = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd.nix {};
|
||||
etcd-cluster = handleTestOn [ "aarch64-linux" "x86_64-linux" ] ./etcd/etcd-cluster.nix {};
|
||||
etcd = handleTestOn ["x86_64-linux"] ./etcd.nix {};
|
||||
etcd-cluster = handleTestOn ["x86_64-linux"] ./etcd-cluster.nix {};
|
||||
etebase-server = handleTest ./etebase-server.nix {};
|
||||
etesync-dav = handleTest ./etesync-dav.nix {};
|
||||
evcc = handleTest ./evcc.nix {};
|
||||
|
@ -309,7 +309,6 @@ in {
|
|||
firefox-devedition = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-devedition; };
|
||||
firefox-esr = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr; }; # used in `tested` job
|
||||
firefox-esr-115 = handleTest ./firefox.nix { firefoxPackage = pkgs.firefox-esr-115; };
|
||||
firefoxpwa = handleTest ./firefoxpwa.nix {};
|
||||
firejail = handleTest ./firejail.nix {};
|
||||
firewall = handleTest ./firewall.nix { nftables = false; };
|
||||
firewall-nftables = handleTest ./firewall.nix { nftables = true; };
|
||||
|
@ -544,7 +543,6 @@ in {
|
|||
mod_perl = handleTest ./mod_perl.nix {};
|
||||
molly-brown = handleTest ./molly-brown.nix {};
|
||||
monado = handleTest ./monado.nix {};
|
||||
monetdb = handleTest ./monetdb.nix {};
|
||||
monica = handleTest ./web-apps/monica.nix {};
|
||||
mongodb = handleTest ./mongodb.nix {};
|
||||
moodle = handleTest ./moodle.nix {};
|
||||
|
@ -697,7 +695,6 @@ in {
|
|||
pgmanage = handleTest ./pgmanage.nix {};
|
||||
pgvecto-rs = handleTest ./pgvecto-rs.nix {};
|
||||
phosh = handleTest ./phosh.nix {};
|
||||
photonvision = handleTest ./photonvision.nix {};
|
||||
photoprism = handleTest ./photoprism.nix {};
|
||||
php = handleTest ./php {};
|
||||
php81 = handleTest ./php { php = pkgs.php81; };
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
|
||||
with import ../lib/testing-python.nix { inherit system pkgs; };
|
||||
import ./make-test-python.nix ({ pkgs, ...} :
|
||||
|
||||
let
|
||||
user = "alice";
|
||||
|
@ -21,8 +16,7 @@ let
|
|||
test-support.displayManager.auto.user = user;
|
||||
};
|
||||
|
||||
in
|
||||
makeTest {
|
||||
in {
|
||||
name = "armagetronad";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ numinit ];
|
||||
|
@ -275,4 +269,4 @@ makeTest {
|
|||
srv.node.wait_until_fails(f"ss --numeric --udp --listening | grep -q {srv.port}")
|
||||
'';
|
||||
|
||||
}
|
||||
})
|
||||
|
|
|
@ -82,9 +82,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
|||
machine.wait_until_succeeds("${su "budgie-screensaver-command -q"} | grep 'The screensaver is inactive'")
|
||||
machine.sleep(2)
|
||||
|
||||
with subtest("Open GNOME terminal"):
|
||||
machine.succeed("${su "gnome-terminal"}")
|
||||
machine.wait_for_window("${user.name}@machine: ~")
|
||||
with subtest("Open MATE terminal"):
|
||||
machine.succeed("${su "mate-terminal >&2 &"}")
|
||||
machine.wait_for_window("Terminal")
|
||||
|
||||
with subtest("Check if Budgie has ever coredumped"):
|
||||
machine.fail("coredumpctl --json=short | grep budgie")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# This test runs simple etcd cluster
|
||||
|
||||
import ../make-test-python.nix ({ pkgs, ... } : let
|
||||
import ./make-test-python.nix ({ pkgs, ... } : let
|
||||
|
||||
runWithOpenSSL = file: cmd: pkgs.runCommand file {
|
||||
buildInputs = [ pkgs.openssl ];
|
|
@ -1,6 +1,6 @@
|
|||
# This test runs simple etcd node
|
||||
|
||||
import ../make-test-python.nix ({ pkgs, ... } : {
|
||||
import ./make-test-python.nix ({ pkgs, ... } : {
|
||||
name = "etcd";
|
||||
|
||||
meta = with pkgs.lib.maintainers; {
|
|
@ -1,36 +0,0 @@
|
|||
import ./make-test-python.nix ({ lib, ... }:
|
||||
|
||||
{
|
||||
name = "firefoxpwa";
|
||||
meta.maintainers = with lib.maintainers; [ camillemndn ];
|
||||
|
||||
nodes.machine =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/x11.nix ];
|
||||
environment.systemPackages = with pkgs; [ firefoxpwa jq ];
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
nativeMessagingHosts.packages = [ pkgs.firefoxpwa ];
|
||||
};
|
||||
|
||||
services.jellyfin.enable = true;
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = ''
|
||||
machine.start()
|
||||
|
||||
with subtest("Install a progressive web app"):
|
||||
machine.wait_for_unit("jellyfin.service")
|
||||
machine.wait_for_open_port(8096)
|
||||
machine.succeed("firefoxpwa site install http://localhost:8096/web/manifest.json >&2")
|
||||
|
||||
with subtest("Launch the progressive web app"):
|
||||
machine.succeed("firefoxpwa site launch $(jq -r < ~/.local/share/firefoxpwa/config.json '.sites | keys[0]') >&2")
|
||||
machine.wait_for_window("Jellyfin")
|
||||
machine.wait_for_text("Jellyfin")
|
||||
'';
|
||||
})
|
|
@ -1,21 +1,20 @@
|
|||
import ../make-test-python.nix ({ pkgs, lib, extra ? {}, name ? "incus-container", ... } :
|
||||
import ../make-test-python.nix ({ pkgs, lib, extra ? {}, ... } :
|
||||
|
||||
let
|
||||
releases = import ../../release.nix {
|
||||
configuration = lib.recursiveUpdate {
|
||||
# Building documentation makes the test unnecessarily take a longer time:
|
||||
documentation.enable = lib.mkForce false;
|
||||
configuration = {
|
||||
# Building documentation makes the test unnecessarily take a longer time:
|
||||
documentation.enable = lib.mkForce false;
|
||||
|
||||
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
|
||||
}
|
||||
extra;
|
||||
boot.kernel.sysctl."net.ipv4.ip_forward" = "1";
|
||||
} // extra;
|
||||
};
|
||||
|
||||
container-image-metadata = releases.lxdContainerMeta.${pkgs.stdenv.hostPlatform.system};
|
||||
container-image-rootfs = releases.lxdContainerImage.${pkgs.stdenv.hostPlatform.system};
|
||||
in
|
||||
{
|
||||
inherit name;
|
||||
name = "incus-container";
|
||||
|
||||
meta = {
|
||||
maintainers = lib.teams.lxc.members;
|
||||
|
|
|
@ -5,22 +5,16 @@
|
|||
handleTestOn,
|
||||
}:
|
||||
{
|
||||
container-legacy-init = import ./container.nix {
|
||||
name = "container-legacy-init";
|
||||
inherit system pkgs;
|
||||
};
|
||||
container-systemd-init = import ./container.nix {
|
||||
name = "container-systemd-init";
|
||||
inherit system pkgs;
|
||||
extra = {
|
||||
boot.initrd.systemd.enable = true;
|
||||
};
|
||||
};
|
||||
container-old-init = import ./container.nix { inherit system pkgs; };
|
||||
container-new-init = import ./container.nix { inherit system pkgs; extra = {
|
||||
# Enable new systemd init
|
||||
boot.initrd.systemd.enable = true;
|
||||
}; };
|
||||
lxd-to-incus = import ./lxd-to-incus.nix { inherit system pkgs; };
|
||||
openvswitch = import ./openvswitch.nix { inherit system pkgs; };
|
||||
preseed = import ./preseed.nix { inherit system pkgs; };
|
||||
socket-activated = import ./socket-activated.nix { inherit system pkgs; };
|
||||
storage = import ./storage.nix { inherit system pkgs; };
|
||||
ui = import ./ui.nix { inherit system pkgs; };
|
||||
ui = import ./ui.nix {inherit system pkgs;};
|
||||
virtual-machine = handleTestOn [ "x86_64-linux" ] ./virtual-machine.nix { inherit system pkgs; };
|
||||
}
|
||||
|
|
|
@ -95,7 +95,7 @@ import ../make-test-python.nix (
|
|||
machine.wait_for_unit("incus.service")
|
||||
|
||||
with machine.nested("run migration"):
|
||||
machine.succeed("${pkgs.incus}/bin/lxd-to-incus --yes")
|
||||
machine.succeed("lxd-to-incus --yes")
|
||||
|
||||
with machine.nested("verify resources migrated to incus"):
|
||||
machine.succeed("incus config show container")
|
||||
|
|
|
@ -128,7 +128,9 @@ import ../make-test-python.nix ({ pkgs, lib, k3s, ... }:
|
|||
};
|
||||
};
|
||||
|
||||
meta.maintainers = k3s.meta.maintainers;
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ euank ];
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machines = [server, server2, agent]
|
||||
|
|
|
@ -25,7 +25,9 @@ import ../make-test-python.nix ({ pkgs, lib, k3s, ... }:
|
|||
in
|
||||
{
|
||||
name = "${k3s.name}-single-node";
|
||||
meta.maintainers = k3s.meta.maintainers;
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ euank ];
|
||||
};
|
||||
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
environment.systemPackages = with pkgs; [ k3s gzip ];
|
||||
|
|
|
@ -1,77 +0,0 @@
|
|||
import ./make-test-python.nix ({ pkgs, ...} :
|
||||
let creds = pkgs.writeText ".monetdb" ''
|
||||
user=monetdb
|
||||
password=monetdb
|
||||
'';
|
||||
createUser = pkgs.writeText "createUser.sql" ''
|
||||
CREATE USER "voc" WITH PASSWORD 'voc' NAME 'VOC Explorer' SCHEMA "sys";
|
||||
CREATE SCHEMA "voc" AUTHORIZATION "voc";
|
||||
ALTER USER "voc" SET SCHEMA "voc";
|
||||
'';
|
||||
credsVoc = pkgs.writeText ".monetdb" ''
|
||||
user=voc
|
||||
password=voc
|
||||
'';
|
||||
transaction = pkgs.writeText "transaction" ''
|
||||
START TRANSACTION;
|
||||
CREATE TABLE test (id int, data varchar(30));
|
||||
ROLLBACK;
|
||||
'';
|
||||
vocData = pkgs.fetchzip {
|
||||
url = "https://dev.monetdb.org/Assets/VOC/voc_dump.zip";
|
||||
hash = "sha256-sQ5acTsSAiXQfOgt2PhN7X7Z9TZGZtLrPPxgQT2pCGQ=";
|
||||
};
|
||||
onboardPeople = pkgs.writeText "onboardPeople" ''
|
||||
CREATE VIEW onboard_people AS
|
||||
SELECT * FROM (
|
||||
SELECT 'craftsmen' AS type, craftsmen.* FROM craftsmen
|
||||
UNION ALL
|
||||
SELECT 'impotenten' AS type, impotenten.* FROM impotenten
|
||||
UNION ALL
|
||||
SELECT 'passengers' AS type, passengers.* FROM passengers
|
||||
UNION ALL
|
||||
SELECT 'seafarers' AS type, seafarers.* FROM seafarers
|
||||
UNION ALL
|
||||
SELECT 'soldiers' AS type, soldiers.* FROM soldiers
|
||||
UNION ALL
|
||||
SELECT 'total' AS type, total.* FROM total
|
||||
) AS onboard_people_table;
|
||||
SELECT type, COUNT(*) AS total
|
||||
FROM onboard_people GROUP BY type ORDER BY type;
|
||||
'';
|
||||
onboardExpected = pkgs.lib.strings.replaceStrings ["\n"] ["\\n"] ''
|
||||
+------------+-------+
|
||||
| type | total |
|
||||
+============+=======+
|
||||
| craftsmen | 2349 |
|
||||
| impotenten | 938 |
|
||||
| passengers | 2813 |
|
||||
| seafarers | 4468 |
|
||||
| soldiers | 4177 |
|
||||
| total | 2467 |
|
||||
+------------+-------+
|
||||
'';
|
||||
in {
|
||||
name = "monetdb";
|
||||
meta = with pkgs.lib.maintainers; {
|
||||
maintainers = [ StillerHarpo ];
|
||||
};
|
||||
nodes.machine.services.monetdb.enable = true;
|
||||
testScript = ''
|
||||
machine.start()
|
||||
machine.wait_for_unit("monetdb")
|
||||
machine.succeed("monetdbd create mydbfarm")
|
||||
machine.succeed("monetdbd start mydbfarm")
|
||||
machine.succeed("monetdb create voc")
|
||||
machine.succeed("monetdb release voc")
|
||||
machine.succeed("cp ${creds} ./.monetdb")
|
||||
assert "hello world" in machine.succeed("mclient -d voc -s \"SELECT 'hello world'\"")
|
||||
machine.succeed("mclient -d voc ${createUser}")
|
||||
machine.succeed("cp ${credsVoc} ./.monetdb")
|
||||
machine.succeed("mclient -d voc ${transaction}")
|
||||
machine.succeed("mclient -d voc ${vocData}/voc_dump.sql")
|
||||
assert "8131" in machine.succeed("mclient -d voc -s \"SELECT count(*) FROM voyages\"")
|
||||
assert "${onboardExpected}" in machine.succeed("mclient -d voc ${onboardPeople}")
|
||||
|
||||
'';
|
||||
})
|
|
@ -1,39 +1,17 @@
|
|||
{ system ? builtins.currentSystem,
|
||||
config ? {},
|
||||
pkgs ? import ../.. { inherit system config; }
|
||||
}:
|
||||
let
|
||||
inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
|
||||
shared =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.nix-ld.enable = true;
|
||||
environment.systemPackages = [
|
||||
(pkgs.runCommand "patched-hello" { } ''
|
||||
install -D -m755 ${pkgs.hello}/bin/hello $out/bin/hello
|
||||
patchelf $out/bin/hello --set-interpreter $(cat ${config.programs.nix-ld.package}/nix-support/ldpath)
|
||||
'')
|
||||
];
|
||||
};
|
||||
in
|
||||
import ./make-test-python.nix ({ lib, pkgs, ...} :
|
||||
{
|
||||
nix-ld = makeTest {
|
||||
name = "nix-ld";
|
||||
nodes.machine = shared;
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.succeed("hello")
|
||||
'';
|
||||
name = "nix-ld";
|
||||
nodes.machine = { pkgs, ... }: {
|
||||
programs.nix-ld.enable = true;
|
||||
environment.systemPackages = [
|
||||
(pkgs.runCommand "patched-hello" {} ''
|
||||
install -D -m755 ${pkgs.hello}/bin/hello $out/bin/hello
|
||||
patchelf $out/bin/hello --set-interpreter $(cat ${pkgs.nix-ld}/nix-support/ldpath)
|
||||
'')
|
||||
];
|
||||
};
|
||||
nix-ld-rs = makeTest {
|
||||
name = "nix-ld-rs";
|
||||
nodes.machine = {
|
||||
imports = [ shared ];
|
||||
programs.nix-ld.package = pkgs.nix-ld-rs;
|
||||
};
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.succeed("hello")
|
||||
'';
|
||||
};
|
||||
}
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.succeed("hello")
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||
{
|
||||
name = "photonvision";
|
||||
|
||||
nodes = {
|
||||
machine = { pkgs, ... }: {
|
||||
services.photonvision = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
start_all()
|
||||
machine.wait_for_unit("photonvision.service")
|
||||
machine.wait_for_open_port(5800)
|
||||
'';
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ max-niederman ];
|
||||
})
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
import ./make-test-python.nix ({ lib, pkgs, ... }: {
|
||||
name = "redlib";
|
||||
meta.maintainers = with lib.maintainers; [ soispha ];
|
||||
|
||||
nodes.machine = {
|
||||
services.libreddit = {
|
||||
package = pkgs.redlib;
|
||||
enable = true;
|
||||
# Test CAP_NET_BIND_SERVICE
|
||||
port = 80;
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("libreddit.service")
|
||||
machine.wait_for_open_port(80)
|
||||
# Query a page that does not require Internet access
|
||||
machine.succeed("curl --fail http://localhost:80/settings")
|
||||
'';
|
||||
})
|
|
@ -1,13 +1,7 @@
|
|||
import ./make-test-python.nix ({ pkgs, ... }: rec {
|
||||
import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
name = "tracee-integration";
|
||||
meta.maintainers = pkgs.tracee.meta.maintainers;
|
||||
|
||||
passthru.hello-world-builder = pkgs: pkgs.dockerTools.buildImage {
|
||||
name = "hello-world";
|
||||
tag = "latest";
|
||||
config.Cmd = [ "${pkgs.hello}/bin/hello" ];
|
||||
};
|
||||
|
||||
nodes = {
|
||||
machine = { config, pkgs, ... }: {
|
||||
# EventFilters/trace_only_events_from_new_containers and
|
||||
|
@ -18,48 +12,57 @@ import ./make-test-python.nix ({ pkgs, ... }: rec {
|
|||
environment.systemPackages = with pkgs; [
|
||||
# required by Test_EventFilters/trace_events_from_ls_and_which_binary_in_separate_scopes
|
||||
which
|
||||
# the go integration tests as a binary
|
||||
tracee.passthru.tests.integration-test-cli
|
||||
# build the go integration tests as a binary
|
||||
(tracee.overrideAttrs (oa: {
|
||||
pname = oa.pname + "-integration";
|
||||
postPatch = oa.postPatch or "" + ''
|
||||
# prepare tester.sh (which will be embedded in the test binary)
|
||||
patchShebangs tests/integration/tester.sh
|
||||
|
||||
# fix the test to look at nixos paths for running programs
|
||||
substituteInPlace tests/integration/integration_test.go \
|
||||
--replace "bin=/usr/bin/" "comm=" \
|
||||
--replace "binary=/usr/bin/" "comm=" \
|
||||
--replace "/usr/bin/dockerd" "dockerd" \
|
||||
--replace "/usr/bin" "/run/current-system/sw/bin"
|
||||
'';
|
||||
nativeBuildInputs = oa.nativeBuildInputs or [ ] ++ [ makeWrapper ];
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
# just build the static lib we need for the go test binary
|
||||
make $makeFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES} bpf-core ./dist/btfhub
|
||||
|
||||
# then compile the tests to be ran later
|
||||
CGO_LDFLAGS="$(pkg-config --libs libbpf)" go test -tags core,ebpf,integration -p 1 -c -o $GOPATH/tracee-integration ./tests/integration/...
|
||||
runHook postBuild
|
||||
'';
|
||||
doCheck = false;
|
||||
outputs = [ "out" ];
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mv $GOPATH/tracee-integration $out/bin/
|
||||
'';
|
||||
doInstallCheck = false;
|
||||
|
||||
meta = oa.meta // {
|
||||
outputsToInstall = [];
|
||||
};
|
||||
}))
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
let
|
||||
skippedTests = [
|
||||
# these comm tests for some reason do not resolve.
|
||||
# something about the test is different as it works fine if I replicate
|
||||
# the policies and run tracee myself but doesn't work in the integration
|
||||
# test either with the automatic run or running the commands by hand
|
||||
# while it's searching.
|
||||
"Test_EventFilters/comm:_event:_args:_trace_event_set_in_a_specific_policy_with_args_from_ls_command"
|
||||
"Test_EventFilters/comm:_event:_trace_events_set_in_two_specific_policies_from_ls_and_uname_commands"
|
||||
testScript = ''
|
||||
machine.wait_for_unit("docker.service")
|
||||
|
||||
# worked at some point, seems to be flakey
|
||||
"Test_EventFilters/pid:_event:_args:_trace_event_sched_switch_with_args_from_pid_0"
|
||||
];
|
||||
in
|
||||
''
|
||||
with subtest("prepare for integration tests"):
|
||||
machine.wait_for_unit("docker.service")
|
||||
machine.succeed('which bash')
|
||||
with subtest("run integration tests"):
|
||||
# EventFilters/trace_only_events_from_new_containers also requires a container called "alpine"
|
||||
machine.succeed('tar c -C ${pkgs.pkgsStatic.busybox} . | docker import - alpine --change "ENTRYPOINT [\"sleep\"]"')
|
||||
|
||||
# EventFilters/trace_only_events_from_new_containers also requires a container called "hello-world"
|
||||
machine.succeed('docker load < ${passthru.hello-world-builder pkgs}')
|
||||
|
||||
# exec= needs fully resolved paths
|
||||
machine.succeed(
|
||||
'mkdir /tmp/testdir',
|
||||
'cp $(which who) /tmp/testdir/who',
|
||||
'cp $(which uname) /tmp/testdir/uname',
|
||||
)
|
||||
|
||||
with subtest("run integration tests"):
|
||||
# Test_EventFilters/trace_event_set_in_a_specific_scope expects to be in a dir that includes "integration"
|
||||
# tests must be ran with 1 process
|
||||
print(machine.succeed(
|
||||
'mkdir /tmp/integration',
|
||||
'cd /tmp/integration && export PATH="/tmp/testdir:$PATH" && integration.test -test.v -test.parallel 1 -test.skip="^${builtins.concatStringsSep "$|^" skippedTests}$"'
|
||||
))
|
||||
'';
|
||||
# Test_EventFilters/trace_event_set_in_a_specific_scope expects to be in a dir that includes "integration"
|
||||
print(machine.succeed(
|
||||
'mkdir /tmp/integration',
|
||||
'cd /tmp/integration && tracee-integration -test.v'
|
||||
))
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
}:
|
||||
stdenv.mkDerivation {
|
||||
pname = "castopod";
|
||||
version = "1.10.5";
|
||||
version = "1.6.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://code.castopod.org/adaures/castopod/uploads/66de724407be8f940af5eb1d633fbbc3/castopod-1.10.5.tar.gz";
|
||||
sha256 = "0ssdgqxqldg2f6ni54k5vlndnjjy9lah47q1crpz5nnkkjgvc96y";
|
||||
url = "https://code.castopod.org/adaures/castopod/uploads/ce56d4f149242f12bedd20f9a2b0916d/castopod-1.6.4.tar.gz";
|
||||
sha256 = "080jj91yxbn3xsbs0sywzwa2f5in9bp9qi2zwqcfqpaxlq9ga62v";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, stdenv, fetchFromGitHub, ncurses, pkg-config
|
||||
{ config, lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, pkg-config
|
||||
, libiconv, CoreAudio, AudioUnit, VideoToolbox
|
||||
|
||||
, alsaSupport ? stdenv.isLinux, alsa-lib ? null
|
||||
|
@ -92,15 +92,31 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cmus";
|
||||
version = "2.10.0-unstable-2023-11-05";
|
||||
version = "2.10.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cmus";
|
||||
repo = "cmus";
|
||||
rev = "23afab39902d3d97c47697196b07581305337529";
|
||||
sha256 = "sha256-pxDIYbeJMoaAuErCghWJpDSh1WbYbhgJ7+ca5WLCrOs=";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Ha0bIh3SYMhA28YXQ//Loaz9J1lTJAzjTx8eK3AqUjM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./option-debugging.patch
|
||||
# ffmpeg 6 fix https://github.com/cmus/cmus/pull/1254/
|
||||
(fetchpatch {
|
||||
name = "ffmpeg-6-compat.patch";
|
||||
url = "https://github.com/cmus/cmus/commit/07b368ff1500e1d2957cad61ced982fa10243fbc.patch";
|
||||
hash = "sha256-5gsz3q8R9FPobHoLj8BQPsa9s4ULEA9w2VQR+gmpmgA=";
|
||||
})
|
||||
# function detection breaks with clang 16
|
||||
(fetchpatch {
|
||||
name = "clang-16-function-detection.patch";
|
||||
url = "https://github.com/cmus/cmus/commit/4123b54bad3d8874205aad7f1885191c8e93343c.patch";
|
||||
hash = "sha256-YKqroibgMZFxWQnbmLIHSHR5sMJduyEv6swnKZQ33Fg=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ ncurses ]
|
||||
++ lib.optionals stdenv.isDarwin [ libiconv CoreAudio AudioUnit VideoToolbox ]
|
||||
|
|
|
@ -41,13 +41,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "easyeffects";
|
||||
version = "7.1.5";
|
||||
version = "7.1.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wwmm";
|
||||
repo = "easyeffects";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-QoH1dOzBtQHQQKA0+eZFX6yOvjRUmUZVxcdpISIpLLk=";
|
||||
hash = "sha256-UNS7kHyxHB4VneELXGn2G8T8EeKUpjb1ib2q0G+gf/s=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ft2-clone";
|
||||
version = "1.79.2";
|
||||
version = "1.78";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "8bitbubsy";
|
||||
repo = "ft2-clone";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-/RZXtSjJ0nRtlMreT4M/IYQpdv/UXjVJaHMld9wwaUw=";
|
||||
hash = "sha256-tGIjhh6F4ePKpMiBPjnpiUfqy8BSvzyeosVZMecCwxM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -1,23 +1,22 @@
|
|||
{ lib, stdenv, fetchFromGitLab, cmake, pkg-config, libsndfile, rapidjson
|
||||
, libjack2, lv2, libX11, cairo, openssl }:
|
||||
, libjack2, lv2, libX11, cairo }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "geonkick";
|
||||
version = "3.3.1";
|
||||
version = "2.9.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "Geonkick-Synthesizer";
|
||||
owner = "iurie-sw";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fsDoqQqZsoeQa66dxb8JC2ywUFmBf6b2J+/ixWZTzfU=";
|
||||
sha256 = "sha256-XSqcj8+X6QMBnIusPB9VNrgcbdiWhNMOYeFyKklGmO8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
||||
buildInputs = [ libsndfile rapidjson libjack2 lv2 libX11 cairo openssl ];
|
||||
buildInputs = [ libsndfile rapidjson libjack2 lv2 libX11 cairo ];
|
||||
|
||||
# Without this, the lv2 ends up in
|
||||
# /nix/store/$HASH/nix/store/$HASH/lib/lv2
|
||||
# https://github.com/iurie-sw/geonkick/issues/120
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
];
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
{ lib, stdenv, fetchurl, cmake, pandoc, pkg-config, qttools, alsa-lib, drumstick, qtbase, qtsvg }:
|
||||
{ lib, stdenv, fetchurl, cmake, pkg-config, qttools, alsa-lib, drumstick, qtbase, qtsvg }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kmetronome";
|
||||
version = "1.4.0";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${version}/${pname}-${version}.tar.bz2";
|
||||
hash = "sha256-51uFAPR0xsY3z9rFc8SdSGu4ae/VzUmC1qC8RGdt48Y=";
|
||||
sha256 = "1ln0nm24w6bj7wc8cay08j5azzznigd39cbbw3h4skg6fxd8p0s7";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pandoc pkg-config qttools ];
|
||||
nativeBuildInputs = [ cmake pkg-config qttools ];
|
||||
|
||||
buildInputs = [ alsa-lib drumstick qtbase qtsvg ];
|
||||
|
||||
|
|
|
@ -12,18 +12,21 @@
|
|||
, yt-dlp
|
||||
, Security
|
||||
}:
|
||||
let
|
||||
version = "1.6.0";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "parrot";
|
||||
version = "1.6.0-unstable-2024-02-28";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aquelemiguel";
|
||||
repo = "parrot";
|
||||
rev = "fcf933818a5e754f5ad4217aec8bfb16935d7442";
|
||||
hash = "sha256-3YTXIKj1iqCB+tN7/0v1DAaMM6aJiSxBYHO98uK8KFo=";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-f6YAdsq2ecsOCvk+A8wsUu+ywQnW//gCAkVLF0HTn8c=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3G7NwSZaiocjgfdtmJVWfMZOHCNhC08NgolPa9AvPfE=";
|
||||
cargoHash = "sha256-e4NHgwoNkZ0//rugHrP0gU3pntaMeBJsV/YSzJfD8r4=";
|
||||
|
||||
nativeBuildInputs = [ cmake makeBinaryWrapper pkg-config ];
|
||||
|
||||
|
|
|
@ -11,13 +11,13 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "praat";
|
||||
version = "6.4.07";
|
||||
version = "6.4.06";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "praat";
|
||||
repo = "praat";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-r36znpkyI6/UPtOm1ZjedOadRG1BiIscRV9qRLf/A5Q=";
|
||||
hash = "sha256-eZYNXNmxrvI+jR1UEgXrsUTriZ8zTTwM9cEy7HgiZzs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,20 +1,26 @@
|
|||
{ lib, stdenv, fetchurl, alsa-lib, fluidsynth, libjack2, cmake, pkg-config
|
||||
, qtbase, qttools, qtx11extras, wrapQtAppsHook
|
||||
{ lib, fetchurl, alsa-lib, fluidsynth, libjack2, autoconf, pkg-config
|
||||
, mkDerivation, qtbase, qttools, qtx11extras
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
mkDerivation rec {
|
||||
pname = "qsynth";
|
||||
version = "0.9.13";
|
||||
version = "0.9.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/qsynth/${pname}-${version}.tar.gz";
|
||||
hash = "sha256-SvgZrdS6BwWhNgbovcfhpQKVcu0iwr4dDqeIckuo1fk=";
|
||||
sha256 = "sha256-dlgIkMde7uv4UlMKEPhtZ7MfSTBc7RvHs+Q2yk+G/JM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
|
||||
nativeBuildInputs = [ autoconf pkg-config ];
|
||||
|
||||
buildInputs = [ alsa-lib fluidsynth libjack2 qtbase qttools qtx11extras ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
# Missing install depends:
|
||||
# lrelease error: Parse error at src/translations/qsynth_ru.ts:1503:33: Premature end of document.
|
||||
# make: *** [Makefile:107: src/translations/qsynth_ru.qm] Error 1
|
||||
enableParallelInstalling = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Fluidsynth GUI";
|
||||
mainProgram = "qsynth";
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "seq66";
|
||||
version = "0.99.12";
|
||||
version = "0.90.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ahlstromcj";
|
||||
repo = "seq66";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-+EU0UdmZaDnhN142yR/r0tK1FKBbuFPmde6iSS26Tjo=";
|
||||
sha256 = "1jvra1wzlycfpvffnqidk264zw6fyl4fsghkw5256ldk22aalmq9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkg-config qttools which wrapQtAppsHook ];
|
||||
|
@ -18,9 +18,13 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [ alsa-lib libjack2 liblo qtbase ];
|
||||
|
||||
postPatch = ''
|
||||
for d in libseq66/src libsessions/include libsessions/src seq_qt5/src seq_rtmidi/src; do
|
||||
substituteInPlace "$d/Makefile.am" --replace-fail '$(git_info)' '${version}'
|
||||
for d in libseq66/include libseq66/src libsessions/include libsessions/src seq_qt5/src seq_rtmidi/include seq_rtmidi/src Seqtool/src; do
|
||||
substituteInPlace "$d/Makefile.am" --replace '$(git_info)' '${version}'
|
||||
done
|
||||
|
||||
# gcc-13 headers compatibilty. TODO: try to remove with next version
|
||||
# update
|
||||
sed -e '1i #include <cstdint>' -i libseq66/src/os/daemonize.cpp
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -45,13 +45,13 @@ stdenv.mkDerivation {
|
|||
pname = binName;
|
||||
# versions are specified in `squeezelite.h`
|
||||
# see https://github.com/ralph-irving/squeezelite/issues/29
|
||||
version = "2.0.0.1473";
|
||||
version = "2.0.0.1468";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ralph-irving";
|
||||
repo = "squeezelite";
|
||||
rev = "66c9b6a21834019a0230c39fcee74b6bf2891f7d";
|
||||
hash = "sha256-MCH7vltF3jLGfxcRspXg9eQMx+e+lHSoxIanf91NrE0=";
|
||||
rev = "fd89d67b1b9a17a6dd212be0c91d0417b440f60a";
|
||||
hash = "sha256-wYVRlv+Y1jvdAGlj2zXKUhQBwWX9pGgNX6U71PsfySg=";
|
||||
};
|
||||
|
||||
buildInputs = [ flac libmad libvorbis mpg123 ]
|
||||
|
|
|
@ -36,11 +36,11 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "tidal-hifi";
|
||||
version = "5.10.0";
|
||||
version = "5.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${finalAttrs.version}/tidal-hifi_${finalAttrs.version}_amd64.deb";
|
||||
sha256 = "sha256-+sRXpRAtbLpQlyJUhbc1Cuzh6aV8HRvYH/ja9sfvKoA=";
|
||||
sha256 = "sha256-t79GNCqY99JfCT+4wO3CTtLXFdKQudMw4pZNiJzOufo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
, curl
|
||||
, fetchFromBitbucket
|
||||
, fetchFromGitHub
|
||||
, fetchzip
|
||||
, ghc_filesystem
|
||||
, glew
|
||||
, glfw
|
||||
|
@ -18,6 +19,8 @@
|
|||
, libjack2
|
||||
, libpulseaudio
|
||||
, libsamplerate
|
||||
, libXext
|
||||
, libXi
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, pkg-config
|
||||
|
@ -111,8 +114,8 @@ let
|
|||
};
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vcv-rack";
|
||||
version = "2.4.1";
|
||||
pname = "VCV-Rack";
|
||||
version = "2.4.0";
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
@ -132,7 +135,7 @@ stdenv.mkDerivation rec {
|
|||
owner = "VCVRack";
|
||||
repo = "Rack";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-Gn/sFltLXX2mLv4dDqmr/UPd+JBXVkIZGwMI6Rm0Ih4=";
|
||||
sha256 = "0azrqyx5as4jmk9dxb7cj7x9dha81i0mm9pkvdv944qyccqwg55i";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -166,10 +169,6 @@ stdenv.mkDerivation rec {
|
|||
cp -r ${fundamental-source} plugins/Fundamental/
|
||||
chmod -R +rw plugins/Fundamental # will be used as build dir
|
||||
substituteInPlace plugin.mk --replace ":= all" ":= dist"
|
||||
substituteInPlace plugins/Fundamental/src/Logic.cpp \
|
||||
--replace \
|
||||
"LightButton<VCVBezelBig, VCVBezelLightBig<WhiteLight>>" \
|
||||
"struct rack::componentlibrary::LightButton<VCVBezelBig, VCVBezelLightBig<WhiteLight>>"
|
||||
|
||||
# Fix reference to zenity
|
||||
substituteInPlace dep/osdialog/osdialog_zenity.c \
|
||||
|
|
150
pkgs/applications/audio/waylyrics/Cargo.lock
generated
150
pkgs/applications/audio/waylyrics/Cargo.lock
generated
|
@ -126,12 +126,6 @@ version = "0.21.7"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.3.2"
|
||||
|
@ -437,6 +431,17 @@ dependencies = [
|
|||
"powerfmt",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derivative"
|
||||
version = "2.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.35",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derive_is_enum_variant"
|
||||
version = "0.1.1"
|
||||
|
@ -959,9 +964,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.4.3"
|
||||
version = "0.3.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "51ee2dd2e4f378392eeff5d51618cd9a63166a2513846bbc55f21cfacd9199d4"
|
||||
checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"fnv",
|
||||
|
@ -1029,9 +1034,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
|||
|
||||
[[package]]
|
||||
name = "http"
|
||||
version = "1.1.0"
|
||||
version = "0.2.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
|
||||
checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"fnv",
|
||||
|
@ -1040,24 +1045,12 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "http-body"
|
||||
version = "1.0.0"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643"
|
||||
checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "http-body-util"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-core",
|
||||
"http",
|
||||
"http-body",
|
||||
"pin-project-lite",
|
||||
]
|
||||
|
||||
|
@ -1068,59 +1061,46 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "1.2.0"
|
||||
name = "httpdate"
|
||||
version = "1.0.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a"
|
||||
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
|
||||
|
||||
[[package]]
|
||||
name = "hyper"
|
||||
version = "0.14.28"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"httparse",
|
||||
"httpdate",
|
||||
"itoa",
|
||||
"pin-project-lite",
|
||||
"smallvec",
|
||||
"socket2",
|
||||
"tokio",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
"want",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-tls"
|
||||
version = "0.6.0"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
|
||||
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"http-body-util",
|
||||
"hyper",
|
||||
"hyper-util",
|
||||
"native-tls",
|
||||
"tokio",
|
||||
"tokio-native-tls",
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hyper-util"
|
||||
version = "0.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"futures-channel",
|
||||
"futures-util",
|
||||
"http",
|
||||
"http-body",
|
||||
"hyper",
|
||||
"pin-project-lite",
|
||||
"socket2",
|
||||
"tokio",
|
||||
"tower",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1348,9 +1328,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "0.8.11"
|
||||
version = "0.8.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
|
||||
checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"wasi",
|
||||
|
@ -1391,9 +1371,9 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "ncmapi"
|
||||
version = "0.1.13"
|
||||
source = "git+https://github.com/waylyrics/ncmapi-rs.git?rev=590f280#590f280458e1826df0af0f0f624c2222448a7dee"
|
||||
source = "git+https://github.com/waylyrics/ncmapi-rs.git?rev=51b4d121#51b4d121235823e8040feb3a9c9052da0559fe75"
|
||||
dependencies = [
|
||||
"base64 0.22.0",
|
||||
"base64",
|
||||
"cookie 0.18.0",
|
||||
"hex",
|
||||
"openssl",
|
||||
|
@ -1658,26 +1638,6 @@ dependencies = [
|
|||
"siphasher",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project"
|
||||
version = "1.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
|
||||
dependencies = [
|
||||
"pin-project-internal",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-internal"
|
||||
version = "1.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote 1.0.35",
|
||||
"syn 2.0.50",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pin-project-lite"
|
||||
version = "0.2.13"
|
||||
|
@ -1911,11 +1871,11 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.12.0"
|
||||
version = "0.11.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "58b48d98d932f4ee75e541614d32a7f44c889b72bd9c2e04d95edd135989df88"
|
||||
checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251"
|
||||
dependencies = [
|
||||
"base64 0.21.7",
|
||||
"base64",
|
||||
"bytes",
|
||||
"cookie 0.17.0",
|
||||
"cookie_store",
|
||||
|
@ -1925,10 +1885,8 @@ dependencies = [
|
|||
"h2",
|
||||
"http",
|
||||
"http-body",
|
||||
"http-body-util",
|
||||
"hyper",
|
||||
"hyper-tls",
|
||||
"hyper-util",
|
||||
"ipnet",
|
||||
"js-sys",
|
||||
"log",
|
||||
|
@ -2042,7 +2000,7 @@ version = "1.0.4"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
|
||||
dependencies = [
|
||||
"base64 0.21.7",
|
||||
"base64",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -2577,28 +2535,6 @@ dependencies = [
|
|||
"winnow 0.6.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tower"
|
||||
version = "0.4.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
|
||||
dependencies = [
|
||||
"futures-core",
|
||||
"futures-util",
|
||||
"pin-project",
|
||||
"pin-project-lite",
|
||||
"tokio",
|
||||
"tower-layer",
|
||||
"tower-service",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tower-layer"
|
||||
version = "0.3.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
|
||||
|
||||
[[package]]
|
||||
name = "tower-service"
|
||||
version = "0.3.2"
|
||||
|
@ -2611,7 +2547,6 @@ version = "0.1.40"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"log",
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
|
@ -2853,13 +2788,14 @@ checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838"
|
|||
|
||||
[[package]]
|
||||
name = "waylyrics"
|
||||
version = "0.2.13"
|
||||
version = "0.2.12"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-channel",
|
||||
"async-trait",
|
||||
"dbus",
|
||||
"dbus-dummy",
|
||||
"derivative",
|
||||
"documented",
|
||||
"gettext-rs",
|
||||
"glib-macros",
|
||||
|
|
|
@ -9,19 +9,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "waylyrics";
|
||||
version = "0.2.13";
|
||||
version = "0.2.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "poly000";
|
||||
repo = "waylyrics";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-522NdpGj0oh2SbWa4GFCFpqNFRhqQxfZ1ZRuS9jUj7Y=";
|
||||
hash = "sha256-sUhFT3Vq/IjbMir7/AVCU8FyfmoNiZsn2zkqdJkOMFo=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"ncmapi-0.1.13" = "sha256-qu89qf4IPM14V+oE4QQr/SsXSTx3vQbyfzD+Pihcd3E=";
|
||||
"ncmapi-0.1.13" = "sha256-NxgF1TV+3hK5oE/DfJnWyc+XmPX3U1UeD+xTkcvDzIA=";
|
||||
"qqmusic-rs-0.1.0" = "sha256-woLsO0n+m3EBUI+PRLio7iLp0UPQSliWK0djCSZEaZc=";
|
||||
};
|
||||
};
|
||||
|
@ -51,14 +51,6 @@ rustPlatform.buildRustPackage rec {
|
|||
# Install icons
|
||||
install -d $out/share/icons
|
||||
cp -vr res/icons/hicolor $out/share/icons/hicolor
|
||||
# Install translations
|
||||
pushd locales
|
||||
for po in $(find . -type f -name '*.po')
|
||||
do
|
||||
install -d $(dirname "$out/share/locale/$po")
|
||||
msgfmt -o $out/share/locale/''${po%.po}.mo $po
|
||||
done
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "lndmanage";
|
||||
version = "0.16.0";
|
||||
version = "0.15.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitromortac";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-VUeGnk/DtNAyEYFESV6kXIRbKqUv4IcMnU3fo0NB4uQ=";
|
||||
hash = "sha256-zEz1k98LIOWzqzZ+WNHBHY2hPwWE75bjP+quSdfI/8s=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
|
|
|
@ -6,19 +6,19 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "optimism";
|
||||
version = "1.7.2";
|
||||
version = "1.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ethereum-optimism";
|
||||
repo = "optimism";
|
||||
rev = "op-node/v${version}";
|
||||
hash = "sha256-p3dbyszUeknAXrI1WqN9WS6AkEYQdVfMP90Kk/L41vM=";
|
||||
hash = "sha256-ru6/PDgsQOpOjKSolk3US6dV/NMH/lWEuJf5lmuR4SI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
subPackages = [ "op-node/cmd" "op-proposer/cmd" "op-batcher/cmd" ];
|
||||
|
||||
vendorHash = "sha256-24zj480UU9SYqr2mV6rCJ46gwLgzilLuhqrkNKHVR28=";
|
||||
vendorHash = "sha256-BrlF8uwnD1hlrrpvc2JEsaPY4/+bGR1cXwjkkYANyiE=";
|
||||
|
||||
buildInputs = [
|
||||
libpcap
|
||||
|
|
|
@ -21,47 +21,45 @@
|
|||
|
||||
let
|
||||
pname = "sparrow";
|
||||
version = "1.8.4";
|
||||
version = "1.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
|
||||
sha256 = "0w6z84w9spwfpqrf5m9bcq30xqp94c27jw3qzxfdyisp8n22xvd8";
|
||||
sha256 = "sha256-dpYGMclYMjxjUbIcSZ7V54I1LTVfHxAKH9+7CaprD4U=";
|
||||
};
|
||||
|
||||
launcher = writeScript "sparrow" ''
|
||||
#! ${bash}/bin/bash
|
||||
params=(
|
||||
--module-path @out@/lib:@jdkModules@/modules
|
||||
--add-opens=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls
|
||||
--add-opens=javafx.graphics/javafx.scene=org.controlsfx.controls
|
||||
--add-opens=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls
|
||||
--add-opens=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls
|
||||
--add-opens=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls
|
||||
--add-opens=javafx.base/com.sun.javafx.event=org.controlsfx.controls
|
||||
--add-opens=javafx.controls/javafx.scene.control.cell=com.sparrowwallet.sparrow
|
||||
--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow
|
||||
--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=javafx.fxml
|
||||
--add-opens=javafx.graphics/com.sun.javafx.tk=centerdevice.nsmenufx
|
||||
--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx
|
||||
--add-opens=javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx
|
||||
--add-opens=javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx
|
||||
--add-opens=javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx
|
||||
--add-opens=javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow
|
||||
--add-opens javafx.graphics/com.sun.javafx.css=org.controlsfx.controls
|
||||
--add-opens javafx.graphics/javafx.scene=org.controlsfx.controls
|
||||
--add-opens javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls
|
||||
--add-opens javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls
|
||||
--add-opens javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls
|
||||
--add-opens javafx.base/com.sun.javafx.event=org.controlsfx.controls
|
||||
--add-opens javafx.controls/javafx.scene.control.cell=com.sparrowwallet.sparrow
|
||||
--add-opens org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow
|
||||
--add-opens org.controlsfx.controls/impl.org.controlsfx.skin=javafx.fxml
|
||||
--add-opens javafx.graphics/com.sun.javafx.tk=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx
|
||||
--add-opens javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx
|
||||
--add-opens javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow
|
||||
--add-opens=javafx.graphics/javafx.scene.input=com.sparrowwallet.sparrow
|
||||
--add-opens=javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow
|
||||
--add-opens=java.base/java.net=com.sparrowwallet.sparrow
|
||||
--add-opens=java.base/java.io=com.google.gson
|
||||
--add-opens javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow
|
||||
--add-opens java.base/java.net=com.sparrowwallet.sparrow
|
||||
--add-opens java.base/java.io=com.google.gson
|
||||
--add-opens=java.smartcardio/sun.security.smartcardio=com.sparrowwallet.sparrow
|
||||
--add-reads=com.sparrowwallet.merged.module=java.desktop
|
||||
--add-reads=com.sparrowwallet.merged.module=java.sql
|
||||
--add-reads=com.sparrowwallet.merged.module=com.sparrowwallet.sparrow
|
||||
--add-reads=com.sparrowwallet.merged.module=ch.qos.logback.classic
|
||||
--add-reads=com.sparrowwallet.merged.module=org.slf4j
|
||||
--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.databind
|
||||
--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.annotation
|
||||
--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.core
|
||||
--add-reads=com.sparrowwallet.merged.module=co.nstant.in.cbor
|
||||
--add-reads=kotlin.stdlib=kotlinx.coroutines.core
|
||||
--add-reads com.sparrowwallet.merged.module=java.desktop
|
||||
--add-reads com.sparrowwallet.merged.module=java.sql
|
||||
--add-reads com.sparrowwallet.merged.module=com.sparrowwallet.sparrow
|
||||
--add-reads com.sparrowwallet.merged.module=logback.classic
|
||||
--add-reads com.sparrowwallet.merged.module=com.fasterxml.jackson.databind
|
||||
--add-reads com.sparrowwallet.merged.module=com.fasterxml.jackson.annotation
|
||||
--add-reads com.sparrowwallet.merged.module=com.fasterxml.jackson.core
|
||||
--add-reads com.sparrowwallet.merged.module=co.nstant.in.cbor
|
||||
-m com.sparrowwallet.sparrow
|
||||
)
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
let
|
||||
pname = "trezor-suite";
|
||||
version = "24.3.2";
|
||||
version = "24.2.4";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
suffix = {
|
||||
|
@ -19,8 +19,8 @@ let
|
|||
src = fetchurl {
|
||||
url = "https://github.com/trezor/${pname}/releases/download/v${version}/Trezor-Suite-${version}-${suffix}.AppImage";
|
||||
hash = { # curl -Lfs https://github.com/trezor/trezor-suite/releases/latest/download/latest-linux{-arm64,}.yml | grep ^sha512 | sed 's/: /-/'
|
||||
aarch64-linux = "sha512-oj/UrUFTH0QZD2eTHdR/Lu6Tz6AIhbIBgPJD3jH1YJKgOZIzX21H0KSddMgu+iKPw2WmoKf0UP+qqf+yFs/mVQ==";
|
||||
x86_64-linux = "sha512-RakNuSDKR0neO0IZwTVaARX9tWNDfJwOBFL3teUsNlcrur862I1c6NaaA/RxriujolDRI+wgG0twaUGEXXar5g==";
|
||||
aarch64-linux = "sha512-25nyubEf4Vkjz6jumoQwmqTppJdby0vBVztF2eGZmLA81qysx9cpHboVKqQM3dEPBlYO7EVNSeW9d7qEenweBA==";
|
||||
x86_64-linux = "sha512-oI7D6eRSzUzMphgJByYFsQ1xcHTKj+SOuDG+8Pb7nX8HVb8tiRqKY+ZZ87LAJppM75eXvf3X1hRNRk5PlI2ELA==";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
|
@ -53,9 +53,6 @@ appimageTools.wrapType2 rec {
|
|||
'';
|
||||
|
||||
meta = with lib; {
|
||||
# trezor-suite fails to detect a connected hardware wallet
|
||||
# ref: https://github.com/NixOS/nixpkgs/issues/281975
|
||||
broken = true;
|
||||
description = "Trezor Suite - Desktop App for managing crypto";
|
||||
homepage = "https://suite.trezor.io";
|
||||
changelog = "https://github.com/trezor/trezor-suite/releases/tag/v${version}";
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
, mesonEmulatorHook
|
||||
, fetchurl
|
||||
, python3
|
||||
, python3Packages
|
||||
, pkg-config
|
||||
, gtk3
|
||||
, gtk-mac-integration
|
||||
|
@ -54,7 +53,6 @@ stdenv.mkDerivation rec {
|
|||
perl
|
||||
pkg-config
|
||||
python3
|
||||
python3Packages.wrapPython
|
||||
vala
|
||||
wrapGAppsHook
|
||||
gtk-doc
|
||||
|
@ -87,16 +85,6 @@ stdenv.mkDerivation rec {
|
|||
# Reliably fails to generate gedit-file-browser-enum-types.h in time
|
||||
enableParallelBuilding = false;
|
||||
|
||||
pythonPath = with python3Packages; [
|
||||
# https://github.com/NixOS/nixpkgs/issues/298716
|
||||
pycairo
|
||||
];
|
||||
|
||||
postFixup = ''
|
||||
buildPythonPath "$pythonPath"
|
||||
patchPythonScript $out/lib/gedit/plugins/snippets/document.py
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = "gedit";
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "eae2e1646387ee36a2f24c10d924647fd3d00bb31dd42e9c17438ae7aecf79a8",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.31"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "e0add1e84352e368ad4c8de0ff8ea003dc56f3ee92c503e93bfddf4a56e97f31",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.92"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
|
@ -19,117 +19,117 @@
|
|||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "53e4efdf3388207d91f3e3767490172389cb92db449b951768af865b400ca7fe",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.37"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "1f46730744eb6db361ee858b9e5448c6ca69a83f2fec6a055bf7a43ce14e9c47",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.111"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "a6235d4706d594c95c34fed6f32d5ded97eae6af5b8803c47ebd0ec6ccf77a06",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.30"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "411a4d964a9b12f0cd0c0eaf47eec8c8e1da85c39bb50d0794905dd490a2b18a",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.129"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "bf4cacb8b9f2cc2bf5661d19f1e240debd978a6e043d7e3c2a26f0ba3b409487",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.5.tar.gz",
|
||||
"build_number": "233.14808.20"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "18a692790f0d4e2d40cedebb954aed074f72bb67ba4bdb63b7a4cb4df2c216c7",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.113"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "869e534533de1dbce095db6e3fee4a63a3c8fd654052089b83d08b7808495634",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.5.tar.gz",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "dc123ded3c7ede89e7cd3d4d5e46fada96b8763f648cd0cdbc5b7d6e26203fd2",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"idea-ultimate": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "86f45fb2f171ac1394e2c238c06b9e6e6308ce7982465ae0b86ffded2c329ef8",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.5.tar.gz",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "d9bb8259d69f57d3dd674d1a1cce9ce372d5bea7bdab9685aa466b66f04e535f",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"mps": {
|
||||
"update-channel": "MPS RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
|
||||
"version": "2023.3",
|
||||
"sha256": "7f40c6a9b29e17e29fd2acb2e0d1d31d3353e28fce31a479dd81dd1b66c1fa8c",
|
||||
"url": "https://download.jetbrains.com/mps/2023.3/MPS-2023.3.tar.gz",
|
||||
"build_number": "233.13135.979"
|
||||
"version": "2023.2",
|
||||
"sha256": "10d85eee914e23691f8512745eaa044ee33e0ca784fb84a1b0a39852d5ec1014",
|
||||
"url": "https://download.jetbrains.com/mps/2023.2/MPS-2023.2.tar.gz",
|
||||
"build_number": "232.10072.781"
|
||||
},
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "05700ce1b36c0132ff0daf9ddc129e6f2adfbfbac01a55f5881bac8bbaecf66b",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.5.tar.gz",
|
||||
"build_number": "233.14808.18",
|
||||
"version": "2023.3.3",
|
||||
"sha256": "83fae32882fdb58495f740d9e7a7d223186f2f80325892cc3cd7edad39bd200f",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.96",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "27546b7900c0da52baa9b14f88406c2b1244c570363e506f225bf101e65cea79",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "f71513f428f5df3b97b09c415967ff2db3a4e7172f293e621b3f04cd1d695443",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.3.tar.gz",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "41367c6d92f69d33c0f375e4a058fef799be00d14437402371dc8ca3e5f1161e",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "29c4955410b2ea26f0cd0f44e02c8fe2b1b7dad075f0739652051faa6f84797b",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.3.tar.gz",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "fb137ea346d957f151cb0d7755661293ae5e33e36f306b6dc90fb42895443309",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.66"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "e4b351d90a198c473b9ae5d9427a802c8e9d923644c4aff9cc6c16ccc994ebd0",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.60"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "2ba00db4538fcdbe116b767666529bfe3d015592d8c41234c94cff7f17086630",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.5.tar.gz",
|
||||
"build_number": "233.14808.14"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "a0d8533b0aad083689d61899b74e1c4405ba247b6d981c6378199106b14db74f",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.117"
|
||||
},
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover EAP",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.tar.gz",
|
||||
"version": "2023.3 EAP",
|
||||
"sha256": "51b6db1563d68326bd7c8defe1f6c04b428e1a592d06579edfeb0feb60c45077",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14015.155.tar.gz",
|
||||
"build_number": "233.14015.155"
|
||||
"sha256": "8d3e95f563641c20109ddd7572382663202c048a49b3ee0880cf4f69457d7f29",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.13135.127.tar.gz",
|
||||
"build_number": "233.13135.127"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "236204a90d47e0dd25002078d3f032e51e03ce6bf214a78bebd28640bdd31908",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.4.tar.gz",
|
||||
"build_number": "233.14475.40"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "c56ece93853aff41bc4b1fa7c40be086c8d0cb8346891ecd47a70c3978c66cd3",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.3.tar.gz",
|
||||
"build_number": "233.14015.89"
|
||||
}
|
||||
},
|
||||
"aarch64-linux": {
|
||||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "fa427be85ead8e2769aeadf19ce816cb7f02c3b08ec3b4cc7e0cddea44386dc8",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.31"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "1b129162abaadd6f824d036c82f013baeddb8cd002f72321c6ecb12a3ba3a9e7",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.92"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
|
@ -142,117 +142,117 @@
|
|||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "3dbc17eec909f5b4c99b08f07e15c4c5f86b30c3bbffac486bb1afcecfa47782",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.37"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "87996adb4cf2c28ea68ebb6dbdfacfd65224446b48fbbf2ebf9dfb9627e39de2",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.111"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "e429fe93c87687555eeb618d0cc11bcbf6809a1cfaf3763a260543ea5b639235",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.30"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "69708ad33b9a9af71beea5fe7ead6f3208b84ee673a37999f40ccff46f26a1bf",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.129"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "79d2f7bca00233710546198a80eb3beb55d0524cd0015781686a2cf9bc36fce8",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.5-aarch64.tar.gz",
|
||||
"build_number": "233.14808.20"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "dfe17fa21cbcfc7a050a03194c063aafc248876e393360dce5b90aa790082de2",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.113"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "9a4f532f83becaee99d9e2c57c96f016da2d1b26c73ae8e220cc02361c222a5e",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.5-aarch64.tar.gz",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "9c1bd513e8687d185aa7c7fbb80a3e43949067ca312271b2d8ee5059236443fa",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"idea-ultimate": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "620a164756338c49c4949dda24716b2269d88e92caddc7566d7fa8625c9ca5cb",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.5-aarch64.tar.gz",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "65e4c672f394ffd4fabc14570d95dfe05ade7fae3f056ab1e8dd902bedf166bf",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"mps": {
|
||||
"update-channel": "MPS RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}.tar.gz",
|
||||
"version": "2023.3",
|
||||
"sha256": "7f40c6a9b29e17e29fd2acb2e0d1d31d3353e28fce31a479dd81dd1b66c1fa8c",
|
||||
"url": "https://download.jetbrains.com/mps/2023.3/MPS-2023.3.tar.gz",
|
||||
"build_number": "233.13135.979"
|
||||
"version": "2023.2",
|
||||
"sha256": "10d85eee914e23691f8512745eaa044ee33e0ca784fb84a1b0a39852d5ec1014",
|
||||
"url": "https://download.jetbrains.com/mps/2023.2/MPS-2023.2.tar.gz",
|
||||
"build_number": "232.10072.781"
|
||||
},
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "bd3f4eca26332ecb1e0a62ffbeee7b0d527a17229bf9998179edb8c0b1e0c524",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.5-aarch64.tar.gz",
|
||||
"build_number": "233.14808.18",
|
||||
"version": "2023.3.3",
|
||||
"sha256": "7e1b0a6f5fe0ddf832e286544fd1fc4de9ad1d0ef1882f4b1ee4d380e49affdd",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.96",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "9c9678921b118f90519ba73543c63657d262e6aa7a7fe6b2293dcd5f26943531",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "6e8340b494d73e3ff8de46a3e6e70ff8198b76c989c859faef59cc18724a36a2",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "4800ba2575ba2b277785f9d3c9fce05d552c623b41db220f7dfdd886874b7042",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "bf0d8935b316ca2ce2b27a8ee98042f50a0b69ab1a7bb7bb1278941178d54fcf",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "99c80997bd0d2b8b918ef81fbbe7b422e165665c8fa3d108b1387ca0188c9558",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.66"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "72681b8627b10d4e23177e729d37ee96f870442edd12d4306b9406d95446d420",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.60"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "91fd717d04512170e181fd77f7cd0a63ef10e4f510a81d124d67a82d5d82a5d8",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.5-aarch64.tar.gz",
|
||||
"build_number": "233.14808.14"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "cb8ef50e2a5abdca78a713584798851bf736af2b1a67c861f8a750a09d3631ad",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.117"
|
||||
},
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover EAP",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3 EAP",
|
||||
"sha256": "d71b4d2eb3769a3acc2ebb3b3324ca376b86eb6788bf9e85467db8ee60f006c7",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14015.155-aarch64.tar.gz",
|
||||
"build_number": "233.14015.155"
|
||||
"sha256": "f99755d11d410ba453e1ef70a22aed15a02da292933222de64067b4f2d3cdcef",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.13135.127-aarch64.tar.gz",
|
||||
"build_number": "233.13135.127"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.tar.gz",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "2e072ee801d07961079ef183dec13561726e2c38df68e35fe4be51d8caac585c",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.4-aarch64.tar.gz",
|
||||
"build_number": "233.14475.40"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "14fe97e2ed2b7a2c283266159d571f955631abb527b2c728e4b837cdacf2a5fc",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.3-aarch64.tar.gz",
|
||||
"build_number": "233.14015.89"
|
||||
}
|
||||
},
|
||||
"x86_64-darwin": {
|
||||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "2eb149d2bbf1c778f3386bc9cf7b11741b4372e69c680def31260b9aa213159e",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4.dmg",
|
||||
"build_number": "233.14475.31"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "ad93d0e6b8e580db3063e36c349fd470cc47766d51287569b87b3e947463aa55",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.3.dmg",
|
||||
"build_number": "233.14015.92"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
|
@ -265,117 +265,117 @@
|
|||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "8bc75545a3c502a98e6e8360ab4d0e7639979456d87ec7cb508344d7e3066955",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.4.dmg",
|
||||
"build_number": "233.14475.37"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "fb302153ce044e8b6bb4df5935e25d4464bffe690bd2b94ef2d60b18299ec8b2",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.3.dmg",
|
||||
"build_number": "233.14015.111"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "5cf8720e0259c2bfd2474a5fd1db329cb48c10a8823ba0c29b0f3bde3ddbdf8a",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4.dmg",
|
||||
"build_number": "233.14475.30"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "9a96c387bcd0ba9d84fd53ba2ae37d0370809d27a0fdb63e18664fdf5ee7f53f",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.3.dmg",
|
||||
"build_number": "233.14015.129"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "2d76043909619e7fc59d87cda6c17fac03acaafc20f7a30da0219ef57415386f",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.5.dmg",
|
||||
"build_number": "233.14808.20"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "2e459e390988e2d196add580c8cbfce8132ef0a4d55709d7495cb65a195ed4f9",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.3.dmg",
|
||||
"build_number": "233.14015.113"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "f9ac332146ea4eb01b2d3789c042d62a024c6ccedb7e15bf9b09f506ef0663ac",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.5.dmg",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "291308af0dcb276dd2103affb4cdfb55c29135eb411fed2ac6f5a73270525688",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.3.dmg",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"idea-ultimate": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "e31b7b572cb3e908e325707873d1cba53ccff0032c1876cfd7d1d998f247629b",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.5.dmg",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "48ea080e2e444bd6f9c27f9d9e958df4d09bc4df98457cf2ebf7f25a4a2cded9",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.3.dmg",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"mps": {
|
||||
"update-channel": "MPS RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos.dmg",
|
||||
"version": "2023.3",
|
||||
"sha256": "c1e46dcb3429772b164f423cedc644f388217d1e7310d682b2341f9e744333bf",
|
||||
"url": "https://download.jetbrains.com/mps/2023.3/MPS-2023.3-macos.dmg",
|
||||
"build_number": "233.13135.979"
|
||||
"version": "2023.2",
|
||||
"sha256": "11a635432beaca5809fe0253303d07444a0bfd6fac287c72e7b03e7a9f1a59e4",
|
||||
"url": "https://download.jetbrains.com/mps/2023.2/MPS-2023.2-macos.dmg",
|
||||
"build_number": "232.10072.781"
|
||||
},
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "536836776189c54f6ba6dc61c344758ba1bc5c8b6191d09c69cfaeaa11ef33dd",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.5.dmg",
|
||||
"build_number": "233.14808.18",
|
||||
"version": "2023.3.3",
|
||||
"sha256": "082d432eb363b274fa4eea2f743518dfcf29deb0e7be34f64152d5b114415daf",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.3.dmg",
|
||||
"build_number": "233.14015.96",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "492268d99fec38fa81bd02772ed57b243403ecad1f5f28b3a1150502cf8b4a6c",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.4.dmg",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "b42894264cf0f14fe5a93807999c89870c6709e3f1edf9d629ea74c151825451",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.3.dmg",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "59512bbe61a9332f02e78d34b85ab2563b5dac2fa9882519ed27cfcbccef5dc2",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.4.dmg",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "c86b6e279ac6a82ce79e187c96b671c1b3bbb6cc2c7c5686454705316b398e9c",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.3.dmg",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "00435dc8d9dd43bbd73a55be7d5b304be8ee124032a7485750aef86cddc53ba2",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4.dmg",
|
||||
"build_number": "233.14475.66"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "a90346a30523eaa2e3abf57abd3949f46e0c6e6d2ea0c62c36d40b07061626cb",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.3.dmg",
|
||||
"build_number": "233.14015.60"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "bb25d2e10187c87b809c9ce06ca5d05eb3675dd33bff587b3249117f4c290d01",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.5.dmg",
|
||||
"build_number": "233.14808.14"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "5fcba619de2c19b969aa6ce200c859a196de6597476cd9c31b8ffef415486b8b",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.3.dmg",
|
||||
"build_number": "233.14015.117"
|
||||
},
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover EAP",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}.dmg",
|
||||
"version": "2023.3 EAP",
|
||||
"sha256": "ceb2f78f0d018b66a2f81ad0e2facc7717e4d2f0fe0a3d3ef9277269afb64dee",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14015.155.dmg",
|
||||
"build_number": "233.14015.155"
|
||||
"sha256": "f52d5ed316e92ff259aa097fce6c4d8985567373f08d2551ecfa49970c3b3c21",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.13135.127.dmg",
|
||||
"build_number": "233.13135.127"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "5c7f2b3194bf49712456466bfdc58f20bd434f00128c4964d82e9744ee114cf8",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.4.dmg",
|
||||
"build_number": "233.14475.40"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "e576a6adeda21bff4eb4bb7d250bb30ba4e773e9bd8728b05fa6d6dc6eea6756",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.3.dmg",
|
||||
"build_number": "233.14015.89"
|
||||
}
|
||||
},
|
||||
"aarch64-darwin": {
|
||||
"clion": {
|
||||
"update-channel": "CLion RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/cpp/CLion-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "340d239008c38743a10e51ae609ec3bf3dd732cf2042ef997532c6b8ed272b1a",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.31"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "4f8d01238149ae479e07762063011fd9b4b7c5c2ae355348810691d51f646bfb",
|
||||
"url": "https://download.jetbrains.com/cpp/CLion-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.92"
|
||||
},
|
||||
"datagrip": {
|
||||
"update-channel": "DataGrip RELEASE",
|
||||
|
@ -388,107 +388,107 @@
|
|||
"dataspell": {
|
||||
"update-channel": "DataSpell RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/dataspell-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "2b87177f16dc4d31ff0dcf7206e03da3ff811c88ad18711170ca263e02d6ffa5",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.37"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "db05a2acc6a5a15b1bca9e8f68b96f975d8860df35b1bd37c0d5803af4080ee0",
|
||||
"url": "https://download.jetbrains.com/python/dataspell-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.111"
|
||||
},
|
||||
"gateway": {
|
||||
"update-channel": "Gateway RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "2e769fd9c28b33d34845d1b92cb12a13578f2d4c2f255c88a42fcb79a7cf848f",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.30"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "ec6150b6336d831a03ad7336bedc70d7c6f319f958bbf012c59671db42764173",
|
||||
"url": "https://download.jetbrains.com/idea/gateway/JetBrainsGateway-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.129"
|
||||
},
|
||||
"goland": {
|
||||
"update-channel": "GoLand RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/go/goland-{version}-aarch64.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "2addb56238a56fc91fe6bbbaa5d7ae1d7adc223abb1a12e2575abf85425d1e54",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.5-aarch64.dmg",
|
||||
"build_number": "233.14808.20"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "4b192b5a59d86ca8f20377d7905e8a91aa1f53e99bb868ff74d9d0959b54d9c4",
|
||||
"url": "https://download.jetbrains.com/go/goland-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.113"
|
||||
},
|
||||
"idea-community": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIC-{version}-aarch64.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "f1f3d2585e4dceff80e5e5ac5e532e5cc94bd6711167c429c3d3c7a6b3c81f09",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.5-aarch64.dmg",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "dad35642f993830970975ed81c7b04f89171dba0dde9e4ccf7ea29b24392603f",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIC-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"idea-ultimate": {
|
||||
"update-channel": "IntelliJ IDEA RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/idea/ideaIU-{version}-aarch64.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "a81096a8f697967df1a2c8564267df81bbee24d88a10011dc3e4340efb66461a",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.5-aarch64.dmg",
|
||||
"build_number": "233.14808.21"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "ccd1dc932b3bdfabe629c38a85716ce561dbf0f4512533a62acc503648dbaa22",
|
||||
"url": "https://download.jetbrains.com/idea/ideaIU-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.106"
|
||||
},
|
||||
"mps": {
|
||||
"update-channel": "MPS RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/mps/{versionMajorMinor}/MPS-{version}-macos-aarch64.dmg",
|
||||
"version": "2023.3",
|
||||
"url": "https://download.jetbrains.com/mps/2023.3/MPS-2023.3-macos-aarch64.dmg",
|
||||
"sha256": "133e5bae81d675a6ee7780efec18dd96dfed059dbfdd2ad4a1028d9956a1ec6e",
|
||||
"build_number": "233.13135.979"
|
||||
"version": "2023.2",
|
||||
"url": "https://download.jetbrains.com/mps/2023.2/MPS-2023.2-macos-aarch64.dmg",
|
||||
"sha256": "a19ecd8a109783e9d2260cc18f48ac97e52a0bc00ee29df5ccf711a80d1701eb",
|
||||
"build_number": "232.10072.781"
|
||||
},
|
||||
"phpstorm": {
|
||||
"update-channel": "PhpStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webide/PhpStorm-{version}-aarch64.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "6b4da9083d0e4bd9725c7394981de66e9a633ad797dfb771baf65887b8d18471",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.5-aarch64.dmg",
|
||||
"build_number": "233.14808.18",
|
||||
"version": "2023.3.3",
|
||||
"sha256": "052bf5e1676410b0ce25574c57c56470ee3d2d8f4b0d776c1de6bb841a6eb3bd",
|
||||
"url": "https://download.jetbrains.com/webide/PhpStorm-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.96",
|
||||
"version-major-minor": "2022.3"
|
||||
},
|
||||
"pycharm-community": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-community-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "885ed6dcb7b99147e345ce2d088e2636e8317a5e71ff67e9bc9d0f770266646e",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "1e4dd6fb00d7557ba381406279818a3e7892027eff0fbb1b6cdf4b112c47899e",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-community-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"pycharm-professional": {
|
||||
"update-channel": "PyCharm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/python/pycharm-professional-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "58dbf1628f59950d40be4ed73199ce92ef36be6735823d9566135ddea16c1718",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.56"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "84fb09938539dc2f7ecfbd9be20a916cf542fc4e0b69a319d17e4180e4d6a244",
|
||||
"url": "https://download.jetbrains.com/python/pycharm-professional-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.13763.11"
|
||||
},
|
||||
"rider": {
|
||||
"update-channel": "Rider RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/rider/JetBrains.Rider-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "8ffd13dcc2207d4a781dc92e89643767e0dd6ef53024c92669f4daaf9cf929c0",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.66"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "2d6d425610a8d14616cf9a18a0048d678164fcc45f4f5a8ee3fff695012a0c43",
|
||||
"url": "https://download.jetbrains.com/rider/JetBrains.Rider-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.60"
|
||||
},
|
||||
"ruby-mine": {
|
||||
"update-channel": "RubyMine RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/ruby/RubyMine-{version}-aarch64.dmg",
|
||||
"version": "2023.3.5",
|
||||
"sha256": "1ea4720ef6559a52901e8627dd100f25951419ab4ce592f602e5bb2359027b6b",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.5-aarch64.dmg",
|
||||
"build_number": "233.14808.14"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "1e9b62b495709c5d40af0aa9e5bdca21658dc23339659bcc3d5666ef45686281",
|
||||
"url": "https://download.jetbrains.com/ruby/RubyMine-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.117"
|
||||
},
|
||||
"rust-rover": {
|
||||
"update-channel": "RustRover EAP",
|
||||
"url-template": "https://download.jetbrains.com/rustrover/RustRover-{version}-aarch64.dmg",
|
||||
"version": "2023.3 EAP",
|
||||
"sha256": "13c986d075c78e6a81db489247fc542014ad46da7cc7bd6fa1710be047ef0884",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.14015.155-aarch64.dmg",
|
||||
"build_number": "233.14015.155"
|
||||
"sha256": "dc4edbd94363753084dbf2dfbeff6a13af681465e3ece8b60b2382b11e516793",
|
||||
"url": "https://download.jetbrains.com/rustrover/RustRover-233.13135.127-aarch64.dmg",
|
||||
"build_number": "233.13135.127"
|
||||
},
|
||||
"webstorm": {
|
||||
"update-channel": "WebStorm RELEASE",
|
||||
"url-template": "https://download.jetbrains.com/webstorm/WebStorm-{version}-aarch64.dmg",
|
||||
"version": "2023.3.4",
|
||||
"sha256": "e8abaf52bc68a9da2873897de4f1aa89510323d4a12dc32fa98b192bc4eae5bc",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.4-aarch64.dmg",
|
||||
"build_number": "233.14475.40"
|
||||
"version": "2023.3.3",
|
||||
"sha256": "30b9c45af873991c0d2dca508b42e61fa6a7ea752ac00bb93c1e519d15ef277c",
|
||||
"url": "https://download.jetbrains.com/webstorm/WebStorm-2023.3.3-aarch64.dmg",
|
||||
"build_number": "233.14015.89"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -240,6 +240,8 @@ rec {
|
|||
--replace-needed libssl.so.10 libssl.so \
|
||||
--replace-needed libcrypto.so.10 libcrypto.so
|
||||
|
||||
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
|
||||
patchelf --set-interpreter $interp $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper
|
||||
chmod +x $PWD/plugins/intellij-rust/bin/linux/*/intellij-rust-native-helper
|
||||
)
|
||||
'';
|
||||
|
|
|
@ -17,17 +17,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip"
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/164/442850/IdeaVim-2.7.5-signed.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip"
|
||||
},
|
||||
"name": "ideavim"
|
||||
},
|
||||
|
@ -36,7 +36,7 @@
|
|||
"idea-ultimate"
|
||||
],
|
||||
"builds": {
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/631/502576/python-233.14808.21.zip"
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/631/474316/python-233.14015.106.zip"
|
||||
},
|
||||
"name": "python"
|
||||
},
|
||||
|
@ -47,8 +47,8 @@
|
|||
"mps"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": null,
|
||||
"233.14808.21": null
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/6954/459286/kotlin-plugin-232-1.9.22-release-704-IJ10072.27.zip",
|
||||
"233.14015.106": null
|
||||
},
|
||||
"name": "kotlin"
|
||||
},
|
||||
|
@ -69,17 +69,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": null,
|
||||
"233.14015.137": null,
|
||||
"233.14015.155": null,
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/6981/487357/ini-233.14475.38.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/6981/487357/ini-233.14475.38.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/6981/487357/ini-233.14475.38.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/6981/487357/ini-233.14475.38.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/6981/502555/ini-233.14808.20.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/6981/502555/ini-233.14808.20.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/6981/502555/ini-233.14808.20.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/6981/502555/ini-233.14808.20.zip"
|
||||
"232.10072.781": null,
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/6981/464477/ini-233.13135.116.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/6981/468089/ini-233.13763.5.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip"
|
||||
},
|
||||
"name": "ini"
|
||||
},
|
||||
|
@ -89,8 +89,8 @@
|
|||
"phpstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/7219/497847/Symfony_Plugin-2023.1.265.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/7219/497847/Symfony_Plugin-2023.1.265.zip"
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/7219/467592/Symfony_Plugin-2022.1.263.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/7219/467592/Symfony_Plugin-2022.1.263.zip"
|
||||
},
|
||||
"name": "symfony-support"
|
||||
},
|
||||
|
@ -100,8 +100,8 @@
|
|||
"phpstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip"
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip"
|
||||
},
|
||||
"name": "php-annotations"
|
||||
},
|
||||
|
@ -114,11 +114,11 @@
|
|||
"rust-rover"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/7322/456914/python-ce-233.13135.103.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip"
|
||||
},
|
||||
"name": "python-community-edition"
|
||||
},
|
||||
|
@ -138,16 +138,16 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/8182/395553/intellij-rust-0.4.201.5424-232.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip"
|
||||
},
|
||||
"name": "-deprecated-rust"
|
||||
},
|
||||
|
@ -167,16 +167,16 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": null,
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/8182/372556/intellij-rust-0.4.200.5420-232-beta.zip",
|
||||
"233.13763.11": null,
|
||||
"233.14015.106": null,
|
||||
"233.14015.113": null,
|
||||
"233.14015.117": null,
|
||||
"233.14015.137": null,
|
||||
"233.14475.31": null,
|
||||
"233.14475.40": null,
|
||||
"233.14475.56": null,
|
||||
"233.14475.66": null,
|
||||
"233.14808.14": null,
|
||||
"233.14808.18": null,
|
||||
"233.14808.20": null,
|
||||
"233.14808.21": null
|
||||
"233.14015.60": null,
|
||||
"233.14015.89": null,
|
||||
"233.14015.92": null,
|
||||
"233.14015.96": null
|
||||
},
|
||||
"name": "-deprecated-rust-beta"
|
||||
},
|
||||
|
@ -190,10 +190,10 @@
|
|||
"ruby-mine"
|
||||
],
|
||||
"builds": {
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip"
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/8554/454574/featuresTrainer-233.13135.67.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip"
|
||||
},
|
||||
"name": "ide-features-trainer"
|
||||
},
|
||||
|
@ -214,17 +214,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip"
|
||||
},
|
||||
"name": "nixidea"
|
||||
},
|
||||
|
@ -234,8 +234,8 @@
|
|||
"idea-ultimate"
|
||||
],
|
||||
"builds": {
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/9568/502583/go-plugin-233.14808.21.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/9568/502583/go-plugin-233.14808.21.zip"
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/9568/474312/go-plugin-233.14015.106.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/9568/474312/go-plugin-233.14015.106.zip"
|
||||
},
|
||||
"name": "go"
|
||||
},
|
||||
|
@ -256,17 +256,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip"
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/10037/432491/CSVEditor-3.2.3-232.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip"
|
||||
},
|
||||
"name": "csv-editor"
|
||||
},
|
||||
|
@ -287,17 +287,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/12062/364117/keymap-vscode-232.8660.88.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip"
|
||||
},
|
||||
"name": "vscode-keymap"
|
||||
},
|
||||
|
@ -318,17 +318,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/12559/364124/keymap-eclipse-232.8660.88.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip"
|
||||
},
|
||||
"name": "eclipse-keymap"
|
||||
},
|
||||
|
@ -349,17 +349,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/13017/364038/keymap-visualStudio-232.8660.88.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip"
|
||||
},
|
||||
"name": "visual-studio-keymap"
|
||||
},
|
||||
|
@ -380,17 +380,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar"
|
||||
},
|
||||
"name": "darcula-pitch-black"
|
||||
},
|
||||
|
@ -411,17 +411,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip"
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip"
|
||||
},
|
||||
"name": "github-copilot"
|
||||
},
|
||||
|
@ -442,17 +442,17 @@
|
|||
"webstorm"
|
||||
],
|
||||
"builds": {
|
||||
"233.13135.979": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"232.10072.781": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.13763.11": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.113": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.117": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.137": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14475.40": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14475.56": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14475.66": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14808.14": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14808.18": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14808.20": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
|
||||
"233.14015.60": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.89": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip",
|
||||
"233.14015.96": "https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip"
|
||||
},
|
||||
"name": "netbeans-6-5-keymap"
|
||||
},
|
||||
|
@ -463,34 +463,43 @@
|
|||
"rust-rover"
|
||||
],
|
||||
"builds": {
|
||||
"233.14015.155": "https://plugins.jetbrains.com/files/22407/498174/intellij-rust-233.24015.155.zip",
|
||||
"233.14475.31": "https://plugins.jetbrains.com/files/22407/498174/intellij-rust-233.24015.155.zip",
|
||||
"233.14808.21": "https://plugins.jetbrains.com/files/22407/498174/intellij-rust-233.24015.155.zip"
|
||||
"233.13135.127": "https://plugins.jetbrains.com/files/22407/473386/intellij-rust-233.23135.127.zip",
|
||||
"233.14015.106": "https://plugins.jetbrains.com/files/22407/473386/intellij-rust-233.23135.127.zip",
|
||||
"233.14015.92": "https://plugins.jetbrains.com/files/22407/473386/intellij-rust-233.23135.127.zip"
|
||||
},
|
||||
"name": "rust"
|
||||
}
|
||||
},
|
||||
"files": {
|
||||
"https://plugins.jetbrains.com/files/10037/493012/CSVEditor-3.3.0-233.zip": "sha256-C3l3Z9a7maCrMjc2Fk/wf3AoExRbvN+fn2mAtXigt0A=",
|
||||
"https://plugins.jetbrains.com/files/10037/432491/CSVEditor-3.2.3-232.zip": "sha256-H/LRD/5Q9qtYCq4CSonqQcJ4IcdefI/vg2Jlmc0vaJY=",
|
||||
"https://plugins.jetbrains.com/files/10037/432492/CSVEditor-3.2.3-233.zip": "sha256-qbQ2ArW1NcER+LbiVqpB+Sdmi5s78u8jfNmEb+2Nmrg=",
|
||||
"https://plugins.jetbrains.com/files/12062/364117/keymap-vscode-232.8660.88.zip": "sha256-q5i1eAANK+6uBYrtioKLzvJf5ALUB0K4d31Ut0vT/lE=",
|
||||
"https://plugins.jetbrains.com/files/12062/445740/keymap-vscode-233.11799.188.zip": "sha256-9keDJ73bSHkzAEq8nT96I5sp05BgMZ08/4BzarOjO5g=",
|
||||
"https://plugins.jetbrains.com/files/12559/364124/keymap-eclipse-232.8660.88.zip": "sha256-eRCsivZbDNrc+kesa9jVsOoMFFz+WpYfSMXxPCCjWjw=",
|
||||
"https://plugins.jetbrains.com/files/12559/445772/keymap-eclipse-233.11799.165.zip": "sha256-IsmoWuUroAp1LLuphp4F1dun4tQOOitZxoG+Nxs5pYk=",
|
||||
"https://plugins.jetbrains.com/files/13017/364038/keymap-visualStudio-232.8660.88.zip": "sha256-5S8u7w14fLkaTcjACfUSun9pMNtPk20/8+Dr5Sp9sDE=",
|
||||
"https://plugins.jetbrains.com/files/13017/445774/keymap-visualStudio-233.11799.165.zip": "sha256-Nb2tSxL+mAY1qJ3waipgV8ep+0R/BaYnzz7zfwtLHmk=",
|
||||
"https://plugins.jetbrains.com/files/14059/82616/darcula-pitch-black.jar": "sha256-eXInfAqY3yEZRXCAuv3KGldM1pNKEioNwPB0rIGgJFw=",
|
||||
"https://plugins.jetbrains.com/files/164/491097/IdeaVim-2.9.1-signed.zip": "sha256-cUlxDF2aYw6od+dwLC3Gtv9tOzzMKo4NGZECBodIQPA=",
|
||||
"https://plugins.jetbrains.com/files/17718/499821/github-copilot-intellij-1.5.0.5148.zip": "sha256-/JuPSqFG6VyaDj2IQAYK3Lz7/FQWppfxxXUGuGQggrY=",
|
||||
"https://plugins.jetbrains.com/files/164/442850/IdeaVim-2.7.5-signed.zip": "sha256-MiF8MVWBEQqupoYyI+QOyXhSvJcoSgptePENByURphI=",
|
||||
"https://plugins.jetbrains.com/files/164/479004/IdeaVim-2.8.2-signed.zip": "sha256-TqcOkgq2tM01VBV4K7daHsIGg4L2TdKqabqJwuJql2Q=",
|
||||
"https://plugins.jetbrains.com/files/17718/474473/github-copilot-intellij-1.4.13.4415.zip": "sha256-JpFzBZkv5tXH/TIvXa92VLDy4FDCRt45x6kzmOzzFsA=",
|
||||
"https://plugins.jetbrains.com/files/18444/165585/NetBeans6.5Keymap.zip": "sha256-KrzZTKZMQqoEMw+vDUv2jjs0EX0leaPBkU8H/ecq/oI=",
|
||||
"https://plugins.jetbrains.com/files/22407/498174/intellij-rust-233.24015.155.zip": "sha256-oFg2xlR3gB1DpmhqHlugSjnrBDgAHlwvroqwAHiUAzI=",
|
||||
"https://plugins.jetbrains.com/files/631/502576/python-233.14808.21.zip": "sha256-1YN+brLdFOgcSQwLzafrjbIZ4NWBllaKulLCJ6MfdGI=",
|
||||
"https://plugins.jetbrains.com/files/6981/487357/ini-233.14475.38.zip": "sha256-++4e6qSYfqoP3/M69xyNaNmkhyeX3h8dK9cJabeB5cY=",
|
||||
"https://plugins.jetbrains.com/files/6981/502555/ini-233.14808.20.zip": "sha256-8uDtfKkWfYr2qTD4Etb/zne1IXiiVLKQGJHKIVtp5cI=",
|
||||
"https://plugins.jetbrains.com/files/7219/497847/Symfony_Plugin-2023.1.265.zip": "sha256-lAAu2NamhKjGcVTu5cBlwSX8UP8bkKf9S++CW6xzvkk=",
|
||||
"https://plugins.jetbrains.com/files/22407/473386/intellij-rust-233.23135.127.zip": "sha256-w0wfdzjekav1uAab2NaZtmTOWDNFz8IxD6Jx0jT4egQ=",
|
||||
"https://plugins.jetbrains.com/files/631/474316/python-233.14015.106.zip": "sha256-cCTapGg6tjT8usIoqshrhw7Ubg9cYrRGIZiLsiGtT0g=",
|
||||
"https://plugins.jetbrains.com/files/6954/459286/kotlin-plugin-232-1.9.22-release-704-IJ10072.27.zip": "sha256-3I/wmEkK+iL0VpwoqRlotI+G8G+sqcGN1MCcab+HX5E=",
|
||||
"https://plugins.jetbrains.com/files/6981/464477/ini-233.13135.116.zip": "sha256-YoFaVOgW0DuyCp/pvcU5ePdnZokrOJZ/SwY6lxnYUOA=",
|
||||
"https://plugins.jetbrains.com/files/6981/468089/ini-233.13763.5.zip": "sha256-sKeMk4lMeBlu7F/mf3GFRc9RZSVrAlCdRLaQARHfxow=",
|
||||
"https://plugins.jetbrains.com/files/6981/474956/ini-233.14015.113.zip": "sha256-tJoqLmhQBsAC/k0H3rNO0/3/Np539KXiZfTMTfvUkH4=",
|
||||
"https://plugins.jetbrains.com/files/7219/467592/Symfony_Plugin-2022.1.263.zip": "sha256-KFnMKzybqbLbPVRzRtrUBaNsrel46V2YRmQFc1EecLY=",
|
||||
"https://plugins.jetbrains.com/files/7320/346181/PHP_Annotations-9.4.0.zip": "sha256-hT5K4w4lhvNwDzDMDSvsIDGj9lyaRqglfOhlbNdqpWs=",
|
||||
"https://plugins.jetbrains.com/files/7322/456914/python-ce-233.13135.103.zip": "sha256-Yqb3FPG5M5+hNHX3OSEStBekjTjMlf4IV6Yr6+lfoRw=",
|
||||
"https://plugins.jetbrains.com/files/7322/474341/python-ce-233.14015.106.zip": "sha256-yd70cSA/Icn5YlH4Q79cIWGFJ6huYUBDKk6vCIYa3DU=",
|
||||
"https://plugins.jetbrains.com/files/7322/484110/python-ce-233.14475.9.zip": "sha256-YMB/ewCKE1F/JXI8iau9pKkv9D5D9a8OiTVukkzTocA=",
|
||||
"https://plugins.jetbrains.com/files/7322/502153/python-ce-233.14808.12.zip": "sha256-PUBR9krJ26QrL2jTus0b+uhzkEkT+lGnBKy1f4i/U+w=",
|
||||
"https://plugins.jetbrains.com/files/8182/372556/intellij-rust-0.4.200.5420-232-beta.zip": "sha256-ZlSfPvhPixEz5JxU9qyG0nL3jiSjr4gKaf/xYcQI1vQ=",
|
||||
"https://plugins.jetbrains.com/files/8182/395553/intellij-rust-0.4.201.5424-232.zip": "sha256-pVwBEyUCx/DJET9uIm8vxFeChE8FskWyfLjDpfg2mAE=",
|
||||
"https://plugins.jetbrains.com/files/8182/466854/intellij-rust-233.15445.zip": "sha256-+Lc/avYBLpyIV63DlbhAJtieHDv4HdggqdGFDw9iqN0=",
|
||||
"https://plugins.jetbrains.com/files/8554/454574/featuresTrainer-233.13135.67.zip": "sha256-XgtOrfULS7TJ6yfWOwNX/EL6cEirvVyzMtPzlPJEkXM=",
|
||||
"https://plugins.jetbrains.com/files/8554/469535/featuresTrainer-233.14015.29.zip": "sha256-Hj/CsaQb1U3FN1x2+00Rq2NjC6AWrfuTJL1NiEssfJ4=",
|
||||
"https://plugins.jetbrains.com/files/8607/422943/NixIDEA-0.4.0.11.zip": "sha256-Dwitpu5yLPWx+IUilpN5iqnN8FkKgaxUNjroBEx5lkM=",
|
||||
"https://plugins.jetbrains.com/files/9568/502583/go-plugin-233.14808.21.zip": "sha256-QPZRPCCSta/q9hj0fVlmF26xebAKyUhh/dc27FgJHco="
|
||||
"https://plugins.jetbrains.com/files/9568/474312/go-plugin-233.14015.106.zip": "sha256-i281TuFtacnu+horAhcHYZy0zV2nRJzSorFBPpC7usc="
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16685,18 +16685,6 @@ final: prev:
|
|||
meta.homepage = "https://github.com/KabbAmine/zeavim.vim/";
|
||||
};
|
||||
|
||||
zellij-nvim = buildVimPlugin {
|
||||
pname = "zellij.nvim";
|
||||
version = "2023-12-03";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Lilja";
|
||||
repo = "zellij.nvim";
|
||||
rev = "483c855ab7a3aba60e522971991481807ea3a47b";
|
||||
sha256 = "17lapf7lznlw557k00dpvx04j5pkgdqk95aw5js3aamydnhi976g";
|
||||
};
|
||||
meta.homepage = "https://github.com/Lilja/zellij.nvim/";
|
||||
};
|
||||
|
||||
zen-mode-nvim = buildVimPlugin {
|
||||
pname = "zen-mode.nvim";
|
||||
version = "2024-01-21";
|
||||
|
|
|
@ -955,10 +955,6 @@
|
|||
dependencies = with self; [ plenary-nvim ];
|
||||
};
|
||||
|
||||
neotest-gtest = super.neotest-gtest.overrideAttrs {
|
||||
dependencies = [ self.plenary-nvim ];
|
||||
};
|
||||
|
||||
neo-tree-nvim = super.neo-tree-nvim.overrideAttrs {
|
||||
dependencies = with self; [ plenary-nvim nui-nvim ];
|
||||
};
|
||||
|
|
|
@ -1406,7 +1406,6 @@ https://github.com/HerringtonDarkholme/yats.vim/,,
|
|||
https://github.com/lucasew/yescapsquit.vim/,HEAD,
|
||||
https://github.com/elkowar/yuck.vim/,HEAD,
|
||||
https://github.com/KabbAmine/zeavim.vim/,,
|
||||
https://github.com/Lilja/zellij.nvim/,HEAD,
|
||||
https://github.com/folke/zen-mode.nvim/,,
|
||||
https://github.com/mcchrish/zenbones.nvim/,HEAD,
|
||||
https://github.com/jnurmine/zenburn/,,
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
, clojure-lsp
|
||||
, alejandra
|
||||
, millet
|
||||
, craftos-pc
|
||||
, shfmt
|
||||
, typst-lsp
|
||||
, typst-preview
|
||||
|
@ -808,11 +807,10 @@ let
|
|||
mktplcRef = {
|
||||
name = "catppuccin-vsc-icons";
|
||||
publisher = "catppuccin";
|
||||
version = "1.10.0";
|
||||
sha256 = "sha256-6klrnMHAIr+loz7jf7l5EZPLBhgkJODFHL9fzl1MqFI=";
|
||||
version = "0.12.0";
|
||||
sha256 = "sha256-i47tY6DSVtV8Yf6AgZ6njqfhaUFGEpgbRcBF70l2Xe0=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/Catppuccin.catppuccin-vsc-icons/changelog";
|
||||
description = "Soothing pastel icon theme for VSCode";
|
||||
license = lib.licenses.mit;
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=Catppuccin.catppuccin-vsc-icons";
|
||||
|
@ -1402,12 +1400,12 @@ let
|
|||
# semver scheme, contrary to preview versions which are listed on
|
||||
# the VSCode Marketplace and use a calver scheme. We should avoid
|
||||
# using preview versions, because they expire after two weeks.
|
||||
version = "14.9.0";
|
||||
sha256 = "sha256-Z6KeIUw1SLZ4tUgs7sU9IJO/6diozPxQuTbXr6DayHA=";
|
||||
version = "14.1.1";
|
||||
sha256 = "sha256-eSN48IudpHYzT4u+S4b2I2pyEPyOwBCSL49awT/mzEE=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/eamodio.gitlens/changelog";
|
||||
description = "A Visual Studio Code extension that improves its built-in Git capabilities";
|
||||
description = "GitLens supercharges the Git capabilities built into Visual Studio Code.";
|
||||
longDescription = ''
|
||||
Supercharge the Git capabilities built into Visual Studio Code — Visualize code authorship at a glance via Git
|
||||
blame annotations and code lens, seamlessly navigate and explore Git repositories, gain valuable insights via
|
||||
|
@ -1595,8 +1593,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "prettier-vscode";
|
||||
publisher = "esbenp";
|
||||
version = "10.4.0";
|
||||
sha256 = "sha256-8+90cZpqyH+wBgPFaX5GaU6E02yBWUoB+T9C2z2Ix8c=";
|
||||
version = "10.3.0";
|
||||
sha256 = "sha256-Oc46dxOI+55Y6hiJe0zTakdTM1sikcF7ISWkkVlaO1c=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/esbenp.prettier-vscode/changelog";
|
||||
|
@ -2264,39 +2262,6 @@ let
|
|||
};
|
||||
};
|
||||
|
||||
jackmacwindows.craftos-pc = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "craftos-pc";
|
||||
publisher = "jackmacwindows";
|
||||
version = "1.2.2";
|
||||
sha256 = "sha256-A+MNroXv0t9Mw/gr0Fyov3cXyF/GGzwRLKrIxQ2tKCE=";
|
||||
};
|
||||
nativeBuildInputs = [ jq moreutils ];
|
||||
postInstall = ''
|
||||
cd "$out/$installPrefix"
|
||||
|
||||
jq -e '
|
||||
.contributes.configuration.properties."craftos-pc.executablePath.linux".default =
|
||||
"${lib.meta.getExe craftos-pc}" |
|
||||
.contributes.configuration.properties."craftos-pc.executablePath.mac".default =
|
||||
"${lib.meta.getExe craftos-pc}" |
|
||||
.contributes.configuration.properties."craftos-pc.executablePath.windows".default =
|
||||
"${lib.meta.getExe craftos-pc}"
|
||||
' \
|
||||
< package.json \
|
||||
| sponge package.json
|
||||
'';
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/jackmacwindows.craftos-pc/changelog";
|
||||
description = "A Visual Studio Code extension for opening a CraftOS-PC window";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=jackmacwindows.craftos-pc";
|
||||
homepage = "https://www.craftos-pc.cc/docs/extension";
|
||||
license = lib.licenses.mit;
|
||||
maintainers = with lib.maintainers; [ tomodachi94 ];
|
||||
platforms = craftos-pc.meta.platforms;
|
||||
};
|
||||
};
|
||||
|
||||
james-yu.latex-workshop = buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "latex-workshop";
|
||||
|
@ -2349,12 +2314,11 @@ let
|
|||
mktplcRef = {
|
||||
name = "gruvbox";
|
||||
publisher = "jdinhlife";
|
||||
version = "1.18.0";
|
||||
sha256 = "sha256-4sGGVJYgQiOJzcnsT/YMdJdk0mTi7qcAcRHLnYghPh4=";
|
||||
version = "1.8.0";
|
||||
sha256 = "sha256-P4FbbcRcKWbnC86TSnzQaGn2gHWkDM9I4hj4GiHNPS4=";
|
||||
};
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/jdinhlife.gruvbox/changelog";
|
||||
description = "A port of Gruvbox theme to VS Code editor";
|
||||
description = "Gruvbox Theme";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=jdinhlife.gruvbox";
|
||||
homepage = "https://github.com/jdinhify/vscode-theme-gruvbox";
|
||||
license = lib.licenses.mit;
|
||||
|
@ -2845,7 +2809,6 @@ let
|
|||
|
||||
ms-ceintl = callPackage ./language-packs.nix { }; # non-English language packs
|
||||
|
||||
ms-dotnettools.csdevkit = callPackage ./ms-dotnettools.csdevkit { };
|
||||
ms-dotnettools.csharp = callPackage ./ms-dotnettools.csharp { };
|
||||
|
||||
ms-kubernetes-tools.vscode-kubernetes-tools = buildVscodeMarketplaceExtension {
|
||||
|
|
|
@ -1,117 +0,0 @@
|
|||
{ lib
|
||||
, icu
|
||||
, openssl
|
||||
, patchelf
|
||||
, stdenv
|
||||
, vscode-utils
|
||||
}:
|
||||
let
|
||||
inherit (stdenv.hostPlatform) system;
|
||||
inherit (vscode-utils) buildVscodeMarketplaceExtension;
|
||||
|
||||
extInfo = {
|
||||
x86_64-linux = {
|
||||
arch = "linux-x64";
|
||||
sha256 = "sha256-7m85Zl9oV40le3nkNPzoKu/AAf8XhQpI8sBMsQXmBg8=";
|
||||
binaries = [
|
||||
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/servicehub-controller-net60.linux-x64/Microsoft.ServiceHub.Controller"
|
||||
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-code-servicehost.linux-x64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-x64/Microsoft.VisualStudio.Reliability.Monitor"
|
||||
"components/vs-green-server/platforms/linux-x64/node_modules/@microsoft/visualstudio-server.linux-x64/Microsoft.VisualStudio.Code.Server"
|
||||
];
|
||||
};
|
||||
aarch64-linux = {
|
||||
arch = "linux-arm64";
|
||||
sha256 = "sha256-39D55EdwE4baDYbHc9GD/1XoxGbQkUkS1H2uysJHlxw=";
|
||||
binaries = [
|
||||
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/servicehub-controller-net60.linux-arm64/Microsoft.ServiceHub.Controller"
|
||||
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-code-servicehost.linux-arm64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.linux-arm64/Microsoft.VisualStudio.Reliability.Monitor"
|
||||
"components/vs-green-server/platforms/linux-arm64/node_modules/@microsoft/visualstudio-server.linux-arm64/Microsoft.VisualStudio.Code.Server"
|
||||
];
|
||||
};
|
||||
x86_64-darwin = {
|
||||
arch = "darwin-x64";
|
||||
sha256 = "sha256-gfhJX07R+DIw9FbzaEE0JZwEmDeifiq4vHyMHZZ1udM=";
|
||||
binaries = [
|
||||
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/servicehub-controller-net60.darwin-x64/Microsoft.ServiceHub.Controller"
|
||||
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-x64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-x64/Microsoft.VisualStudio.Reliability.Monitor"
|
||||
"components/vs-green-server/platforms/darwin-x64/node_modules/@microsoft/visualstudio-server.darwin-x64/Microsoft.VisualStudio.Code.Server"
|
||||
];
|
||||
};
|
||||
aarch64-darwin = {
|
||||
arch = "darwin-arm64";
|
||||
sha256 = "sha256-vogstgCWvI9csNF9JfJ41XPR1POy842g2yhWqIDoHLw=";
|
||||
binaries = [
|
||||
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/servicehub-controller-net60.darwin-arm64/Microsoft.ServiceHub.Controller"
|
||||
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-code-servicehost.darwin-arm64/Microsoft.VisualStudio.Code.ServiceHost"
|
||||
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-reliability-monitor.darwin-arm64/Microsoft.VisualStudio.Reliability.Monitor"
|
||||
"components/vs-green-server/platforms/darwin-arm64/node_modules/@microsoft/visualstudio-server.darwin-arm64/Microsoft.VisualStudio.Code.Server"
|
||||
];
|
||||
};
|
||||
}.${system} or (throw "Unsupported system: ${system}");
|
||||
in
|
||||
buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "csdevkit";
|
||||
publisher = "ms-dotnettools";
|
||||
version = "1.4.28";
|
||||
inherit (extInfo) sha256 arch;
|
||||
};
|
||||
sourceRoot = "extension"; # This has more than one folder.
|
||||
|
||||
nativeBuildInputs = [
|
||||
patchelf
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
declare ext_unique_id
|
||||
ext_unique_id="$(basename "$out" | head -c 32)"
|
||||
|
||||
patchelf_add_icu_as_needed() {
|
||||
declare elf="''${1?}"
|
||||
declare icu_major_v="${
|
||||
lib.head (lib.splitVersion (lib.getVersion icu.name))
|
||||
}"
|
||||
|
||||
for icu_lib in icui18n icuuc icudata; do
|
||||
patchelf --add-needed "lib''${icu_lib}.so.$icu_major_v" "$elf"
|
||||
done
|
||||
}
|
||||
|
||||
patchelf_common() {
|
||||
declare elf="''${1?}"
|
||||
|
||||
patchelf_add_icu_as_needed "$elf"
|
||||
patchelf --add-needed "libssl.so" "$elf"
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${lib.makeLibraryPath [stdenv.cc.cc openssl icu.out]}:\$ORIGIN" \
|
||||
"$elf"
|
||||
}
|
||||
|
||||
substituteInPlace dist/extension.js \
|
||||
--replace 'e.extensionPath,"cache"' 'require("os").tmpdir(),"'"$ext_unique_id"'"' \
|
||||
--replace 't.setExecuteBit=async function(e){if("win32"!==process.platform){const t=i.join(e[a.SERVICEHUB_CONTROLLER_COMPONENT_NAME],"Microsoft.ServiceHub.Controller"),n=i.join(e[a.SERVICEHUB_HOST_COMPONENT_NAME],(0,a.getServiceHubHostEntrypointName)()),r=[(0,a.getServerPath)(e),t,n,(0,c.getReliabilityMonitorPath)(e)];await Promise.all(r.map((e=>(0,o.chmod)(e,"0755"))))}}' 't.setExecuteBit=async function(e){}'
|
||||
|
||||
''
|
||||
+ (lib.concatStringsSep "\n" (map
|
||||
(bin: ''
|
||||
chmod +x "${bin}"
|
||||
'')
|
||||
extInfo.binaries))
|
||||
+ lib.optionalString stdenv.isLinux (lib.concatStringsSep "\n" (map
|
||||
(bin: ''
|
||||
patchelf_common "${bin}"
|
||||
'')
|
||||
extInfo.binaries));
|
||||
|
||||
meta = {
|
||||
changelog = "https://marketplace.visualstudio.com/items/ms-dotnettools.csdevkit/changelog";
|
||||
description = "The official Visual Studio Code extension for C# from Microsoft";
|
||||
downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit";
|
||||
license = lib.licenses.unfree;
|
||||
maintainers = [ lib.maintainers.ggg ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
|
||||
};
|
||||
}
|
|
@ -12,14 +12,14 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "xedit";
|
||||
version = "1.2.4";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.freedesktop.org";
|
||||
owner = "xorg/app";
|
||||
repo = "xedit";
|
||||
rev = "${pname}-${version}";
|
||||
sha256 = "sha256-0vP+aR8QBXAqbULOLEs7QXsehk18BJ405qoelrcepwE=";
|
||||
sha256 = "sha256-WF+4avzRRL0+OA3KxzK7JwmArkPu9fEl+728R6ouXmg=";
|
||||
};
|
||||
|
||||
# ./lisp/mathimp.c:493:10: error: implicitly declaring library function 'finite' with type 'int (double)'
|
||||
|
|
|
@ -46,13 +46,13 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "cemu";
|
||||
version = "2.0-72";
|
||||
version = "2.0-68";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cemu-project";
|
||||
repo = "Cemu";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-4sy2pI+pOJ69JntfktrcXd00yL3fkQI14K02j0l4cuI=";
|
||||
hash = "sha256-/c0rpj4s3aNJVH+AlU9R4t321OqTvJHfZQCfyzYB4m8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flycast";
|
||||
version = "2.3";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "flyinghead";
|
||||
repo = "flycast";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-o1Xnyts2+A3ZkzVN0o8E5nGPo2c2vYltMlHF4LZMppU=";
|
||||
sha256 = "sha256-eQMKaUaZ1b0oXre4Ouli4qIyNaG64KntyRGk3/YIopc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -47,12 +47,12 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "retroarch-bare";
|
||||
version = "1.18.0";
|
||||
version = "1.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "RetroArch";
|
||||
hash = "sha256-uOnFkLrLQlBbUlIFA8wrOkQdVIvO7Np7fvi+sPJPtHE=";
|
||||
hash = "sha256-8Y8ZYZFNK7zk0bQRiWwoQbu6q3r25bN3EvLOA3kIxdU=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
|
|
@ -55,10 +55,10 @@
|
|||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-pce-libretro",
|
||||
"rev": "20b86372b5f490394099ee0ad06e0eb3a4fd5c2e",
|
||||
"hash": "sha256-jYV2eiBSLj9H2RIau8NwYLGV2SY7GqygEYTJ3YVoMNc="
|
||||
"rev": "729a29761ae491941369c66e5f4d3521f3d335b4",
|
||||
"hash": "sha256-Vv/e5qa/4JjOiUC/PvuJai2VjmAQ3Xz069l1+gP7aOw="
|
||||
},
|
||||
"version": "unstable-2024-03-22"
|
||||
"version": "unstable-2024-03-15"
|
||||
},
|
||||
"beetle-pce-fast": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -115,10 +115,10 @@
|
|||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "beetle-supergrafx-libretro",
|
||||
"rev": "e41f864c0abb36aef20f8e37cd9d9a92c00a9221",
|
||||
"hash": "sha256-LkkW5mQmwv89ZECssVh43ezwe4xMagUOiSz82OupISQ="
|
||||
"rev": "239d25f4c2bbb6e66d3e48502907d3d611119a22",
|
||||
"hash": "sha256-8SP/SOJR/5tDkpysYTAuDPeQJCaAVgXE9CieSj1H4ZQ="
|
||||
},
|
||||
"version": "unstable-2024-03-22"
|
||||
"version": "unstable-2024-03-08"
|
||||
},
|
||||
"beetle-vb": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -287,10 +287,10 @@
|
|||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "fbneo",
|
||||
"rev": "b6c6d883df5e9e9a9a5d4b9f09e796702b08d177",
|
||||
"hash": "sha256-dLDtcjp68caRwc3wLj80Oj7HA/SlW7/eswbY1n3aRAc="
|
||||
"rev": "30150f7f5193be76d15653ba378d68b55d684e4f",
|
||||
"hash": "sha256-ZC4FyiKU+BR8Oqjv28/AE1jrCqC/mbTa/+UKvwK+SDs="
|
||||
},
|
||||
"version": "unstable-2024-03-21"
|
||||
"version": "unstable-2024-03-17"
|
||||
},
|
||||
"fceumm": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -307,11 +307,11 @@
|
|||
"src": {
|
||||
"owner": "flyinghead",
|
||||
"repo": "flycast",
|
||||
"rev": "40cdef6c1c9bd73bf3a55d412e30c25bbcf2b59c",
|
||||
"hash": "sha256-+3PqeLT6i2HesVaA5b13bavNqH0mqeFIkHfhusdzWYU=",
|
||||
"rev": "c7ee42f0ba16623cab44678a586c248d068933f7",
|
||||
"hash": "sha256-TPsG82LACDys2eQk2lZj4DBB5HUSE6mWwSrpnfdv8gQ=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-03-19"
|
||||
"version": "unstable-2024-03-17"
|
||||
},
|
||||
"fmsx": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -438,10 +438,10 @@
|
|||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "mame2003-plus-libretro",
|
||||
"rev": "8e60ed0217ff6206768d7bdc6313e86c4c852405",
|
||||
"hash": "sha256-zq143CSDMSBQ/e7kntz63cTaKk552IKfCoRGmt5jYik="
|
||||
"rev": "f8b0565fd3278f2efbc3e68fc929a912645e211b",
|
||||
"hash": "sha256-jOQxPUTbKQH0PKJSOItEpSHaNPzMlYOJ2CUgzSLHti4="
|
||||
},
|
||||
"version": "unstable-2024-03-21"
|
||||
"version": "unstable-2024-03-10"
|
||||
},
|
||||
"mame2010": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -630,10 +630,10 @@
|
|||
"src": {
|
||||
"owner": "libretro",
|
||||
"repo": "pcsx_rearmed",
|
||||
"rev": "2b2ac30d6905b3434d822c223b36957aef96a857",
|
||||
"hash": "sha256-jBs3ccKXGX0wumQkGeoNpbsRfWFx5lTufUE0NhEfCtk="
|
||||
"rev": "1546496fa818dc51e763c37f4f2e2456dafa4e13",
|
||||
"hash": "sha256-9zAor3HxefRlRLq0ab447JUG1JsBZ4OdAbvzw3XckqE="
|
||||
},
|
||||
"version": "unstable-2024-03-21"
|
||||
"version": "unstable-2024-03-10"
|
||||
},
|
||||
"picodrive": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
@ -651,22 +651,22 @@
|
|||
"src": {
|
||||
"owner": "jpd002",
|
||||
"repo": "Play-",
|
||||
"rev": "6e9fa384d6e94f552ba56c3233b38770c41b46af",
|
||||
"hash": "sha256-KplGpF0d821ms/UA0GVtDVgdFQR6Xbl844GVPUId77Q=",
|
||||
"rev": "65d892247c28569cc971a84d743e7bb2ec7a3dd6",
|
||||
"hash": "sha256-wRX/xGnIjdTO2W9k09JWb3gMx8rFv4+9IaqCQ3qroyA=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-03-21"
|
||||
"version": "unstable-2024-03-15"
|
||||
},
|
||||
"ppsspp": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
"src": {
|
||||
"owner": "hrydgard",
|
||||
"repo": "ppsspp",
|
||||
"rev": "cd85b4d5e8410dd9b5a9ee5c0e507abd0dc3ff29",
|
||||
"hash": "sha256-a/Le2xFoLmRU8Q2WIegipt/kU49px20W7P6/zqQsspQ=",
|
||||
"rev": "8e93f9ad71c645cb77047fe1bd75bfb925f83580",
|
||||
"hash": "sha256-xwSOPea+85h+FhtBOPfAaiQ/2AiU6PLPwm0/PCYUTGU=",
|
||||
"fetchSubmodules": true
|
||||
},
|
||||
"version": "unstable-2024-03-21"
|
||||
"version": "unstable-2024-03-17"
|
||||
},
|
||||
"prboom": {
|
||||
"fetcher": "fetchFromGitHub",
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "libretro-core-info";
|
||||
version = "1.18.0";
|
||||
version = "1.17.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "libretro-core-info";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-tIuDDueYocvRDbA8CTR5ubGI7/Up02zUENw/HaDwC0U=";
|
||||
hash = "sha256-iJteyqD7hUtBxj+Y2nQZXDJVM4k+TDIKLaLP3IFDOGo=";
|
||||
};
|
||||
|
||||
makeFlags = [
|
||||
|
|
|
@ -69,9 +69,9 @@ in rec {
|
|||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the hash for staging as well.
|
||||
version = "9.5";
|
||||
version = "9.4";
|
||||
url = "https://dl.winehq.org/wine/source/9.x/wine-${version}.tar.xz";
|
||||
hash = "sha256-Es8vtwmBNOI1HEnqO6j02ipnTx+HIr69TDpKbKbS6XU=";
|
||||
hash = "sha256-xV/5lXYSVJuMfffN3HnXoA0ZFX0Fs3EUi/CNTd92jsY=";
|
||||
inherit (stable) patches;
|
||||
|
||||
## see http://wiki.winehq.org/Gecko
|
||||
|
@ -117,7 +117,7 @@ in rec {
|
|||
staging = fetchFromGitLab rec {
|
||||
# https://gitlab.winehq.org/wine/wine-staging
|
||||
inherit (unstable) version;
|
||||
hash = "sha256-Jxhtd/rG5x8wENO1dVUby/DjRLKPpPTYviowPQu2qK4=";
|
||||
hash = "sha256-wij0CeAL6V8dH4nRS+UVKZMBJlSNgzr9tG1860WSbrU=";
|
||||
domain = "gitlab.winehq.org";
|
||||
owner = "wine";
|
||||
repo = "wine-staging";
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, SDL2
|
||||
, SDL2_image
|
||||
, copyDesktopItems
|
||||
, fetchFromGitHub
|
||||
, gettext
|
||||
, glib
|
||||
, gtk3
|
||||
|
@ -19,8 +20,7 @@
|
|||
, openssl
|
||||
, perl
|
||||
, pkg-config
|
||||
, python3Packages
|
||||
, stdenv
|
||||
, python3
|
||||
, vte
|
||||
, which
|
||||
, wrapGAppsHook
|
||||
|
@ -28,14 +28,14 @@
|
|||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "xemu";
|
||||
version = "0.7.120";
|
||||
version = "0.7.119";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xemu-project";
|
||||
repo = "xemu";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5gH1pQqy45vmgeW61peEi6+ZXpPgyQMUg3dh37oqR6s=";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-FFxYp53LLDOPZ1Inr70oyQXhNjJO23G+gNmXd/lvrYs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -44,12 +44,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
ninja
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
python3.pkgs.pyyaml
|
||||
which
|
||||
wrapGAppsHook
|
||||
] ++ (with python3Packages; [
|
||||
python
|
||||
pyyaml
|
||||
]);
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
|
@ -92,18 +91,13 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
preConfigure = ''
|
||||
patchShebangs .
|
||||
configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls")
|
||||
substituteInPlace ./scripts/xemu-version.sh \
|
||||
--replace 'date -u' "date -d @$SOURCE_DATE_EPOCH '+%Y-%m-%d %H:%M:%S'"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
configureFlagsArray+=("--extra-cflags=-DXBOX=1 -Wno-error=redundant-decls")
|
||||
'' +
|
||||
# When the data below can't be obtained through git, the build process tries
|
||||
# to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar)
|
||||
''
|
||||
# When the data below can't be obtained through git, the build process tries
|
||||
# to run `XEMU_COMMIT=$(cat XEMU_COMMIT)` (and similar)
|
||||
echo '${finalAttrs.version}' > XEMU_VERSION
|
||||
'';
|
||||
|
||||
|
@ -112,19 +106,18 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
substituteInPlace ./build.ninja --replace /usr/bin/env $(which env)
|
||||
'';
|
||||
|
||||
installPhase = let
|
||||
installIcon = resolution: ''
|
||||
install -Dm644 -T ../ui/icons/xemu_${resolution}.png \
|
||||
$out/share/icons/hicolor/${resolution}/apps/xemu.png
|
||||
'';
|
||||
in ''
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 -T qemu-system-i386 $out/bin/xemu
|
||||
'' +
|
||||
(lib.concatMapStringsSep "\n" installIcon
|
||||
[ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) + "\n" +
|
||||
# Generate code to install the icons
|
||||
(lib.concatMapStringsSep ";\n"
|
||||
(res:
|
||||
"install -Dm644 -T ../ui/icons/xemu_${res}.png $out/share/icons/hicolor/${res}/apps/xemu.png")
|
||||
[ "16x16" "24x24" "32x32" "48x48" "128x128" "256x256" "512x512" ]) +
|
||||
''
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
|
@ -138,8 +131,8 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
'';
|
||||
changelog = "https://github.com/xemu-project/xemu/releases/tag/v${finalAttrs.version}";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
mainProgram = "xemu";
|
||||
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||
maintainers = with lib.maintainers; [ AndersonTorres genericnerdyusername ];
|
||||
platforms = lib.platforms.linux;
|
||||
mainProgram = "xemu";
|
||||
};
|
||||
})
|
|
@ -1,36 +1,22 @@
|
|||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
libcap,
|
||||
acl,
|
||||
file,
|
||||
readline,
|
||||
python3,
|
||||
}:
|
||||
{ stdenv, lib, fetchFromGitHub, libcap, acl, file, readline, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "clifm";
|
||||
version = "1.18";
|
||||
version = "1.17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leo-arch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-tgCGZCLCWcF7ktXqDHjoUkeVqxg6QVOkZb7pbk3nA+U=";
|
||||
hash = "sha256-plJ2iKloRGtBSa1upSo675bMj6qczR6TQ043UQboxQE=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libcap
|
||||
acl
|
||||
file
|
||||
readline
|
||||
python3
|
||||
];
|
||||
buildInputs = [ libcap acl file readline python3];
|
||||
|
||||
makeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"DATADIR=${placeholder "out"}/share"
|
||||
"DESTDIR=${placeholder "out"}"
|
||||
"DATADIR=/share"
|
||||
"PREFIX=/"
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
|
|
@ -15,11 +15,11 @@
|
|||
|
||||
mkDerivation rec {
|
||||
pname = "krusader";
|
||||
version = "2.8.1";
|
||||
version = "2.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://kde/stable/${pname}/${version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-N78gRRnQqxukCWSvAnQbwijxHpfyjExRjKBdNY3xgoM=";
|
||||
hash = "sha256-jkzwWpMYsLwbCUGBG5iLLyuwwEoNHjeZghKpGQzywpo=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -77,14 +77,14 @@ let
|
|||
urllib3
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.34.5";
|
||||
version = "3.34.4";
|
||||
pname = "qgis-ltr-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
hash = "sha256-TRSS1YclGUfBjNz+Lo8U8YlN4kdJ9JLcwd7qpgwRbG0=";
|
||||
hash = "sha256-yEltpPhNFT/XB1EB5FvhCKcP0YY4j/q7luhd1mI0ZJU=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -78,14 +78,14 @@ let
|
|||
urllib3
|
||||
];
|
||||
in mkDerivation rec {
|
||||
version = "3.36.1";
|
||||
version = "3.36.0";
|
||||
pname = "qgis-unwrapped";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qgis";
|
||||
repo = "QGIS";
|
||||
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
|
||||
hash = "sha256-/0wVPcQoliJFgY8Kn506gUHfY+kDTdLgzbp/0KLSAkI=";
|
||||
hash = "sha256-uO9Bu+7n8xzsjumbp0t/yYQNvyDgRH1bdfqpX9oLoTY=";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
|
|
37
pkgs/applications/graphics/graphicsmagick/compat.nix
Normal file
37
pkgs/applications/graphics/graphicsmagick/compat.nix
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, graphicsmagick }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "graphicsmagick-imagemagick-compat";
|
||||
inherit (graphicsmagick) version;
|
||||
|
||||
dontUnpack = true;
|
||||
buildPhase = "true";
|
||||
|
||||
utils = [
|
||||
"composite"
|
||||
"conjure"
|
||||
"convert"
|
||||
"identify"
|
||||
"mogrify"
|
||||
"montage"
|
||||
"animate"
|
||||
"display"
|
||||
"import"
|
||||
];
|
||||
|
||||
# TODO: symlink libraries?
|
||||
installPhase = ''
|
||||
mkdir -p "$out"/bin
|
||||
mkdir -p "$out"/share/man/man1
|
||||
for util in ''${utils[@]}; do
|
||||
ln -s ${graphicsmagick}/bin/gm "$out/bin/$util"
|
||||
ln -s ${graphicsmagick}/share/man/man1/gm.1.gz "$out/share/man/man1/$util.1.gz"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "ImageMagick interface for GraphicsMagick";
|
||||
license = lib.licenses.free;
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
67
pkgs/applications/graphics/graphicsmagick/default.nix
Normal file
67
pkgs/applications/graphics/graphicsmagick/default.nix
Normal file
|
@ -0,0 +1,67 @@
|
|||
{ lib, stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript
|
||||
, libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
|
||||
, libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences
|
||||
, coreutils
|
||||
, runCommand
|
||||
, graphicsmagick # for passthru.tests
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "graphicsmagick";
|
||||
version = "1.3.42";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz";
|
||||
sha256 = "sha256-SE/M/Ssvr2wrqRUUaezlByvLkbpO1z517T2ORsdZ1Vc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./disable-popen.patch
|
||||
];
|
||||
|
||||
configureFlags = [
|
||||
# specify delegates explicitly otherwise `gm` will invoke the build
|
||||
# coreutils for filetypes it doesn't natively support.
|
||||
"MVDelegate=${lib.getExe' coreutils "mv"}"
|
||||
"--enable-shared"
|
||||
"--with-frozenpaths"
|
||||
"--with-quantum-depth=${toString quantumdepth}"
|
||||
"--with-gslib=yes"
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
[ bzip2 freetype ghostscript graphviz libjpeg libpng libtiff libX11 libxml2
|
||||
zlib libtool libwebp
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ xz nukeReferences ]
|
||||
++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
|
||||
|
||||
# Remove CFLAGS from the binaries to avoid closure bloat.
|
||||
# In the past we have had -dev packages in the closure of the binaries soley due to the string references.
|
||||
postConfigure = ''
|
||||
nuke-refs -e $out ./magick/magick_config.h
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests = {
|
||||
issue-157920 = runCommand "issue-157920-regression-test" {
|
||||
buildInputs = [ graphicsmagick ];
|
||||
} ''
|
||||
gm convert ${graphviz}/share/doc/graphviz/neatoguide.pdf jpg:$out
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "http://www.graphicsmagick.org";
|
||||
description = "Swiss army knife of image processing";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.all;
|
||||
mainProgram = "gm";
|
||||
};
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
http://permalink.gmane.org/gmane.comp.security.oss.general/19669
|
||||
|
||||
--- a/magick/blob.c Sat Nov 07 14:49:16 2015 -0600
|
||||
+++ b/magick/blob.c Sun May 29 14:12:57 2016 -0500
|
||||
@@ -68,6 +68,7 @@
|
||||
*/
|
||||
#define DefaultBlobQuantum 65541
|
||||
|
||||
+#undef HAVE_POPEN
|
||||
|
||||
/*
|
||||
Enum declarations.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user